public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-kernel/installkernel-systemd-boot/files/, ...
@ 2023-06-22  6:28 Andrew Ammerlaan
  0 siblings, 0 replies; only message in thread
From: Andrew Ammerlaan @ 2023-06-22  6:28 UTC (permalink / raw
  To: gentoo-commits

commit:     0a05585bfc3f37c69d8b694205339499860a0b42
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 20 19:08:06 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Jun 22 06:28:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a05585b

sys-kernel/installkernel-systemd-boot: no mkdir machineid if using uki

Uki's are installed to ESP/Linux, we don't need this empty directory

Plus an EAPI bump while we are touching the package

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/31559
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 ...temd-boot-2-r2-00-00machineid-directory.install | 32 ++++++++++++++++++++
 .../installkernel-systemd-boot-2-r2.ebuild         | 34 ++++++++++++++++++++++
 2 files changed, 66 insertions(+)

diff --git a/sys-kernel/installkernel-systemd-boot/files/installkernel-systemd-boot-2-r2-00-00machineid-directory.install b/sys-kernel/installkernel-systemd-boot/files/installkernel-systemd-boot-2-r2-00-00machineid-directory.install
new file mode 100644
index 000000000000..5fa3bbeffc04
--- /dev/null
+++ b/sys-kernel/installkernel-systemd-boot/files/installkernel-systemd-boot-2-r2-00-00machineid-directory.install
@@ -0,0 +1,32 @@
+#!/usr/bin/env sh
+
+# this file is installed by sys-kernel/installkernel-systemd-boot
+
+COMMAND="${1}"
+ENTRY_DIR_ABS="${3}"
+
+# this is exported by kernel-install
+if [ -z "${KERNEL_INSTALL_MACHINE_ID}" ]; then
+	exit 0
+fi
+
+if [ "${KERNEL_INSTALL_LAYOUT}" = "uki" ]; 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}" = "1" ]; 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-2-r2.ebuild b/sys-kernel/installkernel-systemd-boot/installkernel-systemd-boot-2-r2.ebuild
new file mode 100644
index 000000000000..ddf32065d8d1
--- /dev/null
+++ b/sys-kernel/installkernel-systemd-boot/installkernel-systemd-boot-2-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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-kernel/installkernel-gentoo
+	|| (
+		sys-apps/systemd
+		sys-apps/systemd-utils[boot]
+	)
+"
+
+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/
+	newexe "${FILESDIR}/${PF}-00-00machineid-directory.install" \
+		00-00machineid-directory.install
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-06-22  6:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-22  6:28 [gentoo-commits] repo/gentoo:master commit in: sys-kernel/installkernel-systemd-boot/files/, Andrew Ammerlaan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox