On 04/24/2017 10:21 PM, Martin Jansa wrote:
I'm still seeing some issues with this applied:

ERROR: lvm2-2.02.166-r0 do_package: QA Issue: lvm2: Files/directories were 
installed but not shipped in any package:
   /usr/lib
Please set FILES such that these items are packaged. Alternatively if they are 
unneeded, avoid installing them or delete them within do_install.
ERROR: libdevmapper-2.02.166-r0 do_packagedata: The recipe libdevmapper is 
trying to install files into a shared area when those files already exist. 
Those files and their manifest location are:
   pkgdata/mach/runtime/libdevmapper
     (matched in manifest-mach-lvm2.packagedata)
   pkgdata/mach/runtime/libdevmapper-dev
     (matched in manifest-mach-lvm2.packagedata)
   pkgdata/mach/runtime/libdevmapper.packaged
     (matched in manifest-mach-lvm2.packagedata)
   pkgdata/mach/shlibs2/libdevmapper.list
     (matched in manifest-mach-lvm2.packagedata)
Please verify which recipe should provide the above files.
This was in incremental build, so the second issue might not be reproducible in 
clean build, but still something to confirm before merge to master.



Hi Martin,

I did see the second issue, and I can confirm it's related to incremental build. I think we can safely ignore this issue.

However, for the first issue, I haven't seen one. I tried to reproduce it today, but no luck.
Is there some way to reproduce it?

Best Regards,
Chen Qi

On Mon, Apr 24, 2017 at 10:06 AM, <qi.c...@windriver.com <mailto:qi.c...@windriver.com>> wrote:

    From: Chen Qi <qi.c...@windriver.com <mailto:qi.c...@windriver.com>>

    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.c...@windriver.com
    <mailto:qi.c...@windriver.com>>
    ---
     .../0001-Avoid-bashisms-in-init-scripts.patch      | 182 ++++++++++++
     ...001-implement-libc-specific-reopen_stream.patch | 79 +++++
     ...0002-Guard-use-of-mallinfo-with-__GLIBC__.patch | 30 ++
     ...cntl.h-for-O_-defines-and-fcntl-signature.patch | 30 ++
     ...0004-tweak-MODPROBE_CMD-for-cross-compile.patch | 38 +++
     meta-oe/recipes-support/lvm2/files/lvm.conf        | 326
    +++++++++++++++++++++
     .../recipes-support/lvm2/libdevmapper_2.02.166.bb
    <http://libdevmapper_2.02.166.bb>  |  31 ++
     meta-oe/recipes-support/lvm2/lvm2.inc              | 75 -----
     .../lvm2/0001-Avoid-bashisms-in-init-scripts.patch | 182 ------------
     ...001-implement-libc-specific-reopen_stream.patch | 79 -----
     ...0002-Guard-use-of-mallinfo-with-__GLIBC__.patch | 30 --
     ...cntl.h-for-O_-defines-and-fcntl-signature.patch | 30 --
     ...0004-tweak-MODPROBE_CMD-for-cross-compile.patch | 38 ---
     meta-oe/recipes-support/lvm2/lvm2/lvm.conf         | 326
    ---------------------
     meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb
    <http://lvm2_2.02.166.bb>      |  73 +++++
     15 files changed, 789 insertions(+), 760 deletions(-)
     create mode 100644
    meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
     create mode 100644
    
meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch
     create mode 100644
    
meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
     create mode 100644
    
meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
     create mode 100644
    
meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
     create mode 100644 meta-oe/recipes-support/lvm2/files/lvm.conf
     create mode 100644
    meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb
    <http://libdevmapper_2.02.166.bb>
     delete mode 100644
    meta-oe/recipes-support/lvm2/lvm2/0001-Avoid-bashisms-in-init-scripts.patch
     delete mode 100644
    
meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-reopen_stream.patch
     delete mode 100644
    
meta-oe/recipes-support/lvm2/lvm2/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
     delete mode 100644
    
meta-oe/recipes-support/lvm2/lvm2/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
     delete mode 100644
    
meta-oe/recipes-support/lvm2/lvm2/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
     delete mode 100644 meta-oe/recipes-support/lvm2/lvm2/lvm.conf

    diff --git
    
a/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
    
b/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
    new file mode 100644
    index 0000000..e86ab25
    --- /dev/null
    +++
    
b/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 <p...@axis.com <mailto:p...@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.kjellerst...@axis.com
    <mailto:peter.kjellerst...@axis.com>>
    +---
    + scripts/blk_availability_init_red_hat.in
    <http://blk_availability_init_red_hat.in>     | 4 ++--
    + scripts/clvmd_init_red_hat.in <http://clvmd_init_red_hat.in>  |
    6 +++---
    + scripts/cmirrord_init_red_hat.in
    <http://cmirrord_init_red_hat.in>     | 4 ++--
    + scripts/lvm2_cluster_activation_red_hat.sh.in
    <http://lvm2_cluster_activation_red_hat.sh.in> | 4 ++--
    + scripts/lvm2_lvmetad_init_red_hat.in
    <http://lvm2_lvmetad_init_red_hat.in>         | 4 ++--
    + scripts/lvm2_lvmpolld_init_red_hat.in
    <http://lvm2_lvmpolld_init_red_hat.in>        | 4 ++--
    + scripts/lvm2_monitoring_init_red_hat.in
    <http://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
    <http://blk_availability_init_red_hat.in>
    b/scripts/blk_availability_init_red_hat.in
    <http://blk_availability_init_red_hat.in>
    +index a84ffe7..6b855b7 100644
    +--- a/scripts/blk_availability_init_red_hat.in
    <http://blk_availability_init_red_hat.in>
    ++++ b/scripts/blk_availability_init_red_hat.in
    <http://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
    <http://clvmd_init_red_hat.in> b/scripts/clvmd_init_red_hat.in
    <http://clvmd_init_red_hat.in>
    +index d7f3392..abc8011 100644
    +--- a/scripts/clvmd_init_red_hat.in <http://clvmd_init_red_hat.in>
    ++++ b/scripts/clvmd_init_red_hat.in <http://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
    <http://cmirrord_init_red_hat.in>
    b/scripts/cmirrord_init_red_hat.in <http://cmirrord_init_red_hat.in>
    +index d4b7e37..d442cbc 100755
    +--- a/scripts/cmirrord_init_red_hat.in
    <http://cmirrord_init_red_hat.in>
    ++++ b/scripts/cmirrord_init_red_hat.in
    <http://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
    <http://lvm2_cluster_activation_red_hat.sh.in>
    b/scripts/lvm2_cluster_activation_red_hat.sh.in
    <http://lvm2_cluster_activation_red_hat.sh.in>
    +index abea026..d8cba2e 100644
    +--- a/scripts/lvm2_cluster_activation_red_hat.sh.in
    <http://lvm2_cluster_activation_red_hat.sh.in>
    ++++ b/scripts/lvm2_cluster_activation_red_hat.sh.in
    <http://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
    <http://lvm2_lvmetad_init_red_hat.in>
    b/scripts/lvm2_lvmetad_init_red_hat.in
    <http://lvm2_lvmetad_init_red_hat.in>
    +index b2f5d50..96269a9 100644
    +--- a/scripts/lvm2_lvmetad_init_red_hat.in
    <http://lvm2_lvmetad_init_red_hat.in>
    ++++ b/scripts/lvm2_lvmetad_init_red_hat.in
    <http://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
    <http://lvm2_lvmpolld_init_red_hat.in>
    b/scripts/lvm2_lvmpolld_init_red_hat.in
    <http://lvm2_lvmpolld_init_red_hat.in>
    +index c521955..cdbaece 100644
    +--- a/scripts/lvm2_lvmpolld_init_red_hat.in
    <http://lvm2_lvmpolld_init_red_hat.in>
    ++++ b/scripts/lvm2_lvmpolld_init_red_hat.in
    <http://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
    <http://lvm2_monitoring_init_red_hat.in>
    b/scripts/lvm2_monitoring_init_red_hat.in
    <http://lvm2_monitoring_init_red_hat.in>
    +index de7ff0d..9ff6bb7 100644
    +--- a/scripts/lvm2_monitoring_init_red_hat.in
    <http://lvm2_monitoring_init_red_hat.in>
    ++++ b/scripts/lvm2_monitoring_init_red_hat.in
    <http://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-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch
    
b/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch
    new file mode 100644
    index 0000000..5d72402
    --- /dev/null
    +++
    
b/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...@windriver.com
    <mailto:dengke...@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
    
<http://git.alpinelinux.org/cgit/aports/tree/main/lvm2/fix-stdio-usage.patch>
    +
    +Signed-off-by: Khem Raj <raj.k...@gmail.com
    <mailto:raj.k...@gmail.com>>
    +Signed-off-by: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
    
b/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
    new file mode 100644
    index 0000000..95dcede
    --- /dev/null
    +++
    
b/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...@windriver.com
    <mailto:dengke...@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.k...@gmail.com
    <mailto:raj.k...@gmail.com>>
    +Signed-off-by: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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-oe/recipes-support/lvm2/files/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
    new file mode 100644
    index 0000000..9ab1c06
    --- /dev/null
    +++
    
b/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...@windriver.com
    <mailto:dengke...@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.k...@gmail.com
    <mailto:raj.k...@gmail.com>>
    +Signed-off-by: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
    
b/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
    new file mode 100644
    index 0000000..aaeaa72
    --- /dev/null
    +++
    
b/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...@windriver.com
    <mailto:dengke...@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....@windriver.com
    <mailto:hongxu....@windriver.com>>
    +Signed-off-by: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@windriver.com>>
    +---
    + configure.in <http://configure.in> | 1 -
    + 1 file changed, 1 deletion(-)
    +
    +diff --git a/configure.in <http://configure.in> b/configure.in
    <http://configure.in>
    +index cc77aab..a3579f2 100644
    +--- a/configure.in <http://configure.in>
    ++++ b/configure.in <http://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-oe/recipes-support/lvm2/files/lvm.conf
    b/meta-oe/recipes-support/lvm2/files/lvm.conf
    new file mode 100644
    index 0000000..9e3b5fe
    --- /dev/null
    +++ b/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 = "/var/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-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb
    <http://libdevmapper_2.02.166.bb>
    b/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb
    <http://libdevmapper_2.02.166.bb>
    new file mode 100644
    index 0000000..462e8fb
    --- /dev/null
    +++ b/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb
    <http://libdevmapper_2.02.166.bb>
    @@ -0,0 +1,31 @@
    +require lvm2.inc
    +
    +SRC_URI[md5sum] = "c5a54ee0b86703daaad6e856439e115a"
    +SRC_URI[sha256sum] =
    "e120b066b85b224552efda40204488c5123de068725676fd6e5c8bc655051b94"
    +
    +DEPENDS += "autoconf-archive-native"
    +
    +PACKAGECONFIG = ""
    +
    +# Unset user/group to unbreak install.
    +EXTRA_OECONF = "--with-user= \
    +                --with-group= \
    +                --enable-pkgconfig \
    +                --with-usrlibdir=${libdir} \
    +"
    +
    +TARGET_CC_ARCH += "${LDFLAGS}"
    +
    +do_install_append() {
    +    # Remove things unrelated to libdevmapper
    +    rm -rf ${D}${sysconfdir}
    +    for i in `ls ${D}${sbindir}/*`; do
    +       if [ $i != ${D}${sbindir}/dmsetup ]; then
    +           rm $i
    +       fi
    +    done
    +    # Remove docs
    +    rm -rf ${D}${datadir}
    +}
    +
    +RRECOMMENDS_${PN} += "lvm2-udevrules"
    diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc
    b/meta-oe/recipes-support/lvm2/lvm2.inc
    index e295e20..cb5a9e0 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}"

     inherit autotools-brokensep pkgconfig systemd

    -LVM2_PACKAGECONFIG = "dmeventd lvmetad"
    -LVM2_PACKAGECONFIG_append_class-target = " \
    -    ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
    -    thin-provisioning-tools \
    -    udev \
    -"
    -
    -PACKAGECONFIG ??= "${LVM2_PACKAGECONFIG}"
    -
     # 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
    @@ -40,69 +31,3 @@ 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 \
    -"
    -
    -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 libdevmapper libdevmapper-dev"
    -
    -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:
    -RDEPENDS_${PN}_append_class-target = " libdevmapper"
    -FILES_libdevmapper = "${sbindir}/dmsetup
    ${libdir}/libdevmapper.so.* ${nonarch_base_libdir}/udev/rules.d"
    -FILES_libdevmapper-dev = " \
    -    ${libdir}/libdevmapper.so \
    -    ${libdir}/pkgconfig/devmapper.pc \
    -    ${includedir}/libdevmapper.h \
    -"
    -
    -RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash"
    -RDEPENDS_libdevmapper-dev = "libdevmapper (= ${EXTENDPKGV})"
    -RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
    -
    -CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
    diff --git
    
a/meta-oe/recipes-support/lvm2/lvm2/0001-Avoid-bashisms-in-init-scripts.patch
    
b/meta-oe/recipes-support/lvm2/lvm2/0001-Avoid-bashisms-in-init-scripts.patch
    deleted file mode 100644
    index e86ab25..0000000
    ---
    
a/meta-oe/recipes-support/lvm2/lvm2/0001-Avoid-bashisms-in-init-scripts.patch
    +++ /dev/null
    @@ -1,182 +0,0 @@
    -From 916ea0c70fd063ab7b81f16fd917a75dc02edf4f Mon Sep 17 00:00:00
    2001
    -From: Peter Kjellerstedt <p...@axis.com <mailto:p...@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.kjellerst...@axis.com
    <mailto:peter.kjellerst...@axis.com>>
    ----
    - scripts/blk_availability_init_red_hat.in
    <http://blk_availability_init_red_hat.in>     | 4 ++--
    - scripts/clvmd_init_red_hat.in <http://clvmd_init_red_hat.in>  |
    6 +++---
    - scripts/cmirrord_init_red_hat.in
    <http://cmirrord_init_red_hat.in>     | 4 ++--
    - scripts/lvm2_cluster_activation_red_hat.sh.in
    <http://lvm2_cluster_activation_red_hat.sh.in> | 4 ++--
    - scripts/lvm2_lvmetad_init_red_hat.in
    <http://lvm2_lvmetad_init_red_hat.in>         | 4 ++--
    - scripts/lvm2_lvmpolld_init_red_hat.in
    <http://lvm2_lvmpolld_init_red_hat.in>        | 4 ++--
    - scripts/lvm2_monitoring_init_red_hat.in
    <http://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
    <http://blk_availability_init_red_hat.in>
    b/scripts/blk_availability_init_red_hat.in
    <http://blk_availability_init_red_hat.in>
    -index a84ffe7..6b855b7 100644
    ---- a/scripts/blk_availability_init_red_hat.in
    <http://blk_availability_init_red_hat.in>
    -+++ b/scripts/blk_availability_init_red_hat.in
    <http://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
    <http://clvmd_init_red_hat.in> b/scripts/clvmd_init_red_hat.in
    <http://clvmd_init_red_hat.in>
    -index d7f3392..abc8011 100644
    ---- a/scripts/clvmd_init_red_hat.in <http://clvmd_init_red_hat.in>
    -+++ b/scripts/clvmd_init_red_hat.in <http://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
    <http://cmirrord_init_red_hat.in>
    b/scripts/cmirrord_init_red_hat.in <http://cmirrord_init_red_hat.in>
    -index d4b7e37..d442cbc 100755
    ---- a/scripts/cmirrord_init_red_hat.in
    <http://cmirrord_init_red_hat.in>
    -+++ b/scripts/cmirrord_init_red_hat.in
    <http://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
    <http://lvm2_cluster_activation_red_hat.sh.in>
    b/scripts/lvm2_cluster_activation_red_hat.sh.in
    <http://lvm2_cluster_activation_red_hat.sh.in>
    -index abea026..d8cba2e 100644
    ---- a/scripts/lvm2_cluster_activation_red_hat.sh.in
    <http://lvm2_cluster_activation_red_hat.sh.in>
    -+++ b/scripts/lvm2_cluster_activation_red_hat.sh.in
    <http://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
    <http://lvm2_lvmetad_init_red_hat.in>
    b/scripts/lvm2_lvmetad_init_red_hat.in
    <http://lvm2_lvmetad_init_red_hat.in>
    -index b2f5d50..96269a9 100644
    ---- a/scripts/lvm2_lvmetad_init_red_hat.in
    <http://lvm2_lvmetad_init_red_hat.in>
    -+++ b/scripts/lvm2_lvmetad_init_red_hat.in
    <http://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
    <http://lvm2_lvmpolld_init_red_hat.in>
    b/scripts/lvm2_lvmpolld_init_red_hat.in
    <http://lvm2_lvmpolld_init_red_hat.in>
    -index c521955..cdbaece 100644
    ---- a/scripts/lvm2_lvmpolld_init_red_hat.in
    <http://lvm2_lvmpolld_init_red_hat.in>
    -+++ b/scripts/lvm2_lvmpolld_init_red_hat.in
    <http://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
    <http://lvm2_monitoring_init_red_hat.in>
    b/scripts/lvm2_monitoring_init_red_hat.in
    <http://lvm2_monitoring_init_red_hat.in>
    -index de7ff0d..9ff6bb7 100644
    ---- a/scripts/lvm2_monitoring_init_red_hat.in
    <http://lvm2_monitoring_init_red_hat.in>
    -+++ b/scripts/lvm2_monitoring_init_red_hat.in
    <http://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-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-reopen_stream.patch
    
b/meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-reopen_stream.patch
    deleted file mode 100644
    index 5d72402..0000000
    ---
    
a/meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-reopen_stream.patch
    +++ /dev/null
    @@ -1,79 +0,0 @@
    -From e3103459416616d3b8508e7176e897b0ae6c90f2 Mon Sep 17 00:00:00
    2001
    -From: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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
    
<http://git.alpinelinux.org/cgit/aports/tree/main/lvm2/fix-stdio-usage.patch>
    -
    -Signed-off-by: Khem Raj <raj.k...@gmail.com
    <mailto:raj.k...@gmail.com>>
    -Signed-off-by: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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-oe/recipes-support/lvm2/lvm2/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
    
b/meta-oe/recipes-support/lvm2/lvm2/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
    deleted file mode 100644
    index 95dcede..0000000
    ---
    
a/meta-oe/recipes-support/lvm2/lvm2/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -From 3ae9c0b607ec33fb07f32a41e9d28cc9068dd39a Mon Sep 17 00:00:00
    2001
    -From: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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.k...@gmail.com
    <mailto:raj.k...@gmail.com>>
    -Signed-off-by: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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-oe/recipes-support/lvm2/lvm2/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
    
b/meta-oe/recipes-support/lvm2/lvm2/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
    deleted file mode 100644
    index 9ab1c06..0000000
    ---
    
a/meta-oe/recipes-support/lvm2/lvm2/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -From b1ad91a059d99afd1ce25823b7c0a8d3ac63d2fd Mon Sep 17 00:00:00
    2001
    -From: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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.k...@gmail.com
    <mailto:raj.k...@gmail.com>>
    -Signed-off-by: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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-oe/recipes-support/lvm2/lvm2/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
    
b/meta-oe/recipes-support/lvm2/lvm2/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
    deleted file mode 100644
    index aaeaa72..0000000
    ---
    
a/meta-oe/recipes-support/lvm2/lvm2/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -From 0012ea63f6070a5d41fa380970f9c30b953237d2 Mon Sep 17 00:00:00
    2001
    -From: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@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....@windriver.com
    <mailto:hongxu....@windriver.com>>
    -Signed-off-by: Dengke Du <dengke...@windriver.com
    <mailto:dengke...@windriver.com>>
    ----
    - configure.in <http://configure.in> | 1 -
    - 1 file changed, 1 deletion(-)
    -
    -diff --git a/configure.in <http://configure.in> b/configure.in
    <http://configure.in>
    -index cc77aab..a3579f2 100644
    ---- a/configure.in <http://configure.in>
    -+++ b/configure.in <http://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-oe/recipes-support/lvm2/lvm2/lvm.conf
    b/meta-oe/recipes-support/lvm2/lvm2/lvm.conf
    deleted file mode 100644
    index 9e3b5fe..0000000
    --- a/meta-oe/recipes-support/lvm2/lvm2/lvm.conf
    +++ /dev/null
    @@ -1,326 +0,0 @@
    -# 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 = "/var/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-oe/recipes-support/lvm2/lvm2_2.02.166.bb
    <http://lvm2_2.02.166.bb>
    b/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb
    <http://lvm2_2.02.166.bb>
    index c81faa7..7939f05 100644
    --- a/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb
    <http://lvm2_2.02.166.bb>
    +++ b/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb
    <http://lvm2_2.02.166.bb>
    @@ -5,4 +5,77 @@ SRC_URI[sha256sum] =
    "e120b066b85b224552efda40204488c5123de068725676fd6e5c8bc655

     DEPENDS += "autoconf-archive-native"

    +LVM2_PACKAGECONFIG = "dmeventd lvmetad"
    +LVM2_PACKAGECONFIG_append_class-target = " \
    +    ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
    +    thin-provisioning-tools \
    +    udev \
    +"
    +
    +PACKAGECONFIG ??= "${LVM2_PACKAGECONFIG}"
    +
    +# 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 \
    +"
    +
    +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
    +    # Remove things related to libdevmapper
    +    rm -f ${D}${sbindir}/dmsetup
    +    rm -f ${D}${libdir}/libdevmapper.so.*
    +    rm -f ${D}${libdir}/libdevmapper.so
    ${D}${libdir}/pkgconfig/devmapper.pc ${D}${includedir}/libdevmapper.h
    +}
    +
    +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"
    --
    2.1.0

    --
    _______________________________________________
    Openembedded-devel mailing list
    Openembedded-devel@lists.openembedded.org
    <mailto:Openembedded-devel@lists.openembedded.org>
    http://lists.openembedded.org/mailman/listinfo/openembedded-devel
    <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>



--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to