1################################################################################ 2# 3# shadow 4# 5################################################################################ 6 7SHADOW_VERSION = 4.11.1 8SHADOW_SITE = https://github.com/shadow-maint/shadow/releases/download/v$(SHADOW_VERSION) 9SHADOW_SOURCE = shadow-$(SHADOW_VERSION).tar.xz 10SHADOW_LICENSE = BSD-3-Clause 11SHADOW_LICENSE_FILES = COPYING 12 13SHADOW_CONF_OPTS += \ 14 --disable-man \ 15 --without-btrfs \ 16 --without-skey \ 17 --without-tcb 18 19ifeq ($(BR2_STATIC_LIBS),y) 20SHADOW_CONF_OPTS += --enable-static 21else 22SHADOW_CONF_OPTS += --disable-static 23endif 24 25ifeq ($(BR2_SHARED_LIBS),y) 26SHADOW_CONF_OPTS += --enable-shared 27else 28SHADOW_CONF_OPTS += --disable-shared 29endif 30 31ifeq ($(BR2_PACKAGE_SHADOW_SHADOWGRP),y) 32SHADOW_CONF_OPTS += --enable-shadowgrp 33else 34SHADOW_CONF_OPTS += --disable-shadowgrp 35endif 36 37ifeq ($(BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID),y) 38SHADOW_CONF_OPTS += --enable-account-tools-setuid 39SHADOW_ACCOUNT_TOOLS_SETUID = \ 40 /usr/sbin/chgpasswd f 4755 0 0 - - - - - \ 41 /usr/sbin/chpasswd f 4755 0 0 - - - - - \ 42 /usr/sbin/groupadd f 4755 0 0 - - - - - \ 43 /usr/sbin/groupdel f 4755 0 0 - - - - - \ 44 /usr/sbin/groupmod f 4755 0 0 - - - - - \ 45 /usr/sbin/newusers f 4755 0 0 - - - - - \ 46 /usr/sbin/useradd f 4755 0 0 - - - - - \ 47 /usr/sbin/usermod f 4755 0 0 - - - - - 48else 49SHADOW_CONF_OPTS += --disable-account-tools-setuid 50endif 51 52ifeq ($(BR2_PACKAGE_SHADOW_UTMPX),y) 53SHADOW_CONF_OPTS += --enable-utmpx 54else 55SHADOW_CONF_OPTS += --disable-utmpx 56endif 57 58ifeq ($(BR2_PACKAGE_SHADOW_SUBORDINATE_IDS),y) 59SHADOW_CONF_OPTS += --enable-subordinate-ids 60SHADOW_SUBORDINATE_IDS_PERMISSIONS = \ 61 /usr/bin/newuidmap f 4755 0 0 - - - - - \ 62 /usr/bin/newgidmap f 4755 0 0 - - - - - 63else 64SHADOW_CONF_OPTS += --disable-subordinate-ids 65endif 66 67ifeq ($(BR2_PACKAGE_ACL),y) 68SHADOW_CONF_OPTS += --with-acl 69SHADOW_DEPENDENCIES += acl 70else 71SHADOW_CONF_OPTS += --without-acl 72endif 73 74ifeq ($(BR2_PACKAGE_ATTR),y) 75SHADOW_CONF_OPTS += --with-attr 76SHADOW_DEPENDENCIES += attr 77else 78SHADOW_CONF_OPTS += --without-attr 79endif 80 81ifeq ($(BR2_PACKAGE_AUDIT),y) 82SHADOW_CONF_OPTS += --with-audit 83SHADOW_DEPENDENCIES += audit 84else 85SHADOW_CONF_OPTS += --without-audit 86endif 87 88ifeq ($(BR2_PACKAGE_CRACKLIB),y) 89SHADOW_CONF_OPTS += --with-libcrack 90SHADOW_DEPENDENCIES += cracklib 91else 92SHADOW_CONF_OPTS += --without-libcrack 93endif 94 95ifeq ($(BR2_PACKAGE_LIBSELINUX),y) 96SHADOW_CONF_OPTS += --with-selinux 97SHADOW_DEPENDENCIES += libselinux libsemanage 98else 99SHADOW_CONF_OPTS += --without-selinux 100endif 101 102ifeq ($(BR2_PACKAGE_LINUX_PAM),y) 103SHADOW_CONF_OPTS += --with-libpam 104SHADOW_DEPENDENCIES += linux-pam 105else 106SHADOW_CONF_OPTS += --without-libpam 107endif 108 109ifeq ($(BR2_ENABLE_LOCALE),y) 110SHADOW_CONF_OPTS += --enable-nls 111else 112SHADOW_CONF_OPTS += --disable-nls 113endif 114 115ifeq ($(BR2_PACKAGE_SHADOW_SHA_CRYPT),y) 116SHADOW_CONF_OPTS += --with-sha-crypt 117else 118SHADOW_CONF_OPTS += --without-sha-crypt 119endif 120 121ifeq ($(BR2_PACKAGE_SHADOW_BCRYPT),y) 122SHADOW_CONF_OPTS += --with-bcrypt 123else 124SHADOW_CONF_OPTS += --without-bcrypt 125endif 126 127ifeq ($(BR2_PACKAGE_SHADOW_YESCRYPT),y) 128SHADOW_CONF_OPTS += --with-yescrypt 129else 130SHADOW_CONF_OPTS += --without-yescrypt 131endif 132 133ifeq ($(BR2_PACKAGE_SHADOW_NSCD),y) 134SHADOW_CONF_OPTS += --with-nscd 135else 136SHADOW_CONF_OPTS += --without-nscd 137endif 138 139ifeq ($(BR2_PACKAGE_SHADOW_SSSD),y) 140SHADOW_CONF_OPTS += --with-sssd 141else 142SHADOW_CONF_OPTS += --without-sssd 143endif 144 145ifeq ($(BR2_PACKAGE_SHADOW_GROUP_NAME_MAX_LENGTH),0) 146SHADOW_CONF_OPTS += --without-group-name-max-length 147else 148SHADOW_CONF_OPTS += --with-group-name-max-length=$(BR2_PACKAGE_SHADOW_GROUP_NAME_MAX_LENGTH) 149endif 150 151ifeq ($(BR2_PACKAGE_SHADOW_SU),y) 152SHADOW_CONF_OPTS += --with-su 153SHADOW_SU_PERMISSIONS = /bin/su f 4755 0 0 - - - - - 154else 155SHADOW_CONF_OPTS += --without-su 156endif 157 158define SHADOW_PERMISSIONS 159 /usr/bin/chage f 4755 0 0 - - - - - 160 /usr/bin/chfn f 4755 0 0 - - - - - 161 /usr/bin/chsh f 4755 0 0 - - - - - 162 /usr/bin/expiry f 4755 0 0 - - - - - 163 /usr/bin/gpasswd f 4755 0 0 - - - - - 164 /usr/bin/newgrp f 4755 0 0 - - - - - 165 /usr/bin/passwd f 4755 0 0 - - - - - 166 $(SHADOW_ACCOUNT_TOOLS_SETUID) 167 $(SHADOW_SUBORDINATE_IDS_PERMISSIONS) 168 $(SHADOW_SU_PERMISSIONS) 169endef 170 171define SHADOW_INSTALL_TARGET_CMDS 172 $(INSTALL) -m 0755 -D $(@D)/src/passwd $(TARGET_DIR)/usr/bin/passwd 173 $(INSTALL) -m 0755 -D $(@D)/src/useradd $(TARGET_DIR)/usr/bin/useradd 174 $(INSTALL) -m 0755 -D $(@D)/src/userdel $(TARGET_DIR)/usr/bin/userdel 175 $(INSTALL) -m 0755 -D $(@D)/src/usermod $(TARGET_DIR)/usr/bin/usermod 176 $(INSTALL) -m 0755 -D $(@D)/src/groupadd $(TARGET_DIR)/usr/bin/groupadd 177 $(INSTALL) -m 0755 -D $(@D)/src/groupdel $(TARGET_DIR)/usr/bin/groupdel 178 $(INSTALL) -m 0755 -D $(@D)/src/groupmod $(TARGET_DIR)/usr/bin/groupmod 179 $(INSTALL) -m 0755 -D $(@D)/src/chage $(TARGET_DIR)/usr/bin/chage 180 $(INSTALL) -m 0755 -D $(@D)/src/expiry $(TARGET_DIR)/usr/bin/expiry 181 $(INSTALL) -m 0755 -D $(@D)/src/gpasswd $(TARGET_DIR)/usr/bin/gpasswd 182 $(INSTALL) -m 0755 -D $(@D)/src/newuidmap $(TARGET_DIR)/usr/bin/newuidmap 183 $(INSTALL) -m 0755 -D $(@D)/src/chgpasswd $(TARGET_DIR)/usr/sbin/chgpasswd 184endef 185 186$(eval $(autotools-package)) 187