5aade5ced5
Commitb9e89b340e
(sudo: bump version) introduced the explicit build of mksigname and mksiglist as host tools, as they were required to run on the build machine, to generate C code then used to build the target program. This is now failing to build since the bump to sudo 1.9.15p5 in commitc87746afef
(package/sudo: security bump to version 1.9.15p5) (lines manually wrapped and slightly elided for ease of reviewing): /usr/bin/cpp \ -I/home/ymorin/dev/buildroot/O/master/per-package/sudo/host/include \ -I../../include \ -I../.. \ ./sys_signame.h \ | /usr/bin/sed -e '1,/^int sudo_end_of_headers;/d' -e '/^#/d' > mksigname.h In file included from /usr/include/features.h:394, from /usr/include/sys/types.h:25, from ./sys_signame.h:4: /usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" 26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" | ^~~~~ /usr/bin/gcc -I../../include -I../.. -I. -I. \ -D_PATH_SUDO_CONF=\"/etc/sudo.conf\" -I/home/ymorin/dev/buildroot/O/master/per-package/sudo/host/include \ -DDEFAULT_TEXT_DOMAIN=\"sudo\" \ -O2 \ -I/home/ymorin/dev/buildroot/O/master/per-package/sudo/host/include \ ./mksigname.c -o mksigname In file included from /usr/include/features.h:394, from /usr/include/bits/libc-header-start.h:33, from /usr/include/stdlib.h:26, from ./mksigname.c:27: /usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" 26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" | ^~~~~ make[2]: *** [Makefile:263: mksigname] Error 1 The core of the issue has not been really identified, but it turns out that neither mksiglist nor mksignames is used during the build. This has been tested with a minimal sudo with no option, and with a sudo with all options enabled (linux-pam, zlib, opensldap, and openssl), with the three types of C libraries (glibc, musl, and uClibc-ng). Digging in the sudo buildsystem did not reveal an obvious reason when those would be needed either. Drop the hook now it seems it is no longer used and is atually breaking the build. Fixes: http://autobuild.buildroot.org/results/72f/72ff18fb9b41394a29006f881ee1fbea67a66a09/ Note that there is a second issue in there: the call to the host cpp fails, but since it is on the LHS of a pipe, the error is lost, as the RHS of the pipe (the sed call) succeeds; a fix for that will be sent in a separate patch. Reported-by: Christian Stewart <christian@aperture.us> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: Christian Stewart <christian@aperture.us>
81 lines
2.1 KiB
Makefile
81 lines
2.1 KiB
Makefile
################################################################################
|
|
#
|
|
# sudo
|
|
#
|
|
################################################################################
|
|
|
|
SUDO_VERSION_MAJOR = 1.9.15
|
|
SUDO_VERSION_MINOR = p5
|
|
SUDO_VERSION = $(SUDO_VERSION_MAJOR)$(SUDO_VERSION_MINOR)
|
|
SUDO_SITE = https://www.sudo.ws/sudo/dist
|
|
SUDO_LICENSE = ISC, BSD-3-Clause
|
|
SUDO_LICENSE_FILES = LICENSE.md
|
|
SUDO_CPE_ID_VERSION = $(SUDO_VERSION_MAJOR)
|
|
SUDO_CPE_ID_UPDATE = $(SUDO_VERSION_MINOR)
|
|
SUDO_SELINUX_MODULES = sudo
|
|
# This is to avoid sudo's make install from chown()ing files which fails
|
|
SUDO_INSTALL_TARGET_OPTS = INSTALL_OWNER="" DESTDIR="$(TARGET_DIR)" install
|
|
SUDO_CONF_OPTS = \
|
|
--with-tzdir=$(if $(BR2_PACKAGE_TZDATA),/usr/share/zoneinfo,no) \
|
|
--enable-tmpfiles.d=$(if $(BR2_PACKAGE_SYSTEMD),/usr/lib/tmpfiles.d,no) \
|
|
--without-lecture \
|
|
--without-sendmail \
|
|
--without-umask \
|
|
--with-logging=syslog \
|
|
--without-interfaces \
|
|
--with-env-editor
|
|
|
|
ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
|
|
define SUDO_INSTALL_PAM_CONF
|
|
$(INSTALL) -D -m 0644 package/sudo/sudo.pam $(TARGET_DIR)/etc/pam.d/sudo
|
|
endef
|
|
|
|
SUDO_DEPENDENCIES += linux-pam
|
|
SUDO_CONF_OPTS += --with-pam
|
|
SUDO_POST_INSTALL_TARGET_HOOKS += SUDO_INSTALL_PAM_CONF
|
|
else
|
|
SUDO_CONF_OPTS += --without-pam
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
|
SUDO_CONF_OPTS += --enable-zlib
|
|
SUDO_DEPENDENCIES += zlib
|
|
else
|
|
SUDO_CONF_OPTS += --disable-zlib
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENLDAP),y)
|
|
SUDO_DEPENDENCIES += openldap
|
|
SUDO_CONF_OPTS += --with-ldap
|
|
else
|
|
SUDO_CONF_OPTS += --without-ldap
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
SUDO_DEPENDENCIES += host-pkgconf openssl
|
|
SUDO_CONF_OPTS += --enable-openssl
|
|
else
|
|
SUDO_CONF_OPTS += --disable-openssl
|
|
endif
|
|
|
|
define SUDO_PERMISSIONS
|
|
/usr/bin/sudo f 4755 0 0 - - - - -
|
|
endef
|
|
|
|
define SUDO_REMOVE_DIST_EXAMPLES
|
|
$(RM) $(TARGET_DIR)/etc/sudoers.dist
|
|
rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/etc/sudoers.d
|
|
endef
|
|
SUDO_POST_INSTALL_TARGET_HOOKS += SUDO_REMOVE_DIST_EXAMPLES
|
|
|
|
define SUDO_USERS
|
|
- - sudo -1 - - - -
|
|
endef
|
|
|
|
define SUDO_ENABLE_SUDO_GROUP_RULE
|
|
$(SED) '/^# \%sudo\tALL=(ALL:ALL) ALL/s/^# //' $(TARGET_DIR)/etc/sudoers
|
|
endef
|
|
SUDO_POST_INSTALL_TARGET_HOOKS += SUDO_ENABLE_SUDO_GROUP_RULE
|
|
|
|
$(eval $(autotools-package))
|