diff options
-rwxr-xr-x | sys-kernel/installkernel-systemd-boot/files/00-00machineid-directory.install | 28 | ||||
-rw-r--r-- | sys-kernel/installkernel-systemd-boot/installkernel-systemd-boot-1.ebuild | 29 |
2 files changed, 57 insertions, 0 deletions
diff --git a/sys-kernel/installkernel-systemd-boot/files/00-00machineid-directory.install b/sys-kernel/installkernel-systemd-boot/files/00-00machineid-directory.install new file mode 100755 index 000000000000..70b966fbf4b3 --- /dev/null +++ b/sys-kernel/installkernel-systemd-boot/files/00-00machineid-directory.install @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +# this file is installed by sys-kernel/installkernel-systemd-boot + +COMMAND="${1}" +ENTRY_DIR_ABS="${3}" + +# this is exported by kernel-install +if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then + exit 0 +fi + +if [[ $COMMAND != add ]]; then + exit 0 +fi + +# If the machine-id dir does not exist (e.g. $ESP/<machine-id>) +# create it. It receives values directly from kernel-install. +# This is the only function of this plugin. +MACHINE_ID_DIR="${ENTRY_DIR_ABS%/*}" +if ! [[ -d "${MACHINE_ID_DIR}" ]]; then + if [[ "${KERNEL_INSTALL_VERBOSE}" -gt 0 ]]; then + echo "+mkdir -v -p ${MACHINE_ID_DIR}" + mkdir -v -p "${MACHINE_ID_DIR}" + else + mkdir -p "${MACHINE_ID_DIR}" + fi +fi diff --git a/sys-kernel/installkernel-systemd-boot/installkernel-systemd-boot-1.ebuild b/sys-kernel/installkernel-systemd-boot/installkernel-systemd-boot-1.ebuild new file mode 100644 index 000000000000..ebc400e603b6 --- /dev/null +++ b/sys-kernel/installkernel-systemd-boot/installkernel-systemd-boot-1.ebuild @@ -0,0 +1,29 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Wrap kernel-install from systemd-boot as installkernel" +HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" +S=${WORKDIR} + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="amd64 arm64 ppc64 x86" + +RDEPEND="|| ( sys-apps/systemd sys-boot/systemd-boot ) + !<sys-apps/debianutils-4.9-r1[installkernel(+)] + !sys-kernel/installkernel-gentoo" + +src_install() { + # we could technically use a symlink here but it would require + # us to know the correct path, and that implies /usr merge problems + into / + newsbin - installkernel <<-EOF + #!/usr/bin/env sh + exec kernel-install add "\${1}" "\${2}" + EOF + + exeinto /usr/lib/kernel/install.d/ + doexe "${FILESDIR}/00-00machineid-directory.install" +} |