[Pkg-tcltk-devel] Bug#1089451: tdom: Supporting rootless builds by default
Niels Thykier
niels at thykier.net
Sat Dec 7 20:53:48 GMT 2024
Source: tdom
Version: 0.9.5-1
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`,
tdom failed to rebuild.
Log Summary:
-------------------------------------------------------------------------------
[...]
rm -f libtdomstub0.9.5.a
aarch64-linux-gnu-ar cr libtdomstub0.9.5.a tdomStubLib.o
aarch64-linux-gnu-ranlib libtdomstub0.9.5.a
make[2]: Leaving directory '/<<PKGBUILDDIR>>/unix'
( cd extensions/tnc ; /usr/bin/make )
make[2]: Entering directory '/<<PKGBUILDDIR>>/extensions/tnc'
aarch64-linux-gnu-gcc -DPACKAGE_NAME=\"tnc\" -DPACKAGE_TARNAME=\"tnc\"
-DPACKAGE_VERSION=\"0.3.0\" -DPACKAGE_STRING=\"tnc\ 0.3.0\"
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_tnc=/\*\*/
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DTcl_Size=int
-DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1
-DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\
__attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1
-DHAVE_CAST_TO_UNION=1 -DHAVE_STDBOOL_H=1 -DTCL_WIDE_INT_IS_LONG=1
-DTCL_CFG_OPTIMIZED=1 -DUSE_TCL_STUBS=1 -DTCL_MAJOR_VERSION=8
-DUSE_TDOM_STUBS=1 -I./../../generic -I./../../expat
-I"/usr/include/tcl8.6" -g -O2 -Werror=implicit-function-declaration
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security
-mbranch-protection=standard -pipe -O2 -fomit-frame-pointer -DNDEBUG
-Wall -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -c `echo tnc.c` -o tnc.o
rm -f libtnc0.3.0.so
aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security
-mbranch-protection=standard -pipe -O2 -fomit-frame-pointer -DNDEBUG
-Wall -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -shared -Wl,-z,relro
-Wl,-z,now -Wl,--export-dynamic -o libtnc0.3.0.so tnc.o
-L/<<PKGBUILDDIR>>/unix -ltdomstub0.9.5 -L/usr/lib/aarch64-linux-gnu
-ltclstub8.6 : libtnc0.3.0.so
make[2]: Leaving directory '/<<PKGBUILDDIR>>/extensions/tnc'
( cd extensions/tdomhtml ; /usr/bin/make )
make[2]: Entering directory '/<<PKGBUILDDIR>>/extensions/tdomhtml'
This is a Tcl-only package; nothing to make, really.
Just do a 'make install' to install docs and the library.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/extensions/tdomhtml'
#/usr/bin/docbook-to-man debian/tdom.sgml > tdom.1
touch build-stamp
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
(cd unix/; /usr/bin/make test)
make[2]: Entering directory '/<<PKGBUILDDIR>>/unix'
TCL_LIBRARY=`echo /usr/include/tcl8.6/tcl-private/library`
LD_LIBRARY_PATH="/<<PKGBUILDDIR>>/unix:/usr/lib/aarch64-linux-gnu:"
PATH="/<<PKGBUILDDIR>>/unix:/usr/lib/aarch64-linux-gnu:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
TCLLIBPATH="/<<PKGBUILDDIR>>/unix" /usr/bin/tclsh8.6 `echo
../tests/all.tcl` -constraints longRunning \
-load "package ifneeded tdom 0.9.5 \
[list load `echo libtdom0.9.5.so` [string totitle tdom]]"
Tests running in interp: /usr/bin/tclsh8.6
Tests located in: /<<PKGBUILDDIR>>/tests
Tests running in: /<<PKGBUILDDIR>>/unix
Temporary files stored in /<<PKGBUILDDIR>>/unix
Test files sourced into current interpreter
Running tests that match: *
Skipping test files that match: l.*.test
Only running test files that match: *.test
Tests began at Mon Nov 18 16:59:58 UTC 2024
attribute.test
cdata.test
comment.test
decls.test
doctype.test
dom.test
domDoc.test
domNode.test
domjson.test
domnamespace.test
element.test
entity.test
html5reader.test
htmlreader.test
i18n.test
namespace.test
parser.test
pcdata.test
pi.test
pullparser.test
schema.test
stackedhdl.test
tdomcmd.test
xmlsimple.test
xmltest.test
xpath.test
xslt.test
Tests ended at Mon Nov 18 16:59:59 UTC 2024
all.tcl: Total 2395 Passed 2351 Skipped 44 Failed 0
Sourced 27 Test Files.
Number of tests skipped for each constraint:
11 Tcl9
4 beyondBMP
9 knownBug
10 need_uri
10 nonetest
make[2]: Leaving directory '/<<PKGBUILDDIR>>/unix'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
create-stamp debian/debhelper-build-stamp
dh_prep
debian/rules override_dh_auto_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# Add here commands to install the package into debian/tdom.
# ( cd unix/ ; /usr/bin/make install DESTDIR=/<<PKGBUILDDIR>>/debian/tdom/ )
( cd unix/ ; /usr/bin/make install )
make[2]: Entering directory '/<<PKGBUILDDIR>>/unix'
/bin/bash ../tclconfig/install-sh -c -m 644 libtdom0.9.5.so
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/tdom0.9.5/libtdom0.9.5.so
/bin/bash ../tclconfig/install-sh -c -m 644 libtdomstub0.9.5.a
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/tdom0.9.5/libtdomstub0.9.5.a
Installing tdomConfig.sh to
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/
Installing tdom.tcl
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/tdom0.9.5/tdom.tcl
Installing pkgIndex.tcl
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/tdom0.9.5
Installing header files in /<<PKGBUILDDIR>>/debian/tdom-dev/usr/include/tdom
Installing ../generic/tdom.h
Installing documentation in /<<PKGBUILDDIR>>/debian/tdom/usr/share/man
Installing ../doc/dom.n
Installing ../doc/domDoc.n
Installing ../doc/domNode.n
Installing ../doc/expat.n
Installing ../doc/expatapi.n
Installing ../doc/pullparser.n
Installing ../doc/schema.n
Installing ../doc/tdomcmd.n
Installing ../doc/tnc.n
make[2]: Leaving directory '/<<PKGBUILDDIR>>/unix'
( cd extensions/tnc ; /usr/bin/make install )
make[2]: Entering directory '/<<PKGBUILDDIR>>/extensions/tnc'
/bin/bash ./../../tclconfig/install-sh -c -m 444 libtnc0.3.0.so
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/tnc0.3.0/libtnc0.3.0.so
:
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/tnc0.3.0/libtnc0.3.0.so
Install pkgIndex.tcl
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/tnc0.3.0
make[2]: Leaving directory '/<<PKGBUILDDIR>>/extensions/tnc'
( cd extensions/tdomhtml ; /usr/bin/make install)
make[2]: Entering directory '/<<PKGBUILDDIR>>/extensions/tdomhtml'
Installing documentation in /<<PKGBUILDDIR>>/debian/tdom/usr/share/man
/usr/bin/install -c -m 644 ./doc/tdomhtml.n
/<<PKGBUILDDIR>>/debian/tdom/usr/share/man/mann/tdomhtml.n
Installing library files in
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu
/usr/bin/install -c -m 644 tdomhtml.tcl
/<<PKGBUILDDIR>>/debian/tdom/usr/lib/tcltk/aarch64-linux-gnu/tdomhtml0.1.0/tdomhtml.tcl
make[2]: Leaving directory '/<<PKGBUILDDIR>>/extensions/tdomhtml'
# remove >empty< man page for tdomhtml extension (note, there
# is no --without-man target available)
rm -f /<<PKGBUILDDIR>>/debian/tdom/usr/share/man/mann/tdomhtml.n
# fix man pages (mann > man3)
mv /<<PKGBUILDDIR>>/debian/tdom/usr/share/man/mann \
/<<PKGBUILDDIR>>/debian/tdom/usr/share/man/man3
(cd /<<PKGBUILDDIR>>/debian/tdom/usr/share/man/man3 && \
for f in ./*; do \
f2=$(echo $f | sed -e 's/\.n/\.3tcl/'); \
cat $f | sed -e 's/^\.TH \([^ ]\+\|"[^"]\+"\) \(3\|n\)/.TH \1 3tcl/'
> $f2; \
rm $f; \
done)
# tdom-dev
# install -d -m 755 -o root -g root
/<<PKGBUILDDIR>>/debian/tdom-dev/usr/include/tdom
# cp -R /usr/include/tdom/*
/<<PKGBUILDDIR>>/debian/tdom-dev/usr/include/tdom
# move and fix tdomConfig.sh
install -d -m 755 -o root -g root
/<<PKGBUILDDIR>>/debian/tdom-dev/usr/lib/tcltk/aarch64-linux-gnu/tdom0.9.5
install: cannot change owner and permissions of
‘/<<PKGBUILDDIR>>/debian/tdom-dev/usr/lib/tcltk/aarch64-linux-gnu/tdom0.9.5’:
Operation not permitted
make[1]: *** [debian/rules:94: override_dh_auto_install] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:13: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-18T17:00:00Z
-------------------------------------------------------------------------------
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/1047441.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-tcltk-devel/attachments/20241207/35c225e8/attachment-0001.sig>
More information about the Pkg-tcltk-devel
mailing list