1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
HOMEPAGE = "https://www.sourceware.org/lvm2/"
SECTION = "utils"
DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux."
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
DEPENDS += "libaio"
SRC_URI = "git://sourceware.org/git/lvm2.git;branch=main \
file://lvm.conf \
file://0001-implement-libc-specific-reopen_stream.patch \
file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \
file://0001-Avoid-bashisms-in-init-scripts.patch \
file://0005-do-not-build-manual.patch \
file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
file://reproducible-build.patch \
file://0001-include-libgen.h-for-basename.patch \
"
SRCREV = "8817523c5682a7fd83770d3f58a99c436f7e73f7"
PV = "2.03.32"
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)} \
"
# odirect is always enabled because there currently is a bug in
# lib/device/dev-io.c which prevents compiling without it. It is
# better to stick to configurations that were actually tested by
# upstream...
PACKAGECONFIG ??= "odirect ${LVM2_PACKAGECONFIG}"
PACKAGECONFIG[dmeventd] = "--enable-dmeventd,--disable-dmeventd"
PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
# NOTE: Add thin-provisioning-tools only if your distro policy allows GPL-3.0 license
PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
# Unset user/group to unbreak install.
EXTRA_OECONF = "--with-user= \
--with-group= \
--enable-realtime \
--enable-cmdlib \
--enable-pkgconfig \
--with-usrlibdir=${libdir} \
--with-systemdsystemunitdir=${systemd_system_unitdir} \
--disable-thin_check_needs_check \
--with-thin-check=${sbindir}/thin_check \
--with-thin-dump=${sbindir}/thin_dump \
--with-thin-repair=${sbindir}/thin_repair \
--with-thin-restore=${sbindir}/thin_restore \
"
|