From 157db777fcf2ab7b6e9d090b42247781e7d7dd53 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 20 Jul 2022 10:43:54 +0200 Subject: efibootmgr: update 17 -> 18 (From OE-Core rev: 1f96793eb395db2351e1062aa579e21897dc69c1) Signed-off-by: Alexander Kanavin Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- .../efibootmgr/0001-remove-extra-decl.patch | 31 -------- .../0001-src-make-compatible-with-efivar-38.patch | 47 ------------ .../97668ae0bce776a36ea2001dea63d376be8274ac.patch | 83 ---------------------- meta/recipes-bsp/efibootmgr/efibootmgr_17.bb | 39 ---------- meta/recipes-bsp/efibootmgr/efibootmgr_18.bb | 35 +++++++++ 5 files changed, 35 insertions(+), 200 deletions(-) delete mode 100644 meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch delete mode 100644 meta/recipes-bsp/efibootmgr/efibootmgr/0001-src-make-compatible-with-efivar-38.patch delete mode 100644 meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch delete mode 100644 meta/recipes-bsp/efibootmgr/efibootmgr_17.bb create mode 100644 meta/recipes-bsp/efibootmgr/efibootmgr_18.bb diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch b/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch deleted file mode 100644 index 42f3a8182d..0000000000 --- a/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 99b578501643377e0b1994b2a068b790d189d5ad Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Wed, 13 Jun 2018 09:41:01 -0400 -Subject: [PATCH] remove extra decl - -Signed-off-by: Peter Jones - -Upstream-Status: Backport [git://github.com/rhinstaller/efibootmgr.git] -Signed-off-by: Hongxu Jia - ---- - src/efibootmgr.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/src/efibootmgr.c b/src/efibootmgr.c -index de38f01..4e1a680 100644 ---- a/src/efibootmgr.c -+++ b/src/efibootmgr.c -@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv) - "invalid numeric value %s\n", - optarg); - } -- /* XXX efivar-36 accidentally doesn't have a public -- * header for this */ -- extern int efi_set_verbose(int verbosity, FILE *errlog); - efi_set_verbose(opts.verbose - 2, stderr); - break; - case 'V': --- -2.7.4 - diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr/0001-src-make-compatible-with-efivar-38.patch b/meta/recipes-bsp/efibootmgr/efibootmgr/0001-src-make-compatible-with-efivar-38.patch deleted file mode 100644 index f8d912391e..0000000000 --- a/meta/recipes-bsp/efibootmgr/efibootmgr/0001-src-make-compatible-with-efivar-38.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 07f080184d067c1ebc3fec1b53dd4a06d1a2566a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Mon, 17 Jan 2022 23:24:34 +0100 -Subject: [PATCH] src: make compatible with efivar 38 - -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin ---- - src/efibootdump.c | 2 +- - src/efibootmgr.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/efibootdump.c b/src/efibootdump.c -index eceffd6..09bd76e 100644 ---- a/src/efibootdump.c -+++ b/src/efibootdump.c -@@ -69,7 +69,7 @@ print_boot_entry(efi_load_option *loadopt, size_t data_size) - text_path = alloca(text_path_len); - if (!text_path) - error(100, "Couldn't allocate memory"); -- rc = efidp_format_device_path(text_path, text_path_len, -+ rc = efidp_format_device_path((unsigned char *)text_path, text_path_len, - dp, pathlen); - if (rc < 0) { - printf(""); -diff --git a/src/efibootmgr.c b/src/efibootmgr.c -index 4e1a680..b77b1fb 100644 ---- a/src/efibootmgr.c -+++ b/src/efibootmgr.c -@@ -949,7 +949,7 @@ show_vars(const char *prefix) - pathlen = efi_loadopt_pathlen(load_option, - boot->data_size); - dp = efi_loadopt_path(load_option, boot->data_size); -- rc = efidp_format_device_path(text_path, text_path_len, -+ rc = efidp_format_device_path((unsigned char *)text_path, text_path_len, - dp, pathlen); - if (rc < 0) - error(18, "Could not parse device path"); -@@ -960,7 +960,7 @@ show_vars(const char *prefix) - if (!text_path) - error(19, "Could not parse device path"); - -- rc = efidp_format_device_path(text_path, text_path_len, -+ rc = efidp_format_device_path((unsigned char *)text_path, text_path_len, - dp, pathlen); - if (rc < 0) - error(20, "Could not parse device path"); diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch b/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch deleted file mode 100644 index 9525ed8c54..0000000000 --- a/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 97668ae0bce776a36ea2001dea63d376be8274ac Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Wed, 6 Mar 2019 13:08:33 -0500 -Subject: [PATCH] Make sure PKGS= is propogated into the submake for "make - deps" - -When we're doing make deps with "$(CC) -MF", gcc and clang have different -behavior, both broken in different ways, which we're hitting because of a -missing -I argument for libefivar's includes. On clang, when a header can't -be found, it emits a rule with the header as a prerequisite without a path, -such as efivar.h here: - -efibootmgr.o: efibootmgr.c fix_coverity.h efivar.h efiboot.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \ - error.h - -Then the build that utilizes that rule will fail to find the -prerequisite and tell you something like: - -make[1]: *** No rule to make target 'efivar.h', needed by 'efibootmgr.o'. Stop. -make[1]: Leaving directory '/home/pjones/devel/github.com/efibootmgr/master/src' - -With gcc, when a header can't be found, it emits a rule without that header -as a prerequisite, as such (again with efivar.h): - -efibootmgr.o: efibootmgr.c fix_coverity.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \ - error.h - -And then your build will fail if you haven't adjusted CFLAGS to tell it -where to find the header. - -Both of these would be better just erroring, but at least gcc's doesn't -insert a *wrong* dependency. - -This patch adds "PKGS=efivar efibootmgr popt" for all deps under src/. -Technically that's overkill, as efibootmgr itself doesn't need popt, but it -doesn't hurt anything to have the extra part there. The resulting -.efibootmgr.d file has the prerequisites expressed correctly: - -efibootmgr.o: efibootmgr.c fix_coverity.h /usr/include/efivar/efivar.h \ - /usr/include/efivar/efiboot.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \ - /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \ - error.h - -This fixes the issue described in github PR #96 - -Signed-off-by: Peter Jones -Upstream-Status: Backport [https://github.com/rhboot/efibootmgr/commit/97668ae0bce776a36ea2001dea63d376be8274ac] ---- - src/Makefile | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 258bac1..32fa188 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -31,8 +31,13 @@ efibootdump : PKGS=efivar efiboot popt - efibootnext : $(call objects-of,$(EFIBOOTNEXT_SOURCES)) - efibootnext : PKGS=efivar efiboot popt - -+deps : PKGS=efivar efiboot popt - deps : $(ALL_SOURCES) -- $(MAKE) -f $(TOPDIR)/Make.deps deps SOURCES="$(ALL_SOURCES)" SUBDIR_CFLAGS="$(SUBDIR_CFLAGS)" -+ $(MAKE) -f $(TOPDIR)/Make.deps \ -+ SOURCES="$(ALL_SOURCES)" \ -+ SUBDIR_CFLAGS="$(SUBDIR_CFLAGS)" \ -+ PKGS="$(PKGS)" \ -+ deps - - clean : - @rm -rfv *.o *.a *.so $(TARGETS) diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb b/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb deleted file mode 100644 index 11d8b9061d..0000000000 --- a/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb +++ /dev/null @@ -1,39 +0,0 @@ -DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager." -SUMMARY = "EFI Boot Manager" -HOMEPAGE = "https://github.com/rhboot/efibootmgr" -SECTION = "base" - -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" - -DEPENDS = "efivar popt" - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" - -SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=master \ - file://0001-remove-extra-decl.patch \ - file://97668ae0bce776a36ea2001dea63d376be8274ac.patch \ - file://0001-src-make-compatible-with-efivar-38.patch \ - " -SRCREV = "e067160ecef8208e1944002e5d50b275733211fb" - -S = "${WORKDIR}/git" - -inherit pkgconfig - -# The directory under the ESP that the default bootloader is found in. When -# wic uses a subdirectory, this should use the same one too. -EFIDIR ?= "/" - -EXTRA_OEMAKE += "'EFIDIR=${EFIDIR}'" - -CFLAGS += " -Wno-error" - -do_install () { - oe_runmake install DESTDIR="${D}" -} - -CLEANBROKEN = "1" -# https://github.com/rhboot/efivar/issues/202 -COMPATIBLE_HOST:libc-musl = 'null' - diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb new file mode 100644 index 0000000000..cbcaac1e97 --- /dev/null +++ b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager." +SUMMARY = "EFI Boot Manager" +HOMEPAGE = "https://github.com/rhboot/efibootmgr" +SECTION = "base" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +DEPENDS = "efivar popt" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=main" +SRCREV = "c3f9f0534e32158f62c43564036878b93b9e0fd6" + +S = "${WORKDIR}/git" + +inherit pkgconfig + +# The directory under the ESP that the default bootloader is found in. When +# wic uses a subdirectory, this should use the same one too. +EFIDIR ?= "/" + +EXTRA_OEMAKE += "'EFIDIR=${EFIDIR}'" + +CFLAGS += " -Wno-error" + +do_install () { + oe_runmake install DESTDIR="${D}" +} + +CLEANBROKEN = "1" +# https://github.com/rhboot/efivar/issues/202 +COMPATIBLE_HOST:libc-musl = 'null' + -- cgit v1.2.3-54-g00ecf