[arch-commits] Commit in lvm2/repos (5 files)
Christian Hesse
eworm at archlinux.org
Fri May 7 22:27:45 UTC 2021
Date: Friday, May 7, 2021 @ 22:27:45
Author: eworm
Revision: 414585
archrelease: copy trunk to testing-x86_64
Added:
lvm2/repos/testing-x86_64/
lvm2/repos/testing-x86_64/0001-pvscan-wait-for-udevd.patch
(from rev 414584, lvm2/trunk/0001-pvscan-wait-for-udevd.patch)
lvm2/repos/testing-x86_64/11-dm-initramfs.rules
(from rev 414584, lvm2/trunk/11-dm-initramfs.rules)
lvm2/repos/testing-x86_64/PKGBUILD
(from rev 414584, lvm2/trunk/PKGBUILD)
lvm2/repos/testing-x86_64/lvm2_install
(from rev 414584, lvm2/trunk/lvm2_install)
----------------------------------+
0001-pvscan-wait-for-udevd.patch | 28 +++++++
11-dm-initramfs.rules | 3
PKGBUILD | 138 +++++++++++++++++++++++++++++++++++++
lvm2_install | 51 +++++++++++++
4 files changed, 220 insertions(+)
Copied: lvm2/repos/testing-x86_64/0001-pvscan-wait-for-udevd.patch (from rev 414584, lvm2/trunk/0001-pvscan-wait-for-udevd.patch)
===================================================================
--- testing-x86_64/0001-pvscan-wait-for-udevd.patch (rev 0)
+++ testing-x86_64/0001-pvscan-wait-for-udevd.patch 2021-05-07 22:27:45 UTC (rev 414585)
@@ -0,0 +1,28 @@
+From 675d59e9e17a55f11699471896fd6f417ea1e07b Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail at eworm.de>
+Date: Thu, 11 Feb 2021 12:01:48 +0100
+Subject: [PATCH 1/1] pvscan: wait for udevd
+
+Running the scan before udevd finished startup may result in failure.
+This has been reported for Arch Linux [0] and proper ordering fixes
+the issue.
+
+[0] https://bugs.archlinux.org/task/69611
+
+Signed-off-by: Christian Hesse <mail at eworm.de>
+---
+ scripts/lvm2-pvscan.service.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/scripts/lvm2-pvscan.service.in b/scripts/lvm2-pvscan.service.in
+index 09753e8c9..7b4ace551 100644
+--- a/scripts/lvm2-pvscan.service.in
++++ b/scripts/lvm2-pvscan.service.in
+@@ -4,6 +4,7 @@ Documentation=man:pvscan(8)
+ DefaultDependencies=no
+ StartLimitIntervalSec=0
+ BindsTo=dev-block-%i.device
++After=systemd-udevd.service
+ Before=shutdown.target
+ Conflicts=shutdown.target
+
Copied: lvm2/repos/testing-x86_64/11-dm-initramfs.rules (from rev 414584, lvm2/trunk/11-dm-initramfs.rules)
===================================================================
--- testing-x86_64/11-dm-initramfs.rules (rev 0)
+++ testing-x86_64/11-dm-initramfs.rules 2021-05-07 22:27:45 UTC (rev 414585)
@@ -0,0 +1,3 @@
+# needed with new udev/mkinitcpio and as implemented in dracut:
+# <http://git.kernel.org/?p=boot/dracut/dracut.git;a=commitdiff;h=12b9736228f2b34c15a9cb63be79cf7b6e865b54>
+SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", ACTION=="add|change", OPTIONS="db_persist"
Copied: lvm2/repos/testing-x86_64/PKGBUILD (from rev 414584, lvm2/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD (rev 0)
+++ testing-x86_64/PKGBUILD 2021-05-07 22:27:45 UTC (rev 414585)
@@ -0,0 +1,138 @@
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+# Maintainer: Thomas Bächler <thomas at archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+_tag='e6809e10a27865fbd6d67980a348946a2867182d' # git rev-parse v${pkgver//./_}
+pkgver=2.03.12
+pkgrel=1
+arch=('x86_64')
+url='https://sourceware.org/lvm2/'
+license=('GPL2' 'LGPL2.1')
+makedepends=('git' 'systemd' 'thin-provisioning-tools')
+validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17' # Alasdair G Kergon <agk at redhat.com>
+ 'D501A478440AE2FD130A1BE8B9112431E509039F') # Marian Csontos <marian.csontos at gmail.com>
+source=("git+https://sourceware.org/git/lvm2.git#tag=${_tag}?signed"
+ '0001-pvscan-wait-for-udevd.patch'
+ 'lvm2_install'
+ '11-dm-initramfs.rules')
+sha256sums=('SKIP'
+ '69976608c4e8217f504c4ce964ab21cea722134cd9b3d0109283b3e2f3a33fbe'
+ '1c06b4f9ea244b6d0824ab1ad8cc0336047238e33b6d14b61b8447e6f2243615'
+ 'e10f24b57582d6e2da71f7c80732a62e0ee2e3b867fe84591ccdb53e80fa92e0')
+
+_backports=(
+)
+
+prepare() {
+ cd lvm2/
+
+ patch -Np1 < ../0001-pvscan-wait-for-udevd.patch
+
+ local _c
+ for _c in "${_backports[@]}"; do
+ git log --oneline -1 "${_c}"
+ git show "${_c}" -- ':(exclude)WHATS_NEW' | git apply
+ done
+
+ # remove install section from systemd units that are enabled by default
+ sed -i -e '/^\[Install\]$/,$d' \
+ scripts/dm_event_systemd_red_hat.socket.in \
+ scripts/lvm2_lvmpolld_systemd_red_hat.socket.in \
+ scripts/lvm2_monitoring_systemd_red_hat.service.in
+}
+
+build() {
+ local _CONFIGUREOPTS=(
+ CONFIG_SHELL=/bin/bash
+ --prefix=/usr
+ --sbindir=/usr/bin
+ --sysconfdir=/etc
+ --localstatedir=/var
+ --enable-cmdlib
+ --enable-dmeventd
+ --enable-lvmpolld
+ --enable-pkgconfig
+ --enable-readline
+ --enable-udev_rules
+ --enable-udev_sync
+ --with-cache=internal
+ --with-default-dm-run-dir=/run
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+ --with-thin=internal
+ --with-udev-prefix=/usr
+ )
+
+ # build system requires bash:
+ # https://www.redhat.com/archives/linux-lvm/2020-January/msg00004.html
+ # https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Defining-Variables.html
+ export CONFIG_SHELL=/bin/bash
+
+ cp -a lvm2/ lvm2-initramfs/
+
+ cd lvm2/
+
+ ./configure \
+ "${_CONFIGUREOPTS[@]}" \
+ --enable-udev-systemd-background-jobs
+ make
+
+ # Build legacy udev rule for initramfs
+ cd ../lvm2-initramfs
+ ./configure \
+ "${_CONFIGUREOPTS[@]}" \
+ --enable-udev-systemd-background-jobs=no
+ cd udev
+ make 69-dm-lvm-metad.rules
+}
+
+package_device-mapper() {
+ pkgdesc="Device mapper userspace library and tools"
+ url="http://sourceware.org/dm/"
+ depends=('glibc' 'systemd-libs' 'libudev.so')
+ provides=('libdevmapper.so'
+ 'libdevmapper-event.so')
+
+ cd lvm2/
+
+ make DESTDIR="${pkgdir}" install_device-mapper
+ # extra udev rule for device-mapper in initramfs
+ install -D -m0644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules"
+ # Install dmeventd socket and service
+ make DESTDIR="${pkgdir}" install_systemd_units
+ rm -f "${pkgdir}/usr/lib/systemd/system/"{blk-availability.service,lvm2-*}
+ install -d -m0755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants"
+ ln -sf ../dm-event.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dm-event.socket"
+}
+
+package_lvm2() {
+ pkgdesc="Logical Volume Manager 2 utilities"
+ depends=('bash' "device-mapper>=${pkgver}" 'systemd-libs'
+ 'libudev.so' 'util-linux-libs' 'libblkid.so' 'readline' 'libreadline.so'
+ 'thin-provisioning-tools')
+ conflicts=('lvm' 'mkinitcpio<0.7')
+ backup=('etc/lvm/lvm.conf'
+ 'etc/lvm/lvmlocal.conf')
+ options=('!makeflags')
+
+ cd lvm2/
+
+ make DESTDIR="${pkgdir}" install_lvm2
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m0644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2"
+ ln -s /usr/lib/initcpio/install/lvm2 "${pkgdir}/usr/lib/initcpio/install/sd-lvm2"
+ # extra udev rule for non-systemd initramfs
+ install -D -m0644 "${srcdir}/lvm2-initramfs/udev/69-dm-lvm-metad.rules" "${pkgdir}/usr/lib/initcpio/udev/69-dm-lvm-metad.rules"
+ # systemd support
+ make DESTDIR="${pkgdir}" install_systemd_units
+ rm -f "${pkgdir}/usr/lib/systemd/system/"dm-*
+ install -d -m0755 "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants"
+ ln -sf ../lvm2-lvmpolld.socket "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket"
+ ln -sf ../lvm2-monitor.service "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-monitor.service"
+ make DESTDIR="${pkgdir}" install_systemd_generators
+}
Copied: lvm2/repos/testing-x86_64/lvm2_install (from rev 414584, lvm2/trunk/lvm2_install)
===================================================================
--- testing-x86_64/lvm2_install (rev 0)
+++ testing-x86_64/lvm2_install 2021-05-07 22:27:45 UTC (rev 414585)
@@ -0,0 +1,51 @@
+#!/usr/bin/bash
+
+build() {
+ local mod
+ local symlink
+
+ # device mapper modules
+ for mod in dm-mod dm-snapshot dm-mirror dm-cache dm-cache-smq dm-thin-pool; do
+ add_module "$mod"
+ done
+
+ if command -v add_systemd_unit >/dev/null; then
+ # device mapper and lvm2 systemd units
+ # binaries and libraries are pull automatically, except ...
+ add_systemd_unit "lvm2-pvscan at .service"
+ fi
+
+ # binaries from lvm2
+ add_binary "lvm"
+
+ # beinaries from device-mapper
+ add_binary "dmsetup"
+
+ # from thin-provisioning-tools
+ add_binary "pdata_tools"
+ for symlink in cache_{check,dump,metadata_size,repair,restore} thin_{check,delta,dump,ls,metadata_size,repair,restore,rmap,trim}; do
+ add_symlink "/usr/bin/${symlink}" "pdata_tools"
+ done
+
+ # udev rules and lvm configuration
+ add_file "/usr/lib/udev/rules.d/10-dm.rules"
+ add_file "/usr/lib/udev/rules.d/11-dm-lvm.rules"
+ add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
+ add_file "/etc/lvm/lvm.conf"
+ sed -i '/^\smonitoring =/s/1/0/' "${BUILDROOT}/etc/lvm/lvm.conf"
+
+ # this udev rule is specific for systemd and non-systemd systems
+ if command -v add_systemd_unit >/dev/null; then
+ add_file "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules"
+ else
+ add_file "/usr/lib/initcpio/udev/69-dm-lvm-metad.rules" "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules"
+ fi
+}
+
+help() {
+ cat <<HELPEOF
+This hook enables LVM2 volumes in initramfs.
+HELPEOF
+}
More information about the arch-commits
mailing list