Control: retitle -1 btrfs-progs: will FTBFS when udev.pc changes udevdir Control: tags -1 + ftbfs
* Chris Hofstaedtler <z...@debian.org> [231201 23:37]: > Apparently these paths are hard-coded, either in the upstream build system > or the packaging. My apologies, the rebuild test failed to catch the real problem here: btrfs-progs upstream's configure(.ac) uses udevdir from udev.pc. This is great. However: the Debian packaging then hard-codes the /lib path. When udev.pc changes udevdir, btrfs-progs will FTBFS. Build log snippet: ... /usr/bin/install -c -m755 -d /<<PKGBUILDDIR>>/debian/tmp/usr/lib/udev/rules.d /usr/bin/install -c -m644 64-btrfs-dm.rules 64-btrfs-zoned.rules /<<PKGBUILDDIR>>/debian/tmp/usr/lib/udev/rules.d ... make[1]: Leaving directory '/<<PKGBUILDDIR>>' debian/rules override_dh_install make[1]: Entering directory '/<<PKGBUILDDIR>>' dh_install dh_install: warning: Cannot find (any matches for) "lib/" (tried in ., debian/tmp) dh_install: warning: btrfs-progs missing files: lib/ dh_install: error: missing files, aborting make[1]: *** [debian/rules:45: override_dh_install] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:18: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 A future proof option is to do something like this: In d/rules, set: export deb_udevdir = $(shell pkg-config --variable=udevdir udev | sed s,^/,,) In d/install, use: ${env:deb_udevdir}/rules.d Best, Chris