forked from brl/citadel
Add support for disk decryption to initramfs
This is now found in a separate package called systemd-extra-utils Some related recipes have been updated: * libblockdev 2.24 * cryptsetup 2.3.4 * lvm 2.03.06
This commit is contained in:
parent
4c3baa433b
commit
7bf4c57437
@ -8,6 +8,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
|
|||||||
BBMASK += "meta-intel/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend"
|
BBMASK += "meta-intel/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend"
|
||||||
LICENSE_PATH += "${LAYERDIR}/licenses"
|
LICENSE_PATH += "${LAYERDIR}/licenses"
|
||||||
|
|
||||||
|
# see https://patches.openembedded.org/patch/164502/
|
||||||
|
PREFERRED_RPROVIDER_libdevmapper = "lvm2"
|
||||||
|
|
||||||
BBFILE_COLLECTIONS += "citadel"
|
BBFILE_COLLECTIONS += "citadel"
|
||||||
BBFILE_PATTERN_citadel = "^${LAYERDIR}/"
|
BBFILE_PATTERN_citadel = "^${LAYERDIR}/"
|
||||||
BBFILE_PRIORITY_citadel = "5"
|
BBFILE_PRIORITY_citadel = "5"
|
||||||
|
@ -9,7 +9,7 @@ ALTERNATIVE_${PN}_remove = "resolv-conf"
|
|||||||
GROUPADD_PARAM_${PN} += "; -r kvm"
|
GROUPADD_PARAM_${PN} += "; -r kvm"
|
||||||
PACKAGECONFIG = "\
|
PACKAGECONFIG = "\
|
||||||
efi acl ldconfig pam usrmerge rfkill backlight binfmt hostnamed localed logind machined myhostname \
|
efi acl ldconfig pam usrmerge rfkill backlight binfmt hostnamed localed logind machined myhostname \
|
||||||
nss polkit randomseed seccomp timedated utmp timesyncd kmod sysusers gshadow \
|
nss polkit randomseed seccomp timedated utmp timesyncd kmod sysusers gshadow cryptsetup \
|
||||||
"
|
"
|
||||||
|
|
||||||
do_install_append() {
|
do_install_append() {
|
||||||
|
@ -17,6 +17,7 @@ PACKAGE_INSTALL = "\
|
|||||||
keymaps \
|
keymaps \
|
||||||
systemd \
|
systemd \
|
||||||
systemd-initramfs \
|
systemd-initramfs \
|
||||||
|
systemd-extra-utils \
|
||||||
linux-firmware-i915 \
|
linux-firmware-i915 \
|
||||||
kernel-module-arc4 \
|
kernel-module-arc4 \
|
||||||
kernel-module-ansi-cprng \
|
kernel-module-ansi-cprng \
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
|
|
||||||
DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
|
|
||||||
device-mapper mappings. These include plain dm-crypt volumes and \
|
|
||||||
LUKS volumes. The difference is that LUKS uses a metadata header \
|
|
||||||
and can hence offer more features than plain dm-crypt. On the other \
|
|
||||||
hand, the header is visible and vulnerable to damage."
|
|
||||||
HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup"
|
|
||||||
SECTION = "console"
|
|
||||||
LICENSE = "GPL-2.0-with-OpenSSL-exception"
|
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
|
|
||||||
|
|
||||||
DEPENDS = "util-linux libdevmapper popt libgcrypt json-c"
|
|
||||||
|
|
||||||
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v2.0/${BP}.tar.xz"
|
|
||||||
SRC_URI[md5sum] = "ed42b31f67d05b05e392d1943d467b8d"
|
|
||||||
SRC_URI[sha256sum] = "9d3a3c7033293e0c97f0ad0501fd5b4d4913ae497cbf70cca06633ccc54b5734"
|
|
||||||
|
|
||||||
inherit autotools gettext pkgconfig
|
|
||||||
|
|
||||||
# Use openssl because libgcrypt drops root privileges
|
|
||||||
# if libgcrypt is linked with libcap support
|
|
||||||
PACKAGECONFIG ??= "openssl"
|
|
||||||
PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
|
|
||||||
PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
|
|
||||||
|
|
||||||
RRECOMMENDS_${PN} = "kernel-module-aes-generic \
|
|
||||||
kernel-module-dm-crypt \
|
|
||||||
kernel-module-md5 \
|
|
||||||
kernel-module-cbc \
|
|
||||||
kernel-module-sha256-generic \
|
|
||||||
kernel-module-xts \
|
|
||||||
"
|
|
||||||
|
|
||||||
EXTRA_OECONF = "--enable-static"
|
|
||||||
|
|
||||||
FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
|
|
||||||
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
|
92
meta-citadel/recipes-support/cryptsetup/cryptsetup_2.3.4.bb
Normal file
92
meta-citadel/recipes-support/cryptsetup/cryptsetup_2.3.4.bb
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
|
||||||
|
DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
|
||||||
|
device-mapper mappings. These include plain dm-crypt volumes and \
|
||||||
|
LUKS volumes. The difference is that LUKS uses a metadata header \
|
||||||
|
and can hence offer more features than plain dm-crypt. On the other \
|
||||||
|
hand, the header is visible and vulnerable to damage."
|
||||||
|
HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup"
|
||||||
|
SECTION = "console"
|
||||||
|
LICENSE = "GPL-2.0-with-OpenSSL-exception"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
|
||||||
|
|
||||||
|
DEPENDS = " \
|
||||||
|
json-c \
|
||||||
|
libdevmapper \
|
||||||
|
popt \
|
||||||
|
util-linux \
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPENDS_${PN} = " \
|
||||||
|
libdevmapper \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
|
||||||
|
SRC_URI[md5sum] = "911272e73181fdc850bb4d25103a9f83"
|
||||||
|
SRC_URI[sha256sum] = "9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773"
|
||||||
|
|
||||||
|
inherit autotools gettext pkgconfig
|
||||||
|
|
||||||
|
# Use openssl because libgcrypt drops root privileges
|
||||||
|
# if libgcrypt is linked with libcap support
|
||||||
|
PACKAGECONFIG ??= " \
|
||||||
|
keyring \
|
||||||
|
cryptsetup \
|
||||||
|
veritysetup \
|
||||||
|
cryptsetup-reencrypt \
|
||||||
|
integritysetup \
|
||||||
|
${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
|
||||||
|
kernel_crypto \
|
||||||
|
internal-argon2 \
|
||||||
|
blkid \
|
||||||
|
luks-adjust-xts-keysize \
|
||||||
|
openssl \
|
||||||
|
"
|
||||||
|
PACKAGECONFIG_append_class-target = " \
|
||||||
|
udev \
|
||||||
|
"
|
||||||
|
|
||||||
|
PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring"
|
||||||
|
PACKAGECONFIG[fips] = "--enable-fips,--disable-fips"
|
||||||
|
PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality"
|
||||||
|
PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc"
|
||||||
|
PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup"
|
||||||
|
PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup"
|
||||||
|
PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt"
|
||||||
|
PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup"
|
||||||
|
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux"
|
||||||
|
PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,udev"
|
||||||
|
PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto"
|
||||||
|
# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't
|
||||||
|
# recognized.
|
||||||
|
PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2"
|
||||||
|
PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2"
|
||||||
|
PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2"
|
||||||
|
PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
|
||||||
|
PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random"
|
||||||
|
PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize"
|
||||||
|
PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
|
||||||
|
PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
|
||||||
|
PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss"
|
||||||
|
PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel"
|
||||||
|
PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle"
|
||||||
|
PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1"
|
||||||
|
|
||||||
|
RRECOMMENDS_${PN} = "kernel-module-aes-generic \
|
||||||
|
kernel-module-dm-crypt \
|
||||||
|
kernel-module-md5 \
|
||||||
|
kernel-module-cbc \
|
||||||
|
kernel-module-sha256-generic \
|
||||||
|
kernel-module-xts \
|
||||||
|
"
|
||||||
|
|
||||||
|
EXTRA_OECONF = "--enable-static"
|
||||||
|
# Building without largefile is not supported by upstream
|
||||||
|
EXTRA_OECONF += "--enable-largefile"
|
||||||
|
# Requires a static popt library
|
||||||
|
EXTRA_OECONF += "--disable-static-cryptsetup"
|
||||||
|
# There's no recipe for libargon2 yet
|
||||||
|
EXTRA_OECONF += "--disable-libargon2"
|
||||||
|
|
||||||
|
FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
|
||||||
|
|
||||||
|
BBCLASSEXTEND = "native nativesdk"
|
@ -1,2 +1,3 @@
|
|||||||
|
|
||||||
PACKAGECONFIG = "fs crypto parted mdraid"
|
PACKAGECONFIG = "fs crypto parted mdraid kmod"
|
||||||
|
DEPENDS += "systemd"
|
||||||
|
@ -8,20 +8,17 @@ SECTION = "devel/lib"
|
|||||||
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
|
||||||
|
|
||||||
inherit autotools python3native gobject-introspection
|
inherit autotools gobject-introspection
|
||||||
|
|
||||||
SRCREV = "cb308566c3c5222b8422f78997a1742713b265a9"
|
|
||||||
SRC_URI = " \
|
|
||||||
git://github.com/rhinstaller/libblockdev;branch=master \
|
|
||||||
"
|
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/storaged-project/libblockdev;branch=2.x-branch"
|
||||||
|
SRCREV = "f5a4ba8bb298f8cbc435707d0b19b4b2ff836a8e"
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
|
FILES_${PN} += "${libdir}/python2.7/dist-packages ${libdir}/python3.*/site-packages"
|
||||||
|
|
||||||
PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath nvdimm"
|
PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath nvdimm"
|
||||||
PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
|
PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
|
||||||
PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python2"
|
PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python"
|
||||||
PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
|
PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
|
||||||
PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
|
PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
|
||||||
PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
|
PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
|
@ -1,30 +0,0 @@
|
|||||||
From b1ad91a059d99afd1ce25823b7c0a8d3ac63d2fd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dengke Du <dengke.du@windriver.com>
|
|
||||||
Date: Tue, 25 Oct 2016 11:55:49 +0000
|
|
||||||
Subject: [PATCH 3/4] include fcntl.h for O_* defines and fcntl() signature
|
|
||||||
|
|
||||||
On glibc _somehow_ this header gets pulled in indirectly
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Signed-off-by: Dengke Du <dengke.du@windriver.com>
|
|
||||||
---
|
|
||||||
Upstream-Status: Pending
|
|
||||||
---
|
|
||||||
libdaemon/server/daemon-server.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c
|
|
||||||
index 6af6de9..a9590e7 100644
|
|
||||||
--- a/libdaemon/server/daemon-server.c
|
|
||||||
+++ b/libdaemon/server/daemon-server.c
|
|
||||||
@@ -18,6 +18,7 @@
|
|
||||||
#include "daemon-server.h"
|
|
||||||
#include "daemon-log.h"
|
|
||||||
|
|
||||||
+#include <fcntl.h>
|
|
||||||
#include <dlfcn.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <pthread.h>
|
|
||||||
--
|
|
||||||
2.9.3
|
|
||||||
|
|
@ -14,6 +14,11 @@ Do not build man to workaround the issue.
|
|||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
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>
|
||||||
---
|
---
|
||||||
Makefile.in | 6 +++---
|
Makefile.in | 6 +++---
|
||||||
configure.ac | 1 -
|
configure.ac | 1 -
|
||||||
@ -41,7 +46,7 @@ index 6a1a990..80cba91 100644
|
|||||||
libdaemon lib tools daemons libdm \
|
libdaemon lib tools daemons libdm \
|
||||||
udev po
|
udev po
|
||||||
tools.distclean: test.distclean
|
tools.distclean: test.distclean
|
||||||
@@ -59,7 +59,7 @@ libdm.device-mapper: include.device-mapper
|
@@ -65,7 +65,7 @@ libdm.device-mapper: include.device-mapper
|
||||||
daemons.device-mapper: libdm.device-mapper
|
daemons.device-mapper: libdm.device-mapper
|
||||||
tools.device-mapper: libdm.device-mapper
|
tools.device-mapper: libdm.device-mapper
|
||||||
scripts.device-mapper: include.device-mapper
|
scripts.device-mapper: include.device-mapper
|
||||||
@ -51,17 +56,17 @@ index 6a1a990..80cba91 100644
|
|||||||
ifeq ("@INTL@", "yes")
|
ifeq ("@INTL@", "yes")
|
||||||
lib.pofile: include.pofile
|
lib.pofile: include.pofile
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 9c45745..8fee4c4 100644
|
index 7fd0561..4154dc0 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -1806,7 +1806,6 @@ libdaemon/server/Makefile
|
@@ -1812,7 +1812,6 @@ libdaemon/server/Makefile
|
||||||
libdm/Makefile
|
libdm/Makefile
|
||||||
libdm/dm-tools/Makefile
|
libdm/dm-tools/Makefile
|
||||||
libdm/libdevmapper.pc
|
libdm/libdevmapper.pc
|
||||||
-man/Makefile
|
-man/Makefile
|
||||||
po/Makefile
|
po/Makefile
|
||||||
|
scripts/lvm2-pvscan.service
|
||||||
scripts/blkdeactivate.sh
|
scripts/blkdeactivate.sh
|
||||||
scripts/blk_availability_init_red_hat
|
|
||||||
--
|
--
|
||||||
2.7.4
|
2.7.4
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
From 24a2c47fd01dde1710f1fa66f5c30ce7010c5956 Mon Sep 17 00:00:00 2001
|
From e213ed33a28704f6f538df41a91b7ce95594a4f8 Mon Sep 17 00:00:00 2001
|
||||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
Date: Thu, 21 Sep 2017 15:28:10 +0800
|
Date: Tue, 15 Oct 2019 18:12:54 +0800
|
||||||
Subject: [PATCH] start lvm2-monitor.service after tmp.mount
|
Subject: [PATCH] start lvm2-monitor.service after tmp.mount
|
||||||
|
|
||||||
The lvm2-monitor.service reqires the existence of locking_dir
|
The lvm2-monitor.service reqires the existence of locking_dir
|
||||||
@ -9,24 +9,25 @@ So start lvm2-monitor.service after tmp.mount
|
|||||||
|
|
||||||
Upstream-Status: Inappropriate [oe specific]
|
Upstream-Status: Inappropriate [oe specific]
|
||||||
|
|
||||||
|
Rebase to v2_03_05
|
||||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
---
|
---
|
||||||
scripts/lvm2_monitoring_systemd_red_hat.service.in | 2 +-
|
scripts/lvm2_monitoring_systemd_red_hat.service.in | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
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
|
diff --git a/scripts/lvm2_monitoring_systemd_red_hat.service.in b/scripts/lvm2_monitoring_systemd_red_hat.service.in
|
||||||
index 22238b7..93b2bee 100644
|
index 4bf744a..46766cb 100644
|
||||||
--- a/scripts/lvm2_monitoring_systemd_red_hat.service.in
|
--- a/scripts/lvm2_monitoring_systemd_red_hat.service.in
|
||||||
+++ b/scripts/lvm2_monitoring_systemd_red_hat.service.in
|
+++ b/scripts/lvm2_monitoring_systemd_red_hat.service.in
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
|
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)
|
Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8)
|
||||||
Requires=dm-event.socket lvm2-lvmetad.socket
|
Requires=dm-event.socket
|
||||||
-After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service
|
-After=dm-event.socket dm-event.service lvm2-activation.service
|
||||||
+After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service tmp.mount
|
+After=dm-event.socket dm-event.service lvm2-activation.service tmp.mount
|
||||||
Before=local-fs-pre.target
|
Before=local-fs-pre.target shutdown.target
|
||||||
DefaultDependencies=no
|
DefaultDependencies=no
|
||||||
Conflicts=shutdown.target
|
Conflicts=shutdown.target
|
||||||
--
|
--
|
||||||
1.8.3.1
|
2.7.4
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ devices {
|
|||||||
cache = "/etc/lvm/.cache"
|
cache = "/etc/lvm/.cache"
|
||||||
|
|
||||||
# You can turn off writing this cache file by setting this to 0.
|
# You can turn off writing this cache file by setting this to 0.
|
||||||
write_cache_state = 0
|
write_cache_state = 1
|
||||||
|
|
||||||
# Advanced settings.
|
# Advanced settings.
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ backup {
|
|||||||
# Should we maintain a backup of the current metadata configuration ?
|
# Should we maintain a backup of the current metadata configuration ?
|
||||||
# Use 1 for Yes; 0 for No.
|
# Use 1 for Yes; 0 for No.
|
||||||
# Think very hard before turning this off!
|
# Think very hard before turning this off!
|
||||||
backup = 0
|
backup = 1
|
||||||
|
|
||||||
# Where shall we keep it ?
|
# Where shall we keep it ?
|
||||||
# Remember to back up this directory regularly!
|
# Remember to back up this directory regularly!
|
||||||
@ -146,7 +146,7 @@ backup {
|
|||||||
# Should we maintain an archive of old metadata configurations.
|
# Should we maintain an archive of old metadata configurations.
|
||||||
# Use 1 for Yes; 0 for No.
|
# Use 1 for Yes; 0 for No.
|
||||||
# On by default. Think very hard before turning this off.
|
# On by default. Think very hard before turning this off.
|
||||||
archive = 0
|
archive = 1
|
||||||
|
|
||||||
# Where should archived files go ?
|
# Where should archived files go ?
|
||||||
# Remember to back up this directory regularly!
|
# Remember to back up this directory regularly!
|
||||||
|
@ -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])
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
require lvm2.inc
|
|
||||||
|
|
||||||
SRCREV = "913c28917e62577a2ef67152b2e5159237503dda"
|
|
||||||
|
|
||||||
DEPENDS += "autoconf-archive-native"
|
|
||||||
|
|
||||||
TARGET_CC_ARCH += "${LDFLAGS}"
|
|
||||||
|
|
||||||
do_install() {
|
|
||||||
oe_runmake 'DESTDIR=${D}' -C libdm install
|
|
||||||
}
|
|
||||||
|
|
||||||
RRECOMMENDS_${PN}_append_class-target = " lvm2-udevrules"
|
|
||||||
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
|
17
meta-citadel/recipes-support/lvm2/libdevmapper_2.03.06.bb
Normal file
17
meta-citadel/recipes-support/lvm2/libdevmapper_2.03.06.bb
Normal file
@ -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"
|
@ -5,19 +5,20 @@ LICENSE = "GPLv2 & LGPLv2.1"
|
|||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
|
LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
|
||||||
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
|
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
|
||||||
|
|
||||||
DEPENDS += "util-linux libaio"
|
DEPENDS += "libaio"
|
||||||
|
|
||||||
SRC_URI = "git://github.com/lvmteam/lvm2.git;protocol=https;branch=master \
|
SRC_URI = "git://sourceware.org/git/lvm2.git \
|
||||||
file://lvm.conf \
|
file://lvm.conf \
|
||||||
file://0001-implement-libc-specific-reopen_stream.patch \
|
file://0001-implement-libc-specific-reopen_stream.patch \
|
||||||
file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \
|
file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \
|
||||||
file://0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch \
|
|
||||||
file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \
|
file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \
|
||||||
file://0001-Avoid-bashisms-in-init-scripts.patch \
|
file://0001-Avoid-bashisms-in-init-scripts.patch \
|
||||||
file://0005-do-not-build-manual.patch \
|
file://0005-do-not-build-manual.patch \
|
||||||
file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
|
file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
|
||||||
|
file://reproducible-build.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
SRCREV = "b9391b1b9f0b73303fa21f8f92574d17ce4c2b02"
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
inherit autotools-brokensep pkgconfig systemd license
|
inherit autotools-brokensep pkgconfig systemd license
|
||||||
@ -26,7 +27,6 @@ LVM2_PACKAGECONFIG = "dmeventd"
|
|||||||
LVM2_PACKAGECONFIG_append_class-target = " \
|
LVM2_PACKAGECONFIG_append_class-target = " \
|
||||||
${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
|
${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
|
||||||
${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \
|
${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \
|
||||||
udev \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
# odirect is always enabled because there currently is a bug in
|
# odirect is always enabled because there currently is a bug in
|
||||||
@ -40,7 +40,6 @@ PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
|
|||||||
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
|
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
|
||||||
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
|
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
|
||||||
PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
|
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.
|
# Unset user/group to unbreak install.
|
||||||
EXTRA_OECONF = "--with-user= \
|
EXTRA_OECONF = "--with-user= \
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
From 93c93e3b85492e58f9451841e6079d00c497efa4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||||
|
Date: Mon, 25 Feb 2019 13:29:12 +0800
|
||||||
|
Subject: [PATCH] "/dev/hdc: open failed: No medium found" will print out in
|
||||||
|
lvmdiskscan.
|
||||||
|
|
||||||
|
commit [57bb46c5e7f8] introduce this issue.
|
||||||
|
"/dev/hdc: open failed: No medium found" will be print out
|
||||||
|
after run lvmdiskscan. change dev_open_readonly()
|
||||||
|
to dev_open_readonly_quiet() in fuction _dev_get_size_dev().
|
||||||
|
|
||||||
|
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||||
|
---
|
||||||
|
lib/device/dev-io.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/lib/device/dev-io.c b/lib/device/dev-io.c
|
||||||
|
index dc95131..81a66b0 100644
|
||||||
|
--- a/lib/device/dev-io.c
|
||||||
|
+++ b/lib/device/dev-io.c
|
||||||
|
@@ -338,7 +338,7 @@ static int _dev_get_size_dev(struct device *dev, uint64_t *size)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fd <= 0) {
|
||||||
|
- if (!dev_open_readonly(dev))
|
||||||
|
+ if (!dev_open_readonly_quiet(dev))
|
||||||
|
return_0;
|
||||||
|
fd = dev_fd(dev);
|
||||||
|
do_close = 1;
|
||||||
|
--
|
||||||
|
1.9.1
|
||||||
|
|
@ -1,55 +0,0 @@
|
|||||||
From 3c16d9aaa46602e7594d717d86e7f02066d21134 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
|
||||||
Date: Mon, 26 Nov 2018 17:20:20 +0800
|
|
||||||
Subject: [PATCH] explicitly do not install libdm
|
|
||||||
|
|
||||||
Already have package libdevmapper which split from lvm2,
|
|
||||||
explicitly do not do the installation here.
|
|
||||||
|
|
||||||
Upstream-Status: Inappropriate [meta-oe specific]
|
|
||||||
|
|
||||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
|
||||||
---
|
|
||||||
libdm/Makefile.in | 6 ++++--
|
|
||||||
libdm/dm-tools/Makefile.in | 6 ++++--
|
|
||||||
2 files changed, 8 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libdm/Makefile.in b/libdm/Makefile.in
|
|
||||||
index 8c8334a..effcf25 100644
|
|
||||||
--- a/libdm/Makefile.in
|
|
||||||
+++ b/libdm/Makefile.in
|
|
||||||
@@ -81,9 +81,11 @@ ifeq ("@PKGCONFIG@", "yes")
|
|
||||||
INSTALL_TYPE += install_pkgconfig
|
|
||||||
endif
|
|
||||||
|
|
||||||
-install: $(INSTALL_TYPE) install_include
|
|
||||||
+install:
|
|
||||||
+ echo "Do not install device mapper in lvm2"
|
|
||||||
|
|
||||||
-install_device-mapper: install
|
|
||||||
+install_device-mapper:
|
|
||||||
+ echo "Do not install device mapper in lvm2"
|
|
||||||
|
|
||||||
install_include: $(srcdir)/libdevmapper.h
|
|
||||||
$(INSTALL_DATA) -D $< $(includedir)/$(<F)
|
|
||||||
diff --git a/libdm/dm-tools/Makefile.in b/libdm/dm-tools/Makefile.in
|
|
||||||
index 39d411d..4a0f61a 100644
|
|
||||||
--- a/libdm/dm-tools/Makefile.in
|
|
||||||
+++ b/libdm/dm-tools/Makefile.in
|
|
||||||
@@ -60,9 +60,11 @@ install_dmsetup_static: dmsetup.static
|
|
||||||
$(Q) $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)
|
|
||||||
$(Q) $(LN_S) -f $(<F) $(staticdir)/dmstats
|
|
||||||
|
|
||||||
-install_device-mapper: $(INSTALL_DMSETUP_TARGETS)
|
|
||||||
+install_device-mapper:
|
|
||||||
+ echo "Do not install device mapper in lvm2"
|
|
||||||
|
|
||||||
-install: install_device-mapper
|
|
||||||
+install:
|
|
||||||
+ echo "Do not install device mapper in lvm2"
|
|
||||||
|
|
||||||
# dmfilemapd support
|
|
||||||
ifeq ("@BUILD_DMFILEMAPD@", "yes")
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
@ -0,0 +1,73 @@
|
|||||||
|
From 27b56cb6b5dfc75ea8ddb395dc9ef41fb7a09c93 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
|
Date: Mon, 2 Sep 2019 23:04:50 -0400
|
||||||
|
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 d1431e2..54e5a7b 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -1495,6 +1495,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.])
|
||||||
|
@@ -1721,6 +1723,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 a4b8a8f..3db4226 100644
|
||||||
|
--- a/scripts/blkdeactivate.sh.in
|
||||||
|
+++ b/scripts/blkdeactivate.sh.in
|
||||||
|
@@ -41,13 +41,14 @@ UMOUNT="/bin/umount"
|
||||||
|
|
||||||
|
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=""
|
||||||
|
@@ -55,10 +56,10 @@ LVM_OPTS=""
|
||||||
|
MDADM_OPTS=""
|
||||||
|
MPATHD_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.8.1
|
||||||
|
|
@ -1,171 +0,0 @@
|
|||||||
From b7a71bce5114db0b993a34565bd29bca04f9d71c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bruce Leidl <bruce@subgraph.com>
|
|
||||||
Date: Mon, 14 Jan 2019 18:22:30 -0500
|
|
||||||
Subject: [PATCH] fix systemd generator
|
|
||||||
|
|
||||||
---
|
|
||||||
Makefile.in | 1 -
|
|
||||||
configure.ac | 1 +
|
|
||||||
lib/config/config_settings.h | 9 +++++++++
|
|
||||||
scripts/Makefile.in | 1 +
|
|
||||||
scripts/generator-internals.c | 14 +++++++-------
|
|
||||||
scripts/lvm2-pvscan.service.in | 14 ++++++++++++++
|
|
||||||
.../lvm2_activation_generator_systemd_red_hat.c | 13 ++++++-------
|
|
||||||
7 files changed, 38 insertions(+), 15 deletions(-)
|
|
||||||
create mode 100644 scripts/lvm2-pvscan.service.in
|
|
||||||
|
|
||||||
diff --git a/Makefile.in b/Makefile.in
|
|
||||||
index 80cba91d1..d6e7bb8f2 100644
|
|
||||||
--- a/Makefile.in
|
|
||||||
+++ b/Makefile.in
|
|
||||||
@@ -137,7 +137,6 @@ install_initscripts:
|
|
||||||
|
|
||||||
install_systemd_generators:
|
|
||||||
$(MAKE) -C scripts install_systemd_generators
|
|
||||||
- $(MAKE) -C man install_systemd_generators
|
|
||||||
|
|
||||||
install_systemd_units:
|
|
||||||
$(MAKE) -C scripts install_systemd_units
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 8fee4c4f7..2e99d7b5d 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1807,6 +1807,7 @@ libdm/Makefile
|
|
||||||
libdm/dm-tools/Makefile
|
|
||||||
libdm/libdevmapper.pc
|
|
||||||
po/Makefile
|
|
||||||
+scripts/lvm2-pvscan.service
|
|
||||||
scripts/blkdeactivate.sh
|
|
||||||
scripts/blk_availability_init_red_hat
|
|
||||||
scripts/blk_availability_systemd_red_hat.service
|
|
||||||
diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h
|
|
||||||
index 636446f76..63e172acc 100644
|
|
||||||
--- a/lib/config/config_settings.h
|
|
||||||
+++ b/lib/config/config_settings.h
|
|
||||||
@@ -997,6 +997,15 @@ cfg(global_lvdisplay_shows_full_device_path_CFG, "lvdisplay_shows_full_device_pa
|
|
||||||
"Previously this was always shown as /dev/vgname/lvname even when that\n"
|
|
||||||
"was never a valid path in the /dev filesystem.\n")
|
|
||||||
|
|
||||||
+cfg(global_event_activation_CFG, "event_activation", global_CFG_SECTION, 0, CFG_TYPE_BOOL, 1, vsn(2, 3, 1), 0, 0, NULL,
|
|
||||||
+ "Activate LVs based on system-generated device events.\n"
|
|
||||||
+ "When a device appears on the system, a system-generated event runs\n"
|
|
||||||
+ "the pvscan command to activate LVs if the new PV completes the VG.\n"
|
|
||||||
+ "Use auto_activation_volume_list to select which LVs should be\n"
|
|
||||||
+ "activated from these events (the default is all.)\n"
|
|
||||||
+ "When event_activation is disabled, the system will generally run\n"
|
|
||||||
+ "a direct activation command to activate LVs in complete VGs.\n")
|
|
||||||
+
|
|
||||||
cfg(global_use_lvmetad_CFG, "use_lvmetad", global_CFG_SECTION, 0, CFG_TYPE_BOOL, 0, vsn(2, 2, 93), 0, vsn(3, 0, 0), NULL,
|
|
||||||
"This setting is no longer used.\n")
|
|
||||||
|
|
||||||
diff --git a/scripts/Makefile.in b/scripts/Makefile.in
|
|
||||||
index 039cac2e7..467e460ca 100644
|
|
||||||
--- a/scripts/Makefile.in
|
|
||||||
+++ b/scripts/Makefile.in
|
|
||||||
@@ -87,6 +87,7 @@ install_systemd_generators:
|
|
||||||
|
|
||||||
install_systemd_units: install_dbus_service
|
|
||||||
$(INSTALL_DIR) $(systemd_unit_dir)
|
|
||||||
+ $(INSTALL_DATA) lvm2-pvscan.service $(systemd_unit_dir)/lvm2-pvscan@.service
|
|
||||||
ifeq ("@BUILD_DMEVENTD@", "yes")
|
|
||||||
$(INSTALL_DATA) dm_event_systemd_red_hat.socket $(systemd_unit_dir)/dm-event.socket
|
|
||||||
$(INSTALL_DATA) dm_event_systemd_red_hat.service $(systemd_unit_dir)/dm-event.service
|
|
||||||
diff --git a/scripts/generator-internals.c b/scripts/generator-internals.c
|
|
||||||
index 00a15e547..a6c81b2e9 100644
|
|
||||||
--- a/scripts/generator-internals.c
|
|
||||||
+++ b/scripts/generator-internals.c
|
|
||||||
@@ -93,11 +93,11 @@ static bool _close_child(struct child_process *child)
|
|
||||||
//----------------------------------------------------------------
|
|
||||||
// Aquiring config from the lvmconfig process
|
|
||||||
|
|
||||||
-#define LVM_CONF_USE_LVMETAD "global/use_lvmetad"
|
|
||||||
-#define LVM_CONF_USE_LVMPOLLD "global/use_lvmpolld"
|
|
||||||
+#define LVM_CONF_EVENT_ACTIVATION "global/event_activation"
|
|
||||||
+#define LVM_CONF_USE_LVMPOLLD "global/use_lvmpolld"
|
|
||||||
|
|
||||||
struct config {
|
|
||||||
- bool use_lvmetad;
|
|
||||||
+ bool event_activation;
|
|
||||||
bool sysinit_needed;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -153,8 +153,8 @@ static bool _parse_line(const char *line, struct config *cfg)
|
|
||||||
{
|
|
||||||
const char *val;
|
|
||||||
|
|
||||||
- if (_begins_with(line, "use_lvmetad=", &val)) {
|
|
||||||
- return _parse_bool(val, &cfg->use_lvmetad);
|
|
||||||
+ if (_begins_with(line, "event_activation=", &val)) {
|
|
||||||
+ return _parse_bool(val, &cfg->event_activation);
|
|
||||||
|
|
||||||
} else if (_begins_with(line, "use_lvmpolld=", &val)) {
|
|
||||||
bool r;
|
|
||||||
@@ -170,14 +170,14 @@ static bool _parse_line(const char *line, struct config *cfg)
|
|
||||||
static bool _get_config(struct config *cfg, const char *lvmconfig_path)
|
|
||||||
{
|
|
||||||
static const char *_argv[] = {
|
|
||||||
- "lvmconfig", LVM_CONF_USE_LVMETAD, LVM_CONF_USE_LVMPOLLD, NULL
|
|
||||||
+ "lvmconfig", LVM_CONF_EVENT_ACTIVATION, LVM_CONF_USE_LVMPOLLD, NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
bool r = true;
|
|
||||||
char buffer[256];
|
|
||||||
struct child_process child;
|
|
||||||
|
|
||||||
- cfg->use_lvmetad = false;
|
|
||||||
+ cfg->event_activation = false;
|
|
||||||
cfg->sysinit_needed = true;
|
|
||||||
|
|
||||||
if (!_open_child(&child, lvmconfig_path, _argv)) {
|
|
||||||
diff --git a/scripts/lvm2-pvscan.service.in b/scripts/lvm2-pvscan.service.in
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000..93fe062d0
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/scripts/lvm2-pvscan.service.in
|
|
||||||
@@ -0,0 +1,14 @@
|
|
||||||
+[Unit]
|
|
||||||
+Description=LVM event activation on device %i
|
|
||||||
+Documentation=man:pvscan(8)
|
|
||||||
+DefaultDependencies=no
|
|
||||||
+StartLimitInterval=0
|
|
||||||
+BindsTo=dev-block-%i.device
|
|
||||||
+Before=shutdown.target
|
|
||||||
+Conflicts=shutdown.target
|
|
||||||
+
|
|
||||||
+[Service]
|
|
||||||
+Type=oneshot
|
|
||||||
+RemainAfterExit=yes
|
|
||||||
+ExecStart=@SBINDIR@/lvm pvscan --cache --activate ay %i
|
|
||||||
+ExecStop=@SBINDIR@/lvm pvscan --cache %i
|
|
||||||
diff --git a/scripts/lvm2_activation_generator_systemd_red_hat.c b/scripts/lvm2_activation_generator_systemd_red_hat.c
|
|
||||||
index 5dc39ae03..0e6c05acc 100644
|
|
||||||
--- a/scripts/lvm2_activation_generator_systemd_red_hat.c
|
|
||||||
+++ b/scripts/lvm2_activation_generator_systemd_red_hat.c
|
|
||||||
@@ -150,12 +150,11 @@ static int generate_unit(struct generator *gen, int unit)
|
|
||||||
|
|
||||||
fputs("# Automatically generated by lvm2-activation-generator.\n"
|
|
||||||
"#\n"
|
|
||||||
- "# This unit is responsible for direct activation of LVM2 logical volumes\n"
|
|
||||||
- "# if lvmetad daemon is not used (global/use_lvmetad=0 lvm.conf setting),\n"
|
|
||||||
- "# hence volume autoactivation is not applicable.\n"
|
|
||||||
- "# Direct LVM2 activation requires udev to be settled!\n\n"
|
|
||||||
+ "# This unit is responsible for direct activation of LVM logical volumes\n"
|
|
||||||
+ "# if event-based activation not used (global/event_activation=0 in\n"
|
|
||||||
+ "# lvm.conf). Direct LVM activation requires udev to be settled!\n\n"
|
|
||||||
"[Unit]\n"
|
|
||||||
- "Description=Activation of LVM2 logical volumes\n"
|
|
||||||
+ "Description=LVM direct activation of logical volumes\n"
|
|
||||||
"Documentation=man:lvm2-activation-generator(8)\n"
|
|
||||||
"SourcePath=/etc/lvm/lvm.conf\n" "DefaultDependencies=no\n", f);
|
|
||||||
|
|
||||||
@@ -217,8 +216,8 @@ static bool _run(int argc, const char **argv)
|
|
||||||
if (!_get_config(&gen.cfg, LVMCONFIG_PATH))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
- if (gen.cfg.use_lvmetad)
|
|
||||||
- // If lvmetad used, rely on autoactivation instead of direct activation.
|
|
||||||
+ if (gen.cfg.event_activation)
|
|
||||||
+ // If event_activation=1, pvscan --cache -aay does activation.
|
|
||||||
return true;
|
|
||||||
|
|
||||||
/* mark lvm2-activation.*.service as world-accessible */
|
|
@ -1,17 +1,8 @@
|
|||||||
require lvm2.inc
|
require lvm2.inc
|
||||||
|
|
||||||
SRCREV = "913c28917e62577a2ef67152b2e5159237503dda"
|
SRC_URI += " \
|
||||||
|
file://0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch \
|
||||||
SRC_URI = "git://github.com/lvmteam/lvm2.git;protocol=https;branch=master \
|
file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \
|
||||||
file://lvm.conf \
|
|
||||||
file://0001-implement-libc-specific-reopen_stream.patch \
|
|
||||||
file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \
|
|
||||||
file://0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch \
|
|
||||||
file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \
|
|
||||||
file://0001-Avoid-bashisms-in-init-scripts.patch \
|
|
||||||
file://0005-do-not-build-manual.patch \
|
|
||||||
file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
|
|
||||||
file://0001-explicitly-do-not-install-libdm.patch \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
DEPENDS += "autoconf-archive-native"
|
DEPENDS += "autoconf-archive-native"
|
||||||
@ -48,7 +39,24 @@ TARGET_CC_ARCH += "${LDFLAGS}"
|
|||||||
|
|
||||||
EXTRA_OECONF_append_class-nativesdk = " --with-confdir=${sysconfdir}"
|
EXTRA_OECONF_append_class-nativesdk = " --with-confdir=${sysconfdir}"
|
||||||
|
|
||||||
FILES_${PN} += "${libdir}/device-mapper/*.so"
|
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 = " \
|
FILES_${PN}-scripts = " \
|
||||||
${sbindir}/blkdeactivate \
|
${sbindir}/blkdeactivate \
|
||||||
${sbindir}/fsadm \
|
${sbindir}/fsadm \
|
||||||
@ -58,13 +66,27 @@ FILES_${PN}-scripts = " \
|
|||||||
# Specified explicitly for the udev rules, just in case that it does not get picked
|
# Specified explicitly for the udev rules, just in case that it does not get picked
|
||||||
# up automatically:
|
# up automatically:
|
||||||
FILES_${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
|
FILES_${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
|
||||||
RDEPENDS_${PN}-udevrules = "${PN}"
|
RDEPENDS_${PN}-udevrules = "libdevmapper"
|
||||||
RDEPENDS_${PN}_append_class-target = " libdevmapper"
|
RDEPENDS_${PN}_append_class-target = " libdevmapper"
|
||||||
RDEPENDS_${PN}_append_class-nativesdk = " libdevmapper"
|
RDEPENDS_${PN}_append_class-nativesdk = " libdevmapper"
|
||||||
|
|
||||||
RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash"
|
RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
|
||||||
|
bash \
|
||||||
|
util-linux-lsblk \
|
||||||
|
util-linux-findmnt \
|
||||||
|
coreutils \
|
||||||
|
"
|
||||||
RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
|
RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
|
||||||
|
|
||||||
CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
|
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"
|
BBCLASSEXTEND = "native nativesdk"
|
Loading…
Reference in New Issue
Block a user