diff options
Diffstat (limited to 'sys-kernel/ugrd/ugrd-1.22.0.ebuild')
-rw-r--r-- | sys-kernel/ugrd/ugrd-1.22.0.ebuild | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/sys-kernel/ugrd/ugrd-1.22.0.ebuild b/sys-kernel/ugrd/ugrd-1.22.0.ebuild new file mode 100644 index 000000000000..6869d9c50265 --- /dev/null +++ b/sys-kernel/ugrd/ugrd-1.22.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..12} ) +inherit distutils-r1 optfeature shell-completion + +DESCRIPTION="Python based initramfs generator with TOML defintions" +HOMEPAGE="https://github.com/desultory/ugrd" +SRC_URI="https://github.com/desultory/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + app-misc/pax-utils + >=dev-python/zenlib-2.2.3[${PYTHON_USEDEP}] + >=dev-python/pycpio-1.3.2[${PYTHON_USEDEP}] + sys-apps/pciutils +" + +BDEPEND=" + test? ( + amd64? ( app-emulation/qemu[qemu_softmmu_targets_x86_64] ) + arm64? ( app-emulation/qemu[qemu_softmmu_targets_aarch64] ) + ) +" + +python_install_all() { + # Call the distutils-r1_python_install_all function + distutils-r1_python_install_all + # Install the example config into /etc/ugrd/config.toml + # Do not overwrite an existing config + insinto /etc/ugrd + newins examples/example.toml config.toml + + # Install the kernel preinst.d hook + exeinto /usr/lib/kernel/preinst.d + doexe hooks/installkernel/52-ugrd.install + exeinto /usr/lib/kernel/install.d + doexe hooks/kernel-install/52-ugrd.install + + dobashcomp completion/ugrd # Install bash autocomplete script + dozshcomp completion/_ugrd # Install zsh autocomplete script +} + +pkg_postinst() { + optfeature "ugrd.crypto.cryptsetup support" sys-fs/cryptsetup + optfeature "ugrd.fs.btrfs support" sys-fs/btrfs-progs + optfeature "ugrd.crypto.gpg support" app-crypt/gnupg + optfeature "ugrd.fs.lvm support" sys-fs/lvm2[lvm] +} + +distutils_enable_tests unittest + +src_test() { + if [[ ! -w '/dev/kvm' ]]; then + ewarn "Skipping tests: Cannot write to /dev/kvm." + return 1 + fi + if [[ ! -r "$(command -v mount)" ]]; then + ewarn "Cannot read the mount binary, tests may fail until" + ewarn "util-linux is re-emerged without the sfperms feature." + fi + + distutils-r1_src_test +} + +python_test() { + eunittest tests/ +} |