From 269d009a81d4a20a1e0d1bfcf20ccdaeb3e973c4 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Mon, 20 Mar 2017 16:14:06 +0100 Subject: lvm2: libdevicemapper package needs udev rules and dmsetup Applications like kpartx and cryptsetup were broken by moving only libdevicemapper itself into a separate package: as a result of that change, lvm2 was not getting pulled into images anymore although libdevicemapper depends on dmsetup and udev rules to be fully functional. For example, "kpartx -as" started to hang while waiting for the udev rules to trigger, which is what creates the /dev/mapper/ entries for the new partitions (see also https://github.com/docker/docker/issues/22025#issuecomment-243943728). Putting udev rules and dmsetup also into libdevicemapper is perhaps counter-intuitive, but necessary to keep the package functioning. A full lvm2 installation is guaranteed to pull them in, too, both because of implicit library dependencies and (just to be sure) an explicit RDEPENDS. lvm2-native doesn't have packages, so this RDEPENDS must be limited to the target case. Signed-off-by: Patrick Ohly Signed-off-by: Peter Kjellerstedt Signed-off-by: Martin Jansa --- meta-oe/recipes-support/lvm2/lvm2.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'meta-oe/recipes-support/lvm2/lvm2.inc') diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc index 75fc51f8d5..0047914a78 100644 --- a/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-oe/recipes-support/lvm2/lvm2.inc @@ -84,14 +84,17 @@ SYSTEMD_AUTO_ENABLE = "disable" TARGET_CC_ARCH += "${LDFLAGS}" -FILES_${PN} += "${libdir}/device-mapper/*.so ${nonarch_base_libdir}/udev" +FILES_${PN} += "${libdir}/device-mapper/*.so" FILES_${PN}-scripts = " \ ${sbindir}/blkdeactivate \ ${sbindir}/fsadm \ ${sbindir}/lvmconf \ ${sbindir}/lvmdump \ " -FILES_libdevmapper = "${libdir}/libdevmapper.so.*" +# Specified explicitly for the udev rules, just in case that it does not get picked +# up automatically: +RDEPENDS_${PN}_append_class-target = " libdevmapper" +FILES_libdevmapper = "${sbindir}/dmsetup ${libdir}/libdevmapper.so.* ${nonarch_base_libdir}/udev/rules.d" FILES_libdevmapper-dev = " \ ${libdir}/libdevmapper.so \ ${libdir}/pkgconfig/devmapper.pc \ -- cgit 1.2.3-korg