[oe] [PATCH meta-oe] lvm2: fix circular dependencies while systemd enable cryptsetup

Hongxu Jia hongxu.jia at windriver.com
Thu Aug 22 09:48:30 UTC 2019


While systemd enable cryptsetup (PACKAGECONFIG_append_pn-systemd = ' cryptsetup'),
there is a circular dependencies:
systemd -> systemd -> cryptsetup -> libdevmapper -> udev (PREFERRED_PROVIDER_udev = systemd)

The libdevmapper was used to break circular dependencies,
it does not require udev, refer commit [698d512 lvm2: Add a
PACKAGECONFIG for udev support] to move udev related from
lvm2.inc to lvm2.bb

Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
---
 meta-oe/recipes-support/lvm2/lvm2.inc        | 4 +---
 meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb | 6 ++++++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc
index ca409a6..f358663 100644
--- a/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -5,7 +5,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
                     file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
 
-DEPENDS += "util-linux libaio"
+DEPENDS += "libaio"
 
 SRC_URI = "https://sourceware.org/pub/lvm2/LVM2.${PV}.tgz \
            file://lvm.conf \
@@ -27,7 +27,6 @@ LVM2_PACKAGECONFIG = "dmeventd"
 LVM2_PACKAGECONFIG_append_class-target = " \
     ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
     ${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \
-    udev \
 "
 
 # odirect is always enabled because there currently is a bug in
@@ -41,7 +40,6 @@ PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
 PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
 PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
 PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
-PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev"
 
 # Unset user/group to unbreak install.
 EXTRA_OECONF = "--with-user= \
diff --git a/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb b/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb
index 4ae0a62..9922ef7 100644
--- a/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb
+++ b/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb
@@ -40,6 +40,12 @@ TARGET_CC_ARCH += "${LDFLAGS}"
 
 EXTRA_OECONF_append_class-nativesdk = " --with-confdir=${sysconfdir}"
 
+DEPENDS += "util-linux"
+LVM2_PACKAGECONFIG_append_class-target = " \
+    udev \
+"
+PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev"
+
 FILES_${PN} += "${libdir}/device-mapper/*.so"
 FILES_${PN}-scripts = " \
     ${sbindir}/blkdeactivate \
-- 
2.7.4



More information about the Openembedded-devel mailing list