[Debian-ha-maintainers] Bug#1089342: heartbeat: Supporting rootless builds by default

Niels Thykier niels at thykier.net
Sat Dec 7 19:18:36 GMT 2024


Source: heartbeat
Version: 1:3.0.6-15
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`,
heartbeat failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
  /usr/bin/install -c -m 644 README 
'/<<PKGBUILDDIR>>/debian/tmp/usr/share/heartbeat/cts'
  /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/share/heartbeat/cts'
  /usr/bin/install -c -m 644 CM_fs.py CM_hb.py CM_LinuxHAv2.py CTS.py 
CTSaudits.py CTSlab.py CTStests.py extracttests.py getpeinputs.sh 
OCFIPraTest.py CIB.py '/<<PKGBUILDDIR>>/debian/tmp/usr/share/heartbeat/cts'
Byte-compiling python modules...
CM_fs.pyCM_hb.py/usr/share/heartbeat/cts/CM_hb.py:174: SyntaxWarning: 
invalid escape sequence '\.'
CM_LinuxHAv2.pyCTS.pyCTSaudits.pyCTSlab.pyCTStests.pyextracttests.py/usr/share/heartbeat/cts/extracttests.py:73: 
SyntaxWarning: invalid escape sequence '\['
OCFIPraTest.pyCIB.py
Byte-compiling python modules (optimized versions) ...
CM_fs.pyCM_hb.pyCM_LinuxHAv2.pyCTS.pyCTSaudits.pyCTSlab.pyCTStests.pyextracttests.pyOCFIPraTest.pyCIB.py
  /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/share/heartbeat/cts'
  /usr/bin/install -c CTSproxy.py getpeinputs.sh LSBDummy 
'/<<PKGBUILDDIR>>/debian/tmp/usr/share/heartbeat/cts'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/cts'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/cts'
Making install in config
make[2]: Entering directory '/<<PKGBUILDDIR>>/config'
make[3]: Entering directory '/<<PKGBUILDDIR>>/config'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/config'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/config'
Making install in contrib
make[2]: Entering directory '/<<PKGBUILDDIR>>/contrib'
Making install in ipfail
make[3]: Entering directory '/<<PKGBUILDDIR>>/contrib/ipfail'
make[4]: Entering directory '/<<PKGBUILDDIR>>/contrib/ipfail'
  /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat'
   /bin/bash ../../libtool --tag=CC    --mode=install /usr/bin/install 
-c ipfail '/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat'
libtool: warning: '../../lib/hbclient/libhbclient.la' has not been 
installed in '/usr/lib'
libtool: install: /usr/bin/install -c .libs/ipfail 
/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat/ipfail
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/contrib/ipfail'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/contrib/ipfail'
Making install in mlock
make[3]: Entering directory '/<<PKGBUILDDIR>>/contrib/mlock'
make[4]: Entering directory '/<<PKGBUILDDIR>>/contrib/mlock'
  /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat'
   /bin/bash ../../libtool --tag=CC    --mode=install /usr/bin/install 
-c mlock '/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat'
libtool: install: /usr/bin/install -c mlock 
/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat/mlock
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/contrib/mlock'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/contrib/mlock'
Making install in drbd-outdate-peer
make[3]: Entering directory '/<<PKGBUILDDIR>>/contrib/drbd-outdate-peer'
make[4]: Entering directory '/<<PKGBUILDDIR>>/contrib/drbd-outdate-peer'
/bin/bash /<<PKGBUILDDIR>>/install-sh -d 
/<<PKGBUILDDIR>>/debian/tmp/run/heartbeat/dopd
chgrp haclient /<<PKGBUILDDIR>>/debian/tmp//run/heartbeat/dopd
chgrp: changing group of 
'/<<PKGBUILDDIR>>/debian/tmp//run/heartbeat/dopd': Operation not permitted
make[4]: [Makefile:814: install-exec-local] Error 1 (ignored)
chown hacluster /<<PKGBUILDDIR>>/debian/tmp//run/heartbeat/dopd
chown: changing ownership of 
'/<<PKGBUILDDIR>>/debian/tmp//run/heartbeat/dopd': Operation not permitted
make[4]: [Makefile:815: install-exec-local] Error 1 (ignored)
chmod 750 /<<PKGBUILDDIR>>/debian/tmp//run/heartbeat/dopd
  /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat'
   /bin/bash ../../libtool --tag=CC    --mode=install /usr/bin/install 
-c dopd drbd-peer-outdater 
'/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat'
libtool: warning: '../../lib/hbclient/libhbclient.la' has not been 
installed in '/usr/lib'
libtool: install: /usr/bin/install -c .libs/dopd 
/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat/dopd
libtool: install: /usr/bin/install -c drbd-peer-outdater 
/<<PKGBUILDDIR>>/debian/tmp/usr/libexec/heartbeat/drbd-peer-outdater
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/contrib/drbd-outdate-peer'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/contrib/drbd-outdate-peer'
make[3]: Entering directory '/<<PKGBUILDDIR>>/contrib'
make[4]: Entering directory '/<<PKGBUILDDIR>>/contrib'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/contrib'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/contrib'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/contrib'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[3]: Entering directory '/<<PKGBUILDDIR>>'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
mv `pwd`/debian/tmp/usr/share/heartbeat/cts/README \
	`pwd`/debian/tmp/usr/share/doc/heartbeat/README.cts
find `pwd`/debian/tmp/usr/share/man -type f | xargs gzip -v --best
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/hb_standby.1:	 63.2% -- 
replaced with /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/hb_standby.1.gz
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/hb_takeover.1:	 58.0% -- 
replaced with 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/hb_takeover.1.gz
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/cl_status.1:	 64.3% -- 
replaced with /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/cl_status.1.gz
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/hb_addnode.1:	 59.0% -- 
replaced with /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/hb_addnode.1.gz
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/hb_delnode.1:	 58.9% -- 
replaced with /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/hb_delnode.1.gz
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man8/apphbd.8:	 62.9% -- 
replaced with /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man8/apphbd.8.gz
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man8/heartbeat.8:	 61.4% -- 
replaced with /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man8/heartbeat.8.gz
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man5/ha.cf.5:	 70.3% -- 
replaced with /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man5/ha.cf.5.gz
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man5/authkeys.5:	 59.0% -- 
replaced with /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man5/authkeys.5.gz
install -c -m 755 heartbeat/init.d/heartbeat \
                 `pwd`/debian/tmp/etc/init.d/heartbeat
cd `pwd`/debian/tmp/etc/ && ln -s ha.d heartbeat
sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'`
# remove more useless COPYING files
rm -rf ./debian/tmp/usr/share/doc/heartbeat/COPYING*
# changelog will be processed using dh_installchangelogs
rm -rf ./debian/tmp/usr/share/doc/heartbeat/ChangeLog
# remove unnecessary directories
rm -rf ./debian/heartbeat-dev/usr/include/
rm -rf 
./debian/heartbeat-common-dev/usr/lib/stonith/plugins/stonith2/ribcl.py
rm -rf ./debian/heartbeat/etc/ha.d/conf
rm -rf ./debian/heartbeat/etc/ha.d/cts
rm -rf ./debian/heartbeat/usr/lib/stonith
rm -rf ./debian/heartbeat/usr/lib/pils
rm -rf ./debian/heartbeat/usr/include/
rm -rf ./debian/heartbeat/usr/lib/heartbeat/plugins/AppHBNotification/
rm -rf ./debian/heartbeat-common/usr/lib/ocf/resource.d/heartbeat/ldirectord
# remove duplicate header file to not conflict with cluster-glue
rm -rf ./debian/libheartbeat2-dev/usr/include/heartbeat/ha_msg.h
rm -rf ./debian/libheartbeat2-dev/usr/include/heartbeat/compress.h
# python modules will be compiled in postinst
rm -f ./debian/tmp/usr/share/heartbeat/cts/*.py[co]
rm -rf ./debian/tmp/usr/share/heartbeat/cts/__pycache__
dh_install dh_missing --fail-missing
# remove duplicate doc file
rm -rf 
`pwd`/debian/heartbeat/usr/share/doc/heartbeat/README.lrm_regression_tests
dh_testdir -a
dh_testroot -a
dh_installdebconf -a
dh_installdocs -a
dh_installexamples -a
dh_installinit -a -n -u 'defaults 20 32'
dh_installsystemd -a
dh_installtmpfiles -a
dh_installman -a
dh_installchangelogs -a `pwd`/doc/ChangeLog
dh_installlogcheck -a
dh_lintian -a
dh_link -a
dh_strip -a
strip: unable to copy file 'debian/heartbeat/usr/bin/cl_status'; reason: 
Permission denied
dh_strip: error: strip --remove-section=.comment --remove-section=.note 
debian/heartbeat/usr/bin/cl_status returned exit code 1
dh_strip: error: Aborting due to earlier error
make: *** [debian/rules:132: binary-arch] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit 
status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-16T14:28:39Z

-------------------------------------------------------------------------------


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/996568.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-ha-maintainers/attachments/20241207/e3329c73/attachment.sig>


More information about the Debian-ha-maintainers mailing list