mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
added core/lvm2
This commit is contained in:
parent
2a9ba4c9a7
commit
c67ce9cea6
4 changed files with 127 additions and 0 deletions
3
core/lvm2/11-dm-initramfs.rules
Normal file
3
core/lvm2/11-dm-initramfs.rules
Normal file
|
@ -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"
|
69
core/lvm2/PKGBUILD
Normal file
69
core/lvm2/PKGBUILD
Normal file
|
@ -0,0 +1,69 @@
|
|||
# $Id: PKGBUILD 160346 2012-06-01 12:56:43Z dreisner $
|
||||
# Maintainer: Eric Bélanger <eric@archlinux.org>
|
||||
# Maintainer: Thomas Bächler <thomas@archlinux.org>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - rebuild, remove when bumped upstream
|
||||
|
||||
pkgbase=lvm2
|
||||
pkgname=('lvm2' 'device-mapper')
|
||||
pkgver=2.02.95
|
||||
pkgrel=6.1
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://sourceware.org/lvm2/"
|
||||
license=('GPL2' 'LGPL2.1')
|
||||
groups=('base')
|
||||
source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${pkgver}.tgz{,.asc}
|
||||
lvm2_install
|
||||
lvm2_hook
|
||||
11-dm-initramfs.rules)
|
||||
sha1sums=('f61dfbd8e9219291d11de3d70f0b3d20a29fae85'
|
||||
'45f5e31045065e7bdf5d6f2e21c857b4978024b4'
|
||||
'3e1680f9b76ce9150d08865d99db90fd15532271'
|
||||
'cedc9948123c870f9c5aa3357d0075b41a9c8135'
|
||||
'f6a554eea9557c3c236df2943bb6e7e723945c41')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/LVM2.${pkgver}"
|
||||
unset LDFLAGS
|
||||
|
||||
# libudev.so.1.0.0 compat
|
||||
sed -i 's,udev_get_dev_path([^)]\+),"/dev",' \
|
||||
tools/dmsetup.c \
|
||||
lib/misc/lvm-wrappers.c
|
||||
|
||||
./configure --prefix=/ --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \
|
||||
--includedir=/usr/include --with-usrlibdir=/usr/lib --libdir=/usr/lib --with-udev-prefix=/usr \
|
||||
--enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
|
||||
--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.${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"
|
||||
}
|
||||
|
||||
package_lvm2() {
|
||||
pkgdesc="Logical Volume Manager 2 utilities"
|
||||
depends=('bash' "device-mapper>=${pkgver}" 'udev' 'readline')
|
||||
conflicts=('lvm' 'mkinitcpio<0.7')
|
||||
backup=('etc/lvm/lvm.conf')
|
||||
options=('!makeflags')
|
||||
|
||||
cd "${srcdir}/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"
|
||||
}
|
24
core/lvm2/lvm2_hook
Normal file
24
core/lvm2/lvm2_hook
Normal file
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/ash
|
||||
|
||||
run_hook() {
|
||||
local pvdev
|
||||
|
||||
modprobe -q dm-mod >/dev/null 2>&1
|
||||
|
||||
# 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:
|
31
core/lvm2/lvm2_install
Normal file
31
core/lvm2/lvm2_install
Normal file
|
@ -0,0 +1,31 @@
|
|||
#!/bin/bash
|
||||
|
||||
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 "/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.
|
||||
|
||||
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:
|
Loading…
Reference in a new issue