1*4882a593Smuzhiyunrequire lvm2.inc 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunSRC_URI += " \ 4*4882a593Smuzhiyun file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \ 5*4882a593Smuzhiyun " 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunDEPENDS += "autoconf-archive-native" 8*4882a593Smuzhiyun 9*4882a593Smuzhiyuninherit multilib_script 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunMULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf" 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunCACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe" 14*4882a593Smuzhiyun 15*4882a593Smuzhiyundo_install:append() { 16*4882a593Smuzhiyun # Install machine specific configuration file 17*4882a593Smuzhiyun install -d ${D}${sysconfdir}/lvm 18*4882a593Smuzhiyun install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf 19*4882a593Smuzhiyun sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf 20*4882a593Smuzhiyun # We don't want init scripts/systemd units for native SDK utilities 21*4882a593Smuzhiyun if [ "${PN}" != "nativesdk-lvm2" ]; then 22*4882a593Smuzhiyun if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then 23*4882a593Smuzhiyun oe_runmake 'DESTDIR=${D}' install install_systemd_units 24*4882a593Smuzhiyun sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service 25*4882a593Smuzhiyun else 26*4882a593Smuzhiyun oe_runmake 'DESTDIR=${D}' install install_initscripts 27*4882a593Smuzhiyun mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d 28*4882a593Smuzhiyun rm -rf ${D}${sysconfdir}/rc.d 29*4882a593Smuzhiyun fi 30*4882a593Smuzhiyun fi 31*4882a593Smuzhiyun} 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunPACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules" 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunSYSTEMD_PACKAGES = "${PN}" 36*4882a593SmuzhiyunSYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \ 37*4882a593Smuzhiyun blk-availability.service" 38*4882a593SmuzhiyunSYSTEMD_AUTO_ENABLE = "disable" 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunTARGET_CC_ARCH += "${LDFLAGS}" 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunEXTRA_OECONF:append:class-nativesdk = " --with-confdir=${sysconfdir}" 43*4882a593Smuzhiyun 44*4882a593SmuzhiyunDEPENDS += "util-linux" 45*4882a593SmuzhiyunLVM2_PACKAGECONFIG:append:class-target = " \ 46*4882a593Smuzhiyun udev \ 47*4882a593Smuzhiyun" 48*4882a593SmuzhiyunPACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,${PN}-udevrules" 49*4882a593Smuzhiyun 50*4882a593SmuzhiyunPACKAGES =+ "libdevmapper" 51*4882a593SmuzhiyunFILES:libdevmapper = " \ 52*4882a593Smuzhiyun ${libdir}/libdevmapper.so.* \ 53*4882a593Smuzhiyun ${sbindir}/dmsetup \ 54*4882a593Smuzhiyun ${sbindir}/dmstats \ 55*4882a593Smuzhiyun" 56*4882a593Smuzhiyun 57*4882a593SmuzhiyunFILES:${PN} += " \ 58*4882a593Smuzhiyun ${libdir}/device-mapper/*.so \ 59*4882a593Smuzhiyun ${systemd_system_unitdir}/lvm2-pvscan@.service \ 60*4882a593Smuzhiyun" 61*4882a593Smuzhiyun 62*4882a593SmuzhiyunFILES:${PN}-scripts = " \ 63*4882a593Smuzhiyun ${sbindir}/blkdeactivate \ 64*4882a593Smuzhiyun ${sbindir}/fsadm \ 65*4882a593Smuzhiyun ${sbindir}/lvmconf \ 66*4882a593Smuzhiyun ${sbindir}/lvmdump \ 67*4882a593Smuzhiyun" 68*4882a593Smuzhiyun# Specified explicitly for the udev rules, just in case that it does not get picked 69*4882a593Smuzhiyun# up automatically: 70*4882a593SmuzhiyunFILES:${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d" 71*4882a593SmuzhiyunRDEPENDS:${PN}-udevrules = "libdevmapper" 72*4882a593SmuzhiyunRDEPENDS:${PN}:append:class-target = " libdevmapper" 73*4882a593SmuzhiyunRDEPENDS:${PN}:append:class-nativesdk = " libdevmapper" 74*4882a593Smuzhiyun 75*4882a593SmuzhiyunRDEPENDS:${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \ 76*4882a593Smuzhiyun bash \ 77*4882a593Smuzhiyun util-linux-lsblk \ 78*4882a593Smuzhiyun util-linux-findmnt \ 79*4882a593Smuzhiyun coreutils \ 80*4882a593Smuzhiyun" 81*4882a593SmuzhiyunRRECOMMENDS:${PN}:class-target = "${PN}-scripts (= ${EXTENDPKGV})" 82*4882a593Smuzhiyun 83*4882a593SmuzhiyunCONFFILES:${PN} += "${sysconfdir}/lvm/lvm.conf" 84*4882a593Smuzhiyun 85*4882a593SmuzhiyunSYSROOT_PREPROCESS_FUNCS:append = " remove_libdevmapper_sysroot_preprocess" 86*4882a593Smuzhiyunremove_libdevmapper_sysroot_preprocess() { 87*4882a593Smuzhiyun rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \ 88*4882a593Smuzhiyun ${SYSROOT_DESTDIR}${sbindir}/dmsetup \ 89*4882a593Smuzhiyun ${SYSROOT_DESTDIR}${sbindir}/dmstats \ 90*4882a593Smuzhiyun ${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \ 91*4882a593Smuzhiyun ${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc 92*4882a593Smuzhiyun} 93*4882a593Smuzhiyun 94*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk" 95