[debian-mysql] Bug#1089396: mysql-8.0: Supporting rootless builds by default

Niels Thykier niels at thykier.net
Sat Dec 7 19:53:24 GMT 2024


Source: mysql-8.0
Version: 8.0.40-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`,
mysql-8.0 failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/bin/mysqlrouter_passwd" to 
"/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysql-router/libmysqlrouter_io_component.so.1
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysql-router/libmysqlrouter_io_component.so.1" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/io.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/io.so" to 
"/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/keepalive.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/keepalive.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysql-router/libmysqlrouter_metadata_cache.so.1
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysql-router/libmysqlrouter_metadata_cache.so.1" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/metadata_cache.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/metadata_cache.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysql-router/libmysqlrouter_mysqlxmessages.so.1
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysql-router/libmysqlrouter_mysqlxmessages.so.1" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/router_openssl.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/router_openssl.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/bin/mysqlrouter_plugin_info
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/bin/mysqlrouter_plugin_info" to 
"/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/router_protobuf.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/router_protobuf.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/rest_api.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/rest_api.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/rest_connection_pool.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/rest_connection_pool.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/rest_metadata_cache.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/rest_metadata_cache.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/rest_router.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/rest_router.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/rest_routing.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/rest_routing.so" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/mysqlrouter/docs/sample_mysqlrouter.conf
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/bin/mysqlrouter
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/bin/mysqlrouter" to 
"/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysql-router/libmysqlrouter.so.1
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysql-router/libmysqlrouter.so.1" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/bin/mysqlrouter_keyring
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/bin/mysqlrouter_keyring" to 
"/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysql-router/libmysqlrouter_routing.so.1
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysql-router/libmysqlrouter_routing.so.1" 
to "/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/mysqlrouter/plugin/routing.so
-- Set non-toolchain portion of runtime path of 
"/<<PKGBUILDDIR>>/debian/tmp///usr/lib/mysqlrouter/plugin/routing.so" to 
"/usr/lib/mysql-router:/usr/lib/mysqlrouter/plugin"
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/comp_err.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/ibd2sdi.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/innochecksum.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/lz4_decompress.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/my_print_defaults.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/myisam_ftdump.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/myisamchk.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/myisamlog.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/myisampack.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysql.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysql_config.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysql_config_editor.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysql_secure_installation.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysql_ssl_rsa_setup.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysql_tzinfo_to_sql.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysql_upgrade.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqladmin.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlbinlog.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlcheck.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqldump.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqldumpslow.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlimport.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlman.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlpump.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlshow.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlslap.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/perror.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/zlib_decompress.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysql.server.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqld_multi.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqld_safe.1
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man8/mysqld.8
-- Installing: /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlrouter.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlrouter_passwd.1
-- Installing: 
/<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1/mysqlrouter_plugin_info.1
make[2]: Leaving directory '/<<PKGBUILDDIR>>/builddir'
# After installing, remove rpath to make lintian happy.
set +e; \
find ./debian/tmp/ -type f -print0 \
	| xargs -0 --no-run-if-empty chrpath -k 2>/dev/null \
	| fgrep RPATH= \
	| cut -d: -f 1 \
	| xargs --no-run-if-empty chrpath -d; \
set -e
install -d -m 0755 -o root -g root 
/<<PKGBUILDDIR>>/debian/tmp//usr/lib/mysql
install: cannot change owner and permissions of 
‘/<<PKGBUILDDIR>>/debian/tmp//usr/lib/mysql’: Operation not permitted
make[1]: *** [debian/rules:180: auto_install-stamp] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:231: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit 
status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-17T14:06:21Z

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


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/1024533.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-mysql-maint/attachments/20241207/b2189381/attachment.sig>


More information about the pkg-mysql-maint mailing list