aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/lvm2
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2017-03-20 16:14:06 +0100
committerMartin Jansa <Martin.Jansa@gmail.com>2017-03-31 13:25:59 +0200
commit269d009a81d4a20a1e0d1bfcf20ccdaeb3e973c4 (patch)
treec12d8033cf1e9503bef75a8503fd1657a78de9a6 /meta-oe/recipes-support/lvm2
parentaf279a8e746ba80e4811751ba6ede3519cd71b3c (diff)
downloadmeta-openembedded-contrib-269d009a81d4a20a1e0d1bfcf20ccdaeb3e973c4.tar.gz
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 <patrick.ohly@intel.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/lvm2')
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2.inc7
1 files changed, 5 insertions, 2 deletions
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 \