summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/lvm2/lvm2.inc
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2017-04-24 16:06:41 +0800
committerMartin Jansa <Martin.Jansa@gmail.com>2017-04-26 20:13:32 +0200
commit7f17da154372b5ec33947766783444961e8aa67c (patch)
treeead705af475f594c4a08e69f2fab319a3b249bde /meta-oe/recipes-support/lvm2/lvm2.inc
parent7e4166e80b6994d8ea1a4eacffa4fe9d386c72ec (diff)
downloadmeta-openembedded-7f17da154372b5ec33947766783444961e8aa67c.tar.gz
lvm2: separate libdevmapper to avoid circular dependency
If we enable 'cryptsetup' PACKAGECONFIG for systemd, there would be circular dependency issue among 'systemd', 'cryptsetup' and 'lvm2'. cryptsetup only needs libdevmapper from lvm2. So we separte libdevmapper into a new recipe to solve this circular dependency issue. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/lvm2/lvm2.inc')
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2.inc75
1 files changed, 0 insertions, 75 deletions
diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc
index e295e20fa..cb5a9e042 100644
--- a/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -18,15 +18,6 @@ S = "${WORKDIR}/LVM2.${PV}"
18 18
19inherit autotools-brokensep pkgconfig systemd 19inherit autotools-brokensep pkgconfig systemd
20 20
21LVM2_PACKAGECONFIG = "dmeventd lvmetad"
22LVM2_PACKAGECONFIG_append_class-target = " \
23 ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
24 thin-provisioning-tools \
25 udev \
26"
27
28PACKAGECONFIG ??= "${LVM2_PACKAGECONFIG}"
29
30# odirect is always enabled because there currently is a bug in 21# odirect is always enabled because there currently is a bug in
31# lib/device/dev-io.c which prevents compiling without it. It is 22# lib/device/dev-io.c which prevents compiling without it. It is
32# better to stick to configurations that were actually tested by 23# better to stick to configurations that were actually tested by
@@ -40,69 +31,3 @@ PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
40PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" 31PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
41PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools" 32PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
42PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev" 33PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev"
43
44# Unset user/group to unbreak install.
45EXTRA_OECONF = "--with-user= \
46 --with-group= \
47 --enable-realtime \
48 --enable-applib \
49 --enable-cmdlib \
50 --enable-pkgconfig \
51 --with-usrlibdir=${libdir} \
52 --with-systemdsystemunitdir=${systemd_system_unitdir} \
53 --disable-thin_check_needs_check \
54 --with-thin-check=${sbindir}/thin_check \
55 --with-thin-dump=${sbindir}/thin_dump \
56 --with-thin-repair=${sbindir}/thin_repair \
57 --with-thin-restore=${sbindir}/thin_restore \
58"
59
60CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
61
62do_install_append() {
63 # Install machine specific configuration file
64 install -d ${D}${sysconfdir}/lvm
65 install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
66 sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
67 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
68 oe_runmake 'DESTDIR=${D}' install install_systemd_units
69 sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
70 else
71 oe_runmake 'DESTDIR=${D}' install install_initscripts
72 mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
73 rm -rf ${D}${sysconfdir}/rc.d
74 fi
75}
76
77PACKAGE_BEFORE_PN = "${PN}-scripts libdevmapper libdevmapper-dev"
78
79SYSTEMD_PACKAGES = "${PN}"
80SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
81 ${@bb.utils.contains('PACKAGECONFIG', 'lvmetad', 'lvm2-lvmetad.socket lvm2-pvscan@.service', '', d)} \
82 blk-availability.service"
83SYSTEMD_AUTO_ENABLE = "disable"
84
85TARGET_CC_ARCH += "${LDFLAGS}"
86
87FILES_${PN} += "${libdir}/device-mapper/*.so"
88FILES_${PN}-scripts = " \
89 ${sbindir}/blkdeactivate \
90 ${sbindir}/fsadm \
91 ${sbindir}/lvmconf \
92 ${sbindir}/lvmdump \
93"
94# Specified explicitly for the udev rules, just in case that it does not get picked
95# up automatically:
96RDEPENDS_${PN}_append_class-target = " libdevmapper"
97FILES_libdevmapper = "${sbindir}/dmsetup ${libdir}/libdevmapper.so.* ${nonarch_base_libdir}/udev/rules.d"
98FILES_libdevmapper-dev = " \
99 ${libdir}/libdevmapper.so \
100 ${libdir}/pkgconfig/devmapper.pc \
101 ${includedir}/libdevmapper.h \
102"
103
104RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash"
105RDEPENDS_libdevmapper-dev = "libdevmapper (= ${EXTENDPKGV})"
106RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
107
108CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"