Source: suck Version: 4.3.5-3 Severity: important Tags: ftbfs Justification: FTBFS X-Debbugs-Cc: ni...@thykier.net User: ni...@thykier.net Usertags: rrr-no-as-default-issue
Dear maintainer, During a test rebuild for building packages with `Rules-Requires-Root: no` as the default in `dpkg`, suck failed to rebuild. Log Summary: ------------------------------------------------------------------------------- [...] rpost.c: In function ‘load_phrases’:rpost.c:1177:25: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1177 | fgets(buf, MAXLINLEN, fpi); | ^~~~~~~~~~~~~~~~~~~~~~~~~~gcc -Wl,-z,relro -L/usr/lib/news -Wl,-z,relro -o rpost both.o both_phrases.o rpost.o rpost_phrases.o -lssl
/usr/bin/ld: rpost.o: in function `parse_filter_args':././rpost.c:885:(.text+0x9e0): warning: the use of `tmpnam' is dangerous, better use `mkstemp' gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -DHAVE_LIBSSL -I. -I. -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -DSUCK_VERSION=\"4.3.5\" testhost.c testhost.c: In function ‘load_phrases’: testhost.c:406:25: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
406 | fgets(buf, MAXLINLEN, fpi); | ^~~~~~~~~~~~~~~~~~~~~~~~~~gcc -Wl,-z,relro -L/usr/lib/news -Wl,-z,relro -o testhost both.o both_phrases.o testhost.o test_phrases.o -lssl gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -DHAVE_LIBSSL -I. -I. -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -DSUCK_VERSION=\"4.3.5\" lmove.c lmove.c: In function ‘do_lockfile’: lmove.c:673:25: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
673 | fscanf(f_lock, "%ld", &tmp); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ lmove.c: In function ‘load_phrases’:lmove.c:731:25: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
731 | fgets(buf, MAXLINLEN, fpi); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ lmove.c: In function ‘rewrite_active’:lmove.c:181:27: warning: ‘.old’ directive writing 4 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
181 | sprintf(fname, "%s.old", master->active_file); | ^~~~ In file included from /usr/include/stdio.h:970, from lmove.c:2: In function ‘sprintf’, inlined from ‘rewrite_active’ at lmove.c:181:2:/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: ‘__builtin___sprintf_chk’ output between 5 and 4101 bytes into a destination of size 4097
30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ lmove.c: In function ‘check_dirs’:lmove.c:520:51: warning: ‘__builtin___sprintf_chk’ may write a terminating nul past the end of the destination [-Wformat-overflow=] 520 | sprintf(path, "%s/", master->basedir);
| ^ In function ‘sprintf’, inlined from ‘check_dirs’ at lmove.c:520:5:/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: ‘__builtin___sprintf_chk’ output between 2 and 4098 bytes into a destination of size 4097
30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ lmove.c: In function ‘do_lockfile’:lmove.c:669:39: warning: ‘%s’ directive writing 10 bytes into a region of size between 0 and 4096 [-Wformat-overflow=] 669 | sprintf(lockfile, "%s/%s", master->basedir, N_LMOVE_LOCKFILE);
| ^~ In function ‘sprintf’, inlined from ‘do_lockfile’ at lmove.c:669:3:/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: ‘__builtin___sprintf_chk’ output between 12 and 4108 bytes into a destination of size 4097
30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~gcc -Wl,-z,relro -L/usr/lib/news -Wl,-z,relro -o lmove both.o both_phrases.o lmove.o lmove_phrases.o -lssl
make done make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_test -O--no-parallel create-stamp debian/debhelper-build-stamp dh_testroot -O--no-parallel dh_prep -O--no-parallel dh_installdirs -O--no-parallel debian/rules override_dh_auto_install make[1]: Entering directory '/<<PKGBUILDDIR>>' /usr/bin/make prefix=/<<PKGBUILDDIR>>/debian/suck/usr install make[2]: Entering directory '/<<PKGBUILDDIR>>' mkdir -p /<<PKGBUILDDIR>>/debian/suck/usr/bin /usr/bin/install -c suck /<<PKGBUILDDIR>>/debian/suck/usr/bin/suck /usr/bin/install -c rpost /<<PKGBUILDDIR>>/debian/suck/usr/bin/rpost /usr/bin/install -c testhost /<<PKGBUILDDIR>>/debian/suck/usr/bin/testhost /usr/bin/install -c lmove /<<PKGBUILDDIR>>/debian/suck/usr/bin/lmove mkdir -p /<<PKGBUILDDIR>>/debian/suck/usr/share/man/man1 rm -f /<<PKGBUILDDIR>>/debian/suck/usr/share/man/man1/lpost.1/usr/bin/install -c -m 644 ./man/suck.1 /<<PKGBUILDDIR>>/debian/suck/usr/share/man/man1/suck.1 /usr/bin/install -c -m 644 ./man/rpost.1 /<<PKGBUILDDIR>>/debian/suck/usr/share/man/man1/rpost.1 /usr/bin/install -c -m 644 ./man/testhost.1 /<<PKGBUILDDIR>>/debian/suck/usr/share/man/man1/testhost.1 /usr/bin/install -c -m 644 ./man/lmove.1 /<<PKGBUILDDIR>>/debian/suck/usr/share/man/man1/lmove.1
make[2]: Leaving directory '/<<PKGBUILDDIR>>' make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_install -O--no-parallel dh_installdocs -O--no-parallel dh_installchangelogs -O--no-parallel dh_installexamples -O--no-parallel dh_installman -O--no-parallel dh_installdebconf -O--no-parallel dh_installsystemduser -O--no-parallel debian/rules override_dh_installlogrotate make[1]: Entering directory '/<<PKGBUILDDIR>>' dh_installlogrotate # logroate 3.8+ requires an additional "su" command which is not # backportable, see #640493if dpkg --compare-versions `apt-cache show logrotate | grep ^Version | cut -f2- -d' '` ge 3.8; then \
echo "Fixing logrotate configuration for logrotate >= 3.8..."; \ sed -i '/^}/ i\ su news news' debian/suck/etc/logrotate.d/*; \ fi Fixing logrotate configuration for logrotate >= 3.8... make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_perl -O--no-parallel dh_link -O--no-parallel dh_strip_nondeterminism -O--no-parallel dh_compress -O--no-parallel debian/rules override_dh_fixperms make[1]: Entering directory '/<<PKGBUILDDIR>>' dh_fixpermschown -R news:news debian/suck/etc/suck debian/suck/var/spool/suck debian/suck/var/log/suck debian/suck/var/lib/suck chown: changing ownership of 'debian/suck/etc/suck/get-news.conf': Operation not permitted chown: changing ownership of 'debian/suck/etc/suck/suckkillfile': Operation not permitted chown: changing ownership of 'debian/suck/etc/suck/sucknewsrc': Operation not permitted
chown: changing ownership of 'debian/suck/etc/suck': Operation not permittedchown: changing ownership of 'debian/suck/var/spool/suck': Operation not permitted chown: changing ownership of 'debian/suck/var/log/suck': Operation not permitted chown: changing ownership of 'debian/suck/var/lib/suck': Operation not permitted
make[1]: *** [debian/rules:17: override_dh_fixperms] Error 1 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:4: binary] Error 2dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
-------------------------------------------------------------------------------- Build finished at 2024-11-18T16:20:39Z ------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~nthykier/rrr-no-as-default/logs/1046705.gz You can find common solutions at https://people.debian.org/~nthykier/rrr-no-as-default/docs/solutions.md If this is really a bug in one of the build-depends, please use reassign and affects, so that this is still visible in the BTS web page for this package. If this package is listed in https://people.debian.org/~nthykier/rrr-no-as-default/docs/static-ownership.list, then please just set `Rules-Requires-Root: binary-targets` to the source stanza of `debian/control` as a fix to this bug. If this package is listed in https://people.debian.org/~nthykier/rrr-no-as-default/docs/maybe-misbuilds.list, then the package was deemed at risk for misbuilding (having wrong ownership) but had a FTBFS problem we tested it. Please test whether the package works with `Rules-Requires-Root: no` validating that the resulting deb has the correct ownership for all paths in the deb. The goal is to have the default changed in `dpkg` either in `Trixie` or `Forky`, depending on progress and feasibility with the release schedule for Trixie. For more information on this bug filing, please see: https://lists.debian.org/debian-dpkg/2024/11/msg00016.html Thanks, PS: The builds were performed in mid-November. If you fixed the problem between between then and this bug being filed, then please just close the bug with the version it was fixed in.
OpenPGP_signature.asc
Description: OpenPGP digital signature