From: Kai Kang <[email protected]> Upgrade efivar from 0.23 to 0.24. Enable full native build at same time and add patch to fix compile error of "multiple definition of `efi_set_variable'".
Signed-off-by: Kai Kang <[email protected]> --- .../allow-multi-definitions-for-native.patch | 23 ++++++++++++++++++++++ .../efivar/{efivar_0.23.bb => efivar_0.24.bb} | 17 ++++++++-------- 2 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch rename meta-oe/recipes-extended/efivar/{efivar_0.23.bb => efivar_0.24.bb} (76%) diff --git a/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch b/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch new file mode 100644 index 0000000..87f5555 --- /dev/null +++ b/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch @@ -0,0 +1,23 @@ +Upstream-Status: Pending + +It fails to create .so file when build efivar-native: + +| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable' +| lib.o:lib.c:(.text+0xa0): first defined here + +Add link option '-z muldefs' to fix it. + +Signed-off-by: Kai Kang <[email protected]> +--- +diff --git a/Make.rules b/Make.rules +index d9c0609..874bce0 100644 +--- a/Make.rules ++++ b/Make.rules +@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version + $(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \ + -Wl,-soname,$@.$(MAJOR_VERSION) \ + -Wl,--version-script=$(MAP) \ ++ -Wl,-z,muldefs \ + -o $@ $^ $(LDLIBS) + + %.o : %.c diff --git a/meta-oe/recipes-extended/efivar/efivar_0.23.bb b/meta-oe/recipes-extended/efivar/efivar_0.24.bb similarity index 76% rename from meta-oe/recipes-extended/efivar/efivar_0.23.bb rename to meta-oe/recipes-extended/efivar/efivar_0.24.bb index 5879031..35412b6 100644 --- a/meta-oe/recipes-extended/efivar/efivar_0.23.bb +++ b/meta-oe/recipes-extended/efivar/efivar_0.24.bb @@ -5,18 +5,21 @@ HOMEPAGE = "https://github.com/rhinstaller/efivar" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393" -DEPENDS_class-target = "popt efivar-native" +DEPENDS = "popt" +DEPENDS_append_class-target = " efivar-native" COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" -SRCREV = "7367d78281fa3ce390e10c7c9f4608c58e7a6d3d" -SRC_URI = "git://github.com/rhinstaller/efivar.git" +SRCREV = "963cb2e5adc145fe00717f94e382f2973f80e753" +SRC_URI = "git://github.com/rhinstaller/efivar.git \ + file://0002-disable-static-build.patch \ +" SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \ - file://0002-disable-static-build.patch \ file://0003-efivar-fix-for-cross-compile.patch \ file://0004-fix-unknow-option-for-gold-linker.patch \ " SRC_URI_append_class-native = " file://fix-compile-failure-with-host-gcc-4.6.patch \ + file://allow-multi-definitions-for-native.patch \ " S = "${WORKDIR}/git" @@ -28,15 +31,11 @@ do_compile_prepend() { sed -i -e s:-Werror::g ${S}/gcc.specs } -do_compile_class-native() { - oe_runmake -C src makeguids -} - do_install() { oe_runmake install DESTDIR=${D} } -do_install_class-native() { +do_install_append_class-native() { install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids } -- 2.9.2.368.g08bb350 -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
