[Buildroot] [git commit] package/sudo: drop legacy, useless, and broken post-configure hook

Peter Korsgaard peter at korsgaard.com
Sat Mar 16 22:33:00 UTC 2024


>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:

 > commit: https://git.buildroot.net/buildroot/commit/?id=5aade5ced5edc40a4ad848cd276813d273d2d04e
 > branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

 > Commit b9e89b340e27 (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 commit
 > c87746afefe7 (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 at aperture.us>
 > Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
 > Cc: Peter Korsgaard <peter at korsgaard.com>
 > Reviewed-by: Christian Stewart <christian at aperture.us>

Committed to 2023.02.x and 2023.11.x, thanks.

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list