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