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 | |
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')
-rw-r--r-- | meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch (renamed from meta-oe/recipes-support/lvm2/lvm2/0001-Avoid-bashisms-in-init-scripts.patch) | 0 | ||||
-rw-r--r-- | meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch (renamed from meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-reopen_stream.patch) | 0 | ||||
-rw-r--r-- | meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch (renamed from meta-oe/recipes-support/lvm2/lvm2/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch) | 0 | ||||
-rw-r--r-- | meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch (renamed from meta-oe/recipes-support/lvm2/lvm2/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch) | 0 | ||||
-rw-r--r-- | meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch (renamed from meta-oe/recipes-support/lvm2/lvm2/0004-tweak-MODPROBE_CMD-for-cross-compile.patch) | 0 | ||||
-rw-r--r-- | meta-oe/recipes-support/lvm2/files/lvm.conf (renamed from meta-oe/recipes-support/lvm2/lvm2/lvm.conf) | 0 | ||||
-rw-r--r-- | meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb | 31 | ||||
-rw-r--r-- | meta-oe/recipes-support/lvm2/lvm2.inc | 75 | ||||
-rw-r--r-- | meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb | 73 |
9 files changed, 104 insertions, 75 deletions
diff --git a/meta-oe/recipes-support/lvm2/lvm2/0001-Avoid-bashisms-in-init-scripts.patch b/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch index e86ab25e62..e86ab25e62 100644 --- a/meta-oe/recipes-support/lvm2/lvm2/0001-Avoid-bashisms-in-init-scripts.patch +++ b/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch | |||
diff --git a/meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-reopen_stream.patch b/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch index 5d72402bd1..5d72402bd1 100644 --- a/meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-reopen_stream.patch +++ b/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch | |||
diff --git a/meta-oe/recipes-support/lvm2/lvm2/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch b/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch index 95dcede33c..95dcede33c 100644 --- a/meta-oe/recipes-support/lvm2/lvm2/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch +++ b/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch | |||
diff --git a/meta-oe/recipes-support/lvm2/lvm2/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch b/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch index 9ab1c06d27..9ab1c06d27 100644 --- a/meta-oe/recipes-support/lvm2/lvm2/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch +++ b/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch | |||
diff --git a/meta-oe/recipes-support/lvm2/lvm2/0004-tweak-MODPROBE_CMD-for-cross-compile.patch b/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch index aaeaa725d3..aaeaa725d3 100644 --- a/meta-oe/recipes-support/lvm2/lvm2/0004-tweak-MODPROBE_CMD-for-cross-compile.patch +++ b/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch | |||
diff --git a/meta-oe/recipes-support/lvm2/lvm2/lvm.conf b/meta-oe/recipes-support/lvm2/files/lvm.conf index 9e3b5fe296..9e3b5fe296 100644 --- a/meta-oe/recipes-support/lvm2/lvm2/lvm.conf +++ b/meta-oe/recipes-support/lvm2/files/lvm.conf | |||
diff --git a/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb b/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb new file mode 100644 index 0000000000..462e8fb01b --- /dev/null +++ b/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | require lvm2.inc | ||
2 | |||
3 | SRC_URI[md5sum] = "c5a54ee0b86703daaad6e856439e115a" | ||
4 | SRC_URI[sha256sum] = "e120b066b85b224552efda40204488c5123de068725676fd6e5c8bc655051b94" | ||
5 | |||
6 | DEPENDS += "autoconf-archive-native" | ||
7 | |||
8 | PACKAGECONFIG = "" | ||
9 | |||
10 | # Unset user/group to unbreak install. | ||
11 | EXTRA_OECONF = "--with-user= \ | ||
12 | --with-group= \ | ||
13 | --enable-pkgconfig \ | ||
14 | --with-usrlibdir=${libdir} \ | ||
15 | " | ||
16 | |||
17 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
18 | |||
19 | do_install_append() { | ||
20 | # Remove things unrelated to libdevmapper | ||
21 | rm -rf ${D}${sysconfdir} | ||
22 | for i in `ls ${D}${sbindir}/*`; do | ||
23 | if [ $i != ${D}${sbindir}/dmsetup ]; then | ||
24 | rm $i | ||
25 | fi | ||
26 | done | ||
27 | # Remove docs | ||
28 | rm -rf ${D}${datadir} | ||
29 | } | ||
30 | |||
31 | RRECOMMENDS_${PN} += "lvm2-udevrules" | ||
diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc index e295e20fa8..cb5a9e0427 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" | ||
diff --git a/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb b/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb index c81faa7e5a..7939f05522 100644 --- a/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb +++ b/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb | |||
@@ -5,4 +5,77 @@ SRC_URI[sha256sum] = "e120b066b85b224552efda40204488c5123de068725676fd6e5c8bc655 | |||
5 | 5 | ||
6 | DEPENDS += "autoconf-archive-native" | 6 | DEPENDS += "autoconf-archive-native" |
7 | 7 | ||
8 | LVM2_PACKAGECONFIG = "dmeventd lvmetad" | ||
9 | LVM2_PACKAGECONFIG_append_class-target = " \ | ||
10 | ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ | ||
11 | thin-provisioning-tools \ | ||
12 | udev \ | ||
13 | " | ||
14 | |||
15 | PACKAGECONFIG ??= "${LVM2_PACKAGECONFIG}" | ||
16 | |||
17 | # Unset user/group to unbreak install. | ||
18 | EXTRA_OECONF = "--with-user= \ | ||
19 | --with-group= \ | ||
20 | --enable-realtime \ | ||
21 | --enable-applib \ | ||
22 | --enable-cmdlib \ | ||
23 | --enable-pkgconfig \ | ||
24 | --with-usrlibdir=${libdir} \ | ||
25 | --with-systemdsystemunitdir=${systemd_system_unitdir} \ | ||
26 | --disable-thin_check_needs_check \ | ||
27 | --with-thin-check=${sbindir}/thin_check \ | ||
28 | --with-thin-dump=${sbindir}/thin_dump \ | ||
29 | --with-thin-repair=${sbindir}/thin_repair \ | ||
30 | --with-thin-restore=${sbindir}/thin_restore \ | ||
31 | " | ||
32 | |||
33 | CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe" | ||
34 | |||
35 | do_install_append() { | ||
36 | # Install machine specific configuration file | ||
37 | install -d ${D}${sysconfdir}/lvm | ||
38 | install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf | ||
39 | sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf | ||
40 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | ||
41 | oe_runmake 'DESTDIR=${D}' install install_systemd_units | ||
42 | sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service | ||
43 | else | ||
44 | oe_runmake 'DESTDIR=${D}' install install_initscripts | ||
45 | mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d | ||
46 | rm -rf ${D}${sysconfdir}/rc.d | ||
47 | fi | ||
48 | # Remove things related to libdevmapper | ||
49 | rm -f ${D}${sbindir}/dmsetup | ||
50 | rm -f ${D}${libdir}/libdevmapper.so.* | ||
51 | rm -f ${D}${libdir}/libdevmapper.so ${D}${libdir}/pkgconfig/devmapper.pc ${D}${includedir}/libdevmapper.h | ||
52 | } | ||
53 | |||
54 | PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules" | ||
55 | |||
56 | SYSTEMD_PACKAGES = "${PN}" | ||
57 | SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \ | ||
58 | ${@bb.utils.contains('PACKAGECONFIG', 'lvmetad', 'lvm2-lvmetad.socket lvm2-pvscan@.service', '', d)} \ | ||
59 | blk-availability.service" | ||
60 | SYSTEMD_AUTO_ENABLE = "disable" | ||
61 | |||
62 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
63 | |||
64 | FILES_${PN} += "${libdir}/device-mapper/*.so" | ||
65 | FILES_${PN}-scripts = " \ | ||
66 | ${sbindir}/blkdeactivate \ | ||
67 | ${sbindir}/fsadm \ | ||
68 | ${sbindir}/lvmconf \ | ||
69 | ${sbindir}/lvmdump \ | ||
70 | " | ||
71 | # Specified explicitly for the udev rules, just in case that it does not get picked | ||
72 | # up automatically: | ||
73 | FILES_${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d" | ||
74 | RDEPENDS_${PN}_append_class-target = " libdevmapper" | ||
75 | |||
76 | RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash" | ||
77 | RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})" | ||
78 | |||
79 | CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf" | ||
80 | |||
8 | BBCLASSEXTEND = "native nativesdk" | 81 | BBCLASSEXTEND = "native nativesdk" |