summaryrefslogtreecommitdiff
path: root/libre-testing/lvm2/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre-testing/lvm2/PKGBUILD')
-rw-r--r--libre-testing/lvm2/PKGBUILD124
1 files changed, 124 insertions, 0 deletions
diff --git a/libre-testing/lvm2/PKGBUILD b/libre-testing/lvm2/PKGBUILD
new file mode 100644
index 000000000..d833669ab
--- /dev/null
+++ b/libre-testing/lvm2/PKGBUILD
@@ -0,0 +1,124 @@
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.181
+pkgrel=1
+arch=(x86_64 ppc64le)
+url='https://sourceware.org/lvm2/'
+license=('GPL2' 'LGPL2.1')
+makedepends=('git' 'systemd' 'thin-provisioning-tools')
+groups=('base')
+validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17' # Alasdair G Kergon <agk@redhat.com>
+ 'D501A478440AE2FD130A1BE8B9112431E509039F') # Marian Csontos <marian.csontos@gmail.com>
+source=("git+https://sourceware.org/git/lvm2.git#tag=v${pkgver//./_}?signed"
+ 'lvm2_install'
+ 'lvm2_hook'
+ 'sd-lvm2_install'
+ '11-dm-initramfs.rules')
+sha256sums=('SKIP'
+ 'cc51940a8437f3c8339bb9cec7e929b2cc0852ffc8a0b2463e6f67ca2b9950f6'
+ '97d7c92e4954bc0108e7cd183b2eb5fe7ecc97e6f56369669e6537cb6ed45d80'
+ 'b749c2da0e9307b0c2c3858d024a19c268e01e393e876a284fe1a302427f72f1'
+ 'e10f24b57582d6e2da71f7c80732a62e0ee2e3b867fe84591ccdb53e80fa92e0')
+
+prepare() {
+ cd lvm2/
+
+ # remove install section from systemd units that are enabled by default
+ sed -i -e '/^\[Install\]$/,$d' \
+ scripts/dm_event_systemd_red_hat.socket.in \
+ scripts/lvm2_lvmetad_systemd_red_hat.socket.in \
+ scripts/lvm2_lvmpolld_systemd_red_hat.socket.in \
+ scripts/lvm2_monitoring_systemd_red_hat.service.in
+}
+
+build() {
+ local _CONFIGUREOPTS=(
+ --prefix=/usr
+ --sbindir=/usr/bin
+ --sysconfdir=/etc
+ --localstatedir=/var
+ --enable-applib
+ --enable-cmdlib
+ --enable-dmeventd
+ --enable-lvmetad
+ --enable-lvmpolld
+ --enable-pkgconfig
+ --enable-readline
+ --enable-udev_rules
+ --enable-udev_sync
+ --enable-use-lvmetad
+ --with-cache=internal
+ --with-default-dm-run-dir=/run
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+ --with-thin=internal
+ --with-udev-prefix=/usr
+ )
+
+ cp -a lvm2/ lvm2-initramfs/
+
+ cd lvm2/
+
+ ./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' 'libsystemd')
+
+ cd lvm2/
+
+ 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}" 'libsystemd' 'libutil-linux' '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/
+
+ 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"
+ ln -sf ../lvm2-lvmpolld.socket "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket"
+ ln -sf ../lvm2-monitor.service "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-monitor.service"
+ make DESTDIR="${pkgdir}" install_systemd_generators
+}