diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-14 20:05:37 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 04:26:31 +0300 |
commit | eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch) | |
tree | de291a73dc37168da6370e2cf16c347d1eba9df8 /meta-openembedded/meta-oe/recipes-support/lvm2 | |
parent | 9c3cf826d853102535ead04cebc2d6023eff3032 (diff) | |
download | openbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz |
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers
content to the top level.
Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/lvm2')
12 files changed, 941 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch new file mode 100644 index 000000000..e86ab25e6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch @@ -0,0 +1,182 @@ +From 916ea0c70fd063ab7b81f16fd917a75dc02edf4f Mon Sep 17 00:00:00 2001 +From: Peter Kjellerstedt <pkj@axis.com> +Date: Fri, 17 Mar 2017 03:18:28 +0100 +Subject: [PATCH] Avoid bashisms in init scripts + +Upstream-Status: Inappropriate + +Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> +--- + scripts/blk_availability_init_red_hat.in | 4 ++-- + scripts/clvmd_init_red_hat.in | 6 +++--- + scripts/cmirrord_init_red_hat.in | 4 ++-- + scripts/lvm2_cluster_activation_red_hat.sh.in | 4 ++-- + scripts/lvm2_lvmetad_init_red_hat.in | 4 ++-- + scripts/lvm2_lvmpolld_init_red_hat.in | 4 ++-- + scripts/lvm2_monitoring_init_red_hat.in | 4 ++-- + scripts/lvm2_monitoring_init_rhel4 | 4 ++-- + 8 files changed, 17 insertions(+), 17 deletions(-) + +diff --git a/scripts/blk_availability_init_red_hat.in b/scripts/blk_availability_init_red_hat.in +index a84ffe7..6b855b7 100644 +--- a/scripts/blk_availability_init_red_hat.in ++++ b/scripts/blk_availability_init_red_hat.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # Copyright (C) 2012 Red Hat, Inc. All rights reserved. + # +@@ -53,6 +53,6 @@ case "$1" in + status) + ;; + *) +- echo $"Usage: $0 {start|stop|status}" ++ echo "Usage: $0 {start|stop|status}" + ;; + esac +diff --git a/scripts/clvmd_init_red_hat.in b/scripts/clvmd_init_red_hat.in +index d7f3392..abc8011 100644 +--- a/scripts/clvmd_init_red_hat.in ++++ b/scripts/clvmd_init_red_hat.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # clvmd - Clustered LVM Daemon init script + # +@@ -161,7 +161,7 @@ restart() { + fi + } + +-[ "$EUID" != "0" ] && { ++[ "$(id -u)" != "0" ] && { + echo "clvmd init script can only be executed as root user" + exit 4 + } +@@ -206,7 +206,7 @@ case "$1" in + ;; + + *) +- echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" ++ echo "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + rtrn=2 + ;; + esac +diff --git a/scripts/cmirrord_init_red_hat.in b/scripts/cmirrord_init_red_hat.in +index d4b7e37..d442cbc 100755 +--- a/scripts/cmirrord_init_red_hat.in ++++ b/scripts/cmirrord_init_red_hat.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # chkconfig: - 22 78 + # description: Starts and stops cmirrord +@@ -101,7 +101,7 @@ case "$1" in + ;; + + *) +- echo $"Usage: $0 {start|stop|restart|status}" ++ echo "Usage: $0 {start|stop|restart|status}" + ;; + esac + +diff --git a/scripts/lvm2_cluster_activation_red_hat.sh.in b/scripts/lvm2_cluster_activation_red_hat.sh.in +index abea026..d8cba2e 100644 +--- a/scripts/lvm2_cluster_activation_red_hat.sh.in ++++ b/scripts/lvm2_cluster_activation_red_hat.sh.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + sbindir=@sbindir@ + +@@ -54,7 +54,7 @@ case "$1" in + rtrn=$? + ;; + *) +- echo $"Usage: $0 {activate|deactivate}" ++ echo "Usage: $0 {activate|deactivate}" + rtrn=3 + ;; + esac +diff --git a/scripts/lvm2_lvmetad_init_red_hat.in b/scripts/lvm2_lvmetad_init_red_hat.in +index b2f5d50..96269a9 100644 +--- a/scripts/lvm2_lvmetad_init_red_hat.in ++++ b/scripts/lvm2_lvmetad_init_red_hat.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # Copyright (C) 2012 Red Hat, Inc. All rights reserved. + # +@@ -105,7 +105,7 @@ case "$1" in + ;; + + *) +- echo $"Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}" ++ echo "Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}" + ;; + esac + +diff --git a/scripts/lvm2_lvmpolld_init_red_hat.in b/scripts/lvm2_lvmpolld_init_red_hat.in +index c521955..cdbaece 100644 +--- a/scripts/lvm2_lvmpolld_init_red_hat.in ++++ b/scripts/lvm2_lvmpolld_init_red_hat.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # Copyright (C) 2015 Red Hat, Inc. All rights reserved. + # +@@ -107,7 +107,7 @@ case "$1" in + ;; + + *) +- echo $"Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}" ++ echo "Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}" + ;; + esac + +diff --git a/scripts/lvm2_monitoring_init_red_hat.in b/scripts/lvm2_monitoring_init_red_hat.in +index de7ff0d..9ff6bb7 100644 +--- a/scripts/lvm2_monitoring_init_red_hat.in ++++ b/scripts/lvm2_monitoring_init_red_hat.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # Copyright (C) 2007-2009 Red Hat, Inc. All rights reserved. + # +@@ -128,7 +128,7 @@ case "$1" in + ;; + + *) +- echo $"Usage: $0 {start|stop|restart|status|force-stop}" ++ echo "Usage: $0 {start|stop|restart|status|force-stop}" + ;; + esac + +diff --git a/scripts/lvm2_monitoring_init_rhel4 b/scripts/lvm2_monitoring_init_rhel4 +index 8eb06c5..2e8d0f7 100644 +--- a/scripts/lvm2_monitoring_init_rhel4 ++++ b/scripts/lvm2_monitoring_init_rhel4 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # Copyright (C) 2007 Red Hat, Inc. All rights reserved. + # +@@ -93,7 +93,7 @@ case "$1" in + ;; + + *) +- echo $"Usage: $0 {start|stop|restart|status|force-stop}" ++ echo "Usage: $0 {start|stop|restart|status|force-stop}" + ;; + esac + +-- +2.12.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch new file mode 100644 index 000000000..5d72402bd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch @@ -0,0 +1,79 @@ +From e3103459416616d3b8508e7176e897b0ae6c90f2 Mon Sep 17 00:00:00 2001 +From: Dengke Du <dengke.du@windriver.com> +Date: Tue, 25 Oct 2016 11:49:40 +0000 +Subject: [PATCH] implement libc specific reopen_stream + +musl defines stdin/stdio/stderr as constant types which means +we can not assign to them as we are doing here but works ok with glibc +therefore abstract out the _reopen_stream definition depending upon if +we are using glibc or otherwise + +Origin: +http://git.alpinelinux.org/cgit/aports/tree/main/lvm2/fix-stdio-usage.patch + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Dengke Du <dengke.du@windriver.com> + +--- + lib/log/log.c | 6 ++++++ + tools/lvmcmdline.c | 6 +++--- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/lib/log/log.c b/lib/log/log.c +index c933154..3581084 100644 +--- a/lib/log/log.c ++++ b/lib/log/log.c +@@ -161,6 +161,7 @@ static void _check_and_replace_standard_log_streams(FILE *old_stream, FILE *new_ + * Close and reopen standard stream on file descriptor fd. + */ + int reopen_standard_stream(FILE **stream, const char *mode) ++#ifdef __GLIBC__ + { + int fd, fd_copy, new_fd; + const char *name; +@@ -207,6 +208,11 @@ int reopen_standard_stream(FILE **stream, const char *mode) + *stream = new_stream; + return 1; + } ++#else ++{ ++ return (freopen(NULL, mode, *stream) != NULL); ++} ++#endif + + void init_log_fn(lvm2_log_fn_t log_fn) + { +diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c +index 9a4deb7..f1f18e6 100644 +--- a/tools/lvmcmdline.c ++++ b/tools/lvmcmdline.c +@@ -1818,7 +1818,7 @@ static int _check_standard_fds(void) + int err = is_valid_fd(STDERR_FILENO); + + if (!is_valid_fd(STDIN_FILENO) && +- !(stdin = fopen(_PATH_DEVNULL, "r"))) { ++ !freopen(_PATH_DEVNULL, "r", stdin)) { + if (err) + perror("stdin stream open"); + else +@@ -1828,7 +1828,7 @@ static int _check_standard_fds(void) + } + + if (!is_valid_fd(STDOUT_FILENO) && +- !(stdout = fopen(_PATH_DEVNULL, "w"))) { ++ !freopen(_PATH_DEVNULL, "w", stdout)) { + if (err) + perror("stdout stream open"); + /* else no stdout */ +@@ -1836,7 +1836,7 @@ static int _check_standard_fds(void) + } + + if (!is_valid_fd(STDERR_FILENO) && +- !(stderr = fopen(_PATH_DEVNULL, "w"))) { ++ !freopen(_PATH_DEVNULL, "w", stderr)) { + printf("stderr stream open: %s\n", + strerror(errno)); + return 0; +-- +2.12.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch new file mode 100644 index 000000000..95dcede33 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch @@ -0,0 +1,30 @@ +From 3ae9c0b607ec33fb07f32a41e9d28cc9068dd39a Mon Sep 17 00:00:00 2001 +From: Dengke Du <dengke.du@windriver.com> +Date: Tue, 25 Oct 2016 11:52:44 +0000 +Subject: [PATCH] Guard use of mallinfo() with __GLIBC__ + +This API is glibc-only + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Dengke Du <dengke.du@windriver.com> + +--- + lib/mm/memlock.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c +index da90144..f34f890 100644 +--- a/lib/mm/memlock.c ++++ b/lib/mm/memlock.c +@@ -150,7 +150,7 @@ static void _touch_memory(void *mem, size_t size) + + static void _allocate_memory(void) + { +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + void *stack_mem; + struct rlimit limit; + int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks; +-- +2.12.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch new file mode 100644 index 000000000..9ab1c06d2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch @@ -0,0 +1,30 @@ +From b1ad91a059d99afd1ce25823b7c0a8d3ac63d2fd Mon Sep 17 00:00:00 2001 +From: Dengke Du <dengke.du@windriver.com> +Date: Tue, 25 Oct 2016 11:55:49 +0000 +Subject: [PATCH 3/4] include fcntl.h for O_* defines and fcntl() signature + +On glibc _somehow_ this header gets pulled in indirectly + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Dengke Du <dengke.du@windriver.com> +--- +Upstream-Status: Pending +--- + libdaemon/server/daemon-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c +index 6af6de9..a9590e7 100644 +--- a/libdaemon/server/daemon-server.c ++++ b/libdaemon/server/daemon-server.c +@@ -18,6 +18,7 @@ + #include "daemon-server.h" + #include "daemon-log.h" + ++#include <fcntl.h> + #include <dlfcn.h> + #include <errno.h> + #include <pthread.h> +-- +2.9.3 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch new file mode 100644 index 000000000..aaeaa725d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch @@ -0,0 +1,38 @@ +From 0012ea63f6070a5d41fa380970f9c30b953237d2 Mon Sep 17 00:00:00 2001 +From: Dengke Du <dengke.du@windriver.com> +Date: Tue, 25 Oct 2016 11:59:40 +0000 +Subject: [PATCH 4/4] tweak MODPROBE_CMD for cross compile + +Lvm uses variable MODPROBE_CMD at runtime, so build time detection of modprobe +is incorrect. +------ +|lvm lvcreate --thinpool wrl/pool00 --size 5556m --config devices +{ preferred_names=["^/dev/mapper/", "^/dev/md/", "^/dev/sd"] +filter=["r|/loop1$|","r|/loop2$|","r|/loop3$|","r|/loop4$|","r|/loop5$|","r|/loop6$|","r|/loop7$|"] } +|tmp/sysroots/x86_64-linux/usr/bin/modprobe: execvp failed: No such file or directory +|tmp/sysroots/x86_64-linux/usr/bin/modprobe failed: 2 +------ + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +Signed-off-by: Dengke Du <dengke.du@windriver.com> +--- + configure.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.in b/configure.in +index cc77aab..a3579f2 100644 +--- a/configure.in ++++ b/configure.in +@@ -1853,7 +1853,6 @@ if test "$UDEV_SYNC" = yes; then + fi + + ################################################################################ +-AC_PATH_TOOL(MODPROBE_CMD, modprobe) + + if test -n "$MODPROBE_CMD"; then + AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.]) +-- +2.9.3 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch new file mode 100644 index 000000000..15aa9f500 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch @@ -0,0 +1,58 @@ +From d8bb25e34d6533ba78eaae697771ee499a66706f Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Wed, 2 Aug 2017 03:41:37 -0400 +Subject: [PATCH] do not build manual + +On some host (ubuntu 1404), build manual failed. +... +./tools/man-generator --primary lvscan lvscan.8_des +Failed to stat description file lvscan.8_des. +... + +Do not build man to workaround the issue. + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile.in | 4 ++-- + configure.in | 1 - + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 31d428d..24f89a2 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -18,7 +18,7 @@ top_builddir = @top_builddir@ + abs_top_builddir = @abs_top_builddir@ + abs_top_srcdir = @abs_top_srcdir@ + +-SUBDIRS = conf daemons include lib libdaemon libdm man scripts tools ++SUBDIRS = conf daemons include lib libdaemon libdm scripts tools + + ifeq ("@UDEV_RULES@", "yes") + SUBDIRS += udev +@@ -69,7 +69,7 @@ liblvm.device-mapper: include.device-mapper + daemons.device-mapper: libdm.device-mapper + tools.device-mapper: libdm.device-mapper + scripts.device-mapper: include.device-mapper +-device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper ++device-mapper: tools.device-mapper daemons.device-mapper + + ifeq ("@INTL@", "yes") + lib.pofile: include.pofile +diff --git a/configure.in b/configure.in +index 1dc8819..108ace4 100644 +--- a/configure.in ++++ b/configure.in +@@ -2213,7 +2213,6 @@ libdm/Makefile + libdm/libdevmapper.pc + liblvm/Makefile + liblvm/liblvm2app.pc +-man/Makefile + po/Makefile + python/Makefile + python/setup.py +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch new file mode 100644 index 000000000..0e68d62fc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch @@ -0,0 +1,32 @@ +From 24a2c47fd01dde1710f1fa66f5c30ce7010c5956 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 21 Sep 2017 15:28:10 +0800 +Subject: [PATCH] start lvm2-monitor.service after tmp.mount + +The lvm2-monitor.service reqires the existence of locking_dir +("/tmp/lock/lvm"), and unit tmp.mount is to mount /tmp. +So start lvm2-monitor.service after tmp.mount + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + scripts/lvm2_monitoring_systemd_red_hat.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/lvm2_monitoring_systemd_red_hat.service.in b/scripts/lvm2_monitoring_systemd_red_hat.service.in +index 22238b7..93b2bee 100644 +--- a/scripts/lvm2_monitoring_systemd_red_hat.service.in ++++ b/scripts/lvm2_monitoring_systemd_red_hat.service.in +@@ -2,7 +2,7 @@ + Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling + Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8) + Requires=dm-event.socket lvm2-lvmetad.socket +-After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service ++After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service tmp.mount + Before=local-fs-pre.target + DefaultDependencies=no + Conflicts=shutdown.target +-- +1.8.3.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf b/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf new file mode 100644 index 000000000..c2bb85d8b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf @@ -0,0 +1,326 @@ +# This is an example configuration file for the LVM2 system. +# It contains the default settings that would be used if there was no +# /etc/lvm/lvm.conf file. +# +# Refer to 'man lvm.conf' for further information including the file layout. +# +# To put this file in a different directory and override /etc/lvm set +# the environment variable LVM_SYSTEM_DIR before running the tools. + + +# This section allows you to configure which block devices should +# be used by the LVM system. +devices { + + # Where do you want your volume groups to appear ? + dir = "/dev" + + # An array of directories that contain the device nodes you wish + # to use with LVM2. + scan = [ "/dev" ] + + # A filter that tells LVM2 to only use a restricted set of devices. + # The filter consists of an array of regular expressions. These + # expressions can be delimited by a character of your choice, and + # prefixed with either an 'a' (for accept) or 'r' (for reject). + # The first expression found to match a device name determines if + # the device will be accepted or rejected (ignored). Devices that + # don't match any patterns are accepted. + + # Be careful if there there are symbolic links or multiple filesystem + # entries for the same device as each name is checked separately against + # the list of patterns. The effect is that if any name matches any 'a' + # pattern, the device is accepted; otherwise if any name matches any 'r' + # pattern it is rejected; otherwise it is accepted. + + # Don't have more than one filter line active at once: only one gets used. + + # Run vgscan after you change this parameter to ensure that + # the cache file gets regenerated (see below). + # If it doesn't do what you expect, check the output of 'vgscan -vvvv'. + + + # By default we accept every block device: + filter = [ "a/.*/" ] + + # Exclude the cdrom drive + # filter = [ "r|/dev/cdrom|" ] + + # When testing I like to work with just loopback devices: + # filter = [ "a/loop/", "r/.*/" ] + + # Or maybe all loops and ide drives except hdc: + # filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ] + + # Use anchors if you want to be really specific + # filter = [ "a|^/dev/hda8$|", "r/.*/" ] + + # The results of the filtering are cached on disk to avoid + # rescanning dud devices (which can take a very long time). By + # default this cache file is hidden in the /etc/lvm directory. + # It is safe to delete this file: the tools regenerate it. + cache = "/etc/lvm/.cache" + + # You can turn off writing this cache file by setting this to 0. + write_cache_state = 1 + + # Advanced settings. + + # List of pairs of additional acceptable block device types found + # in /proc/devices with maximum (non-zero) number of partitions. + # types = [ "fd", 16 ] + + # If sysfs is mounted (2.6 kernels) restrict device scanning to + # the block devices it believes are valid. + # 1 enables; 0 disables. + sysfs_scan = 1 + + # By default, LVM2 will ignore devices used as components of + # software RAID (md) devices by looking for md superblocks. + # 1 enables; 0 disables. + md_component_detection = 1 +} + +# This section that allows you to configure the nature of the +# information that LVM2 reports. +log { + + # Controls the messages sent to stdout or stderr. + # There are three levels of verbosity, 3 being the most verbose. + verbose = 0 + + # Should we send log messages through syslog? + # 1 is yes; 0 is no. + syslog = 1 + + # Should we log error and debug messages to a file? + # By default there is no log file. + #file = "/var/log/lvm2.log" + + # Should we overwrite the log file each time the program is run? + # By default we append. + overwrite = 0 + + # What level of log messages should we send to the log file and/or syslog? + # There are 6 syslog-like log levels currently in use - 2 to 7 inclusive. + # 7 is the most verbose (LOG_DEBUG). + level = 0 + + # Format of output messages + # Whether or not (1 or 0) to indent messages according to their severity + indent = 1 + + # Whether or not (1 or 0) to display the command name on each line output + command_names = 0 + + # A prefix to use before the message text (but after the command name, + # if selected). Default is two spaces, so you can see/grep the severity + # of each message. + prefix = " " + + # To make the messages look similar to the original LVM tools use: + # indent = 0 + # command_names = 1 + # prefix = " -- " + + # Set this if you want log messages during activation. + # Don't use this in low memory situations (can deadlock). + # activation = 0 +} + +# Configuration of metadata backups and archiving. In LVM2 when we +# talk about a 'backup' we mean making a copy of the metadata for the +# *current* system. The 'archive' contains old metadata configurations. +# Backups are stored in a human readeable text format. +backup { + + # Should we maintain a backup of the current metadata configuration ? + # Use 1 for Yes; 0 for No. + # Think very hard before turning this off! + backup = 1 + + # Where shall we keep it ? + # Remember to back up this directory regularly! + backup_dir = "/etc/lvm/backup" + + # Should we maintain an archive of old metadata configurations. + # Use 1 for Yes; 0 for No. + # On by default. Think very hard before turning this off. + archive = 1 + + # Where should archived files go ? + # Remember to back up this directory regularly! + archive_dir = "/etc/lvm/archive" + + # What is the minimum number of archive files you wish to keep ? + retain_min = 10 + + # What is the minimum time you wish to keep an archive file for ? + retain_days = 30 +} + +# Settings for the running LVM2 in shell (readline) mode. +shell { + + # Number of lines of history to store in ~/.lvm_history + history_size = 100 +} + + +# Miscellaneous global LVM2 settings +global { + + # The file creation mask for any files and directories created. + # Interpreted as octal if the first digit is zero. + umask = 077 + + # Allow other users to read the files + #umask = 022 + + # Enabling test mode means that no changes to the on disk metadata + # will be made. Equivalent to having the -t option on every + # command. Defaults to off. + test = 0 + + # Whether or not to communicate with the kernel device-mapper. + # Set to 0 if you want to use the tools to manipulate LVM metadata + # without activating any logical volumes. + # If the device-mapper kernel driver is not present in your kernel + # setting this to 0 should suppress the error messages. + activation = 1 + + # If we can't communicate with device-mapper, should we try running + # the LVM1 tools? + # This option only applies to 2.4 kernels and is provided to help you + # switch between device-mapper kernels and LVM1 kernels. + # The LVM1 tools need to be installed with .lvm1 suffices + # e.g. vgscan.lvm1 and they will stop working after you start using + # the new lvm2 on-disk metadata format. + # The default value is set when the tools are built. + # fallback_to_lvm1 = 0 + + # The default metadata format that commands should use - "lvm1" or "lvm2". + # The command line override is -M1 or -M2. + # Defaults to "lvm1" if compiled in, else "lvm2". + # format = "lvm1" + + # Location of proc filesystem + proc = "/proc" + + # Type of locking to use. Defaults to file-based locking (1). + # Turn locking off by setting to 0 (dangerous: risks metadata corruption + # if LVM2 commands get run concurrently). + locking_type = 1 + + # Local non-LV directory that holds file-based locks while commands are + # in progress. A directory like /tmp that may get wiped on reboot is OK. + locking_dir = "/tmp/lock/lvm" + + # Other entries can go here to allow you to load shared libraries + # e.g. if support for LVM1 metadata was compiled as a shared library use + # format_libraries = "liblvm2format1.so" + # Full pathnames can be given. + + # Search this directory first for shared libraries. + # library_dir = "/lib" +} + +activation { + # Device used in place of missing stripes if activating incomplete volume. + # For now, you need to set this up yourself first (e.g. with 'dmsetup') + # For example, you could make it return I/O errors using the 'error' + # target or make it return zeros. + missing_stripe_filler = "/dev/ioerror" + + # Size (in KB) of each copy operation when mirroring + mirror_region_size = 512 + + # How much stack (in KB) to reserve for use while devices suspended + reserved_stack = 256 + + # How much memory (in KB) to reserve for use while devices suspended + reserved_memory = 8192 + + # Nice value used while devices suspended + process_priority = -18 + + # If volume_list is defined, each LV is only activated if there is a + # match against the list. + # "vgname" and "vgname/lvname" are matched exactly. + # "@tag" matches any tag set in the LV or VG. + # "@*" matches if any tag defined on the host is also set in the LV or VG + # + # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] +} + + +#################### +# Advanced section # +#################### + +# Metadata settings +# +# metadata { + # Default number of copies of metadata to hold on each PV. 0, 1 or 2. + # You might want to override it from the command line with 0 + # when running pvcreate on new PVs which are to be added to large VGs. + + # pvmetadatacopies = 1 + + # Approximate default size of on-disk metadata areas in sectors. + # You should increase this if you have large volume groups or + # you want to retain a large on-disk history of your metadata changes. + + # pvmetadatasize = 255 + + # List of directories holding live copies of text format metadata. + # These directories must not be on logical volumes! + # It's possible to use LVM2 with a couple of directories here, + # preferably on different (non-LV) filesystems, and with no other + # on-disk metadata (pvmetadatacopies = 0). Or this can be in + # addition to on-disk metadata areas. + # The feature was originally added to simplify testing and is not + # supported under low memory situations - the machine could lock up. + # + # Never edit any files in these directories by hand unless you + # you are absolutely sure you know what you are doing! Use + # the supplied toolset to make changes (e.g. vgcfgrestore). + + # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ] +#} + +# Event daemon +# +dmeventd { + # mirror_library is the library used when monitoring a mirror device. + # + # "libdevmapper-event-lvm2mirror.so" attempts to recover from + # failures. It removes failed devices from a volume group and + # reconfigures a mirror as necessary. If no mirror library is + # provided, mirrors are not monitored through dmeventd. + + mirror_library = "@libdir@/device-mapper/libdevmapper-event-lvm2mirror.so" + + # snapshot_library is the library used when monitoring a snapshot device. + # + # "libdevmapper-event-lvm2snapshot.so" monitors the filling of + # snapshots and emits a warning through syslog when the use of + # the snapshot exceeds 80%. The warning is repeated when 85%, 90% and + # 95% of the snapshot is filled. + + snapshot_library = "@libdir@/device-mapper/libdevmapper-event-lvm2snapshot.so" + + # thin_library is the library used when monitoring a thin device. + # + # "libdevmapper-event-lvm2thin.so" monitors the filling of + # pool and emits a warning through syslog when the use of + # the pool exceeds 80%. The warning is repeated when 85%, 90% and + # 95% of the pool is filled. + + thin_library = "@libdir@/device-mapper/libdevmapper-event-lvm2thin.so" + + # Full path of the dmeventd binary. + # + # executable = "@DMEVENTD_PATH@" +} + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.171.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.171.bb new file mode 100644 index 000000000..b6ae90240 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.171.bb @@ -0,0 +1,16 @@ +require lvm2.inc + +SRC_URI[md5sum] = "153b7bb643eb26073274968e9026fa8f" +SRC_URI[sha256sum] = "b815a711a2fabaa5c3dc1a4a284df0268bf0f325f0fc0f5c9530c9bbb54b9964" + +DEPENDS += "autoconf-archive-native" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install() { + oe_runmake 'DESTDIR=${D}' -C libdm install +} + +RRECOMMENDS_${PN}_append_class-target = " lvm2-udevrules" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc new file mode 100644 index 000000000..289e07d8d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc @@ -0,0 +1,60 @@ +HOMEPAGE = "https://www.sourceware.org/lvm2/" +SECTION = "utils" +DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux." +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \ + file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24" + +DEPENDS += "util-linux" + +SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \ + file://lvm.conf \ + file://0001-implement-libc-specific-reopen_stream.patch \ + file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \ + file://0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch \ + file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \ + file://0001-Avoid-bashisms-in-init-scripts.patch \ + file://0005-do-not-build-manual.patch \ + file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \ + " +S = "${WORKDIR}/LVM2.${PV}" + +inherit autotools-brokensep pkgconfig systemd license + +LVM2_PACKAGECONFIG = "dmeventd lvmetad" +LVM2_PACKAGECONFIG_append_class-target = " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ + ${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \ + udev \ +" + +# odirect is always enabled because there currently is a bug in +# lib/device/dev-io.c which prevents compiling without it. It is +# better to stick to configurations that were actually tested by +# upstream... +PACKAGECONFIG ??= "odirect ${LVM2_PACKAGECONFIG}" + +PACKAGECONFIG[dmeventd] = "--enable-dmeventd,--disable-dmeventd" +PACKAGECONFIG[lvmetad] = "--enable-lvmetad,--disable-lvmetad" +PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct" +PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" +PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools" +PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev" + +# Unset user/group to unbreak install. +EXTRA_OECONF = "--with-user= \ + --with-group= \ + --enable-realtime \ + --enable-applib \ + --enable-cmdlib \ + --enable-pkgconfig \ + --with-usrlibdir=${libdir} \ + --with-systemdsystemunitdir=${systemd_system_unitdir} \ + --disable-thin_check_needs_check \ + --with-thin-check=${sbindir}/thin_check \ + --with-thin-dump=${sbindir}/thin_dump \ + --with-thin-repair=${sbindir}/thin_repair \ + --with-thin-restore=${sbindir}/thin_restore \ +" + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch new file mode 100644 index 000000000..e85818dbd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch @@ -0,0 +1,36 @@ +From 0a8e466fcf99622896e070c5133165e4278e8cfb Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 25 May 2017 05:27:11 -0400 +Subject: [PATCH] explicitly do not install libdm + +Already have package libdevmapper which split from lvm2, +explicitly do not do the installation here. + +Upstream-Status: Inappropriate [meta-oe specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + libdm/Makefile.in | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/libdm/Makefile.in b/libdm/Makefile.in +index 3c9a4ce..45c91c6 100644 +--- a/libdm/Makefile.in ++++ b/libdm/Makefile.in +@@ -77,9 +77,11 @@ ifeq ("@PKGCONFIG@", "yes") + INSTALL_TYPE += install_pkgconfig + endif + +-install: $(INSTALL_TYPE) install_include ++install: ++ echo "Do not install device mappler in lvm2" + +-install_device-mapper: install ++install_device-mapper: ++ echo "Do not install device mappler in lvm2" + + install_include: $(srcdir)/libdevmapper.h + $(INSTALL_DATA) -D $< $(includedir)/$(<F) +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.171.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.171.bb new file mode 100644 index 000000000..84881e744 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.171.bb @@ -0,0 +1,54 @@ +require lvm2.inc + +SRC_URI[md5sum] = "153b7bb643eb26073274968e9026fa8f" +SRC_URI[sha256sum] = "b815a711a2fabaa5c3dc1a4a284df0268bf0f325f0fc0f5c9530c9bbb54b9964" + +SRC_URI += "file://0001-explicitly-do-not-install-libdm.patch" + +DEPENDS += "autoconf-archive-native" + +CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe" + +do_install_append() { + # Install machine specific configuration file + install -d ${D}${sysconfdir}/lvm + install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf + sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + oe_runmake 'DESTDIR=${D}' install install_systemd_units + sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service + else + oe_runmake 'DESTDIR=${D}' install install_initscripts + mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d + rm -rf ${D}${sysconfdir}/rc.d + fi +} + +PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'lvmetad', 'lvm2-lvmetad.socket lvm2-pvscan@.service', '', d)} \ + blk-availability.service" +SYSTEMD_AUTO_ENABLE = "disable" + +TARGET_CC_ARCH += "${LDFLAGS}" + +FILES_${PN} += "${libdir}/device-mapper/*.so" +FILES_${PN}-scripts = " \ + ${sbindir}/blkdeactivate \ + ${sbindir}/fsadm \ + ${sbindir}/lvmconf \ + ${sbindir}/lvmdump \ +" +# Specified explicitly for the udev rules, just in case that it does not get picked +# up automatically: +FILES_${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d" +RDEPENDS_${PN}_append_class-target = " libdevmapper" + +RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash" +RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})" + +CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf" + +BBCLASSEXTEND = "native nativesdk" |