[oe] [meta-oe][PATCH v2 1/2] lvm2: libdevicemapper package needs udev rules and dmsetup

Peter Kjellerstedt peter.kjellerstedt at axis.com
Wed Mar 22 09:00:53 UTC 2017


> -----Original Message-----
> From: Patrick Ohly [mailto:patrick.ohly at intel.com]
> Sent: den 20 mars 2017 16:14
> To: openembedded-devel at lists.openembedded.org
> Cc: Peter Kjellerstedt; Patrick Ohly
> Subject: [meta-oe][PATCH v2 1/2] 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 at intel.com>
> ---
>  meta-oe/recipes-support/lvm2/lvm2.inc | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-
> support/lvm2/lvm2.inc
> index 3e79552..cfa74d4 100644
> --- a/meta-oe/recipes-support/lvm2/lvm2.inc
> +++ b/meta-oe/recipes-support/lvm2/lvm2.inc
> @@ -83,14 +83,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 \
> 
> base-commit: 6c584374a599f6f8d3607f20ecfc13a67ccf1da1
> --
> git-series 0.9.1

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>

//Peter




More information about the Openembedded-devel mailing list