# Template file for 'mkinitcpio'
pkgname=mkinitcpio
version=40
revision=1
build_style=meson
configure_args="-Dsystemd=disabled -Dkernel_install=false -Dalpm=false
 -Dpresets=false -Dvconsole_conf=rc.conf -Dsystemd_hooks=false"
hostmakedepends="asciidoc eudev"
depends="busybox-mkinitcpio bsdtar bash zstd eudev"
checkdepends="busybox-mkinitcpio bats-assert lz4 xz zstd lzop parallel ukify"
short_desc="Next generation of initramfs creation"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only"
homepage="https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio"
changelog="https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio/-/raw/master/CHANGELOG"
distfiles="https://sources.archlinux.org/other/mkinitcpio/mkinitcpio-${version}.tar.xz"
checksum=a5ba894098fff92ceee69b533f94b84b0476e19db4c07d640f93712a4e60e8f7
conf_files="/etc/mkinitcpio.conf"
alternatives="
 initramfs:/etc/kernel.d/post-install/20-initramfs:/usr/libexec/mkinitcpio/kernel-hook-postinst
 initramfs:/etc/kernel.d/post-remove/20-initramfs:/usr/libexec/mkinitcpio/kernel-hook-postrm
"
replaces="mkinitcpio-udev>=0"
make_dirs="/etc/mkinitcpio.conf.d 0755 root root"

post_install() {
	vinstall ${FILESDIR}/kernel-hook-postinst 755 usr/libexec/mkinitcpio
	vinstall ${FILESDIR}/kernel-hook-postrm 755 usr/libexec/mkinitcpio
}

mkinitcpio-lvm2_package() {
	depends="${sourcepkg}>=${version}_${revision} lvm2 thin-provisioning-tools"
	short_desc+=" - lvm2 support"
	pkg_install() {
		vmove usr/lib/initcpio/udev/69-dm-lvm.rules
		vmove usr/lib/initcpio/install/lvm2
	}
}

mkinitcpio-encrypt_package() {
	depends="${sourcepkg}>=${version}_${revision} cryptsetup"
	short_desc+=" - encrypt support"
	pkg_install() {
		vmove usr/lib/initcpio/hooks/encrypt
		vmove usr/lib/initcpio/install/encrypt
	}
}

mkinitcpio-mdadm_package() {
	depends="${sourcepkg}>=${version}_${revision} mdadm"
	short_desc+=" - mdadm support"
	pkg_install() {
		vinstall ${FILESDIR}/mdadm_hook 644 usr/lib/initcpio/hooks mdadm
		vinstall ${FILESDIR}/mdadm_install 644 usr/lib/initcpio/install mdadm
		vmove usr/lib/initcpio/install/mdadm_udev
	}
}

mkinitcpio-xbps_package() {
	depends="${sourcepkg}>=${version}_${revision} xbps"
	short_desc+=" - xbps support"
	pkg_install() {
		vinstall ${FILESDIR}/xbps_install 644 usr/lib/initcpio/install xbps
	}
}

mkinitcpio-zfs_package() {
	depends="${sourcepkg}>=${version}_${revision} zfs"
	short_desc+=" - ZFS support"
	pkg_install() {
		vinstall ${FILESDIR}/zfs_hook 644 usr/lib/initcpio/hooks zfs
		vinstall ${FILESDIR}/zfs_install 644 usr/lib/initcpio/install zfs
	}
}
