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