xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.11.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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