summaryrefslogtreecommitdiff
path: root/testing/lvm2
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-05-13 22:36:49 +0000
committerroot <root@rshg047.dnsready.net>2011-05-13 22:36:49 +0000
commit2c4629f613c001fd29740d0f4c0e497c771a2182 (patch)
treeddc90e9111a5137677fd53e503992fd12a661ac0 /testing/lvm2
parent1982ae8d63ab142a2a16bdf1b055110d9c9f40fd (diff)
Fri May 13 22:36:49 UTC 2011
Diffstat (limited to 'testing/lvm2')
-rw-r--r--testing/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff17
-rw-r--r--testing/lvm2/PKGBUILD67
-rw-r--r--testing/lvm2/lvm2_hook24
-rw-r--r--testing/lvm2/lvm2_install29
4 files changed, 137 insertions, 0 deletions
diff --git a/testing/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff b/testing/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff
new file mode 100644
index 000000000..e75499e8e
--- /dev/null
+++ b/testing/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff
@@ -0,0 +1,17 @@
+Do not issue an error message when unable to remove .cache on read-only fs.
+===================================================================
+RCS file: /cvs/lvm2/LVM2/lib/filters/filter-persistent.c,v
+retrieving revision 1.49
+retrieving revision 1.50
+diff -u -r1.49 -r1.50
+--- LVM2/lib/filters/filter-persistent.c 2011/04/22 12:05:33 1.49
++++ LVM2/lib/filters/filter-persistent.c 2011/05/12 12:42:48 1.50
+@@ -108,7 +108,7 @@
+ log_very_verbose("Obtaining device list from "
+ "udev. Removing obolete %s.",
+ pf->file);
+- if (unlink(pf->file) < 0)
++ if (unlink(pf->file) < 0 && errno != EROFS)
+ log_sys_error("unlink", pf->file);
+ }
+ return 1;
diff --git a/testing/lvm2/PKGBUILD b/testing/lvm2/PKGBUILD
new file mode 100644
index 000000000..e7129b765
--- /dev/null
+++ b/testing/lvm2/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 123786 2011-05-13 00:53:49Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.85
+_pkgverlvm=${pkgver}
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
+groups=('base')
+conflicts=('mkinitcpio<0.5.99')
+source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz
+ lvm2_install
+ lvm2_hook
+ Be-quiet-on-removing-cache-on-read-only-fs.diff)
+md5sums=('91785ca438e5ce679dd3a386b183d552'
+ 'e29bc80d636ed17b617d9b384a5f3aa0'
+ 'cf05f2c7281e24269ea9dcc6b4e106ba'
+ '6db89da27928d2415a8e26cd0a842712')
+sha1sums=('43ba2a3be84b2e897ae6b47b0b0be7e212216be7'
+ '662fc54ce291fd79bd09701e4c3e10854f325282'
+ '1cd20e8fbad6fd7d5c0f54e831fbf58ae564b440'
+ '6d7dd04be291d7537235704c816a701fd5beacc0')
+
+build() {
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh
+ patch -p1 -i ../Be-quiet-on-removing-cache-on-read-only-fs.diff
+ unset LDFLAGS
+ ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \
+ --includedir=/usr/include --with-usrlibdir=/usr/lib \
+ --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
+ --with-udevdir=/lib/udev/rules.d/ --enable-udev_sync --enable-udev_rules
+ make
+}
+
+package_device-mapper() {
+ pkgdesc="Device mapper userspace library and tools"
+ url="http://sourceware.org/dm/"
+ depends=('glibc' 'udev')
+
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_device-mapper
+}
+
+package_lvm2() {
+ pkgdesc="Logical Volume Manager 2 utilities"
+ depends=('bash' "device-mapper>=${pkgver}" 'udev' 'readline')
+ conflicts=('lvm' 'mkinitcpio<0.5.99')
+ backup=('etc/lvm/lvm.conf')
+ options=('!makeflags')
+
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_lvm2
+ # install applib
+ cd liblvm
+ make DESTDIR="${pkgdir}" install
+ cd ..
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/lib/initcpio/hooks/lvm2"
+ install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/lib/initcpio/install/lvm2"
+}
diff --git a/testing/lvm2/lvm2_hook b/testing/lvm2/lvm2_hook
new file mode 100644
index 000000000..86d2ea582
--- /dev/null
+++ b/testing/lvm2/lvm2_hook
@@ -0,0 +1,24 @@
+# vim:set ft=sh:
+run_hook ()
+{
+ /sbin/modprobe -q dm-mod >/dev/null 2>&1
+ if [ -e "/sys/class/misc/device-mapper" ]; then
+ if [ ! -e "/dev/mapper/control" ]; then
+ /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
+ fi
+
+ # If the lvmwait= parameter has been specified on the command line
+ # wait for the device(s) before trying to activate the volume group(s)
+ if [ -n "${lvmwait}" ]; then
+ for pvdev in $(echo ${lvmwait} | sed 's|,| |g'); do
+ poll_device ${pvdev} ${rootdelay}
+ done
+ fi
+
+ [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null"
+
+ msg "Activating logical volumes..."
+ [ -d /etc/lvm ] && /sbin/lvm vgscan --sysinit
+ eval /sbin/lvm vgchange --sysinit -a y $LVMQUIET
+ fi
+}
diff --git a/testing/lvm2/lvm2_install b/testing/lvm2/lvm2_install
new file mode 100644
index 000000000..0c01ce69c
--- /dev/null
+++ b/testing/lvm2/lvm2_install
@@ -0,0 +1,29 @@
+# vim: set ft=sh:
+
+install ()
+{
+ MODULES=" dm-mod dm-snapshot dm-mirror"
+ BINARIES=""
+ FILES=""
+ SCRIPT="lvm2"
+
+ add_dir "/dev/mapper"
+ add_binary "/sbin/lvm"
+ add_binary "/sbin/dmsetup"
+ add_file "/lib/udev/rules.d/10-dm.rules"
+ add_file "/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/lib/udev/rules.d/11-dm-lvm.rules"
+}
+
+help ()
+{
+cat<<HELPEOF
+ This hook loads the necessary modules for an LVM2 root device.
+
+ The optional lvmwait= parameter followed by a comma-separated
+ list of device names can be given on the command line.
+ It will cause the hook to wait until all given devices exist
+ before trying to scan and activate any volume groups.
+HELPEOF
+}