From 97a671ec90e83af036869180b2b65e4e10fafa2b Mon Sep 17 00:00:00 2001
From: Cecil Hugh Watson <knoppmyth@gmail.com>
Date: Sat, 4 Sep 2010 17:01:03 -0700
Subject: lvm2:Bumped/Updated for LinHES 7.

---
 abs/core-testing/lvm2/ChangeLog    | 103 +++++++++++++++++++++++++++++++++++++
 abs/core-testing/lvm2/PKGBUILD     |  83 ++++++++++++++++++++----------
 abs/core-testing/lvm2/lvm2_hook    |  17 ++++--
 abs/core-testing/lvm2/lvm2_install |  15 +++++-
 4 files changed, 185 insertions(+), 33 deletions(-)
 create mode 100644 abs/core-testing/lvm2/ChangeLog

diff --git a/abs/core-testing/lvm2/ChangeLog b/abs/core-testing/lvm2/ChangeLog
new file mode 100644
index 0000000..5809ab5
--- /dev/null
+++ b/abs/core-testing/lvm2/ChangeLog
@@ -0,0 +1,103 @@
+2010-07-11  Thomas Bächler  <thomas@archlinux.org>
+
+	* lvm2/device-mapper 2.02.70-1
+	* Upstream update
+	* Do not move the dmeventd manpage, has been fixed upstream
+	* Remove all the || return 1 in PKGBUILD
+
+2010-07-01  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2/device-mapper 2.02.69-1
+	* Upstream update
+	* Moved dmeventd man page from lvm2 to device-mapper package
+
+2010-06-25  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2/device-mapper 2.02.68-1
+	* Upstream update
+	* Fixed tr path in lvmdump
+
+2010-04-05  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2/device-mapper 2.02.62-1
+	* Upstream update
+	* Fixed license
+
+2010-02-27  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2/device-mapper 2.02.61-1
+	* Upstream update
+
+2010-01-24  Thomas Bächler <thomas@archlinux.org>
+       * lvm2/device-mapper 2.02.60-2
+       * Rebuilt without -Wl,--as-needed, it breaks dmeventd monitoring
+
+2010-01-24  Thomas Bächler <thomas@archlinux.org>
+        * lvm2/device-mapper update to 2.02.60-1
+        * Clean up PKGBUILD, fix internal paths to dmeventd and its helpers
+
+2009-11-27  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.56-1
+	* device-mapper 1.02.40-1
+	* Upstream update
+
+2009-10-31  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.54-1
+	* device-mapper 1.02.39-1
+	* Upstream update
+	* Enabled the device-mapper event daemon
+	* Moved the udev rule from /etc to /lib
+
+2009-09-27  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.53-1
+	* device-mapper 1.02.38-1
+	* Upstream update
+
+2009-09-18  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.52-1
+	* device-mapper 1.02.37-1
+	* Upstream update
+	* Implemented split packages
+	* PKGBUILD clean up
+	* Renamed pkgconfig file (close FS#15909)
+
+2009-07-09  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.48-1
+	* device-mapper 1.02.33-1
+	* Upstream update
+	* Removed unneeded readline depends (close FS#15205)
+
+2009-05-24  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.47-1
+	* device-mapper 1.02.32-1
+	* Upstream update
+	* Added dmsetup.static
+
+2009-03-07  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.45-1
+	* device-mapper 1.02.31-1
+	* Upstream update
+
+2009-01-31  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.44-1
+	* device-mapper 1.02.30-1
+	* Upstream update
+	* Added bash depends
+	* Added readline depends
+        * Added pkgconfig file
+
+2008-11-11  Eric Belanger  <eric@archlinux.org>
+
+	* lvm2 2.02.43-1
+	* device-mapper 1.02.29-1
+	* Upstream update
+	* Disabled SMP build
+	* Added ChangeLog
diff --git a/abs/core-testing/lvm2/PKGBUILD b/abs/core-testing/lvm2/PKGBUILD
index 1819c76..b4be343 100644
--- a/abs/core-testing/lvm2/PKGBUILD
+++ b/abs/core-testing/lvm2/PKGBUILD
@@ -1,35 +1,64 @@
-# $Id: PKGBUILD 1726 2008-05-15 13:19:26Z thomas $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-pkgname=lvm2
-pkgver=2.02.37
-pkgrel=10
-pkgdesc="Logical Volume Manager 2 utilities"
+# $Id: PKGBUILD 85275 2010-07-11 10:26:53Z thomas $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.70
+_pkgverdm=1.02.52
+_pkgverlvm=${pkgver}
+pkgrel=1
 arch=('i686' 'x86_64')
-license=('GPL')
 url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
 groups=('base')
-depends=('device-mapper>=1.02.22')
-conflicts=('lvm')
-backup=('etc/lvm/lvm.conf')
-source=(ftp://sources.redhat.com/pub/lvm2/LVM2.$pkgver.tgz
+conflicts=('mkinitcpio<0.5.99')
+changelog=ChangeLog
+source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz
         lvm2_install
         lvm2_hook)
-md5sums=('19c19e1f31ec548dc31982478a8a5f63'
-         '40dccdb1044f00fc1e29ca549933d4bd'
-	 '73c8c2eba0fe891712c859c18b5b8aa2')
+md5sums=('39c26d5a821754cc347d7a19e82d4a24'
+         'f781c9f5dd4f9934952c687b73d26a18'
+         '95bed25bdbc2c2d8500e7a07aeff7f65')
+sha1sums=('6f88114e72204feee491befd5f0e203036b90f11'
+          '583424bb0a6f89ffe4e4ea446b912f0fedac7050'
+          '0dc0c0d620f634c4d078afdb78e3bae15ccf957b')
 
 build() {
-  cd $startdir/src/LVM2.$pkgver
-  ./configure --prefix=/usr --sysconfdir=/etc  --localstatedir=/var
-  make || return 1
-  make DESTDIR=$startdir/pkg sbindir=$startdir/pkg/sbin install || return 1
-  mkdir -p $startdir/pkg/etc/lvm/{archive,backup}
-  # a static binary is required for Arch's initrd
-  ./configure --prefix=/usr --sysconfdir=/etc  --localstatedir=/var \
-    --enable-static_link
-  make || return 1
-  install -D -m755 tools/lvm.static $startdir/pkg/sbin/lvm.static
-  # add hook
-  install -D -m644 $startdir/src/lvm2_hook $startdir/pkg/lib/initcpio/hooks/lvm2
-  install -D -m644 $startdir/src/lvm2_install $startdir/pkg/lib/initcpio/install/lvm2
+  cd "${srcdir}/LVM2.${_pkgverlvm}"
+  sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh
+  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/abs/core-testing/lvm2/lvm2_hook b/abs/core-testing/lvm2/lvm2_hook
index b98e87d..13183c6 100644
--- a/abs/core-testing/lvm2/lvm2_hook
+++ b/abs/core-testing/lvm2/lvm2_hook
@@ -3,14 +3,23 @@ run_hook ()
 {
     /sbin/modprobe -q dm-mod >/dev/null 2>&1
     if [ -e "/sys/class/misc/device-mapper" ]; then
-        read dev_t < /sys/class/misc/device-mapper/dev
-        /bin/mknod "/dev/mapper/control" c $(/bin/replace "${dev_t}" ':')
+        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 "Scanning logical volumes..."
-        eval /bin/lvm vgscan --ignorelockingfailure $LVMQUIET
+        eval /sbin/lvm vgscan --ignorelockingfailure $LVMQUIET
         msg "Activating logical volumes..."
-        eval /bin/lvm vgchange --ignorelockingfailure -ay $LVMQUIET
+        eval /sbin/lvm vgchange --ignorelockingfailure --ignoremonitoring -ay $LVMQUIET
     fi
 }
diff --git a/abs/core-testing/lvm2/lvm2_install b/abs/core-testing/lvm2/lvm2_install
index c6cacc3..4ce9f18 100644
--- a/abs/core-testing/lvm2/lvm2_install
+++ b/abs/core-testing/lvm2/lvm2_install
@@ -2,18 +2,29 @@
 
 install ()
 {
-    MODULES=" dm-mod "
+    MODULES=" dm-mod dm-snapshot dm-mirror"
     BINARIES=""
     FILES=""
     SCRIPT="lvm2"
 
     add_dir "/dev/mapper"
-    add_file "/sbin/lvm.static" "/bin/lvm"
+    add_binary "/sbin/lvm"
+    add_binary "/sbin/dmsetup"
+    add_binary "/sbin/dmeventd"
+    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
 }
-- 
cgit v0.12