blob: 6a6cdc7cef6f89145900bab751ff4ef6addf9881 [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
Andrew Geissler595f6302022-01-24 19:11:47 +000020 # 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
Brad Bishop19323692019-04-05 15:28:33 -040030 fi
31}
32
33PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules"
34
35SYSTEMD_PACKAGES = "${PN}"
Patrick Williams213cb262021-08-07 19:21:33 -050036SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
Andrew Geissler89770b02020-06-13 10:40:47 -050037 blk-availability.service"
Brad Bishop19323692019-04-05 15:28:33 -040038SYSTEMD_AUTO_ENABLE = "disable"
39
40TARGET_CC_ARCH += "${LDFLAGS}"
41
Patrick Williams213cb262021-08-07 19:21:33 -050042EXTRA_OECONF:append:class-nativesdk = " --with-confdir=${sysconfdir}"
Brad Bishop19323692019-04-05 15:28:33 -040043
Brad Bishop665fd022019-08-26 01:32:28 -040044DEPENDS += "util-linux"
Patrick Williams213cb262021-08-07 19:21:33 -050045LVM2_PACKAGECONFIG:append:class-target = " \
Brad Bishop665fd022019-08-26 01:32:28 -040046 udev \
47"
Brad Bishop36a3e3e2019-10-02 13:29:27 -040048PACKAGECONFIG[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 -040049
Brad Bishop0f291cc2019-09-01 15:16:57 -040050PACKAGES =+ "libdevmapper"
Patrick Williams213cb262021-08-07 19:21:33 -050051FILES:libdevmapper = " \
Brad Bishop0f291cc2019-09-01 15:16:57 -040052 ${libdir}/libdevmapper.so.* \
53 ${sbindir}/dmsetup \
54 ${sbindir}/dmstats \
55"
56
Patrick Williams213cb262021-08-07 19:21:33 -050057FILES:${PN} += " \
Andrew Geissler89770b02020-06-13 10:40:47 -050058 ${libdir}/device-mapper/*.so \
59 ${systemd_system_unitdir}/lvm2-pvscan@.service \
60"
61
Patrick Williams213cb262021-08-07 19:21:33 -050062FILES:${PN}-scripts = " \
Brad Bishop19323692019-04-05 15:28:33 -040063 ${sbindir}/blkdeactivate \
64 ${sbindir}/fsadm \
65 ${sbindir}/lvmconf \
66 ${sbindir}/lvmdump \
67"
68# Specified explicitly for the udev rules, just in case that it does not get picked
69# up automatically:
Patrick Williams213cb262021-08-07 19:21:33 -050070FILES:${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
Andrew Geissler87f5cff2022-09-30 13:13:31 -050071RDEPENDS:${PN} = "bash"
Patrick Williams213cb262021-08-07 19:21:33 -050072RDEPENDS:${PN}-udevrules = "libdevmapper"
73RDEPENDS:${PN}:append:class-target = " libdevmapper"
74RDEPENDS:${PN}:append:class-nativesdk = " libdevmapper"
Brad Bishop19323692019-04-05 15:28:33 -040075
Patrick Williams213cb262021-08-07 19:21:33 -050076RDEPENDS:${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
Brad Bishopc1d34332019-09-09 14:56:00 -040077 bash \
78 util-linux-lsblk \
79 util-linux-findmnt \
80 coreutils \
81"
Patrick Williams213cb262021-08-07 19:21:33 -050082RRECOMMENDS:${PN}:class-target = "${PN}-scripts (= ${EXTENDPKGV})"
Brad Bishop19323692019-04-05 15:28:33 -040083
Patrick Williams213cb262021-08-07 19:21:33 -050084CONFFILES:${PN} += "${sysconfdir}/lvm/lvm.conf"
Brad Bishop19323692019-04-05 15:28:33 -040085
Patrick Williams213cb262021-08-07 19:21:33 -050086SYSROOT_PREPROCESS_FUNCS:append = " remove_libdevmapper_sysroot_preprocess"
Brad Bishop0f291cc2019-09-01 15:16:57 -040087remove_libdevmapper_sysroot_preprocess() {
88 rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \
89 ${SYSROOT_DESTDIR}${sbindir}/dmsetup \
90 ${SYSROOT_DESTDIR}${sbindir}/dmstats \
91 ${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \
92 ${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc
93}
94
Brad Bishop19323692019-04-05 15:28:33 -040095BBCLASSEXTEND = "native nativesdk"