On Wed, Jul 24, 2024 at 12:50:20PM GMT, Santiago Vila wrote:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules binary
dh binary
dh_update_autotools_config
dh_autoreconf
dh_auto_configure
debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build
make -j2 "INSTALL=install --strip-program=true"
make[2]: Entering directory '/<<PKGBUILDDIR>>'
cc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DMSGPACK=1 -o src/webdis.o src/webdis.c
cc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DMSGPACK=1 -o src/cmd.o src/cmd.c
In file included from src/cmd.c:4:
src/client.h:6:10: fatal error: http_parser.h: No such file or directory
6 | #include "http_parser.h"
| ^~~~~~~~~~~~~~~
Nothing has changed in the packaging since it last successfully built,
so I used debbisect to narrow down the problem to the dpkg 1.22.7
upload.
With dpkg 1.22.6, webdis builds fine because the CFLAGS that are defined
in debian/rules (in particular the -I options) are picked up by the
upstream build:
make -j6 "INSTALL=install --strip-program=true"
make[2]: Entering directory '/<<PKGBUILDDIR>>'
cc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Isrc -Isrc/http-parser -
DMSGPACK=1 -o src/webdis.o src/webdis.c
However, with dpkg 1.22.7 we see a very different command being used to compile:
make -j2 "INSTALL=install --strip-program=true"
make[2]: Entering directory '/<<PKGBUILDDIR>>'
cc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DMSGPACK=1 -o src/webdis.o src/webdis.c
It's missing "-Wdate-time -D_FORTIFY_SOURCE=2" and the include
directories.
The relevant lines from debian/rules are
export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow
include /usr/share/dpkg/buildflags.mk
CFLAGS += $(CPPFLAGS)
export CFLAGS += -Isrc -Isrc/http-parser
Maybe this package is trying to use the dpkg-provided build flags
incorrectly, but I've seen this pattern in a number of places.
Cheers,
--
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)