Bug#1089370: libperlx-maybe-xs-perl: Supporting rootless builds by default
Niels Thykier
niels at thykier.net
Sat Dec 7 19:36:02 GMT 2024
Source: libperlx-maybe-xs-perl
Version: 1.001-5
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`,
libperlx-maybe-xs-perl failed to rebuild.
Log Summary:
-------------------------------------------------------------------------------
[...]
make[1]: Entering directory '/<<PKGBUILDDIR>>'
"/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- blib/lib/PerlX/Maybe
chmod 755 blib/lib/PerlX/Maybe
touch blib/lib/PerlX/Maybe/.exists
"/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- blib/arch
chmod 755 blib/arch
touch blib/arch/.exists
"/usr/bin/perl" -MExtUtils::Command -e 'mkpath' --
blib/lib/auto/PerlX/Maybe/XS
chmod 755 blib/lib/auto/PerlX/Maybe/XS
touch blib/lib/auto/PerlX/Maybe/XS/.exists
"/usr/bin/perl" -MExtUtils::Command -e 'mkpath' --
blib/arch/auto/PerlX/Maybe/XS
chmod 755 blib/arch/auto/PerlX/Maybe/XS
touch blib/arch/auto/PerlX/Maybe/XS/.exists
"/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- blib/bin
chmod 755 blib/bin
touch blib/bin/.exists
"/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- blib/script
chmod 755 blib/script
touch blib/script/.exists
"/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- blib/man1
chmod 755 blib/man1
touch blib/man1/.exists
"/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- blib/man3
chmod 755 blib/man3
touch blib/man3/.exists
true
true
true
"/usr/bin/perl" -MExtUtils::Install -e 'pm_to_blib({@ARGV},
'\''blib/lib/auto'\'', q[], '\''755'\'')' -- \
'lib/PerlX/Maybe/XS.pm' 'blib/lib/PerlX/Maybe/XS.pm' cp
lib/PerlX/Maybe/XS.pm blib/lib/PerlX/Maybe/XS.pm
touch pm_to_blib
true
echo "Running Mkbootstrap for XS ()"
Running Mkbootstrap for XS ()
"/usr/bin/perl" \
"-MExtUtils::Mkbootstrap" \
-e "Mkbootstrap('XS','');"
touch "XS.bs"
chmod 644 "XS.bs"
rm -rf blib/arch/auto/PerlX/Maybe/XS/XS.bs
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- XS.bs
blib/arch/auto/PerlX/Maybe/XS/XS.bs 644
"/usr/bin/perl" "/usr/share/perl/5.40/ExtUtils/xsubpp" -typemap
'/usr/share/perl/5.40/ExtUtils/typemap' XS.xs > XS.xsc
mv XS.xsc XS.c
aarch64-linux-gnu-gcc -c -I. -D_REENTRANT -D_GNU_SOURCE -DDEBIAN
-fwrapv -fno-strict-aliasing -pipe -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2
-Werror=implicit-function-declaration
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security
-mbranch-protection=standard -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT
-D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe
-I/usr/local/include -DVERSION=\"1.001\" -DXS_VERSION=\"1.001\" -fPIC
"-I/usr/lib/aarch64-linux-gnu/perl/5.40/CORE" XS.c
rm -f blib/arch/auto/PerlX/Maybe/XS/XS.so
aarch64-linux-gnu-gcc -Wl,-z,relro -shared -L/usr/local/lib
-fstack-protector-strong XS.o -o blib/arch/auto/PerlX/Maybe/XS/XS.so \
\
chmod 755 blib/arch/auto/PerlX/Maybe/XS/XS.so
true
true
true
true
"/usr/bin/perl" "-MExtUtils::Command::MM" -e pod2man "--" --section=3pm
--perm_rw=644 -u \
lib/PerlX/Maybe/XS.pm blib/man3/PerlX::Maybe::XS.3pm Manifying 1 pod
document
true
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
touch debian/stamp-makefile-build
/usr/bin/make -C . OPTIMIZE="-g -O2
-Werror=implicit-function-declaration
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security
-mbranch-protection=standard -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT
-D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe
-I/usr/local/include" LDDLFLAGS="-Wl,-z,relro -shared -L/usr/local/lib
-fstack-protector-strong" test TEST_VERBOSE=1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
true
true
true
rm -rf blib/arch/auto/PerlX/Maybe/XS/XS.bs
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- XS.bs
blib/arch/auto/PerlX/Maybe/XS/XS.bs 644
true
true
true
true
true
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM"
"-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1,
'blib/lib', 'blib/arch')" t/*.t
t/01basic.t ..... 1..1
ok 1 - use PerlX::Maybe::XS;
ok
t/02maybe.t ..... 1..3
ok 1
ok 2
ok 3
ok
t/03provided.t .. 1..1
ok 1
ok
All tests successful.
Files=3, Tests=5, 0 wallclock secs ( 0.04 usr 0.01 sys + 0.27 cusr
0.05 csys = 0.37 CPU)
Result: PASS
true
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
touch debian/stamp-makefile-check
/usr/bin/make -C . OPTIMIZE="-g -O2
-Werror=implicit-function-declaration
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security
-mbranch-protection=standard -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -D_REENTRANT
-D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe
-I/usr/local/include" LDDLFLAGS="-Wl,-z,relro -shared -L/usr/local/lib
-fstack-protector-strong" install DESTDIR="
/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl"
make[1]: Entering directory '/<<PKGBUILDDIR>>'
true
true
true
true
rm -rf blib/arch/auto/PerlX/Maybe/XS/XS.bs
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- XS.bs
blib/arch/auto/PerlX/Maybe/XS/XS.bs 644
true
true
true
true
"/usr/bin/perl" "-MExtUtils::Command::MM" -e pod2man "--" --section=3pm
--perm_rw=644 -u \
lib/PerlX/Maybe/XS.pm blib/man3/PerlX::Maybe::XS.3pm Manifying 1 pod
document
true
umask 022; "/usr/bin/perl" -MExtUtils::Install -e 'install([ from_to =>
{@ARGV}, verbose => '\''0'\'', uninstall_shadows => '\''0'\'', dir_mode
=> '\''755'\'' ]);' -- \
"blib/lib"
"/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/share/perl5" \
"blib/arch"
"/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/lib/aarch64-linux-gnu/perl5/5.40"
\
"blib/bin" "/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/bin" \
"blib/script" "/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/bin" \
"blib/man1"
"/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/share/man/man1" \
"blib/man3"
"/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/share/man/man3"
Files found in blib/arch: installing files in blib/lib into architecture
dependent library tree
Installing
/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/lib/aarch64-linux-gnu/perl5/5.40/auto/PerlX/Maybe/XS/XS.so
Installing
/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/lib/aarch64-linux-gnu/perl5/5.40/PerlX/Maybe/XS.pm
Installing
/<<PKGBUILDDIR>>/debian/libperlx-maybe-xs-perl/usr/share/man/man3/PerlX::Maybe::XS.3pm
true
true
true
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
touch debian/stamp-makefile-install
Adding cdbs dependencies to debian/libperlx-maybe-xs-perl.substvars
dh_installdirs -plibperlx-maybe-xs-perl \
dh_installdocs -plibperlx-maybe-xs-perl ./README ./CREDITS
dh_installexamples -plibperlx-maybe-xs-perl dh_installman
-plibperlx-maybe-xs-perl dh_installinfo -plibperlx-maybe-xs-perl
dh_installmenu -plibperlx-maybe-xs-perl dh_installcron
-plibperlx-maybe-xs-perl dh_systemd_enable -plibperlx-maybe-xs-perl
dh_installinit -plibperlx-maybe-xs-perl dh_installdebconf
-plibperlx-maybe-xs-perl dh_installemacsen -plibperlx-maybe-xs-perl
dh_installcatalogs -plibperlx-maybe-xs-perl dh_installpam
-plibperlx-maybe-xs-perl dh_installlogrotate -plibperlx-maybe-xs-perl
dh_installlogcheck -plibperlx-maybe-xs-perl dh_installchangelogs
-plibperlx-maybe-xs-perl ./Changes
dh_installudev -plibperlx-maybe-xs-perl dh_lintian
-plibperlx-maybe-xs-perl dh_bugfiles -plibperlx-maybe-xs-perl dh_install
-plibperlx-maybe-xs-perl dh_systemd_start -plibperlx-maybe-xs-perl
dh_link -plibperlx-maybe-xs-perl dh_buildinfo -plibperlx-maybe-xs-perl
dh_installmime -plibperlx-maybe-xs-perl dh_installgsettings
-plibperlx-maybe-xs-perl dh_strip -plibperlx-maybe-xs-perl strip:
unable to copy file
'debian/libperlx-maybe-xs-perl/usr/lib/aarch64-linux-gnu/perl5/5.40/auto/PerlX/Maybe/XS/XS.so';
reason: Permission denied
dh_strip: error: strip --remove-section=.comment --remove-section=.note
--strip-unneeded
debian/libperlx-maybe-xs-perl/usr/lib/aarch64-linux-gnu/perl5/5.40/auto/PerlX/Maybe/XS/XS.so
returned exit code 1
dh_strip: error: Aborting due to earlier error
make: *** [/usr/share/cdbs/1/rules/debhelper.mk:298:
binary-strip-IMPL/libperlx-maybe-xs-perl] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-17T04:06:45Z
-------------------------------------------------------------------------------
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/1014181.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-perl-maintainers/attachments/20241207/dc06b3a2/attachment.sig>
More information about the pkg-perl-maintainers
mailing list