diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2017-04-24 16:06:41 +0800 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-04-26 20:13:32 +0200 |
commit | 7f17da154372b5ec33947766783444961e8aa67c (patch) | |
tree | ead705af475f594c4a08e69f2fab319a3b249bde /meta-oe/recipes-support/lvm2/lvm2.inc | |
parent | 7e4166e80b6994d8ea1a4eacffa4fe9d386c72ec (diff) | |
download | meta-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.inc | 75 |
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 | ||
19 | inherit autotools-brokensep pkgconfig systemd | 19 | inherit autotools-brokensep pkgconfig systemd |
20 | 20 | ||
21 | LVM2_PACKAGECONFIG = "dmeventd lvmetad" | ||
22 | LVM2_PACKAGECONFIG_append_class-target = " \ | ||
23 | ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ | ||
24 | thin-provisioning-tools \ | ||
25 | udev \ | ||
26 | " | ||
27 | |||
28 | PACKAGECONFIG ??= "${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" | |||
40 | PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" | 31 | PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" |
41 | PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools" | 32 | PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools" |
42 | PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev" | 33 | PACKAGECONFIG[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. | ||
45 | EXTRA_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 | |||
60 | CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe" | ||
61 | |||
62 | do_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 | |||
77 | PACKAGE_BEFORE_PN = "${PN}-scripts libdevmapper libdevmapper-dev" | ||
78 | |||
79 | SYSTEMD_PACKAGES = "${PN}" | ||
80 | SYSTEMD_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" | ||
83 | SYSTEMD_AUTO_ENABLE = "disable" | ||
84 | |||
85 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
86 | |||
87 | FILES_${PN} += "${libdir}/device-mapper/*.so" | ||
88 | FILES_${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: | ||
96 | RDEPENDS_${PN}_append_class-target = " libdevmapper" | ||
97 | FILES_libdevmapper = "${sbindir}/dmsetup ${libdir}/libdevmapper.so.* ${nonarch_base_libdir}/udev/rules.d" | ||
98 | FILES_libdevmapper-dev = " \ | ||
99 | ${libdir}/libdevmapper.so \ | ||
100 | ${libdir}/pkgconfig/devmapper.pc \ | ||
101 | ${includedir}/libdevmapper.h \ | ||
102 | " | ||
103 | |||
104 | RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash" | ||
105 | RDEPENDS_libdevmapper-dev = "libdevmapper (= ${EXTENDPKGV})" | ||
106 | RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})" | ||
107 | |||
108 | CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf" | ||