# $Id$ # Maintainer: Eric Bélanger # Maintainer: Thomas Bächler pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') pkgver=2.02.177 pkgrel=4 arch=('x86_64') url="http://sourceware.org/lvm2/" license=('GPL2' 'LGPL2.1') makedepends=('systemd' 'thin-provisioning-tools') groups=('base') validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17') # Alasdair G Kergon source=("https://mirrors.kernel.org/sourceware/lvm2/releases/LVM2.${pkgver}.tgz"{,.asc} 'lvm2_install' 'lvm2_hook' 'sd-lvm2_install' '11-dm-initramfs.rules') sha256sums=('4025a23ec9b15c2cb7486d151c29dc953b75efc4d452cfe9dbbc7c0fac8e80f2' 'SKIP' '5129f87a8b30d5a8621e9c1c0664910a588bdd77bff09473afb73efb41305cbb' '97d7c92e4954bc0108e7cd183b2eb5fe7ecc97e6f56369669e6537cb6ed45d80' 'cc1ed670a7ca21ee2ab32ad6b5ab7a6a5e86d0651ea2e1593e289a82c87aa4da' 'e10f24b57582d6e2da71f7c80732a62e0ee2e3b867fe84591ccdb53e80fa92e0') prepare() { cd LVM2.${pkgver} # enable lvmetad sed -i 's|use_lvmetad = 0|use_lvmetad = 1|' conf/example.conf.in # 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 --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.${pkgver} LVM2-initramfs cd LVM2.${pkgver} ./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.${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" # 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' '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.${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" 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 }