diff options
Diffstat (limited to 'meta-oe/recipes-support/lvm2/lvm2.bb')
-rw-r--r-- | meta-oe/recipes-support/lvm2/lvm2.bb | 114 |
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 @@ | |||
1 | require lvm2.inc | ||
2 | |||
3 | SRC_URI += " \ | ||
4 | file://tweak-for-lvmdbusd.patch \ | ||
5 | " | ||
6 | |||
7 | DEPENDS += "autoconf-archive-native" | ||
8 | |||
9 | inherit multilib_script python3native | ||
10 | |||
11 | MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf" | ||
12 | |||
13 | CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe" | ||
14 | |||
15 | do_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 | |||
40 | PACKAGE_BEFORE_PN = "${PN}-scripts" | ||
41 | |||
42 | SYSTEMD_PACKAGES = "${PN}" | ||
43 | SYSTEMD_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 | " | ||
47 | SYSTEMD_AUTO_ENABLE = "disable" | ||
48 | |||
49 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
50 | |||
51 | EXTRA_OECONF:append:class-nativesdk = " --with-confdir=${sysconfdir}" | ||
52 | |||
53 | DEPENDS += "util-linux" | ||
54 | LVM2_PACKAGECONFIG:append:class-target = " \ | ||
55 | udev \ | ||
56 | " | ||
57 | |||
58 | PACKAGECONFIG[dbus] = "--enable-dbus-service,--disable-dbus-service,,python3-dbus python3-pyudev" | ||
59 | PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev," | ||
60 | |||
61 | PACKAGES =+ "libdevmapper" | ||
62 | FILES: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 | |||
71 | FILES:${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. | ||
82 | FILES:${PN}:remove = "${nonarch_base_libdir}/udev" | ||
83 | |||
84 | FILES:${PN}-scripts = " \ | ||
85 | ${sbindir}/blkdeactivate \ | ||
86 | ${sbindir}/fsadm \ | ||
87 | ${sbindir}/lvmconf \ | ||
88 | ${sbindir}/lvmdump \ | ||
89 | " | ||
90 | |||
91 | RDEPENDS:${PN} = "bash" | ||
92 | RDEPENDS:${PN}:append:class-target = " libdevmapper" | ||
93 | RDEPENDS:${PN}:append:class-nativesdk = " libdevmapper" | ||
94 | |||
95 | RDEPENDS:${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \ | ||
96 | bash \ | ||
97 | util-linux-lsblk \ | ||
98 | util-linux-findmnt \ | ||
99 | coreutils \ | ||
100 | " | ||
101 | RRECOMMENDS:${PN}:class-target = "${PN}-scripts (= ${EXTENDPKGV})" | ||
102 | |||
103 | CONFFILES:${PN} += "${sysconfdir}/lvm/lvm.conf" | ||
104 | |||
105 | SYSROOT_PREPROCESS_FUNCS:append = " remove_libdevmapper_sysroot_preprocess" | ||
106 | remove_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 | |||
114 | BBCLASSEXTEND = "native nativesdk" | ||