# Template file for 'lvm2'
pkgname=lvm2
version=2.02.187
revision=2
build_style=gnu-configure
configure_args="--disable-selinux --enable-readline --enable-pkgconfig
 --enable-fsadm --enable-applib --enable-dmeventd --enable-cmdlib
 --enable-udev_sync --enable-udev_rules --enable-lvmetad
 --with-udevdir=/usr/lib/udev/rules.d --with-default-pid-dir=/run
 --with-default-dm-run-dir=/run --with-default-run-dir=/run/lvm
 --with-default-locking-dir=/run/lock/lvm"
hostmakedepends="pkg-config"
makedepends="eudev-libudev-devel libaio-devel libblkid-devel readline-devel"
depends="thin-provisioning-tools"
short_desc="Logical Volume Manager 2 utilities"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://sourceware.org/lvm2/"
changelog="https://abi-laboratory.pro/?view=changelog&l=lvm2&v=${version}"
distfiles="https://mirrors.kernel.org/sourceware/lvm2/releases/LVM2.${version}.tgz"
checksum=0e0d521a863a5db2440f2e1e7627ba82b70273ae4ab0bbe130851db0d58e5af1
conf_files="/etc/lvm/*.conf /etc/lvm/profile/*"
make_dirs="
 /etc/lvm/archive 0755 root root
 /etc/lvm/backup 0755 root root"

case $XBPS_TARGET_MACHINE in
	*-musl) configure_args+=" --enable-static_link";;
esac

do_check() {
	# requires opening /dev/kmsg which requires root
	:
}

pre_configure() {
	sed -i 's|@BLKID_LIBS@|-lblkid -luuid|g' make.tmpl.in
}

post_install() {
	sed -i 's,use_lvmetad = 1,use_lvmetad = 0,' ${DESTDIR}/etc/lvm/lvm.conf
	case $XBPS_TARGET_MACHINE in
		*-musl)
			sed -i 's,use_mlockall = 0,use_mlockall = 1,' ${DESTDIR}/etc/lvm/lvm.conf
		;;
	esac
	vsv lvmetad
	vmkdir usr/bin
	mv -f ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin/ || true
}

device-mapper-devel_package() {
	depends="${makedepends} 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"
		vmove "usr/lib/libdevmapper-event.so"
		vmove "usr/lib/libdevmapper-event-lvm2.so"
		case $XBPS_TARGET_MACHINE in
			*-musl) vmove "usr/lib/*.a";;
		esac
	}
}

device-mapper_package() {
	short_desc="Device Mapper userspace library and tools"
	pkg_install() {
		vmove "usr/bin/dm*"
		vmove "usr/lib/libdevmapper*.so.*"
		vmove "usr/lib/liblvm2cmd.so.*"
		vmove "usr/share/man/man8/dm*"
		vmove usr/lib/libdevmapper-event-lvm2?*.so
		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
		vsv dmeventd
	}
}

liblvm2app-devel_package() {
	depends="device-mapper-devel-${version}_${revision} libblkid-devel
	 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.*"
	}
}
