[Pkg-tcltk-devel] Bug#1089480: xotcl: Supporting rootless builds by default
Niels Thykier
niels at thykier.net
Sat Dec 7 21:10:33 GMT 2024
Source: xotcl
Version: 1.6.8-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`,
xotcl failed to rebuild.
Log Summary:
-------------------------------------------------------------------------------
[...]
rm -f libxotclexpat0.9.so
aarch64-linux-gnu-gcc -shared -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 -Wl,-z,relro
-Wl,--export-dynamic -o libxotclexpat0.9.so tclexpat.o -lexpat
-L/<<PKGBUILDDIR>> -lxotclstub1.6.8 -L/usr/lib/aarch64-linux-gnu
-ltclstub8.6 : libxotclexpat0.9.so
( echo pkg_mkIndex . libxotclexpat0.9.so \; exit; ) | TCL_LIBRARY=`echo
/usr/include/tcl8.6/tcl-private/library` LD_LIBRARY_PATH=".:/usr/lib:"
PATH=".:/usr/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
TCLLIBPATH="." /usr/bin/tclsh8.6
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
make[2]: Entering directory '/<<PKGBUILDDIR>>/library/store/XOTclSdbm'
make[2]: Nothing to be done for 'libraries'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/store/XOTclSdbm'
make[2]: Entering directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
make[2]: Nothing to be done for 'libraries'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
XOTcl Documentation Tool
------------------------
Documenting to directory ./doc:
..../doc/langRef.xotcl
..../library/lib/Script.xotcl
..../library/lib/changeXOTclVersion.xotcl
..../library/lib/htmllib.xotcl
..../library/lib/make.xotcl
..../library/lib/makeDoc.xotcl
..../library/lib/metadataAnalyzer.xotcl
..../library/lib/mixinStrategy.xotcl
..../library/lib/package.xotcl
..../library/lib/staticMetadata.xotcl
..../library/lib/test.xotcl
..../library/lib/trace.xotcl
..../library/lib/upvarcompat.xotcl
..../library/lib/xodoc.xotcl
..../library/store/JufGdbmStorage.xotcl
..../library/store/MemStorage.xotcl
..../library/store/MultiStorage.xotcl
..../library/store/Persistence.xotcl
..../library/store/Storage.xotcl
..../library/store/TclGdbmStorage.xotcl
..../library/store/TextFileStorage.xotcl
..../library/store/persistenceExample.xotcl
..../library/serialize/Serializer.xotcl
..../tests/forwardtest.xotcl
..../tests/mixinoftest.xotcl
..../tests/slottest.xotcl
..../tests/speedtest.xotcl
..../tests/testo.xotcl
..../tests/testx.xotcl
..../tests/varresolutiontest.xotcl
..../apps/scripts/adapter.xotcl
..../apps/scripts/adapterExample.xotcl
..../apps/scripts/composite.xotcl
..../apps/scripts/compositeExample.xotcl
..../apps/scripts/observer.xotcl
..../apps/scripts/parameter.xotcl
..../apps/scripts/pinger.xotcl
..../apps/scripts/simpleFilters.xotcl
..../apps/scripts/soccerClub.xotcl
..../apps/comm/ftp.xotcl
..../apps/comm/link-checker.xotcl
..../apps/comm/secure-webclient.xotcl
..../apps/comm/secure-webserver.xotcl
..../apps/comm/webclient.xotcl
..../apps/comm/webserver.xotcl
..../apps/actiweb/univ/UNIVERSAL.xotcl
..../apps/utils/xo-daemon
..../apps/utils/xo-whichPkg
Documentation finished
************************************************************
Make completed. In order to test XOTcl, invoke:
make test
In order install XOTcl, invoke:
make install
In order to install XOTcl for AOLserver 4.x, invoke:
make install-aol
In order to invoke XOTcl interactively (before install), use:
export TCLLIBPATH="" or setenv TCLLIBPATH ""
and
/usr/bin/tclsh8.6
package require XOTcl; namespace import -force xotcl::*
or
put the 'package require' line into your ~/.tclshrc
************************************************************
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
touch build-stamp
dh_testdir
dh_testroot
dh_prep
dh_installdirs
/usr/bin/make DESTDIR=/<<PKGBUILDDIR>>/debian/tmp XOTCLSH=xotclsh install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>/library/store/XOTclSdbm'
make[2]: Nothing to be done for 'binaries'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/store/XOTclSdbm'
make[2]: Entering directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
make[2]: Nothing to be done for 'binaries'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
/bin/bash ./tclconfig/install-sh -c libxotcl1.6.8.so
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotcl1.6.8/libxotcl1.6.8.so
: /<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotcl1.6.8/libxotcl1.6.8.so
/bin/bash ./tclconfig/install-sh -c libxotclstub1.6.8.a
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotcl1.6.8/libxotclstub1.6.8.a
aarch64-linux-gnu-ranlib
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotcl1.6.8/libxotclstub1.6.8.a
make[2]: Entering directory '/<<PKGBUILDDIR>>/library/store/XOTclSdbm'
make[2]: Nothing to be done for 'libraries'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/store/XOTclSdbm'
make[2]: Entering directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
make[2]: Nothing to be done for 'libraries'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
mkdir -p /<<PKGBUILDDIR>>/debian/tmp/usr/include/xotcl
Installing header files in /<<PKGBUILDDIR>>/debian/tmp/usr/include/xotcl
Installing generic/xotcl.h
Installing generic/xotclInt.h
Installing generic/xotclDecls.h
Installing generic/xotclIntDecls.h
Installing Libraries to /<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotcl1.6.8/
Installing comm/
Installing lib/
Installing serialize/
Installing actiweb/
Installing rdf/
Installing registry/
Installing store/
Installing xml/
Installing patterns/
Installing COPYRIGHT
Installing pkgIndex.tcl
cat unix/pkgIndex.unix >>
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotcl1.6.8/pkgIndex.tcl
/bin/bash ./tclconfig/install-sh -c -m 644 xotclConfig.sh
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/
Installing Applications to
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotcl1.6.8/apps/
Installing comm/
Installing scripts/
Installing utils/
Installing actiweb/
Installing persistence/
Installing COPYRIGHT
mkdir -p /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1
mkdir -p /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man3
mkdir -p /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/mann
Installing xotclsh.1
Installing xowish.1
make[2]: Entering directory '/<<PKGBUILDDIR>>/library/store/XOTclSdbm'
If you have documentation to create, place the commands to
build the docs in the 'doc:' target. For example:
xml2nroff sample.xml > sample.n
xml2html sample.xml > sample.html
/bin/bash ./tclconfig/install-sh -c libxotclsdbm1.2.so
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotclsdbm1.2/libxotclsdbm1.2.so
: /<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotclsdbm1.2/libxotclsdbm1.2.so
if test "x1" = "x1"; then \
/bin/bash ./tclconfig/install-sh -c -m 644 pkgIndex.tcl
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotclsdbm1.2; \
fi
Installing header files in /<<PKGBUILDDIR>>/debian/tmp/usr/include/xotcl
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/store/XOTclSdbm'
make[2]: Entering directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
If you have documentation to create, place the commands to
build the docs in the 'doc:' target. For example:
xml2nroff sample.xml > sample.n
xml2html sample.xml > sample.html
/bin/bash ./tclconfig/install-sh -c libxotclexpat0.9.so
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotclexpat0.9/libxotclexpat0.9.so
: /<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotclexpat0.9/libxotclexpat0.9.so
if test "x1" = "x1"; then \
/bin/bash ./tclconfig/install-sh -c -m 644 pkgIndex.tcl
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/xotclexpat0.9; \
fi
Installing header files in /<<PKGBUILDDIR>>/debian/tmp/usr/include/xotcl
make[2]: Leaving directory '/<<PKGBUILDDIR>>/library/xml/TclExpat-1.1'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
# / / / / / / / / / / / / / / / / / / / / / / / / / / /
# xotcl
#install -d -m 755 -o root -g root /<<PKGBUILDDIR>>/debian/xotcl/usr/lib
install -d -m 755 -o root -g root
/<<PKGBUILDDIR>>/debian/xotcl/usr/lib/tcltk/xotcl1.6.8
install: cannot change owner and permissions of
‘/<<PKGBUILDDIR>>/debian/xotcl/usr/lib/tcltk/xotcl1.6.8’: Operation not
permitted
make: *** [debian/rules:107: install] Error 1
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-18T21:18:24Z
-------------------------------------------------------------------------------
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/1052570.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/885ec5ef/attachment.sig>
More information about the Pkg-tcltk-devel
mailing list