commit:     23705d366e67b61fc1006845adbff9dfee738d3f
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 15 17:45:07 2024 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Mar 15 17:48:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23705d36

app-emulation/virt-firmware: add 24.2_p20240315

Closes: https://github.com/projg2/installkernel-gentoo/pull/20
Closes: https://github.com/projg2/installkernel-gentoo/issues/19
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 app-emulation/virt-firmware/Manifest               |  1 +
 .../files/virt-firmware-24.2-dont-force-shim.patch | 45 ++++++++++++++++++
 .../virt-firmware-24.2_p20240315.ebuild            | 54 ++++++++++++++++++++++
 3 files changed, 100 insertions(+)

diff --git a/app-emulation/virt-firmware/Manifest 
b/app-emulation/virt-firmware/Manifest
index bc81330a6c0a..b076a294d071 100644
--- a/app-emulation/virt-firmware/Manifest
+++ b/app-emulation/virt-firmware/Manifest
@@ -1 +1,2 @@
 DIST virt-firmware-24.2.tar.gz 110844 BLAKE2B 
db7ad7663678a313bdd0e23de7e374547e5dbc1a04b37a65e366ae042410a3a6c21ccfef3747a2534cb76906868caaf1364ac1ecd1443c1c1053a5b7687da50b
 SHA512 
8583420acb31fb32e4c195c0c1816b36248ec2e486ded0795e51180e2690b2bcdc10eb8707f4fc9fa36da5b24082737c5c3b2e3988f6c5455e08a5d2a0ff92e7
+DIST virt-firmware-24.2_p20240315.tar.gz 105633 BLAKE2B 
6d43a00626403739cf40e9d1d9310c02b0a3794a66c61124f21f45714207b3700fe1e91f0bdb57968d03bd1b08b262327edf3e2271db5b7d7dfc33cf52dce7fd
 SHA512 
cb7e10c8ecb65e90373199be30c1e44c6d89a7c1244780999f5a38de10366ad98b0b747ca471360dd3b38a018df883f21a6758cfeabf85f44d96f38622a19655

diff --git 
a/app-emulation/virt-firmware/files/virt-firmware-24.2-dont-force-shim.patch 
b/app-emulation/virt-firmware/files/virt-firmware-24.2-dont-force-shim.patch
new file mode 100644
index 000000000000..bb45026391eb
--- /dev/null
+++ b/app-emulation/virt-firmware/files/virt-firmware-24.2-dont-force-shim.patch
@@ -0,0 +1,45 @@
+https://gitlab.com/kraxel/virt-firmware/-/merge_requests/11
+diff --git a/virt/firmware/bootcfg/linuxcfg.py 
b/virt/firmware/bootcfg/linuxcfg.py
+index 5682b15..121af73 100644
+--- a/virt/firmware/bootcfg/linuxcfg.py
++++ b/virt/firmware/bootcfg/linuxcfg.py
+@@ -188,9 +188,10 @@ class LinuxOsInfo(OsRelease):
+ 
+     def shim_path(self):
+         esp    = self.esp_path()
+-        subdir = self.esp_distro_dir()
++        distro_dir = self.esp_distro_dir()
+         arch   = self.efi_arch()
+-        shim   = f'{esp}/EFI/{subdir}/shim{arch}.efi'
+-        if os.path.exists(shim):
+-            return shim
++        for subdir in distro_dir, 'shim', 'Linux':
++            shim = f'{esp}/EFI/{subdir}/shim{arch}.efi'
++            if os.path.exists(shim):
++                return shim
+         return None
+diff --git a/virt/firmware/bootcfg/main.py b/virt/firmware/bootcfg/main.py
+index 04888d5..291903b 100644
+--- a/virt/firmware/bootcfg/main.py
++++ b/virt/firmware/bootcfg/main.py
+@@ -34,8 +34,7 @@ def update_next_or_order(cfg, options, nr):
+ 
+ def add_uki(cfg, options):
+     if not options.shim and cfg.secureboot:
+-        logging.error('shim binary not specified')
+-        sys.exit(1)
++        logging.warning('shim binary not specified')
+     if not options.title:
+         logging.error('entry title not specified')
+         sys.exit(1)
+@@ -112,8 +111,8 @@ def boot_success(cfg, options):
+ 
+ def update_boot_csv(cfg, options):
+     if not options.shim:
+-        logging.error('shim binary not specified')
+-        sys.exit(1)
++        logging.warning('shim binary not specified')
++        sys.exit(0)
+     efishim  = linuxcfg.LinuxEfiFile(options.shim)
+     shimpath = efishim.dev_path_file()
+ 

diff --git a/app-emulation/virt-firmware/virt-firmware-24.2_p20240315.ebuild 
b/app-emulation/virt-firmware/virt-firmware-24.2_p20240315.ebuild
new file mode 100644
index 000000000000..cf1fcb8fc0ef
--- /dev/null
+++ b/app-emulation/virt-firmware/virt-firmware-24.2_p20240315.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 optfeature systemd
+
+COMMIT="f278ef19b0bc94ae93881ee4ab45fcbb03926e5f"
+
+DESCRIPTION="Tools for ovmf/armvirt firmware volumes"
+HOMEPAGE="
+       https://gitlab.com/kraxel/virt-firmware
+       https://pypi.org/project/virt-firmware/
+"
+SRC_URI="https://gitlab.com/kraxel/virt-firmware/-/archive/${COMMIT}.tar.gz -> 
${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+       dev-python/cryptography[${PYTHON_USEDEP}]
+       dev-python/pefile[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-24.2-dont-force-shim.patch"
+)
+
+distutils_enable_tests unittest
+
+python_test() {
+       eunittest tests
+}
+
+python_install_all() {
+       distutils-r1_python_install_all
+
+       doman man/*.1
+
+       systemd_dounit systemd/kernel-bootcfg-boot-successful.service
+
+       exeinto /usr/lib/kernel/install.d
+       doexe systemd/99-uki-uefi-setup.install
+}
+
+pkg_postinst() {
+       optfeature "managing UEFI entries on Unified Kernel Image installation 
and removal" \
+               "sys-kernel/installkernel[systemd]"
+}

Reply via email to