xref: /OK3568_Linux_fs/buildroot/package/sudo/sudo.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# sudo
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunSUDO_VERSION_MAJOR = 1.9.8
8*4882a593SmuzhiyunSUDO_VERSION_MINOR = p2
9*4882a593SmuzhiyunSUDO_VERSION = $(SUDO_VERSION_MAJOR)$(SUDO_VERSION_MINOR)
10*4882a593SmuzhiyunSUDO_SITE = https://www.sudo.ws/sudo/dist
11*4882a593SmuzhiyunSUDO_LICENSE = ISC, BSD-3-Clause
12*4882a593SmuzhiyunSUDO_LICENSE_FILES = doc/LICENSE
13*4882a593SmuzhiyunSUDO_CPE_ID_VERSION = $(SUDO_VERSION_MAJOR)
14*4882a593SmuzhiyunSUDO_CPE_ID_UPDATE = $(SUDO_VERSION_MINOR)
15*4882a593SmuzhiyunSUDO_SELINUX_MODULES = sudo
16*4882a593Smuzhiyun# This is to avoid sudo's make install from chown()ing files which fails
17*4882a593SmuzhiyunSUDO_INSTALL_TARGET_OPTS = INSTALL_OWNER="" DESTDIR="$(TARGET_DIR)" install
18*4882a593SmuzhiyunSUDO_CONF_OPTS = \
19*4882a593Smuzhiyun	--without-lecture \
20*4882a593Smuzhiyun	--without-sendmail \
21*4882a593Smuzhiyun	--without-umask \
22*4882a593Smuzhiyun	--with-logging=syslog \
23*4882a593Smuzhiyun	--without-interfaces \
24*4882a593Smuzhiyun	--with-env-editor
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LINUX_PAM),y)
27*4882a593Smuzhiyundefine SUDO_INSTALL_PAM_CONF
28*4882a593Smuzhiyun	$(INSTALL) -D -m 0644 package/sudo/sudo.pam $(TARGET_DIR)/etc/pam.d/sudo
29*4882a593Smuzhiyunendef
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunSUDO_DEPENDENCIES += linux-pam
32*4882a593SmuzhiyunSUDO_CONF_OPTS += --with-pam
33*4882a593SmuzhiyunSUDO_POST_INSTALL_TARGET_HOOKS += SUDO_INSTALL_PAM_CONF
34*4882a593Smuzhiyunelse
35*4882a593SmuzhiyunSUDO_CONF_OPTS += --without-pam
36*4882a593Smuzhiyunendif
37*4882a593Smuzhiyun
38*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ZLIB),y)
39*4882a593SmuzhiyunSUDO_CONF_OPTS += --enable-zlib
40*4882a593SmuzhiyunSUDO_DEPENDENCIES += zlib
41*4882a593Smuzhiyunelse
42*4882a593SmuzhiyunSUDO_CONF_OPTS += --disable-zlib
43*4882a593Smuzhiyunendif
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENLDAP),y)
46*4882a593SmuzhiyunSUDO_DEPENDENCIES += openldap
47*4882a593SmuzhiyunSUDO_CONF_OPTS += --with-ldap
48*4882a593Smuzhiyun# If we are building sudo statically and openldap was linked with openssl, then
49*4882a593Smuzhiyun# when we link sudo with openldap we need to specify the openssl libs, otherwise
50*4882a593Smuzhiyun# it will fail with "undefined reference" errors.
51*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_OPENSSL),yy)
52*4882a593SmuzhiyunSUDO_DEPENDENCIES += host-pkgconf
53*4882a593SmuzhiyunSUDO_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`"
54*4882a593Smuzhiyunendif
55*4882a593Smuzhiyunelse
56*4882a593SmuzhiyunSUDO_CONF_OPTS += --without-ldap
57*4882a593Smuzhiyunendif
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun# mksigname/mksiglist needs to run on build host to generate source files
60*4882a593Smuzhiyundefine SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST
61*4882a593Smuzhiyun	$(MAKE) $(HOST_CONFIGURE_OPTS) \
62*4882a593Smuzhiyun		CPPFLAGS="$(HOST_CPPFLAGS) -I../../include -I../.." \
63*4882a593Smuzhiyun		-C $(@D)/lib/util mksigname mksiglist
64*4882a593Smuzhiyunendef
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunSUDO_POST_CONFIGURE_HOOKS += SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST
67*4882a593Smuzhiyun
68*4882a593Smuzhiyundefine SUDO_PERMISSIONS
69*4882a593Smuzhiyun	/usr/bin/sudo f 4755 0 0 - - - - -
70*4882a593Smuzhiyunendef
71*4882a593Smuzhiyun
72*4882a593Smuzhiyundefine SUDO_REMOVE_DIST_EXAMPLES
73*4882a593Smuzhiyun	$(RM) $(TARGET_DIR)/etc/sudoers.dist
74*4882a593Smuzhiyun	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/sudoers.d
75*4882a593Smuzhiyunendef
76*4882a593SmuzhiyunSUDO_POST_INSTALL_TARGET_HOOKS += SUDO_REMOVE_DIST_EXAMPLES
77*4882a593Smuzhiyun
78*4882a593Smuzhiyundefine SUDO_USERS
79*4882a593Smuzhiyun	- - sudo -1 - - - -
80*4882a593Smuzhiyunendef
81*4882a593Smuzhiyun
82*4882a593Smuzhiyundefine SUDO_ENABLE_SUDO_GROUP_RULE
83*4882a593Smuzhiyun	$(SED) '/^# \%sudo\tALL=(ALL) ALL/s/^# //' $(TARGET_DIR)/etc/sudoers
84*4882a593Smuzhiyunendef
85*4882a593SmuzhiyunSUDO_POST_INSTALL_TARGET_HOOKS += SUDO_ENABLE_SUDO_GROUP_RULE
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun$(eval $(autotools-package))
88