[arch-commits] Commit in lvm2/repos (16 files)
Christian Hesse
eworm at archlinux.org
Thu Dec 1 08:26:07 UTC 2016
Date: Thursday, December 1, 2016 @ 08:26:06
Author: eworm
Revision: 282413
archrelease: copy trunk to testing-i686, testing-x86_64
Added:
lvm2/repos/testing-i686/
lvm2/repos/testing-i686/01-lvm2-make-sockets-static.patch
(from rev 282412, lvm2/trunk/01-lvm2-make-sockets-static.patch)
lvm2/repos/testing-i686/11-dm-initramfs.rules
(from rev 282412, lvm2/trunk/11-dm-initramfs.rules)
lvm2/repos/testing-i686/PKGBUILD
(from rev 282412, lvm2/trunk/PKGBUILD)
lvm2/repos/testing-i686/lvm2.install
(from rev 282412, lvm2/trunk/lvm2.install)
lvm2/repos/testing-i686/lvm2_hook
(from rev 282412, lvm2/trunk/lvm2_hook)
lvm2/repos/testing-i686/lvm2_install
(from rev 282412, lvm2/trunk/lvm2_install)
lvm2/repos/testing-i686/sd-lvm2_install
(from rev 282412, lvm2/trunk/sd-lvm2_install)
lvm2/repos/testing-x86_64/
lvm2/repos/testing-x86_64/01-lvm2-make-sockets-static.patch
(from rev 282412, lvm2/trunk/01-lvm2-make-sockets-static.patch)
lvm2/repos/testing-x86_64/11-dm-initramfs.rules
(from rev 282412, lvm2/trunk/11-dm-initramfs.rules)
lvm2/repos/testing-x86_64/PKGBUILD
(from rev 282412, lvm2/trunk/PKGBUILD)
lvm2/repos/testing-x86_64/lvm2.install
(from rev 282412, lvm2/trunk/lvm2.install)
lvm2/repos/testing-x86_64/lvm2_hook
(from rev 282412, lvm2/trunk/lvm2_hook)
lvm2/repos/testing-x86_64/lvm2_install
(from rev 282412, lvm2/trunk/lvm2_install)
lvm2/repos/testing-x86_64/sd-lvm2_install
(from rev 282412, lvm2/trunk/sd-lvm2_install)
--------------------------------------------------+
testing-i686/01-lvm2-make-sockets-static.patch | 20 ++++
testing-i686/11-dm-initramfs.rules | 3
testing-i686/PKGBUILD | 104 +++++++++++++++++++++
testing-i686/lvm2.install | 25 +++++
testing-i686/lvm2_hook | 25 +++++
testing-i686/lvm2_install | 41 ++++++++
testing-i686/sd-lvm2_install | 44 ++++++++
testing-x86_64/01-lvm2-make-sockets-static.patch | 20 ++++
testing-x86_64/11-dm-initramfs.rules | 3
testing-x86_64/PKGBUILD | 104 +++++++++++++++++++++
testing-x86_64/lvm2.install | 25 +++++
testing-x86_64/lvm2_hook | 25 +++++
testing-x86_64/lvm2_install | 41 ++++++++
testing-x86_64/sd-lvm2_install | 44 ++++++++
14 files changed, 524 insertions(+)
Copied: lvm2/repos/testing-i686/01-lvm2-make-sockets-static.patch (from rev 282412, lvm2/trunk/01-lvm2-make-sockets-static.patch)
===================================================================
--- testing-i686/01-lvm2-make-sockets-static.patch (rev 0)
+++ testing-i686/01-lvm2-make-sockets-static.patch 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,20 @@
+diff -Nur LVM2.2.02.106.orig/scripts/dm_event_systemd_red_hat.socket.in LVM2.2.02.106/scripts/dm_event_systemd_red_hat.socket.in
+--- LVM2.2.02.106.orig/scripts/dm_event_systemd_red_hat.socket.in 2014-04-10 17:38:46.000000000 +0200
++++ LVM2.2.02.106/scripts/dm_event_systemd_red_hat.socket.in 2014-04-26 14:21:10.097269315 +0200
+@@ -8,6 +8,3 @@
+ ListenFIFO=@DEFAULT_DM_RUN_DIR@/dmeventd-client
+ SocketMode=0600
+ RemoveOnStop=true
+-
+-[Install]
+-WantedBy=sockets.target
+diff -Nur LVM2.2.02.106.orig/scripts/lvm2_lvmetad_systemd_red_hat.socket.in LVM2.2.02.106/scripts/lvm2_lvmetad_systemd_red_hat.socket.in
+--- LVM2.2.02.106.orig/scripts/lvm2_lvmetad_systemd_red_hat.socket.in 2014-04-10 17:38:46.000000000 +0200
++++ LVM2.2.02.106/scripts/lvm2_lvmetad_systemd_red_hat.socket.in 2014-04-26 14:21:15.287156152 +0200
+@@ -7,6 +7,3 @@
+ ListenStream=@DEFAULT_RUN_DIR@/lvmetad.socket
+ SocketMode=0600
+ RemoveOnStop=true
+-
+-[Install]
+-WantedBy=sysinit.target
Copied: lvm2/repos/testing-i686/11-dm-initramfs.rules (from rev 282412, lvm2/trunk/11-dm-initramfs.rules)
===================================================================
--- testing-i686/11-dm-initramfs.rules (rev 0)
+++ testing-i686/11-dm-initramfs.rules 2016-12-01 08:26:06 UTC (rev 282413)
@@ -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-i686/PKGBUILD (from rev 282412, lvm2/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD (rev 0)
+++ testing-i686/PKGBUILD 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,104 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+# Maintainer: Thomas Bächler <thomas at archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.168
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
+makedepends=('systemd' 'thin-provisioning-tools')
+groups=('base')
+source=(https://mirrors.kernel.org/sourceware/lvm2/releases/LVM2.${pkgver}.tgz{,.asc}
+ lvm2_install
+ lvm2_hook
+ sd-lvm2_install
+ 11-dm-initramfs.rules
+ 01-lvm2-make-sockets-static.patch)
+sha1sums=('c650cad608e12d23995da9fa5e4a5485a8eeaae0'
+ 'SKIP'
+ '5aedf7b606f6b4bd7a27126854a371e59009eb8c'
+ '81fc438356216abdaead0742555e1719e6ff3127'
+ '6bf33bd104dcc146b86cb397b1cd904b5ee896f3'
+ 'f6a554eea9557c3c236df2943bb6e7e723945c41'
+ 'b084512af42f2e16cdccd8b7ee4de27b574d1f94')
+validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17')
+
+prepare() {
+ cd LVM2.${pkgver}
+
+ # enable lvmetad
+ sed -i 's|use_lvmetad = 0|use_lvmetad = 1|' conf/example.conf.in
+
+ # make systemd sockets static
+ patch -p1 -i "${srcdir}/01-lvm2-make-sockets-static.patch"
+}
+
+build() {
+ CONFIGUREOPTS="--prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin \
+ --with-udev-prefix=/usr --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --with-default-pid-dir=/run --with-default-dm-run-dir=/run --with-default-run-dir=/run/lvm \
+ --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
+ --enable-udev_sync --enable-udev_rules --with-default-locking-dir=/run/lock/lvm \
+ --enable-lvmetad --with-thin=internal --with-cache=internal"
+
+ cp -a LVM2.${pkgver} LVM2-initramfs
+
+ cd LVM2.${pkgver}
+
+ ./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')
+
+ cd LVM2.${pkgver}
+ make DESTDIR="${pkgdir}" install_device-mapper
+ # extra udev rule for device-mapper in initramfs
+ install -D -m644 "${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 -m755 "${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' 'readline' 'thin-provisioning-tools')
+ conflicts=('lvm' 'mkinitcpio<0.7')
+ backup=('etc/lvm/lvm.conf'
+ 'etc/lvm/lvmlocal.conf')
+ options=('!makeflags')
+ install=lvm2.install
+
+ cd LVM2.${pkgver}
+ make DESTDIR="${pkgdir}" install_lvm2
+ # install applib
+ make -C liblvm DESTDIR="${pkgdir}" install
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/usr/lib/initcpio/hooks/lvm2"
+ install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2"
+ install -D -m644 "${srcdir}/sd-lvm2_install" "${pkgdir}/usr/lib/initcpio/install/sd-lvm2"
+ # extra udev rule for lvmetad in non-systemd initramfs
+ install -D -m644 "${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 -m755 "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants"
+ ln -sf ../lvm2-lvmetad.socket "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmetad.socket"
+ make DESTDIR="${pkgdir}" install_systemd_generators
+}
Copied: lvm2/repos/testing-i686/lvm2.install (from rev 282412, lvm2/trunk/lvm2.install)
===================================================================
--- testing-i686/lvm2.install (rev 0)
+++ testing-i686/lvm2.install 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,25 @@
+post_upgrade() {
+ if [ $(vercmp $2 2.02.98-2) -lt 0 ]; then
+ echo "Changes to the lvm2 package:"
+ echo " + Activating lvm in mkinitcpio now requires both the 'udev' and 'lvm2' hooks."
+ echo " + LVM volumes are automatically activated by udev (full hotplug support)."
+ echo " + You MUST have use_lvmetad = 1 in /etc/lvm/lvm.conf (the default)."
+ echo " + If you uncomment auto_activation_volume_list in /etc/lvm/lvm.conf, only the"
+ echo " volumes listed there will be activated (default: it is commented out)."
+ if [ -f /etc/lvm/lvm.conf.pacnew ]; then
+ echo "WARNING: /etc/lvm/lvm.conf.pacnew exists. You MUST merge the required changes"
+ echo " into /etc/lvm/lvm.conf or LVM will fail to work."
+ fi
+ fi
+
+ if [ $(vercmp $2 2.02.106-2) -lt 0 ]; then
+ if [ -L /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service ]; then
+ echo "rm /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service"
+ rm /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service
+ echo "ln -s /usr/lib/systemd/system/lvm2-monitor.service /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service"
+ ln -s /usr/lib/systemd/system/lvm2-monitor.service /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service
+ fi
+ fi
+}
+
+# vim:set ts=2 sw=2 et:
Copied: lvm2/repos/testing-i686/lvm2_hook (from rev 282412, lvm2/trunk/lvm2_hook)
===================================================================
--- testing-i686/lvm2_hook (rev 0)
+++ testing-i686/lvm2_hook 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,25 @@
+#!/usr/bin/ash
+
+run_earlyhook() {
+ mkdir /run/lvm
+ lvmetad
+}
+
+# We are suffering a race condition in non-systemd initramfs: If lvmetad is
+# killed before pvscan processes finish we have stale processes and
+# uninitialized physical volumes. So wait for pvscan processes to finish.
+# Break after 10 seconds (50*0.2s) to avaid infinite loop.
+run_latehook() {
+ local i=50
+
+ while pgrep -f pvscan >/dev/null 2>/dev/null && [ $i -gt 0 ]; do
+ sleep 0.2
+ i=$((i - 1))
+ done
+}
+
+run_cleanuphook() {
+ kill $(cat /run/lvmetad.pid)
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
Copied: lvm2/repos/testing-i686/lvm2_install (from rev 282412, lvm2/trunk/lvm2_install)
===================================================================
--- testing-i686/lvm2_install (rev 0)
+++ testing-i686/lvm2_install 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,41 @@
+#!/usr/bin/bash
+
+build() {
+ local mod
+ local symlink
+
+ for mod in dm-mod dm-snapshot dm-mirror dm-cache dm-cache-smq dm-thin-pool; do
+ add_module "$mod"
+ done
+
+ # from lvm2
+ add_binary "/usr/bin/lvm"
+ add_binary "/usr/bin/lvmetad"
+
+ # from device-mapper
+ add_binary "/usr/bin/dmsetup"
+
+ # from thin-provisioning-tools
+ add_binary "/usr/bin/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
+
+ add_file "/usr/lib/udev/rules.d/10-dm.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/udev/rules.d/11-dm-lvm.rules"
+ add_file "/usr/lib/initcpio/udev/69-dm-lvm-metad.rules" "/usr/lib/udev/rules.d/69-dm-lvm-metad.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"
+
+ add_runscript
+}
+
+help() {
+ cat <<HELPEOF
+This hook enables LVM2 volumes in initramfs.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
Copied: lvm2/repos/testing-i686/sd-lvm2_install (from rev 282412, lvm2/trunk/sd-lvm2_install)
===================================================================
--- testing-i686/sd-lvm2_install (rev 0)
+++ testing-i686/sd-lvm2_install 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,44 @@
+#!/usr/bin/bash
+
+build() {
+ local mod
+ local symlink
+
+ for mod in dm-mod dm-snapshot dm-mirror dm-cache dm-cache-smq dm-thin-pool; do
+ add_module "$mod"
+ done
+
+ # from lvm2
+ add_binary "/usr/bin/lvm"
+ add_binary "/usr/bin/lvmetad"
+
+ # from device-mapper
+ add_binary "/usr/bin/dmsetup"
+
+ # from thin-provisioning-tools
+ add_binary "/usr/bin/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
+
+ add_file "/usr/lib/udev/rules.d/10-dm.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/udev/rules.d/11-dm-lvm.rules"
+ add_file "/usr/lib/udev/rules.d/69-dm-lvm-metad.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"
+
+ add_file "/usr/lib/systemd/system/lvm2-lvmetad.service"
+ add_file "/usr/lib/systemd/system/lvm2-lvmetad.socket"
+ add_file "/usr/lib/systemd/system/lvm2-pvscan at .service"
+ add_symlink "/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmetad.socket"
+}
+
+help() {
+ cat <<HELPEOF
+This hook enables LVM2 volumes in systemd-based initramfs.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
Copied: lvm2/repos/testing-x86_64/01-lvm2-make-sockets-static.patch (from rev 282412, lvm2/trunk/01-lvm2-make-sockets-static.patch)
===================================================================
--- testing-x86_64/01-lvm2-make-sockets-static.patch (rev 0)
+++ testing-x86_64/01-lvm2-make-sockets-static.patch 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,20 @@
+diff -Nur LVM2.2.02.106.orig/scripts/dm_event_systemd_red_hat.socket.in LVM2.2.02.106/scripts/dm_event_systemd_red_hat.socket.in
+--- LVM2.2.02.106.orig/scripts/dm_event_systemd_red_hat.socket.in 2014-04-10 17:38:46.000000000 +0200
++++ LVM2.2.02.106/scripts/dm_event_systemd_red_hat.socket.in 2014-04-26 14:21:10.097269315 +0200
+@@ -8,6 +8,3 @@
+ ListenFIFO=@DEFAULT_DM_RUN_DIR@/dmeventd-client
+ SocketMode=0600
+ RemoveOnStop=true
+-
+-[Install]
+-WantedBy=sockets.target
+diff -Nur LVM2.2.02.106.orig/scripts/lvm2_lvmetad_systemd_red_hat.socket.in LVM2.2.02.106/scripts/lvm2_lvmetad_systemd_red_hat.socket.in
+--- LVM2.2.02.106.orig/scripts/lvm2_lvmetad_systemd_red_hat.socket.in 2014-04-10 17:38:46.000000000 +0200
++++ LVM2.2.02.106/scripts/lvm2_lvmetad_systemd_red_hat.socket.in 2014-04-26 14:21:15.287156152 +0200
+@@ -7,6 +7,3 @@
+ ListenStream=@DEFAULT_RUN_DIR@/lvmetad.socket
+ SocketMode=0600
+ RemoveOnStop=true
+-
+-[Install]
+-WantedBy=sysinit.target
Copied: lvm2/repos/testing-x86_64/11-dm-initramfs.rules (from rev 282412, lvm2/trunk/11-dm-initramfs.rules)
===================================================================
--- testing-x86_64/11-dm-initramfs.rules (rev 0)
+++ testing-x86_64/11-dm-initramfs.rules 2016-12-01 08:26:06 UTC (rev 282413)
@@ -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 282412, lvm2/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD (rev 0)
+++ testing-x86_64/PKGBUILD 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,104 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+# Maintainer: Thomas Bächler <thomas at archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.168
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
+makedepends=('systemd' 'thin-provisioning-tools')
+groups=('base')
+source=(https://mirrors.kernel.org/sourceware/lvm2/releases/LVM2.${pkgver}.tgz{,.asc}
+ lvm2_install
+ lvm2_hook
+ sd-lvm2_install
+ 11-dm-initramfs.rules
+ 01-lvm2-make-sockets-static.patch)
+sha1sums=('c650cad608e12d23995da9fa5e4a5485a8eeaae0'
+ 'SKIP'
+ '5aedf7b606f6b4bd7a27126854a371e59009eb8c'
+ '81fc438356216abdaead0742555e1719e6ff3127'
+ '6bf33bd104dcc146b86cb397b1cd904b5ee896f3'
+ 'f6a554eea9557c3c236df2943bb6e7e723945c41'
+ 'b084512af42f2e16cdccd8b7ee4de27b574d1f94')
+validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17')
+
+prepare() {
+ cd LVM2.${pkgver}
+
+ # enable lvmetad
+ sed -i 's|use_lvmetad = 0|use_lvmetad = 1|' conf/example.conf.in
+
+ # make systemd sockets static
+ patch -p1 -i "${srcdir}/01-lvm2-make-sockets-static.patch"
+}
+
+build() {
+ CONFIGUREOPTS="--prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin \
+ --with-udev-prefix=/usr --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --with-default-pid-dir=/run --with-default-dm-run-dir=/run --with-default-run-dir=/run/lvm \
+ --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
+ --enable-udev_sync --enable-udev_rules --with-default-locking-dir=/run/lock/lvm \
+ --enable-lvmetad --with-thin=internal --with-cache=internal"
+
+ cp -a LVM2.${pkgver} LVM2-initramfs
+
+ cd LVM2.${pkgver}
+
+ ./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')
+
+ cd LVM2.${pkgver}
+ make DESTDIR="${pkgdir}" install_device-mapper
+ # extra udev rule for device-mapper in initramfs
+ install -D -m644 "${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 -m755 "${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' 'readline' 'thin-provisioning-tools')
+ conflicts=('lvm' 'mkinitcpio<0.7')
+ backup=('etc/lvm/lvm.conf'
+ 'etc/lvm/lvmlocal.conf')
+ options=('!makeflags')
+ install=lvm2.install
+
+ cd LVM2.${pkgver}
+ make DESTDIR="${pkgdir}" install_lvm2
+ # install applib
+ make -C liblvm DESTDIR="${pkgdir}" install
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/usr/lib/initcpio/hooks/lvm2"
+ install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2"
+ install -D -m644 "${srcdir}/sd-lvm2_install" "${pkgdir}/usr/lib/initcpio/install/sd-lvm2"
+ # extra udev rule for lvmetad in non-systemd initramfs
+ install -D -m644 "${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 -m755 "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants"
+ ln -sf ../lvm2-lvmetad.socket "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmetad.socket"
+ make DESTDIR="${pkgdir}" install_systemd_generators
+}
Copied: lvm2/repos/testing-x86_64/lvm2.install (from rev 282412, lvm2/trunk/lvm2.install)
===================================================================
--- testing-x86_64/lvm2.install (rev 0)
+++ testing-x86_64/lvm2.install 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,25 @@
+post_upgrade() {
+ if [ $(vercmp $2 2.02.98-2) -lt 0 ]; then
+ echo "Changes to the lvm2 package:"
+ echo " + Activating lvm in mkinitcpio now requires both the 'udev' and 'lvm2' hooks."
+ echo " + LVM volumes are automatically activated by udev (full hotplug support)."
+ echo " + You MUST have use_lvmetad = 1 in /etc/lvm/lvm.conf (the default)."
+ echo " + If you uncomment auto_activation_volume_list in /etc/lvm/lvm.conf, only the"
+ echo " volumes listed there will be activated (default: it is commented out)."
+ if [ -f /etc/lvm/lvm.conf.pacnew ]; then
+ echo "WARNING: /etc/lvm/lvm.conf.pacnew exists. You MUST merge the required changes"
+ echo " into /etc/lvm/lvm.conf or LVM will fail to work."
+ fi
+ fi
+
+ if [ $(vercmp $2 2.02.106-2) -lt 0 ]; then
+ if [ -L /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service ]; then
+ echo "rm /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service"
+ rm /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service
+ echo "ln -s /usr/lib/systemd/system/lvm2-monitor.service /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service"
+ ln -s /usr/lib/systemd/system/lvm2-monitor.service /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service
+ fi
+ fi
+}
+
+# vim:set ts=2 sw=2 et:
Copied: lvm2/repos/testing-x86_64/lvm2_hook (from rev 282412, lvm2/trunk/lvm2_hook)
===================================================================
--- testing-x86_64/lvm2_hook (rev 0)
+++ testing-x86_64/lvm2_hook 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,25 @@
+#!/usr/bin/ash
+
+run_earlyhook() {
+ mkdir /run/lvm
+ lvmetad
+}
+
+# We are suffering a race condition in non-systemd initramfs: If lvmetad is
+# killed before pvscan processes finish we have stale processes and
+# uninitialized physical volumes. So wait for pvscan processes to finish.
+# Break after 10 seconds (50*0.2s) to avaid infinite loop.
+run_latehook() {
+ local i=50
+
+ while pgrep -f pvscan >/dev/null 2>/dev/null && [ $i -gt 0 ]; do
+ sleep 0.2
+ i=$((i - 1))
+ done
+}
+
+run_cleanuphook() {
+ kill $(cat /run/lvmetad.pid)
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
Copied: lvm2/repos/testing-x86_64/lvm2_install (from rev 282412, lvm2/trunk/lvm2_install)
===================================================================
--- testing-x86_64/lvm2_install (rev 0)
+++ testing-x86_64/lvm2_install 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,41 @@
+#!/usr/bin/bash
+
+build() {
+ local mod
+ local symlink
+
+ for mod in dm-mod dm-snapshot dm-mirror dm-cache dm-cache-smq dm-thin-pool; do
+ add_module "$mod"
+ done
+
+ # from lvm2
+ add_binary "/usr/bin/lvm"
+ add_binary "/usr/bin/lvmetad"
+
+ # from device-mapper
+ add_binary "/usr/bin/dmsetup"
+
+ # from thin-provisioning-tools
+ add_binary "/usr/bin/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
+
+ add_file "/usr/lib/udev/rules.d/10-dm.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/udev/rules.d/11-dm-lvm.rules"
+ add_file "/usr/lib/initcpio/udev/69-dm-lvm-metad.rules" "/usr/lib/udev/rules.d/69-dm-lvm-metad.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"
+
+ add_runscript
+}
+
+help() {
+ cat <<HELPEOF
+This hook enables LVM2 volumes in initramfs.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
Copied: lvm2/repos/testing-x86_64/sd-lvm2_install (from rev 282412, lvm2/trunk/sd-lvm2_install)
===================================================================
--- testing-x86_64/sd-lvm2_install (rev 0)
+++ testing-x86_64/sd-lvm2_install 2016-12-01 08:26:06 UTC (rev 282413)
@@ -0,0 +1,44 @@
+#!/usr/bin/bash
+
+build() {
+ local mod
+ local symlink
+
+ for mod in dm-mod dm-snapshot dm-mirror dm-cache dm-cache-smq dm-thin-pool; do
+ add_module "$mod"
+ done
+
+ # from lvm2
+ add_binary "/usr/bin/lvm"
+ add_binary "/usr/bin/lvmetad"
+
+ # from device-mapper
+ add_binary "/usr/bin/dmsetup"
+
+ # from thin-provisioning-tools
+ add_binary "/usr/bin/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
+
+ add_file "/usr/lib/udev/rules.d/10-dm.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/udev/rules.d/11-dm-lvm.rules"
+ add_file "/usr/lib/udev/rules.d/69-dm-lvm-metad.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"
+
+ add_file "/usr/lib/systemd/system/lvm2-lvmetad.service"
+ add_file "/usr/lib/systemd/system/lvm2-lvmetad.socket"
+ add_file "/usr/lib/systemd/system/lvm2-pvscan at .service"
+ add_symlink "/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmetad.socket"
+}
+
+help() {
+ cat <<HELPEOF
+This hook enables LVM2 volumes in systemd-based initramfs.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
More information about the arch-commits
mailing list