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 | |
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')
-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 e86ab25e6..e86ab25e6 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 5d72402bd..5d72402bd 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 95dcede33..95dcede33 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 9ab1c06d2..9ab1c06d2 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 aaeaa725d..aaeaa725d 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 9e3b5fe29..9e3b5fe29 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 000000000..462e8fb01 --- /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 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" | ||
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 c81faa7e5..7939f0552 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" |