From 7f3023003cb1c0c2428b09055b9808c9c4ec0245 Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Wed, 10 Aug 2016 17:49:50 +0800 Subject: efivar: 0.23 -> 0.24 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 Signed-off-by: Martin Jansa --- .../allow-multi-definitions-for-native.patch | 23 +++++++++++ meta-oe/recipes-extended/efivar/efivar_0.23.bb | 44 ---------------------- meta-oe/recipes-extended/efivar/efivar_0.24.bb | 43 +++++++++++++++++++++ 3 files changed, 66 insertions(+), 44 deletions(-) create mode 100644 meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch delete mode 100644 meta-oe/recipes-extended/efivar/efivar_0.23.bb create mode 100644 meta-oe/recipes-extended/efivar/efivar_0.24.bb (limited to 'meta-oe/recipes-extended/efivar') 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 000000000..87f555509 --- /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 +--- +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.23.bb deleted file mode 100644 index 5879031fc..000000000 --- a/meta-oe/recipes-extended/efivar/efivar_0.23.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Tools to manipulate UEFI variables" -DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility" -HOMEPAGE = "https://github.com/rhinstaller/efivar" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393" - -DEPENDS_class-target = "popt efivar-native" - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" - -SRCREV = "7367d78281fa3ce390e10c7c9f4608c58e7a6d3d" -SRC_URI = "git://github.com/rhinstaller/efivar.git" -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 \ - " - -S = "${WORKDIR}/git" - -# Setting CROSS_COMPILE breaks pkgconfig, so just set AR -EXTRA_OEMAKE = "AR=${TARGET_PREFIX}gcc-ar" - -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() { - install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids -} - -BBCLASSEXTEND = "native" - diff --git a/meta-oe/recipes-extended/efivar/efivar_0.24.bb b/meta-oe/recipes-extended/efivar/efivar_0.24.bb new file mode 100644 index 000000000..35412b6bc --- /dev/null +++ b/meta-oe/recipes-extended/efivar/efivar_0.24.bb @@ -0,0 +1,43 @@ +SUMMARY = "Tools to manipulate UEFI variables" +DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility" +HOMEPAGE = "https://github.com/rhinstaller/efivar" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393" + +DEPENDS = "popt" +DEPENDS_append_class-target = " efivar-native" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +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://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" + +# Setting CROSS_COMPILE breaks pkgconfig, so just set AR +EXTRA_OEMAKE = "AR=${TARGET_PREFIX}gcc-ar" + +do_compile_prepend() { + sed -i -e s:-Werror::g ${S}/gcc.specs +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + +do_install_append_class-native() { + install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids +} + +BBCLASSEXTEND = "native" + -- cgit v1.2.3-54-g00ecf