Bug#1089287: auto-07p: Supporting rootless builds by default

Niels Thykier niels at thykier.net
Sat Dec 7 18:45:06 GMT 2024


Source: auto-07p
Version: 0.9.2+dfsg-3
Severity: important
Tags: ftbfs
Justification: FTBFS
X-Debbugs-Cc: niels at thykier.net
User: niels at 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`,
auto-07p failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
-c timeint.f90 -o ../lib/timeint.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
-c main.f90 -o ../lib/main.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
-c blas.f -o ../lib/blas.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
-c lapack.f -o ../lib/lapack.o
rm -f ../lib/libauto_c.a
gcc -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
-Werror=implicit-function-declaration 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -Wformat -Werror=format-security 
-mbranch-protection=standard -fPIC -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
-c user_c.c -o user_c.o
cc1: warning: command-line option ‘-std=legacy’ is valid for Fortran but 
not for C
ar cr ../lib/libauto_c.a user_c.o
rm -f user_c.o
make[2]: Leaving directory '/<<PKGBUILDDIR>>/07p/src'
# work around case insensitive filesystems
cd ./cmds; for cmd in @H @LB @R @RD; do \
     if test ! -r $cmd; then \
	cp -p @$cmd $cmd; \
     fi \
done
cd ./util;make
make[2]: Entering directory '/<<PKGBUILDDIR>>/07p/util'
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
-c utility.f90 -o utility.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
autlab.f90 utility.o -o ../bin/autlab
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
double.f90 -o ../bin/double
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
triple.f90 -o ../bin/triple
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
keeplp.f90 utility.o -o ../bin/keeplp
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
keepbp.f90 utility.o -o ../bin/keepbp
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
keepsp.f90 utility.o -o ../bin/keepsp
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
keepuz.f90 utility.o -o ../bin/keepuz
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
deletelp.f90 utility.o -o ../bin/deletelp
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
listlabels.f90 utility.o -o ../bin/listlabels
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
reduce.f90 utility.o -o ../bin/reduce
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
-c ../src/f2003.f90 -o compat.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -fopenmp -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -mbranch-protection=standard -fPIC -std=legacy 
relabel.f90 compat.o -o ../bin/relabel
make[2]: Leaving directory '/<<PKGBUILDDIR>>/07p/util'
cd ./plaut;make
make[2]: Entering directory '/<<PKGBUILDDIR>>/07p/plaut'
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -c  plautdev.f -o plautdev.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -c  plautint.f -o plautint.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -c  plautlib.f -o plautlib.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -c  ../src/f2003.f90 -o 
compat.o
gfortran -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -fstack-clash-protection 
-mbranch-protection=standard -fPIC -std=legacy -c  plautmain.f -o 
plautmain.o
gfortran plautdev.o plautint.o plautlib.o plautmain.o compat.o -o 
../bin/plaut make[2]: Leaving directory '/<<PKGBUILDDIR>>/07p/plaut'
make[1]: Leaving directory '/<<PKGBUILDDIR>>/07p'
    dh_auto_test -O--sourcedirectory=07p
dh_auto_test: warning: Compatibility levels before 10 are deprecated 
(level 9 in use)
    dh_testroot -O--sourcedirectory=07p
    dh_prep -O--sourcedirectory=07p
    dh_installdirs -O--sourcedirectory=07p
dh_installdirs: warning: Compatibility levels before 10 are deprecated 
(level 9 in use)
    debian/rules override_dh_auto_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
install -m 644 -o root -g root 07p/bin/auto \
		debian/auto-07p/usr/bin/auto-07p
install: cannot change ownership of 'debian/auto-07p/usr/bin/auto-07p': 
Operation not permitted
make[1]: *** [debian/rules:17: override_dh_auto_install] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:7: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit 
status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-15T19:41:13Z

-------------------------------------------------------------------------------


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/974459.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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20241207/6e2c4d4e/attachment.sig>


More information about the debian-science-maintainers mailing list