<div dir="ltr">Agreed with Koen.<div><br></div><div>Everything outside oe-core is meant to be nice little colorful boxes which don't depend on each other (as discussed on OEDAM), but whatever intel needs has to go to oe-core.</div><div><br></div><div>> <span style="font-size:12.8px">We are aware that this was recently blacklisted in meta-oe, but we were </span><span style="font-size:12.8px">unable to reproduce the issue under any circumstances.</span></div><div><span style="font-size:12.8px"><br></span><div>And it still fails to build and it will continue to fail even from oe-core.</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 28, 2017 at 9:33 AM, Koen Kooi <span dir="ltr"><<a href="mailto:koen@dominion.thruhere.net" target="_blank">koen@dominion.thruhere.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Op 28-02-17 om 02:09 schreef California Sullivan:<br>
<span class="">> BSPs for platforms using UEFI, such as meta-intel, would like to have<br>
> this more widely available<br>
<br>
</span>I guess you're saying "one less git repo to clone"? I don't think that's a<br>
good enough reason to move it to OE-core.<br>
<br>
> for future support enhancements.<br>
<br>
I'm having trouble parsing this, it seems like you're saying that having it<br>
in meta-oe precludes you from contributing to it?<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> This is a direct copy of the recipe from meta-openembedded/meta-oe.<br>
><br>
> Signed-off-by: California Sullivan<br>
> <<a href="mailto:california.l.sullivan@intel.com">california.l.sullivan@intel.<wbr>com</a>> --- We<br>
> are aware that this was recently blacklisted in meta-oe, but we were<br>
> unable to reproduce the issue under any circumstances.<br>
><br>
> .../efivar/0001-efivar-fix-<wbr>for-cross-compile.patch | 35<br>
> +++++++++++++++++ .../efivar/efivar/0002-<wbr>disable-static-build.patch | 33<br>
> ++++++++++++++++ .../efivar/0003-efivar-fix-<wbr>for-cross-compile.patch | 44<br>
> +++++++++++++++++++++ .../0004-fix-unknow-option-<wbr>for-gold-linker.patch<br>
> | 38 ++++++++++++++++++ .../allow-multi-definitions-<wbr>for-native.patch<br>
> | 23 +++++++++++ .../fix-compile-failure-with-<wbr>host-gcc-4.6.patch | 45<br>
> ++++++++++++++++++++++ meta/recipes-extended/efivar/<a href="http://efivar_0.24.bb" rel="noreferrer" target="_blank">e<wbr>fivar_0.24.bb</a><br>
> | 43 +++++++++++++++++++++ 7 files changed, 261 insertions(+) create mode<br>
> 100644<br>
> meta/recipes-extended/efivar/<wbr>efivar/0001-efivar-fix-for-<wbr>cross-compile.patch<br>
><br>
><br>
create mode 100644<br>
meta/recipes-extended/efivar/<wbr>efivar/0002-disable-static-<wbr>build.patch<br>
> create mode 100644<br>
> meta/recipes-extended/efivar/<wbr>efivar/0003-efivar-fix-for-<wbr>cross-compile.patch<br>
><br>
><br>
create mode 100644<br>
meta/recipes-extended/efivar/<wbr>efivar/0004-fix-unknow-option-<wbr>for-gold-linker.patch<br>
> create mode 100644<br>
> meta/recipes-extended/efivar/<wbr>efivar/allow-multi-<wbr>definitions-for-native.patch<br>
><br>
><br>
create mode 100644<br>
meta/recipes-extended/efivar/<wbr>efivar/fix-compile-failure-<wbr>with-host-gcc-4.6.patch<br>
> create mode 100644 meta/recipes-extended/efivar/<a href="http://efivar_0.24.bb" rel="noreferrer" target="_blank">e<wbr>fivar_0.24.bb</a><br>
><br>
> diff --git<br>
> a/meta/recipes-extended/<wbr>efivar/efivar/0001-efivar-fix-<wbr>for-cross-compile.patch<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/0001-efivar-fix-<wbr>for-cross-compile.patch<br>
><br>
><br>
new file mode 100644<br>
> index 0000000..6f6ca64 --- /dev/null +++<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/0001-efivar-fix-<wbr>for-cross-compile.patch<br>
><br>
><br>
@@ -0,0 +1,35 @@<br>
> +From 9a3c480af653b37e62d1be04d49fe7<wbr>a60a80168f Mon Sep 17 00:00:00 2001<br>
> +From: Kai Kang <<a href="mailto:kai.kang@windriver.com">kai.kang@windriver.com</a>> +Date:<br>
> Fri, 25 Sep 2015 18:14:31 +0800 +Subject: [PATCH 1/2] efivar: fix for<br>
> cross compile + +It builds and calls elf file makeguids to generate a<br>
> header file which +doesn't work for cross compile. Fix it. +<br>
> +Signed-off-by: Kai Kang<br>
> <<a href="mailto:kai.kang@windriver.com">kai.kang@windriver.com</a>> + +Upstream-Status:<br>
> Pending +Signed-off-by: Hongxu Jia<br>
> <<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>> + +--- +<br>
> src/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-)<br>
> + +diff --git a/src/Makefile b/src/Makefile +index 5fc7887..1829d22<br>
> 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -29,8 +29,8 @@ all :<br>
> deps $(TARGETS) + ./guid-symbols.c : include/efivar/efivar-guids.h +<br>
> ./guids.bin : include/efivar/efivar-guids.h + ./names.bin :<br>
> include/efivar/efivar-guids.h +-include/efivar/efivar-guids.<wbr>h : makeguids<br>
> guids.txt +- ./makeguids guids.txt guids.bin names.bin \<br>
> ++include/efivar/efivar-guids.<wbr>h : guids.txt ++ makeguids guids.txt<br>
> guids.bin names.bin \ + guid-symbols.c include/efivar/efivar-guids.h +<br>
> + makeguids : CPPFLAGS+=-DEFIVAR_BUILD_<wbr>ENVIRONMENT +-- +2.4.3 + diff<br>
> --git<br>
> a/meta/recipes-extended/<wbr>efivar/efivar/0002-disable-<wbr>static-build.patch<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/0002-disable-<wbr>static-build.patch new<br>
> file mode 100644 index 0000000..951b159 --- /dev/null +++<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/0002-disable-<wbr>static-build.patch @@<br>
> -0,0 +1,33 @@ +From 126e0d3c1ad74cf5b0abe9e98ec444<wbr>bcc3c83159 Mon Sep 17<br>
> 00:00:00 2001 +From: Koen Kooi<br>
> <<a href="mailto:koen.kooi@linaro.org">koen.kooi@linaro.org</a>> +Date: Fri, 4 Mar<br>
> 2016 14:53:55 +0100 +Subject: [PATCH 2/2] disable static build +<br>
> +Signed-off-by: Koen Kooi<br>
> <<a href="mailto:koen.kooi@linaro.org">koen.kooi@linaro.org</a>> + +Upstream-Status:<br>
> Inappropriate [meta-oe specific] +Signed-off-by: Hongxu Jia<br>
> <<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>> + +--- +<br>
> src/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-)<br>
> + +diff --git a/src/Makefile b/src/Makefile +index 1829d22..c7a0ca3<br>
> 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -8,9 +8,9 @@ include<br>
> $(TOPDIR)/Make.defaults + + LIBTARGETS=libefivar.so libefiboot.so +<br>
> STATICLIBTARGETS=libefivar.a libefiboot.a +-BINTARGETS=efivar<br>
> efivar-static ++BINTARGETS=efivar + PCTARGETS=efivar.pc efiboot.pc<br>
> +-TARGETS=$(LIBTARGETS) $(STATICLIBTARGETS) $(BINTARGETS) $(PCTARGETS)<br>
> ++TARGETS=$(LIBTARGETS) $(BINTARGETS) $(PCTARGETS) + + LIBEFIBOOT_SOURCES<br>
> = crc32.c creator.c disk.c gpt.c linux.c loadopt.c + LIBEFIBOOT_OBJECTS =<br>
> $(patsubst %.c,%.o,$(LIBEFIBOOT_SOURCES)) +-- +2.4.3 + diff --git<br>
> a/meta/recipes-extended/<wbr>efivar/efivar/0003-efivar-fix-<wbr>for-cross-compile.patch<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/0003-efivar-fix-<wbr>for-cross-compile.patch<br>
><br>
><br>
new file mode 100644<br>
> index 0000000..3f43f2a --- /dev/null +++<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/0003-efivar-fix-<wbr>for-cross-compile.patch<br>
><br>
><br>
@@ -0,0 +1,44 @@<br>
> +From 7ead29ca6bb5e280ae07551cc35212<wbr>81ecf73682 Mon Sep 17 00:00:00 2001<br>
> +From: Hongxu Jia <<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>><br>
> +Date: Sat, 7 May 2016 02:06:47 -0400 +Subject: [PATCH] Makefile: fix<br>
> efivar.pc not found + +It fixes efivar.pc not found: +... +| install -d<br>
> -m 755 efivar/0.23-r0/image/usr/lib/<wbr>pkgconfig/ +| install -m 644<br>
> efivar.pc efivar/0.23-r0/image/usr/lib/<wbr>pkgconfig/ +; install -m 644<br>
> efiboot.pc efivar/0.23-r0/image/usr/lib/<wbr>pkgconfig/ +; +| install: cannot<br>
> stat 'efivar.pc': No such file or directory +| install: cannot stat<br>
> 'efiboot.pc': No such file or directory +| make[1]: *** [install] Error<br>
> 1 +| make[1]: Leaving directory `efivar/0.23-r0/git/src' +| make: ***<br>
> [install] Error 2 +| ERROR: oe_runmake failed +... + +Upstream-Status:<br>
> Pending + +Signed-off-by: Hongxu Jia<br>
> <<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>> +--- + src/Makefile<br>
> | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git<br>
> a/src/Makefile b/src/Makefile +index c7a0ca3..ad9c427 100644 +---<br>
> a/src/Makefile ++++ b/src/Makefile +@@ -78,7 +78,9 @@ install : all +<br>
> ln -fs $(x).$(VERSION) $(DESTDIR)$(libdir)/$(x).$(<wbr>MAJOR_VERSION);\ + ln<br>
> -fs $(x).$(VERSION) $(DESTDIR)$(libdir)/$(x); ) + $(INSTALL) -d -m 755<br>
> $(DESTDIR)$(PCDIR) +- $(foreach x, $(PCTARGETS), $(INSTALL) -m 644 $(x)<br>
> $(DESTDIR)$(PCDIR) ;) ++ $(foreach x, $(PCTARGETS), $(INSTALL) -m 644<br>
> $(TOPDIR)/src/$(x).in $(DESTDIR)$(PCDIR)/$(x) ;\ ++ sed -i -e<br>
> "s:@@LIBDIR@@:$(libdir):g" -e "s:@@VERSION@@:$(VERSION):g" \ ++<br>
> $(DESTDIR)$(PCDIR)/$(x); ) + $(INSTALL) -d -m 755<br>
> $(DESTDIR)$(includedir)/efivar + $(foreach x, $(wildcard<br>
> $(TOPDIR)/src/include/efivar/*<wbr>.h), $(INSTALL) -m 644 $(x)<br>
> $(DESTDIR)$(includedir)/<wbr>efivar/$(notdir $(x));) + $(INSTALL) -d -m 755<br>
> $(DESTDIR)$(bindir) +-- +2.8.1 + diff --git<br>
> a/meta/recipes-extended/<wbr>efivar/efivar/0004-fix-unknow-<wbr>option-for-gold-linker.patch<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/0004-fix-unknow-<wbr>option-for-gold-linker.patch<br>
><br>
><br>
new file mode 100644<br>
> index 0000000..5d50c19 --- /dev/null +++<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/0004-fix-unknow-<wbr>option-for-gold-linker.patch<br>
><br>
><br>
@@ -0,0 +1,38 @@<br>
> +From b3d35e7dd27a755df5acbe05083788<wbr>5914dbb28b Mon Sep 17 00:00:00 2001<br>
> +From: Hongxu Jia <<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>><br>
> +Date: Tue, 10 May 2016 11:34:50 -0400 +Subject: [PATCH] fix unknow<br>
> option for gold linker + +- Revert the following patch, since oe-core<br>
> work with gcc 5 +... +commit 3055a3797f16693dfdd855fa68bc57<wbr>fd900dc408<br>
> +Author: Peter Jones <<a href="mailto:pjones@redhat.com">pjones@redhat.com</a>><br>
> +Date: Mon Feb 15 14:15:40 2016 -0500 + + Make gcc.specs work with<br>
> gcc 6 / binutils 2.26 + + Apparently binutils 2.26 gets real picky<br>
> about "ld -PIC" vs "ld -fPIC". + + Signed-off-by: Peter Jones<br>
> <<a href="mailto:pjones@redhat.com">pjones@redhat.com</a>> +... + +- Remove unknown<br>
> option '--add-needed' + +Signed-off-by: Hongxu Jia<br>
> <<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>> +--- + gcc.specs | 2<br>
> +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git<br>
> a/gcc.specs b/gcc.specs +index 24fabc2..5b0fdef 100644 +--- a/gcc.specs<br>
> ++++ b/gcc.specs +@@ -14,4 +14,4 @@ + + %{!shared:%{!static:%{!r:-pie}<wbr>}}<br>
> %{static:-Wl,-no-fatal-<wbr>warnings -Wl,-static -static -Wl,-z,relro,-z,now}<br>
> + + *link: +-+ %{!static:--fatal-warnings} --no-undefined-version<br>
> --no-allow-shlib-undefined --add-needed -z now --build-id<br>
> %{!static:%{!shared:-PIE}} %{shared:-z relro -PIC} %{static:%<pie} +++<br>
> %{!static:--fatal-warnings} --no-undefined-version<br>
> --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}}<br>
> %{shared:-z relro -fPIC} %{static:%<pie} +-- +2.8.1 + diff --git<br>
> a/meta/recipes-extended/<wbr>efivar/efivar/allow-multi-<wbr>definitions-for-native.patch<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/allow-multi-<wbr>definitions-for-native.patch<br>
><br>
><br>
new file mode 100644<br>
> index 0000000..87f5555 --- /dev/null +++<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/allow-multi-<wbr>definitions-for-native.patch<br>
><br>
><br>
@@ -0,0 +1,23 @@<br>
> +Upstream-Status: Pending + +It fails to create .so file when build<br>
> efivar-native: + +| lib.o:(*IND*+0x0): multiple definition of<br>
> `efi_set_variable' +| lib.o:lib.c:(.text+0xa0): first defined here + +Add<br>
> link option '-z muldefs' to fix it. + +Signed-off-by: Kai Kang<br>
> <<a href="mailto:kai.kang@windriver.com">kai.kang@windriver.com</a>> +--- +diff --git<br>
> a/Make.rules b/Make.rules +index d9c0609..874bce0 100644 +---<br>
> a/Make.rules ++++ b/Make.rules +@@ -20,6 +20,7 @@ include<br>
> $(TOPDIR)/Make.version + $(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \ +<br>
> -Wl,-soname,$@.$(MAJOR_<wbr>VERSION) \ + -Wl,--version-script=$(MAP) \ ++<br>
> -Wl,-z,muldefs \ + -o $@ $^ $(LDLIBS) + + %.o : %.c diff --git<br>
> a/meta/recipes-extended/<wbr>efivar/efivar/fix-compile-<wbr>failure-with-host-gcc-4.6.<wbr>patch<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/fix-compile-<wbr>failure-with-host-gcc-4.6.<wbr>patch<br>
><br>
><br>
new file mode 100644<br>
> index 0000000..1c68a29 --- /dev/null +++<br>
> b/meta/recipes-extended/<wbr>efivar/efivar/fix-compile-<wbr>failure-with-host-gcc-4.6.<wbr>patch<br>
><br>
><br>
@@ -0,0 +1,45 @@<br>
> +From 1361225abbaba878960f970df39a45<wbr>70bbc39553 Mon Sep 17 00:00:00 2001<br>
> +From: Hongxu Jia <<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>><br>
> +Date: Thu, 26 May 2016 21:50:01 -0400 +Subject: [PATCH] fix compile<br>
> failure with older host gcc (<=4.6) + +While host gcc version is 4.6.3 in<br>
> ubuntu 1204, it +did not recognize -std=gnu11 and -Wmaybe-uninitialized.<br>
> + +While host gcc version is 4.4.7 in centos6, it +did not recognize<br>
> -std=gnu11, -Wmaybe-uninitialized, +and -flto. + +For native build, use<br>
> -std=gnu99 to replace -std=gnu11, +and directly remove<br>
> -Wmaybe-uninitialized and -flto. + +Upstream-Status: Pending +<br>
> +Signed-off-by: Hongxu Jia<br>
> <<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>> +--- + gcc.specs | 4<br>
> ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git<br>
> a/gcc.specs b/gcc.specs +index 0d4bbda..3802ca6 100644 +--- a/gcc.specs<br>
> ++++ b/gcc.specs +@@ -2,13 +2,13 @@ + + -D_GNU_SOURCE + +<br>
> *efivar_cpp_options: +- -Werror -Wall -std=gnu11 -Wextra ++ -Werror -Wall<br>
> -std=gnu99 -Wextra + + *cpp_options: + + %(efivar_cpp_options) + +<br>
> *cc1_options: +-+ %(efivar_cpp_options) -Wmaybe-uninitialized<br>
> -fno-merge-constants -flto -fvisibility=hidden<br>
> %{!r:%{!fpie:%{!fPIE:%{!fpic:%<wbr>{!fPIC:%{!fno-pic:-fPIE}}}}}} +++<br>
> %(efivar_cpp_options) -fno-merge-constants -fvisibility=hidden<br>
> %{!r:%{!fpie:%{!fPIE:%{!fpic:%<wbr>{!fPIC:%{!fno-pic:-fPIE}}}}}} + +<br>
> *self_spec: + + %{!shared:%{!static:%{!r:-pie}<wbr>}}<br>
> %{static:-Wl,-no-fatal-<wbr>warnings -Wl,-static -static -Wl,-z,relro,-z,now}<br>
> +-- +2.8.1 + diff --git a/meta/recipes-extended/<wbr>efivar/<a href="http://efivar_0.24.bb" rel="noreferrer" target="_blank">efivar_0.24.bb</a><br>
> b/meta/recipes-extended/<wbr>efivar/<a href="http://efivar_0.24.bb" rel="noreferrer" target="_blank">efivar_0.24.bb</a> new file mode 100644 index<br>
> 0000000..efffde5 --- /dev/null +++<br>
> b/meta/recipes-extended/<wbr>efivar/<a href="http://efivar_0.24.bb" rel="noreferrer" target="_blank">efivar_0.24.bb</a> @@ -0,0 +1,43 @@ +SUMMARY =<br>
> "Tools to manipulate UEFI variables" +DESCRIPTION = "efivar provides a<br>
> simple command line interface to the UEFI variable facility" +HOMEPAGE =<br>
> "<a href="https://github.com/rhinstaller/efivar" rel="noreferrer" target="_blank">https://github.com/<wbr>rhinstaller/efivar</a>" + +LICENSE = "LGPLv2.1"<br>
> +LIC_FILES_CHKSUM =<br>
> "file://COPYING;md5=<wbr>6626bb1e20189cfa95f2c508ba2863<wbr>93" + +DEPENDS =<br>
> "popt" +DEPENDS_append_class-target = " efivar-native" + +COMPATIBLE_HOST<br>
> = "(i.86|x86_64|arm|aarch64).*-<wbr>linux" + +SRCREV =<br>
> "<wbr>963cb2e5adc145fe00717f94e382f2<wbr>973f80e753" +SRC_URI =<br>
> "git://<a href="http://github.com/rhinstaller/efivar.git" rel="noreferrer" target="_blank">github.com/rhinstaller/<wbr>efivar.git</a> \ +<br>
> file://0002-disable-static-<wbr>build.patch \ +" +SRC_URI_append_class-target<br>
> = " file://0001-efivar-fix-for-<wbr>cross-compile.patch \ +<br>
> file://0003-efivar-fix-for-<wbr>cross-compile.patch \ +<br>
> ${@bb.utils.contains('DISTRO_<wbr>FEATURES', 'ld-is-gold',<br>
> 'file://0004-fix-unknow-<wbr>option-for-gold-linker.patch', '', d)} \ +<br>
> " +SRC_URI_append_class-native = "<br>
> file://fix-compile-failure-<wbr>with-host-gcc-4.6.patch \ +<br>
> file://allow-multi-<wbr>definitions-for-native.patch \ +<br>
> " + +S = "${WORKDIR}/git" + +# Setting CROSS_COMPILE breaks pkgconfig, so<br>
> just set AR +EXTRA_OEMAKE = "AR=${TARGET_PREFIX}gcc-ar" +<br>
> +do_compile_prepend() { + sed -i -e s:-Werror::g ${S}/gcc.specs +} +<br>
> +do_install() { + oe_runmake install DESTDIR=${D} +} +<br>
> +do_install_append_class-<wbr>native() { + install -D -m 0755<br>
> ${B}/src/makeguids ${D}${bindir}/makeguids +} + +BBCLASSEXTEND =<br>
> "native" +<br>
><br>
<br>
<br>
--<br>
</div></div><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</div></div></blockquote></div><br></div>