[Pkg-electronics-devel] Bug#1089428: sdcc: Supporting rootless builds by default
Niels Thykier
niels at thykier.net
Sat Dec 7 20:35:14 GMT 2024
Source: sdcc
Version: 4.4.0+dfsg-2
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`,
sdcc failed to rebuild.
Log Summary:
-------------------------------------------------------------------------------
[...]
fi; \
done; \
done; \
fi
find /<<PKGBUILDDIR>>/debian/tmp/usr/share/sdcc/include -type d -name
'.svn' -exec rm -rf {} \;
# correct file modes
find /<<PKGBUILDDIR>>/debian/tmp/usr/share/sdcc/include -type f -exec
chmod 644 {} \;
make[2]: Leaving directory '/<<PKGBUILDDIR>>/device/include'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/as6808'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdas6808
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdas6808|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdas6808|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/as6808'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/as6500'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdas6500
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdas6500|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdas6500|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/as6500'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/asstm8'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdasstm8
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdasstm8|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdasstm8|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/asstm8'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/as8xcxxx'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdas390
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdas390|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdas390|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/as8xcxxx'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/as8051'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdas8051
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdas8051|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdas8051|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/as8051'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/asz80'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdasz80
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdasz80|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdasz80|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/asz80'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/asrab'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdasrab
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdasrab|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdasrab|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/asrab'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/astlcs90'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdastlcs90
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdastlcs90|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdastlcs90|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/astlcs90'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/asgb'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdasgb
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdasgb|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdasgb|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/asgb'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/aspdk13'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdaspdk13
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdaspdk13|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdaspdk13|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/aspdk13'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/aspdk14'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdaspdk14
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdaspdk14|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdaspdk14|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/aspdk14'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/aspdk15'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdaspdk15
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdaspdk15|sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo sdaspdk15|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/aspdk15'
make[2]: Entering directory '/<<PKGBUILDDIR>>/sdas/linksrc'
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/sdld
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdld' | sed 's,x,x,'`
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdld' | sed 's,x,x,'`
if [ "`grep stm8 ../../ports.build`" = "stm8" ]; \
then \
/usr/bin/install -c ../../bin/sdldstm8
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdldstm8' | sed 's,x,x,'`; \
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdldstm8' | sed
's,x,x,'`; \
fi
if [ "`grep hc08 ../../ports.build`" = "hc08" ]; \
then \
/usr/bin/install -c ../../bin/sdld6808
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdld6808' | sed 's,x,x,'`; \
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdld6808' | sed
's,x,x,'`; \
fi
if [ "`grep z80 ../../ports.build`" = "z80" ]; \
then \
/usr/bin/install -c ../../bin/sdldz80
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdldz80' | sed 's,x,x,'`; \
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdldz80' | sed
's,x,x,'`; \
/usr/bin/install -c ../../bin/sdldgb
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdldgb' | sed 's,x,x,'`; \
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdldgb' | sed
's,x,x,'`; \
fi
if [ "`grep pdk ../../ports.build`" = "pdk" ]; \
then \
/usr/bin/install -c ../../bin/sdldpdk
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdldpdk' | sed 's,x,x,'`; \
strip /<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo 'sdldpdk' | sed
's,x,x,'`; \
fi
make[2]: Leaving directory '/<<PKGBUILDDIR>>/sdas/linksrc'
make[2]: Entering directory '/<<PKGBUILDDIR>>/support/scripts'
cp ./as2gbmap.py ../../bin/as2gbmap && chmod +x ../../bin/as2gbmap
/usr/bin/install -c -d /<<PKGBUILDDIR>>/debian/tmp/usr/bin
/usr/bin/install -c ../../bin/as2gbmap
/<<PKGBUILDDIR>>/debian/tmp/usr/bin/`echo as2gbmap|sed 's,x,x,'`
make[2]: Leaving directory '/<<PKGBUILDDIR>>/support/scripts'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
rm -f /<<PKGBUILDDIR>>/debian/tmp/usr/bin/sdld6808
cd /<<PKGBUILDDIR>>/debian/tmp/usr/bin/ && ln -s sdld sdld6808
rm -f /<<PKGBUILDDIR>>/debian/tmp/usr/bin/sdldgb
cd /<<PKGBUILDDIR>>/debian/tmp/usr/bin/ && ln -s sdld sdldgb
rm -f /<<PKGBUILDDIR>>/debian/tmp/usr/bin/sdldpdk
cd /<<PKGBUILDDIR>>/debian/tmp/usr/bin/ && ln -s sdld sdldpdk
rm -f /<<PKGBUILDDIR>>/debian/tmp/usr/bin/sdldstm8
cd /<<PKGBUILDDIR>>/debian/tmp/usr/bin/ && ln -s sdld sdldstm8
rm -f /<<PKGBUILDDIR>>/debian/tmp/usr/bin/sdldz80
cd /<<PKGBUILDDIR>>/debian/tmp/usr/bin/ && ln -s sdld sdldz80
# s51 == ucsim_51
rm -f /<<PKGBUILDDIR>>/debian/tmp/usr/bin/s51
# Remove empty dirs:
find /<<PKGBUILDDIR>>/debian/tmp -type d -empty -delete
#Clean up unnecessary directories
rm -rf `find /<<PKGBUILDDIR>>/debian/tmp -type d -name .deps`
# Add some scripts
mkdir -p debian/tmp/usr/share/sdcc/scripts
install -o root -g root -m 755 support/scripts/*.pl
debian/tmp/usr/share/sdcc/scripts
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/cinc2h.pl': Operation not permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/gen_known_bugs.pl': Operation not
permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/keil2sdcc.pl': Operation not permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/mcs51-disasm.pl': Operation not permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/optimize_pic16devices.pl': Operation
not permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/pic14-header-parser.pl': Operation
not permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/pic16-header-parser.pl': Operation
not permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/pic16fam-h-gen.pl': Operation not
permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/pic18fam-h-gen.pl': Operation not
permitted
install: cannot change ownership of
'debian/tmp/usr/share/sdcc/scripts/z80-disasm.pl': Operation not permitted
make: *** [debian/rules:146: install-arch] Error 1
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-18T14:35:32Z
-------------------------------------------------------------------------------
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/1044313.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/pkg-electronics-devel/attachments/20241207/50cefbdb/attachment-0001.sig>
More information about the Pkg-electronics-devel
mailing list