summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/lvm2/lvm2.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-support/lvm2/lvm2.bb')
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2.bb114
1 files changed, 114 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/lvm2/lvm2.bb b/meta-oe/recipes-support/lvm2/lvm2.bb
new file mode 100644
index 0000000000..f569424e27
--- /dev/null
+++ b/meta-oe/recipes-support/lvm2/lvm2.bb
@@ -0,0 +1,114 @@
1require lvm2.inc
2
3SRC_URI += " \
4 file://tweak-for-lvmdbusd.patch \
5 "
6
7DEPENDS += "autoconf-archive-native"
8
9inherit multilib_script python3native
10
11MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf"
12
13CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
14
15do_install:append() {
16 # Install machine specific configuration file
17 install -d ${D}${sysconfdir}/lvm
18 install -m 0644 ${UNPACKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
19 sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
20 # We don't want init scripts/systemd units for native SDK utilities
21 if [ "${PN}" != "nativesdk-lvm2" ]; then
22 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
23 oe_runmake 'DESTDIR=${D}' install install_systemd_units
24 sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
25 else
26 oe_runmake 'DESTDIR=${D}' install install_initscripts
27 mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
28 rm -rf ${D}${sysconfdir}/rc.d
29 fi
30 fi
31
32 # following files only exist when package config `dbus` enabled
33 sed -i -e '1s,#!.*python.*,#!${USRBINPATH}/env python3,' \
34 ${D}${sbindir}/lvmdbusd \
35 ${D}${PYTHON_SITEPACKAGES_DIR}/lvmdbusd/lvmdb.py \
36 ${D}${PYTHON_SITEPACKAGES_DIR}/lvmdbusd/lvm_shell_proxy.py \
37 || true
38}
39
40PACKAGE_BEFORE_PN = "${PN}-scripts"
41
42SYSTEMD_PACKAGES = "${PN}"
43SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
44 ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'lvm2-lvmdbusd.service', '', d)} \
45 blk-availability.service \
46 "
47SYSTEMD_AUTO_ENABLE = "disable"
48
49TARGET_CC_ARCH += "${LDFLAGS}"
50
51EXTRA_OECONF:append:class-nativesdk = " --with-confdir=${sysconfdir}"
52
53DEPENDS += "util-linux"
54LVM2_PACKAGECONFIG:append:class-target = " \
55 udev \
56"
57
58PACKAGECONFIG[dbus] = "--enable-dbus-service,--disable-dbus-service,,python3-dbus python3-pyudev"
59PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,"
60
61PACKAGES =+ "libdevmapper"
62FILES:libdevmapper = " \
63 ${libdir}/libdevmapper.so.* \
64 ${sbindir}/dmsetup \
65 ${sbindir}/dmstats \
66 ${nonarch_base_libdir}/udev/rules.d/10-dm.rules \
67 ${nonarch_base_libdir}/udev/rules.d/13-dm-disk.rules \
68 ${nonarch_base_libdir}/udev/rules.d/95-dm-notify.rules \
69"
70
71FILES:${PN} += " \
72 ${libdir}/device-mapper/*.so \
73 ${systemd_system_unitdir} \
74 ${PYTHON_SITEPACKAGES_DIR}/lvmdbusd \
75 ${datadir}/dbus-1/system-services/com.redhat.lvmdbus1.service \
76 ${nonarch_base_libdir}/udev/rules.d/11-dm-lvm.rules \
77 ${nonarch_base_libdir}/udev/rules.d/69-dm-lvm.rules \
78"
79# Remove /lib/udev from FILES:${PN} so that any new rules files that are added
80# upstream will have to be explicitly added to either FILES:${PN} or
81# FILES:libdevmapper.
82FILES:${PN}:remove = "${nonarch_base_libdir}/udev"
83
84FILES:${PN}-scripts = " \
85 ${sbindir}/blkdeactivate \
86 ${sbindir}/fsadm \
87 ${sbindir}/lvmconf \
88 ${sbindir}/lvmdump \
89"
90
91RDEPENDS:${PN} = "bash"
92RDEPENDS:${PN}:append:class-target = " libdevmapper"
93RDEPENDS:${PN}:append:class-nativesdk = " libdevmapper"
94
95RDEPENDS:${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
96 bash \
97 util-linux-lsblk \
98 util-linux-findmnt \
99 coreutils \
100"
101RRECOMMENDS:${PN}:class-target = "${PN}-scripts (= ${EXTENDPKGV})"
102
103CONFFILES:${PN} += "${sysconfdir}/lvm/lvm.conf"
104
105SYSROOT_PREPROCESS_FUNCS:append = " remove_libdevmapper_sysroot_preprocess"
106remove_libdevmapper_sysroot_preprocess() {
107 rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \
108 ${SYSROOT_DESTDIR}${sbindir}/dmsetup \
109 ${SYSROOT_DESTDIR}${sbindir}/dmstats \
110 ${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \
111 ${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc
112}
113
114BBCLASSEXTEND = "native nativesdk"