Control: retitle -1 btrfs-progs: will FTBFS when udev.pc changes udevdir
Control: tags -1 + ftbfs
* Chris Hofstaedtler [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 /<>/debian/tmp/usr/lib/udev/rules.d
/usr/bin/install -c -m644 64-btrfs-dm.rules 64-btrfs-zoned.rules
/<>/debian/tmp/usr/lib/udev/rules.d
...
make[1]: Leaving directory '/<>'
debian/rules override_dh_install
make[1]: Entering directory '/<>'
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 '/<>'
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