Bug#1089319: epics-base: Supporting rootless builds by default
Niels Thykier
niels at thykier.net
Sat Dec 7 19:02:50 GMT 2024
Source: epics-base
Version: 7.0.8.1+dfsg1-6
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`,
epics-base failed to rebuild.
Log Summary:
-------------------------------------------------------------------------------
[...]
/usr/bin/g++ -o softIocPVA -L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic softMain.o
softIocPVA_registerRecordDeviceDriver.o -lqsrv -lpvAccessIOC
-lpvAccessCA -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom
Installing created executable /<<PKGBUILDDIR>>/bin/linux-aarch64/softIocPVA
perl -CSD /<<PKGBUILDDIR>>/bin/linux-aarch64/installEpics.pl -d -m 555
softIocPVA /<<PKGBUILDDIR>>/bin/linux-aarch64
make[6]: Leaving directory
'/<<PKGBUILDDIR>>/modules/pva2pva/pdbApp/O.linux-aarch64'
make[5]: Leaving directory '/<<PKGBUILDDIR>>/modules/pva2pva/pdbApp'
/usr/bin/make -C ./testApp install
make[5]: Entering directory '/<<PKGBUILDDIR>>/modules/pva2pva/testApp'
/usr/bin/make -C O.linux-aarch64 -f ../Makefile TOP=../.. \
T_A=linux-aarch64 install
make[6]: Entering directory
'/<<PKGBUILDDIR>>/modules/pva2pva/testApp/O.linux-aarch64'
/usr/bin/g++ -o testweak -L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic testweak.o
utilitiesx.o -lCom -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom
/usr/bin/g++ -o testtest -L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic testtest.o
utilitiesx.o -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom
/usr/bin/g++ -o testpvif -L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic testpvif.o
p2pTestIoc_registerRecordDeviceDriver.o utilitiesx.o -lqsrv -lpvAccess
-lpvData -ldbRecStd -ldbCore -lca -lCom /usr/bin/g++ -o testpdb
-L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic testpdb.o
p2pTestIoc_registerRecordDeviceDriver.o utilitiesx.o -lqsrv -lpvAccess
-lpvData -ldbRecStd -ldbCore -lca -lCom /usr/bin/g++ -o check_consist
-L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic check_consist.o
utilitiesx.o -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom
/usr/bin/g++ -o testpvalink -L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic testpvalink.o
pvaLinkTestIoc_registerRecordDeviceDriver.o utilitiesx.o -lqsrv
-lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom /usr/bin/g++ -o
testgroupconfig -L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic
testgroupconfig.o utilitiesx.o -lqsrv -lpvAccess -lpvData -ldbRecStd
-ldbCore -lca -lCom -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom
/usr/bin/g++ -o testdbf_copy -L/<<PKGBUILDDIR>>/lib/linux-aarch64
-Wl,-rpath,/<<PKGBUILDDIR>>/lib/linux-aarch64 -Wl,-z,relro
-Wl,-z,now -Wl,-z,relro -Wl,-z,now -rdynamic testdbf_copy.o
utilitiesx.o -lqsrv -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom
-lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom perl -CSD
/<<PKGBUILDDIR>>/bin/linux-aarch64/makeTestfile.pl linux-aarch64
linux-aarch64 testweak.t testweak
perl -CSD /<<PKGBUILDDIR>>/bin/linux-aarch64/makeTestfile.pl
linux-aarch64 linux-aarch64 testtest.t testtest
perl -CSD /<<PKGBUILDDIR>>/bin/linux-aarch64/makeTestfile.pl
linux-aarch64 linux-aarch64 testpvif.t testpvif
perl -CSD /<<PKGBUILDDIR>>/bin/linux-aarch64/makeTestfile.pl
linux-aarch64 linux-aarch64 testpdb.t testpdb
perl -CSD /<<PKGBUILDDIR>>/bin/linux-aarch64/makeTestfile.pl
linux-aarch64 linux-aarch64 testgroupconfig.t testgroupconfig
perl -CSD /<<PKGBUILDDIR>>/bin/linux-aarch64/makeTestfile.pl
linux-aarch64 linux-aarch64 testdbf_copy.t testdbf_copy
make[6]: Leaving directory
'/<<PKGBUILDDIR>>/modules/pva2pva/testApp/O.linux-aarch64'
make[5]: Leaving directory '/<<PKGBUILDDIR>>/modules/pva2pva/testApp'
/usr/bin/make -C ./iocBoot install
make[5]: Entering directory '/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot'
/usr/bin/make -C ./iocimagedemo install
make[6]: Entering directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocimagedemo'
make[6]: Nothing to be done for 'install'.
make[6]: Leaving directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocimagedemo'
/usr/bin/make -C ./iocputlog install
make[6]: Entering directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocputlog'
make[6]: Nothing to be done for 'install'.
make[6]: Leaving directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocputlog'
/usr/bin/make -C ./iocpvalink install
make[6]: Entering directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocpvalink'
make[6]: Nothing to be done for 'install'.
make[6]: Leaving directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocpvalink'
/usr/bin/make -C ./iocutag install
make[6]: Entering directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocutag'
make[6]: Nothing to be done for 'install'.
make[6]: Leaving directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocutag'
/usr/bin/make -C ./iocwfdemo install
make[6]: Entering directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocwfdemo'
make[6]: Nothing to be done for 'install'.
make[6]: Leaving directory
'/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot/iocwfdemo'
make[5]: Leaving directory '/<<PKGBUILDDIR>>/modules/pva2pva/iocBoot'
make[4]: Leaving directory '/<<PKGBUILDDIR>>/modules/pva2pva'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/modules'
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
debian/rules override_dh_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_perl libepics-perl usr/lib/epics/
dh_install
dh_install -plibepics-perl lib/perl/* ./usr/lib/aarch64-linux-gnu/epics/
rm -f debian/libepics-perl/usr/lib/aarch64-linux-gnu/epics/EpicsHostArch.pl
dh_install -pepics-base lib/linux-aarch64/libdbCore.so.*
usr/lib/aarch64-linux-gnu
cp: cannot create regular file 'debian/epics-base/./usr/bin/acctst':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/antelope':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/caConnTest':
Permission denied
cp: cannot create regular file
'debian/epics-base/./usr/bin/caEventRate': Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/caRepeater':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/caget':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/cainfo':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/camonitor':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/caput':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/casw':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/catime':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/e_flex':
Permission denied
cp: cannot create regular file
'debian/epics-base/./usr/bin/iocLogServer': Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/pvcall':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/pvget':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/pvinfo':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/pvlist':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/pvmonitor':
Permission denied
cp: cannot create regular file 'debian/epics-base/./usr/bin/pvput':
Permission denied
dh_install: error: cp --reflink=auto -a ./bin/linux-aarch64/acctst
./bin/linux-aarch64/antelope ./bin/linux-aarch64/caConnTest
./bin/linux-aarch64/caEventRate ./bin/linux-aarch64/caRepeater
./bin/linux-aarch64/caget ./bin/linux-aarch64/cainfo
./bin/linux-aarch64/camonitor ./bin/linux-aarch64/caput
./bin/linux-aarch64/casw ./bin/linux-aarch64/catime
./bin/linux-aarch64/e_flex ./bin/linux-aarch64/iocLogServer
./bin/linux-aarch64/pvcall ./bin/linux-aarch64/pvget
./bin/linux-aarch64/pvinfo ./bin/linux-aarch64/pvlist
./bin/linux-aarch64/pvmonitor ./bin/linux-aarch64/pvput
debian/epics-base/./usr/bin// returned exit code 1
make[1]: *** [debian/rules:57: override_dh_install] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:29: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-16T02:51:40Z
-------------------------------------------------------------------------------
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/982973.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/68b4dfaf/attachment-0001.sig>
More information about the debian-science-maintainers
mailing list