added my Recipes
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
From ea66faf68c93735edb1f2691cd7364b8cab83fef Mon Sep 17 00:00:00 2001
|
||||
From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
|
||||
Date: Mon, 26 Nov 2018 14:53:09 +0800
|
||||
Subject: [PATCH 1/3] Avoid bashisms in init scripts
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
|
||||
|
||||
Rebase to 2.03.01
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
scripts/blk_availability_init_red_hat.in | 4 ++--
|
||||
scripts/cmirrord_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 ++--
|
||||
5 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/scripts/blk_availability_init_red_hat.in b/scripts/blk_availability_init_red_hat.in
|
||||
index 347c395..b2e9cf9 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-2017 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
@@ -51,6 +51,6 @@ case "$1" in
|
||||
status)
|
||||
;;
|
||||
*)
|
||||
- echo $"Usage: $0 {start|stop|status}"
|
||||
+ echo "Usage: $0 {start|stop|status}"
|
||||
;;
|
||||
esac
|
||||
diff --git a/scripts/cmirrord_init_red_hat.in b/scripts/cmirrord_init_red_hat.in
|
||||
index c82f8f5..a3a321d 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
|
||||
@@ -103,7 +103,7 @@ case "$1" in
|
||||
;;
|
||||
|
||||
*)
|
||||
- echo $"Usage: $0 {start|stop|restart|status}"
|
||||
+ echo "Usage: $0 {start|stop|restart|status}"
|
||||
;;
|
||||
esac
|
||||
|
||||
diff --git a/scripts/lvm2_lvmpolld_init_red_hat.in b/scripts/lvm2_lvmpolld_init_red_hat.in
|
||||
index 176ff5d..825f6ad 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.
|
||||
#
|
||||
@@ -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_monitoring_init_red_hat.in b/scripts/lvm2_monitoring_init_red_hat.in
|
||||
index 95e4125..dff89cd 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.
|
||||
#
|
||||
@@ -127,7 +127,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.7.4
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
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(-)
|
||||
|
||||
Index: LVM2.2.02.177/lib/log/log.c
|
||||
===================================================================
|
||||
--- LVM2.2.02.177.orig/lib/log/log.c
|
||||
+++ LVM2.2.02.177/lib/log/log.c
|
||||
@@ -161,6 +161,7 @@ static void _check_and_replace_standard_
|
||||
* 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
|
||||
*stream = new_stream;
|
||||
return 1;
|
||||
}
|
||||
+#else
|
||||
+{
|
||||
+ return (freopen(NULL, mode, *stream) != NULL);
|
||||
+}
|
||||
+#endif
|
||||
|
||||
void init_log_fn(lvm2_log_fn_t log_fn)
|
||||
{
|
||||
Index: LVM2.2.02.177/tools/lvmcmdline.c
|
||||
===================================================================
|
||||
--- LVM2.2.02.177.orig/tools/lvmcmdline.c
|
||||
+++ LVM2.2.02.177/tools/lvmcmdline.c
|
||||
@@ -3095,7 +3095,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
|
||||
@@ -3105,7 +3105,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 */
|
||||
@@ -3113,7 +3113,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;
|
||||
@@ -0,0 +1,27 @@
|
||||
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(-)
|
||||
|
||||
Index: LVM2.2.02.177/lib/mm/memlock.c
|
||||
===================================================================
|
||||
--- LVM2.2.02.177.orig/lib/mm/memlock.c
|
||||
+++ LVM2.2.02.177/lib/mm/memlock.c
|
||||
@@ -151,7 +151,7 @@ static void _touch_memory(void *mem, siz
|
||||
|
||||
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;
|
||||
@@ -0,0 +1,38 @@
|
||||
From 3bba45890985b877b823836e78a1c8ac3c878856 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Tue, 31 Jul 2018 15:04:29 +0800
|
||||
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>
|
||||
---
|
||||
configure.ac | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index e427708..aa374ea 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1791,8 +1791,6 @@ if test "$BUILD_DMFILEMAPD" = yes; then
|
||||
fi
|
||||
|
||||
################################################################################
|
||||
-AC_PATH_TOOL(MODPROBE_CMD, modprobe, [], [$PATH_SBIN])
|
||||
-
|
||||
if test -n "$MODPROBE_CMD"; then
|
||||
AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.])
|
||||
fi
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
From 103ac1c1200df8190372d973e004776cffe8e659 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Mon, 26 Nov 2018 14:59:55 +0800
|
||||
Subject: [PATCH 2/3] 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>
|
||||
|
||||
Update context for lvm2 2.03.02.
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
|
||||
Update context for lvm2 2.03.16.
|
||||
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
|
||||
---
|
||||
Makefile.in | 6 +++---
|
||||
configure.ac | 1 -
|
||||
2 files changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 3b7e0ec..37f14eb 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 = libdm conf daemons include lib libdaemon man scripts tools
|
||||
+SUBDIRS = libdm conf daemons include lib libdaemon scripts tools
|
||||
|
||||
ifeq ("@UDEV_RULES@", "yes")
|
||||
SUBDIRS += udev
|
||||
@@ -33,7 +33,7 @@ ifeq ($(MAKECMDGOALS),clean)
|
||||
endif
|
||||
# FIXME Should use intermediate Makefiles here!
|
||||
ifeq ($(MAKECMDGOALS),distclean)
|
||||
- SUBDIRS = conf include man test scripts \
|
||||
+ SUBDIRS = conf include test scripts \
|
||||
libdaemon lib tools daemons libdm \
|
||||
udev po
|
||||
tools.distclean: test.distclean
|
||||
@@ -59,7 +59,7 @@ unit-test run-unit-test: test
|
||||
|
||||
daemons.device-mapper: libdm.device-mapper
|
||||
tools.device-mapper: libdm.device-mapper
|
||||
-device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper
|
||||
+device-mapper: tools.device-mapper daemons.device-mapper
|
||||
device_mapper: device-mapper
|
||||
|
||||
ifeq ("@INTL@", "yes")
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 6def519..18a5c97 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2018,7 +2018,6 @@ libdaemon/server/Makefile
|
||||
libdm/Makefile
|
||||
libdm/dm-tools/Makefile
|
||||
libdm/libdevmapper.pc
|
||||
-man/Makefile
|
||||
po/Makefile
|
||||
scripts/lvm2-pvscan.service
|
||||
scripts/blkdeactivate.sh
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From e213ed33a28704f6f538df41a91b7ce95594a4f8 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Tue, 15 Oct 2019 18:12:54 +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]
|
||||
|
||||
Rebase to v2_03_05
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
|
||||
Rebase to v2_03_16
|
||||
Signed-off-by: Wang Mingyu <wangmy@fujitsu.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 c0c96e3..2a99a37 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
|
||||
-After=dm-event.socket dm-event.service
|
||||
+After=dm-event.socket dm-event.service tmp.mount
|
||||
Before=local-fs-pre.target shutdown.target
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
--
|
||||
2.25.1
|
||||
|
||||
326
meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf
Normal file
326
meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf
Normal file
@@ -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@"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
configure.ac: override CONFIGURE_LINE
|
||||
|
||||
For reproducible binaries, we need to report a constant CONFIGURE_LINE.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Joe Slater <joe.slater@windriver.com>
|
||||
|
||||
|
||||
--- git.orig/configure.ac
|
||||
+++ git/configure.ac
|
||||
@@ -15,7 +15,15 @@ AC_PREREQ(2.69)
|
||||
################################################################################
|
||||
dnl -- Process this file with autoconf to produce a configure script.
|
||||
AC_INIT
|
||||
-CONFIGURE_LINE="$0 $@"
|
||||
+
|
||||
+dnl per reproducible-builds.org check SOURCE_DATE_EPOCH
|
||||
+dnl
|
||||
+if test -z "${SOURCE_DATE_EPOCH+set}" ; then
|
||||
+ CONFIGURE_LINE="$0 $@"
|
||||
+else
|
||||
+ CONFIGURE_LINE="configure options are not available for reproducible builds"
|
||||
+fi
|
||||
+
|
||||
AC_CONFIG_SRCDIR([lib/device/dev-cache.h])
|
||||
AC_CONFIG_HEADERS([include/configure.h])
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# Break circular dependencies, only populate sysroot (header,
|
||||
# libraries) to other recipe for compiling, recipe lvm2
|
||||
# generates package libdevmapper
|
||||
require lvm2.inc
|
||||
|
||||
DEPENDS += "autoconf-archive-native"
|
||||
|
||||
TARGET_CC_ARCH += "${LDFLAGS}"
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' -C libdm install
|
||||
}
|
||||
|
||||
# Do not generate package libdevmapper
|
||||
PACKAGES = ""
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
63
meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
Normal file
63
meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
Normal file
@@ -0,0 +1,63 @@
|
||||
HOMEPAGE = "https://www.sourceware.org/lvm2/"
|
||||
SECTION = "utils"
|
||||
DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux."
|
||||
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
|
||||
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
|
||||
|
||||
DEPENDS += "libaio"
|
||||
|
||||
SRC_URI = "git://sourceware.org/git/lvm2.git;branch=main \
|
||||
file://lvm.conf \
|
||||
file://0001-implement-libc-specific-reopen_stream.patch \
|
||||
file://0002-Guard-use-of-mallinfo-with-__GLIBC__.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 \
|
||||
file://reproducible-build.patch \
|
||||
"
|
||||
|
||||
SRCREV = "6d1e894a867681af7a811ed63bc435f3aa55fec8"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\_\d+)+)"
|
||||
|
||||
inherit autotools-brokensep pkgconfig systemd
|
||||
|
||||
LVM2_PACKAGECONFIG = "dmeventd"
|
||||
LVM2_PACKAGECONFIG:append:class-target = " \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
|
||||
"
|
||||
|
||||
# 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[odirect] = "--enable-o_direct,--disable-o_direct"
|
||||
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
|
||||
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
|
||||
# NOTE: Add thin-provisioning-tools only if your distro policy allows GPL-3.0 license
|
||||
PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
|
||||
|
||||
# Unset user/group to unbreak install.
|
||||
EXTRA_OECONF = "--with-user= \
|
||||
--with-group= \
|
||||
--enable-realtime \
|
||||
--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 \
|
||||
"
|
||||
|
||||
# gold doesn't like multiple dm_bitset_parse_list definitions in libdm/.exported_symbols.DM_1_02_138 and libdm/.exported_symbols.DM_1_02_129
|
||||
# after it was uncommented in the later in 2.03.12 with https://github.com/lvmteam/lvm2/commit/60eb608d66c2056a78e81f27db3da14139d9faab
|
||||
LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd", '', d)}"
|
||||
@@ -0,0 +1,73 @@
|
||||
From ddf36613f3408ce42f15b03b4e9c6ad8478b97f8 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Tue, 2 Mar 2021 01:33:05 -0800
|
||||
Subject: [PATCH] fix command /bin/findmnt, /bin/lsblk, /bin/sort not found
|
||||
|
||||
In oe-core (util-linux and coreutils), the commands locates in
|
||||
${bindir} rather than /bin, add BINDIR to configure it
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
configure.ac | 3 +++
|
||||
scripts/blkdeactivate.sh.in | 7 ++++---
|
||||
2 files changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 4811d4a3d..137b31a82 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1611,6 +1611,8 @@ fi
|
||||
|
||||
SYSCONFDIR="$(eval echo $(eval echo $sysconfdir))"
|
||||
|
||||
+BINDIR="$(eval echo $(eval echo $bindir))"
|
||||
+
|
||||
SBINDIR="$(eval echo $(eval echo $sbindir))"
|
||||
LVM_PATH="$SBINDIR/lvm"
|
||||
AC_DEFINE_UNQUOTED(LVM_PATH, ["$LVM_PATH"], [Path to lvm binary.])
|
||||
@@ -1829,6 +1831,7 @@ AC_SUBST(SACKPT_CFLAGS)
|
||||
AC_SUBST(SACKPT_LIBS)
|
||||
AC_SUBST(SALCK_CFLAGS)
|
||||
AC_SUBST(SALCK_LIBS)
|
||||
+AC_SUBST(BINDIR)
|
||||
AC_SUBST(SBINDIR)
|
||||
AC_SUBST(SELINUX_LIBS)
|
||||
AC_SUBST(SELINUX_PC)
|
||||
diff --git a/scripts/blkdeactivate.sh.in b/scripts/blkdeactivate.sh.in
|
||||
index 7c517b87b..7ef1bb766 100644
|
||||
--- a/scripts/blkdeactivate.sh.in
|
||||
+++ b/scripts/blkdeactivate.sh.in
|
||||
@@ -42,13 +42,14 @@ VDO="/bin/vdo"
|
||||
|
||||
sbindir="@SBINDIR@"
|
||||
DMSETUP="$sbindir/dmsetup"
|
||||
+bindir="@BINDIR@"
|
||||
LVM="$sbindir/lvm"
|
||||
|
||||
if "$UMOUNT" --help | grep -- "--all-targets" >"$DEV_DIR/null"; then
|
||||
UMOUNT_OPTS="--all-targets "
|
||||
else
|
||||
UMOUNT_OPTS=""
|
||||
- FINDMNT="/bin/findmnt -r --noheadings -u -o TARGET"
|
||||
+ FINDMNT="$bindir/findmnt -r --noheadings -u -o TARGET"
|
||||
FINDMNT_READ="read -r mnt"
|
||||
fi
|
||||
DMSETUP_OPTS=""
|
||||
@@ -57,10 +58,10 @@ MDADM_OPTS=""
|
||||
MPATHD_OPTS=""
|
||||
VDO_OPTS=""
|
||||
|
||||
-LSBLK="/bin/lsblk -r --noheadings -o TYPE,KNAME,NAME,MOUNTPOINT"
|
||||
+LSBLK="$bindir/lsblk -r --noheadings -o TYPE,KNAME,NAME,MOUNTPOINT"
|
||||
LSBLK_VARS="local devtype local kname local name local mnt"
|
||||
LSBLK_READ="read -r devtype kname name mnt"
|
||||
-SORT_MNT="/bin/sort -r -u -k 4"
|
||||
+SORT_MNT="$bindir/sort -r -u -k 4"
|
||||
|
||||
# Do not show tool errors by default (only done/skipping summary
|
||||
# message provided by this script) and no verbose mode by default.
|
||||
--
|
||||
2.29.2
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
require lvm2.inc
|
||||
|
||||
SRC_URI += " \
|
||||
file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \
|
||||
"
|
||||
|
||||
DEPENDS += "autoconf-archive-native"
|
||||
|
||||
inherit multilib_script
|
||||
|
||||
MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf"
|
||||
|
||||
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
|
||||
# We don't want init scripts/systemd units for native SDK utilities
|
||||
if [ "${PN}" != "nativesdk-lvm2" ]; then
|
||||
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
|
||||
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)} \
|
||||
blk-availability.service"
|
||||
SYSTEMD_AUTO_ENABLE = "disable"
|
||||
|
||||
TARGET_CC_ARCH += "${LDFLAGS}"
|
||||
|
||||
EXTRA_OECONF:append:class-nativesdk = " --with-confdir=${sysconfdir}"
|
||||
|
||||
DEPENDS += "util-linux"
|
||||
LVM2_PACKAGECONFIG:append:class-target = " \
|
||||
udev \
|
||||
"
|
||||
PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,${PN}-udevrules"
|
||||
|
||||
PACKAGES =+ "libdevmapper"
|
||||
FILES:libdevmapper = " \
|
||||
${libdir}/libdevmapper.so.* \
|
||||
${sbindir}/dmsetup \
|
||||
${sbindir}/dmstats \
|
||||
"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${libdir}/device-mapper/*.so \
|
||||
${systemd_system_unitdir}/lvm2-pvscan@.service \
|
||||
"
|
||||
|
||||
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} = "bash"
|
||||
RDEPENDS:${PN}-udevrules = "libdevmapper"
|
||||
RDEPENDS:${PN}:append:class-target = " libdevmapper"
|
||||
RDEPENDS:${PN}:append:class-nativesdk = " libdevmapper"
|
||||
|
||||
RDEPENDS:${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
|
||||
bash \
|
||||
util-linux-lsblk \
|
||||
util-linux-findmnt \
|
||||
coreutils \
|
||||
"
|
||||
RRECOMMENDS:${PN}:class-target = "${PN}-scripts (= ${EXTENDPKGV})"
|
||||
|
||||
CONFFILES:${PN} += "${sysconfdir}/lvm/lvm.conf"
|
||||
|
||||
SYSROOT_PREPROCESS_FUNCS:append = " remove_libdevmapper_sysroot_preprocess"
|
||||
remove_libdevmapper_sysroot_preprocess() {
|
||||
rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \
|
||||
${SYSROOT_DESTDIR}${sbindir}/dmsetup \
|
||||
${SYSROOT_DESTDIR}${sbindir}/dmstats \
|
||||
${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \
|
||||
${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
Reference in New Issue
Block a user