diff options
Diffstat (limited to 'abs/core/lvm2')
-rw-r--r-- | abs/core/lvm2/PKGBUILD | 58 | ||||
-rw-r--r-- | abs/core/lvm2/lvm.service | 16 | ||||
-rw-r--r-- | abs/core/lvm2/lvm2.conf | 2 | ||||
-rw-r--r-- | abs/core/lvm2/lvm2_hook | 39 | ||||
-rw-r--r-- | abs/core/lvm2/lvm2_install | 42 |
5 files changed, 89 insertions, 68 deletions
diff --git a/abs/core/lvm2/PKGBUILD b/abs/core/lvm2/PKGBUILD index b54e9f6..bda634b 100644 --- a/abs/core/lvm2/PKGBUILD +++ b/abs/core/lvm2/PKGBUILD @@ -1,37 +1,38 @@ -# $Id$ +# $Id: PKGBUILD 163019 2012-07-05 20:37:09Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') -pkgver=2.02.86 -_pkgverlvm=${pkgver} -pkgrel=1 +pkgver=2.02.96 +pkgrel=3 arch=('i686' 'x86_64') url="http://sourceware.org/lvm2/" license=('GPL2' 'LGPL2.1') groups=('base') -source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz +source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${pkgver}.tgz{,.asc} lvm2_install lvm2_hook - 11-dm-initramfs.rules) -md5sums=('3b42dec4d15ad106302a35149082a20e' - 'dcb82506d732cc7b10159a89b579dba8' - '8d613b84a175cd85f752a75198e40e15' - '69e40679cd8b3658bfc619e48baae125') -sha1sums=('f435b389cc11c8f415244fe382f3839d1676770c' - '7f108b2f2056eb050fc898bf5190ecf9145aed8a' - 'a0e0513c2efb183006e57e595d93ce18be297928' - 'f6a554eea9557c3c236df2943bb6e7e723945c41') + 11-dm-initramfs.rules + lvm.service + lvm2.conf) +sha1sums=('29d5097f0ca92c7665f29f862eca78bcf981ff6f' + '12e9016485c415c344524e6e75e23dfa6ca097ac' + '3e1680f9b76ce9150d08865d99db90fd15532271' + 'cedc9948123c870f9c5aa3357d0075b41a9c8135' + 'f6a554eea9557c3c236df2943bb6e7e723945c41' + '17df8689630a77e46899a8bd56997d9db896d5af' + 'ccefad65fde3d50331a42b0e90a1539dc7c8b9e4') build() { - cd "${srcdir}/LVM2.${_pkgverlvm}" - sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh + cd "${srcdir}/LVM2.${pkgver}" 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 + + ./configure --prefix=/ --sbindir=/sbin --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \ + --includedir=/usr/include --with-usrlibdir=/usr/lib --libdir=/usr/lib --with-udev-prefix=/usr \ + --with-systemdsystemunitdir=/usr/lib/systemd/system --enable-pkgconfig --enable-readline \ + --enable-dmeventd --enable-cmdlib --enable-applib --enable-udev_sync --enable-udev_rules \ + --with-default-locking-dir=/run/lock/lvm make } @@ -40,10 +41,10 @@ package_device-mapper() { url="http://sourceware.org/dm/" depends=('glibc' 'udev') - cd "${srcdir}/LVM2.${_pkgverlvm}" + cd "${srcdir}/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}/lib/initcpio/udev/11-dm-initramfs.rules" + install -D -m644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules" } package_lvm2() { @@ -53,15 +54,16 @@ package_lvm2() { backup=('etc/lvm/lvm.conf') options=('!makeflags') - cd "${srcdir}/LVM2.${_pkgverlvm}" + cd "${srcdir}/LVM2.${pkgver}" make DESTDIR="${pkgdir}" install_lvm2 # install applib - cd liblvm - make DESTDIR="${pkgdir}" install - cd .. + make -C liblvm DESTDIR="${pkgdir}" install # /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" + install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/usr/lib/initcpio/hooks/lvm2" + install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2" + # systemd support + install -D -m644 "${srcdir}/lvm.service" "${pkgdir}/usr/lib/systemd/system/lvm.service" + install -D -m644 "${srcdir}/lvm2.conf" "${pkgdir}/usr/lib/tmpfiles.d/lvm2.conf" } diff --git a/abs/core/lvm2/lvm.service b/abs/core/lvm2/lvm.service new file mode 100644 index 0000000..277d5a7 --- /dev/null +++ b/abs/core/lvm2/lvm.service @@ -0,0 +1,16 @@ +[Unit] +Description=LVM activation +DefaultDependencies=no +Requires=systemd-udev-settle.service +After=systemd-udev-settle.service +Before=basic.target shutdown.target +Conflicts=shutdown.target + +[Service] +ExecStart=/sbin/vgchange --sysinit --available y +Type=oneshot +TimeoutSec=0 +RemainAfterExit=yes + +[Install] +WantedBy=basic.target diff --git a/abs/core/lvm2/lvm2.conf b/abs/core/lvm2/lvm2.conf new file mode 100644 index 0000000..1298245 --- /dev/null +++ b/abs/core/lvm2/lvm2.conf @@ -0,0 +1,2 @@ +d /run/lock/lvm 0755 root root - +d /run/lvm 0755 root root - diff --git a/abs/core/lvm2/lvm2_hook b/abs/core/lvm2/lvm2_hook index 874b91d..e69b334 100644 --- a/abs/core/lvm2/lvm2_hook +++ b/abs/core/lvm2/lvm2_hook @@ -1,25 +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 - mkdir /dev/mapper - mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |') - fi +#!/usr/bin/ash - # 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 +run_hook() { + local pvdev - [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null" + modprobe -q dm-mod >/dev/null 2>&1 - msg "Activating logical volumes..." - [ -d /etc/lvm ] && /sbin/lvm vgscan --sysinit - eval /sbin/lvm vgchange --sysinit -a y $LVMQUIET + # If the lvmwait= parameter has been specified on the command line + # wait for the device(s) before trying to activate the volume group(s) + for pvdev in ${lvmwait//,/ }; do + poll_device ${pvdev} ${rootdelay} + done + + msg "Activating logical volumes..." + [ -d /etc/lvm ] && lvm vgscan + + if [ -n "$quiet" ]; then + lvm vgchange --sysinit -a y >/dev/null + else + lvm vgchange --sysinit -a y fi } + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/abs/core/lvm2/lvm2_install b/abs/core/lvm2/lvm2_install index 94175b5..145ce49 100644 --- a/abs/core/lvm2/lvm2_install +++ b/abs/core/lvm2/lvm2_install @@ -1,29 +1,31 @@ -# vim: set ft=sh: +#!/bin/bash -build() -{ - MODULES=" dm-mod dm-snapshot dm-mirror" - BINARIES="" - FILES="" - SCRIPT="lvm2" +build() { + local mod + for mod in dm-mod dm-snapshot dm-mirror; do + add_module "$mod" + done 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" - add_file "/lib/initcpio/udev/11-dm-initramfs.rules" "/lib/udev/rules.d/11-dm-initramfs.rules" + 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/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules" + + add_runscript } -help () -{ -cat<<HELPEOF - This hook loads the necessary modules for an LVM2 root device. +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. +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 } + +# vim: set ft=sh ts=4 sw=4 et: |