blob: 3988d5491011593a421449eeb0ec8f00a3f5d9cb [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001require lvm2.inc
2
Brad Bishop0f291cc2019-09-01 15:16:57 -04003SRC_URI += " \
Brad Bishopc1d34332019-09-09 14:56:00 -04004 file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \
Brad Bishop19323692019-04-05 15:28:33 -04005 "
6
7DEPENDS += "autoconf-archive-native"
8
9inherit multilib_script
10
11MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf"
12
13CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
14
Patrick Williams213cb262021-08-07 19:21:33 -050015do_install:append() {
Brad Bishop19323692019-04-05 15:28:33 -040016 # Install machine specific configuration file
17 install -d ${D}${sysconfdir}/lvm
18 install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
19 sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
20 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
21 oe_runmake 'DESTDIR=${D}' install install_systemd_units
22 sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
23 else
24 oe_runmake 'DESTDIR=${D}' install install_initscripts
25 mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
26 rm -rf ${D}${sysconfdir}/rc.d
27 fi
28}
29
30PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules"
31
32SYSTEMD_PACKAGES = "${PN}"
Patrick Williams213cb262021-08-07 19:21:33 -050033SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
Andrew Geissler89770b02020-06-13 10:40:47 -050034 blk-availability.service"
Brad Bishop19323692019-04-05 15:28:33 -040035SYSTEMD_AUTO_ENABLE = "disable"
36
37TARGET_CC_ARCH += "${LDFLAGS}"
38
Patrick Williams213cb262021-08-07 19:21:33 -050039EXTRA_OECONF:append:class-nativesdk = " --with-confdir=${sysconfdir}"
Brad Bishop19323692019-04-05 15:28:33 -040040
Brad Bishop665fd022019-08-26 01:32:28 -040041DEPENDS += "util-linux"
Patrick Williams213cb262021-08-07 19:21:33 -050042LVM2_PACKAGECONFIG:append:class-target = " \
Brad Bishop665fd022019-08-26 01:32:28 -040043 udev \
44"
Brad Bishop36a3e3e2019-10-02 13:29:27 -040045PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,${PN}-udevrules"
Brad Bishop665fd022019-08-26 01:32:28 -040046
Brad Bishop0f291cc2019-09-01 15:16:57 -040047PACKAGES =+ "libdevmapper"
Patrick Williams213cb262021-08-07 19:21:33 -050048FILES:libdevmapper = " \
Brad Bishop0f291cc2019-09-01 15:16:57 -040049 ${libdir}/libdevmapper.so.* \
50 ${sbindir}/dmsetup \
51 ${sbindir}/dmstats \
52"
53
Patrick Williams213cb262021-08-07 19:21:33 -050054FILES:${PN} += " \
Andrew Geissler89770b02020-06-13 10:40:47 -050055 ${libdir}/device-mapper/*.so \
56 ${systemd_system_unitdir}/lvm2-pvscan@.service \
57"
58
Patrick Williams213cb262021-08-07 19:21:33 -050059FILES:${PN}-scripts = " \
Brad Bishop19323692019-04-05 15:28:33 -040060 ${sbindir}/blkdeactivate \
61 ${sbindir}/fsadm \
62 ${sbindir}/lvmconf \
63 ${sbindir}/lvmdump \
64"
65# Specified explicitly for the udev rules, just in case that it does not get picked
66# up automatically:
Patrick Williams213cb262021-08-07 19:21:33 -050067FILES:${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
68RDEPENDS:${PN}-udevrules = "libdevmapper"
69RDEPENDS:${PN}:append:class-target = " libdevmapper"
70RDEPENDS:${PN}:append:class-nativesdk = " libdevmapper"
Brad Bishop19323692019-04-05 15:28:33 -040071
Patrick Williams213cb262021-08-07 19:21:33 -050072RDEPENDS:${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
Brad Bishopc1d34332019-09-09 14:56:00 -040073 bash \
74 util-linux-lsblk \
75 util-linux-findmnt \
76 coreutils \
77"
Patrick Williams213cb262021-08-07 19:21:33 -050078RRECOMMENDS:${PN}:class-target = "${PN}-scripts (= ${EXTENDPKGV})"
Brad Bishop19323692019-04-05 15:28:33 -040079
Patrick Williams213cb262021-08-07 19:21:33 -050080CONFFILES:${PN} += "${sysconfdir}/lvm/lvm.conf"
Brad Bishop19323692019-04-05 15:28:33 -040081
Patrick Williams213cb262021-08-07 19:21:33 -050082SYSROOT_PREPROCESS_FUNCS:append = " remove_libdevmapper_sysroot_preprocess"
Brad Bishop0f291cc2019-09-01 15:16:57 -040083remove_libdevmapper_sysroot_preprocess() {
84 rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \
85 ${SYSROOT_DESTDIR}${sbindir}/dmsetup \
86 ${SYSROOT_DESTDIR}${sbindir}/dmstats \
87 ${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \
88 ${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc
89}
90
Brad Bishop19323692019-04-05 15:28:33 -040091BBCLASSEXTEND = "native nativesdk"