# Template file for 'lvm2'
pkgname=lvm2
version=2.02.105
revision=2
wrksrc=LVM2.${version}
build_style=gnu-configure
configure_args="--disable-selinux --enable-readline --enable-pkgconfig
 --enable-fsadm --enable-applib --sbindir=/usr/sbin --libdir=/usr/lib
 --enable-dmeventd --enable-cmdlib --enable-udev_sync --enable-udev_rules
 --with-udevdir=/usr/lib/udev/rules.d --with-default-pid-dir=/run
 --with-systemdsystemunitdir=/usr/lib/systemd/system
 --with-default-dm-run-dir=/run --with-default-run-dir=/run/lvm
 --with-default-locking-dir=/run/lock/lvm --enable-lvmetad"
hostmakedepends="pkg-config"
# By using eudev we avoid a cyclic dependency:
# 	device-mapper -> libudev -> cryptsetup -> device-mapper
makedepends="readline-devel>=6.3 eudev-libudev-devel"
make_dirs="
	/etc/lvm/archive 0755 root root
	/etc/lvm/backup 0755 root root"
conf_files="/etc/lvm/lvm.conf"
short_desc="Logical Volume Manager 2 utilities"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://sourceware.org/lvm2/"
license="GPL-2, LGPL-2.1"
distfiles="ftp://sources.redhat.com/pub/lvm2/LVM2.${version}.tgz"
checksum=d0700c7000ff6375c1c36cb2a89b97b9ae6757f4219fa9ec65f313d13d71e51e

pre_build() {
	# Fix for readline>=6.3
	sed -e 's,(CPPFunction \*),,' -i tools/lvm.c
}

post_install() {
	vinstall ${FILESDIR}/lvm2.tmpfiles 644 usr/lib/tmpfiles.d lvm2.conf
	vinstall ${FILESDIR}/lvm-monitoring.service 644 usr/lib/systemd/system
	vinstall ${FILESDIR}/lvmetad.service 644 usr/lib/systemd/system
	vinstall ${FILESDIR}/lvmetad.socket 644 usr/lib/systemd/system
	vinstall ${FILESDIR}/lvm-on-crypt.service 644 usr/lib/systemd/system
	vmkdir usr/lib/systemd/system/sockets.target.wants
	ln -sf /usr/lib/systemd/system/lvmetad.socket \
		${DESTDIR}/usr/lib/systemd/system/sockets.target.wants/lvmetad.socket
	# enable lvmetad
	sed 's|use_lvmetad = 0|use_lvmetad = 1|' -i ${DESTDIR}/etc/lvm/lvm.conf
}

device-mapper-devel_package() {
	depends="readline-devel>=6.3 ncurses-devel device-mapper>=${version}_${revision}"
	short_desc="Device Mapper userspace library - development files"
	pkg_install() {
		vmove usr/lib/pkgconfig/devmapper.pc
		vmove usr/lib/pkgconfig/devmapper-event.pc
		vmove usr/include/libdevmapper.h
		vmove usr/include/libdevmapper-event.h
		vmove usr/include/lvm2cmd.h
		vmove usr/lib/liblvm2cmd.so
		vmove "usr/lib/libdevmapper*.so"
	}
}

device-mapper_package() {
	short_desc="Device Mapper userspace library and tools"
	replaces="lvm2<2.02.95_3"
	pkg_install() {
		vmove "usr/sbin/dm*"
		vmove "usr/lib/libdevmapper*.so.*"
		vmove "usr/lib/liblvm2cmd.so.*"
		vmove "usr/share/man/man8/dm*"
		vmove usr/lib/device-mapper
		for f in 10-dm 13-dm-disk 95-dm-notify; do
			vmove usr/lib/udev/rules.d/${f}.rules
		done
		install -d ${PKGDESTDIR}/usr/lib/systemd/system/sockets.target.wants
		vinstall ${FILESDIR}/dmeventd.service 644 usr/lib/systemd/system
		vinstall ${FILESDIR}/dmeventd.socket 644 usr/lib/systemd/system
		ln -sf /usr/lib/systemd/system/dmeventd.socket \
			${PKGDESTDIR}/usr/lib/systemd/system/sockets.target.wants/dmeventd.socket
	}
}

liblvm2app-devel_package() {
	depends="device-mapper-devel>=${version}_${revision} liblvm2app>=${version}_${revision}"
	short_desc="LVM2 application library - development files"
	pkg_install() {
		vmove usr/include/lvm2app.h
		vmove "usr/lib/pkgconfig/lvm2app*"
		vmove usr/lib/liblvm2app.so
	}
}

liblvm2app_package() {
	short_desc="LVM2 application library"
	pkg_install() {
		vmove "usr/lib/liblvm2app.so.*"
	}
}
