summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2021-06-18 23:19:14 +0200
committerThomas Deutschmann <whissi@gentoo.org>2021-06-18 23:19:30 +0200
commit36eb40e0d1be521917a2e4836ac4bbd89f9787a0 (patch)
tree40067b302b84436213000281bc66ceaa7df767b4 /sys-apps
parentdev-python/rich: Remove old (diff)
downloadgentoo-36eb40e0d1be521917a2e4836ac4bbd89f9787a0.tar.gz
gentoo-36eb40e0d1be521917a2e4836ac4bbd89f9787a0.tar.bz2
gentoo-36eb40e0d1be521917a2e4836ac4bbd89f9787a0.zip
sys-apps/fwupd-efi: fix building
Fixes PermissionError: [Errno 13] Permission denied: 'genpeimg' Closes: https://bugs.gentoo.org/796569 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/fwupd-efi/files/fwupd-efi-1.0-add-genpeimg-parameter.patch42
-rw-r--r--sys-apps/fwupd-efi/files/fwupd-efi-1.0-pass-genpeimg.patch21
-rw-r--r--sys-apps/fwupd-efi/fwupd-efi-1.0.ebuild5
3 files changed, 68 insertions, 0 deletions
diff --git a/sys-apps/fwupd-efi/files/fwupd-efi-1.0-add-genpeimg-parameter.patch b/sys-apps/fwupd-efi/files/fwupd-efi-1.0-add-genpeimg-parameter.patch
new file mode 100644
index 000000000000..a9791b4e1144
--- /dev/null
+++ b/sys-apps/fwupd-efi/files/fwupd-efi-1.0-add-genpeimg-parameter.patch
@@ -0,0 +1,42 @@
+From 207e8bf4bdb8dbdf8800d4b5cbac5af746047f37 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Fri, 14 May 2021 14:06:31 +0100
+Subject: [PATCH] generate_binary: add genpeimg option
+
+Add a --genpeimg option as the meson.build uses find_program(), so the
+binary could be anywhere.
+---
+ efi/generate_binary.py | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/efi/generate_binary.py b/efi/generate_binary.py
+index 0193e50..907af9f 100755
+--- a/efi/generate_binary.py
++++ b/efi/generate_binary.py
+@@ -48,13 +48,15 @@ def _run_objcopy(args):
+
+
+ def _run_genpeimg(args):
++ if not args.genpeimg:
++ return
+
+- # this is okay if it does not exist
+- argv = ["genpeimg", "-d", "+d", "+n", "-d", "+s", args.outfile]
++ argv = [args.genpeimg, "-d", "+d", "+n", "-d", "+s", args.outfile]
+ try:
+ subprocess.run(argv, check=True)
+ except FileNotFoundError as _:
+- pass
++ print(str(e))
++ sys.exit(1)
+
+
+ if __name__ == "__main__":
+@@ -63,6 +65,7 @@ def _run_genpeimg(args):
+ parser.add_argument(
+ "--objcopy", default="objcopy", help="Binary file to use for objcopy"
+ )
++ parser.add_argument("--genpeimg", help="Binary file to use for genpeimg")
+ parser.add_argument("--arch", default="x86_64", help="EFI architecture")
+ parser.add_argument("infile", help="Input file")
+ parser.add_argument("outfile", help="Output file")
diff --git a/sys-apps/fwupd-efi/files/fwupd-efi-1.0-pass-genpeimg.patch b/sys-apps/fwupd-efi/files/fwupd-efi-1.0-pass-genpeimg.patch
new file mode 100644
index 000000000000..7e4dd1af3294
--- /dev/null
+++ b/sys-apps/fwupd-efi/files/fwupd-efi-1.0-pass-genpeimg.patch
@@ -0,0 +1,21 @@
+From 321f0750ee69cc62ab609f760769d880676f712b Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Fri, 14 May 2021 14:07:11 +0100
+Subject: [PATCH] meson: pass the found genpeimg to generate_binary
+
+---
+ efi/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/efi/meson.build b/efi/meson.build
+index a496210..7cc1da1 100644
+--- a/efi/meson.build
++++ b/efi/meson.build
+@@ -215,6 +215,7 @@ app = custom_target(efi_name,
+ '@INPUT@', '@OUTPUT@',
+ '--arch', gnu_efi_arch,
+ '--objcopy', efi_objcopy,
++ '--genpeimg', genpeimg.found() ? genpeimg : ''
+ ],
+ install : true,
+ install_dir : efi_app_location)
diff --git a/sys-apps/fwupd-efi/fwupd-efi-1.0.ebuild b/sys-apps/fwupd-efi/fwupd-efi-1.0.ebuild
index fc3aa3397b23..1f99eec953ed 100644
--- a/sys-apps/fwupd-efi/fwupd-efi-1.0.ebuild
+++ b/sys-apps/fwupd-efi/fwupd-efi-1.0.ebuild
@@ -29,6 +29,11 @@ DEPEND="sys-boot/gnu-efi"
RDEPEND="!<sys-apps/fwupd-1.6.0"
+PATCHES=(
+ "${FILESDIR}"/${P}-add-genpeimg-parameter.patch
+ "${FILESDIR}"/${P}-pass-genpeimg.patch
+)
+
src_prepare() {
default