EAPI=8
DESCRIPTION="Base system configuration for gardenhouse"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="* -~*"
S="${WORKDIR}"

IUSE="+dmverity +sysupdate +bootbless +sysext +tmpfiles"

DEPEND="
	dmverity? ( sys-kernel/dracut-verity )
	bootbless? ( sys-apps/boot_bless )
	sysupdate? ( sys-apps/sysupdate )
	sysext? ( sys-apps/sysext )
	tmpfiles? ( sys-apps/seedfiles )
"
RDEPEND="${DEPEND}"

src_install() {
	if use bootbless; then
		insinto /etc/boot_bless.d/
		doins ${FILESDIR}/bootbless/boot_bless.conf

		exeinto /usr/lib/boot_bless.d/success/
		doexe ${FILESDIR}/bootbless/99_bless_uki.sh

		keepdir /etc/boot_bless.d/success
		keepdir /etc/boot_bless.d/required
		keepdir /etc/boot_bless.d/optional
		keepdir /etc/boot_bless.d/failed
		keepdir /usr/lib/boot_bless.d/required
		keepdir /usr/lib/boot_bless.d/optional
		keepdir /usr/lib/boot_bless.d/failed
	fi

	if use sysupdate; then
		insinto /etc/
		doins ${FILESDIR}/sysupdate/sysupdate.conf

		insinto /etc/sysupdate.d/
		doins ${FILESDIR}/sysupdate/gardenhouse_root.conf
		doins ${FILESDIR}/sysupdate/gardenhouse_efi.conf
		if use dmverity; then
			doins ${FILESDIR}/sysupdate/gardenhouse_verity.conf
		fi
	fi

	if use dmverity; then
		insinto /etc/dracut.conf.d/
		doins ${FILESDIR}/dmverity/dmverity.conf
	fi
}

pkg_postinst() {
	mkdir -p "${EROOT}/etc/runlevels/${default}"
	if use bootbless; then
		ln -snf "${EPREFIX}/etc/init.d/boot_bless" "${EROOT}/etc/runlevels/default/boot_bless"
	fi
	if use sysext; then
		ln -snf "${EPREFIX}/etc/init.d/sysextd" "${EROOT}/etc/runlevels/default/sysextd"
	fi
	ln -snf "${EPREFIX}/etc/init.d/seedfiles-setup" "${EROOT}/etc/runlevels/boot/seedfiles-setup"
	ln -snf "${EPREFIX}/etc/init.d/seedfiles-setup-dev" "${EROOT}/etc/runlevels/sysinit/seedfiles-setup-dev"
}