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 <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Changqing Li
2025-04-15 10:30:31 +08:00
committed by Khem Raj
parent ac086f2f51
commit d1cb714a43
+23
View File
@@ -26,6 +26,29 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\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)} \