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