--- Begin Message ---
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 #640493
if 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_fixperms
chown -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 permitted
chown: 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 2
dpkg-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
--- End Message ---