From d1cb714a4337b3d7c62359d074ce098b184d9484 Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Tue, 15 Apr 2025 10:30:31 +0800 Subject: lvm2: correct PKGV for package libdevmapper Refer [1] about relations about recipe lvm2 and libdevmapper, package libdevmapper is generated by recipe lvm2. And lvm2 and libdevmapper has different release version, refer [2], VERSION is for lvm2, and VERSION_DM is for libdevmapper. Refer following way in configure.ac to get PKGV of libdevmapper: [snip of configure.ac] DM_LIB_PATCHLEVEL=$($AWK -F '[[-. ]]' '{printf "%s.%s.%s",$1,$2,$3}' "$srcdir"/VERSION_DM) [snip] Other distros like ubuntu, suse also use VERSION_DM as version of libdevmapper [1] https://git.openembedded.org/meta-openembedded/commit/?h=master-next&id=3f64779eae2d8312f569bee863f90ec4f8176e6c [2] https://sourceware.org/git/?p=lvm2.git;a=tree Signed-off-by: Changqing Li Signed-off-by: Khem Raj --- meta-oe/recipes-support/lvm2/lvm2.inc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc index ffa6a9a15d..bff075d400 100644 --- a/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-oe/recipes-support/lvm2/lvm2.inc @@ -26,6 +26,29 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\_\d+)+)" inherit autotools-brokensep pkgconfig systemd +def get_dm_version(p): + import re + + fn = p + '/VERSION_DM' + try: + f = open(fn, 'r') + except IOError: + return None + + lines = f.readlines() + f.close() + for line in lines: + m = re.match(r'(\w+)[-. ](\w+)[-. ](\w+)', line.strip()) + if m: + return ".".join([m.group(1), m.group(2), m.group(3)]) + + return None + +DM_VERSION = '${@get_dm_version("${S}")}' +python do_package:prepend() { + d.setVar('PKGV:libdevmapper', d.getVar("DM_VERSION")) +} + LVM2_PACKAGECONFIG = "dmeventd" LVM2_PACKAGECONFIG:append:class-target = " \ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ -- cgit v1.2.3-54-g00ecf