On Fri, Mar 04, 2016 at 08:14:54AM +0100, Koen Kooi wrote: > Upstream removed the use of the nvme headers completely, so no more > conflicts. Also drop gcc options patch, ubuntu 12.04 is too old to support in > meta-oe/master.
This fails to build static version, when no-static-libs.inc is used (e.g. default in Poky). Can you either disable static in popt or change efivar to respect --disable-static (if possible)? 5.3.0/ld: cannot find -lpopt | collect2: error: ld returned 1 exit status | make[1]: *** [efivar-static] Error 1 | make[1]: *** Waiting for unfinished jobs.... > > Signed-off-by: Koen Kooi <koen.k...@linaro.org> > --- > .../efivar/0001-efivar-fix-for-cross-compile.patch | 21 +++---- > ...ptions-not-supported-by-lower-version-gcc.patch | 71 > ---------------------- > meta-oe/recipes-extended/efivar/efivar_0.21.bb | 39 ------------ > meta-oe/recipes-extended/efivar/efivar_0.23.bb | 36 +++++++++++ > 4 files changed, 45 insertions(+), 122 deletions(-) > delete mode 100644 > meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch > delete mode 100644 meta-oe/recipes-extended/efivar/efivar_0.21.bb > create mode 100644 meta-oe/recipes-extended/efivar/efivar_0.23.bb > > diff --git > a/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch > > b/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch > index 4bd7d95..b02edd9 100644 > --- > a/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch > +++ > b/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch > @@ -12,20 +12,17 @@ Signed-off-by: Kai Kang <kai.k...@windriver.com> > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/Makefile b/src/Makefile > -index 6eac858..ef4eb1d 100644 > +index 5fc7887..1829d22 100644 > --- a/src/Makefile > +++ b/src/Makefile > -@@ -65,8 +65,8 @@ makeguids.o : makeguids.c > - makeguids : makeguids.o fakeguid.o > - $(CC) $(cflags) -o $@ $^ -ldl > - > +@@ -29,8 +29,8 @@ all : deps $(TARGETS) > + ./guid-symbols.c : include/efivar/efivar-guids.h > + ./guids.bin : include/efivar/efivar-guids.h > + ./names.bin : include/efivar/efivar-guids.h > -include/efivar/efivar-guids.h : makeguids guids.txt > -- ./makeguids guids.txt guids.bin names.bin guid-symbols.S $@ > +- ./makeguids guids.txt guids.bin names.bin \ > +include/efivar/efivar-guids.h : guids.txt > -+ makeguids guids.txt guids.bin names.bin guid-symbols.S $@ > ++ makeguids guids.txt guids.bin names.bin \ > + guid-symbols.c include/efivar/efivar-guids.h > > - guidlist.o : guids.S include/efivar/efivar-guids.h > - $(CC) $(cflags) -c -o guidlist.o guids.S > --- > -2.6.0.rc2.10.gf4d9753 > - > + makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT > diff --git > a/meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch > > b/meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch > deleted file mode 100644 > index 7f04b19..0000000 > --- > a/meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch > +++ /dev/null > @@ -1,71 +0,0 @@ > -gcc options '-Wmaybe-uninitialized' and '-std=gnu11' are not recognized by > gcc > -whose version is lower than 4.6, such as on Ubuntu 12.04. Drop them for > backward > -compatible. > - > -Upstream-Status: Pending > - > -Signed-off-by: Kai Kang <kai.k...@windriver.com> > ---- > -diff --git a/Make.defaults b/Make.defaults > -index cc2baa9..118ae56 100644 > ---- a/Make.defaults > -+++ b/Make.defaults > -@@ -10,10 +10,9 @@ CFLAGS ?= -O2 -g > - > - ARCH = $(shell uname -m) > - clang_cflags = > --gcc_cflags = -Wmaybe-uninitialized > - cflags := $(CFLAGS) \ > - -Werror -Wall -Wsign-compare -Wstrict-aliasing \ > -- -std=gnu11 -fshort-wchar -fPIC \ > -+ -fshort-wchar -fPIC \ > - -fvisibility=hidden \ > - -D_GNU_SOURCE -I${TOPDIR}/src/include/efivar/ \ > - $(if $(filter $(CC),clang),$(clang_cflags),) \ > -diff --git a/src/guid.h b/src/guid.h > -index 9542ee1..0817991 100644 > ---- a/src/guid.h > -+++ b/src/guid.h > -@@ -31,7 +31,8 @@ static inline int > - real_isspace(char c) > - { > - char spaces[] = " \f\n\r\t\v"; > -- for (int i = 0; spaces[i] != '\0'; i++) > -+ int i; > -+ for (i = 0; spaces[i] != '\0'; i++) > - if (c == spaces[i]) > - return 1; > - return 0; > -@@ -59,7 +60,8 @@ check_sanity(const char *text, size_t len) > - static inline int > - check_segment_sanity(const char *text, size_t len) > - { > -- for(unsigned int i = 0; i < len; i++) { > -+ unsigned int i; > -+ for(i = 0; i < len; i++) { > - if (text[i] >= '0' && text[i] <= '9') > - continue; > - /* "| 0x20" is tolower() without having to worry about > -diff --git a/src/makeguids.c b/src/makeguids.c > -index e9acf15..7e16cb2 100644 > ---- a/src/makeguids.c > -+++ b/src/makeguids.c > -@@ -150,7 +150,8 @@ main(int argc, char *argv[]) > - > - fprintf(header, "#ifndef EFIVAR_GUIDS_H\n#define EFIVAR_GUIDS_H 1\n\n"); > - > -- for (unsigned int i = 0; i < line-1; i++) { > -+ unsigned int i, j; > -+ for (i = 0; i < line-1; i++) { > - if (!strcmp(outbuf[i].symbol, "efi_guid_zero")) > - fprintf(symout, "\t.globl %s\n" > - "\t.data\n" > -@@ -176,7 +177,7 @@ main(int argc, char *argv[]) > - fprintf(symout, "efi_guid_empty:\n"); > - > - uint8_t *guid_data = (uint8_t *) &outbuf[i].guid; > -- for (unsigned int j = 0; j < sizeof (efi_guid_t); j++) > -+ for (j = 0; j < sizeof (efi_guid_t); j++) > - fprintf(symout,"\t.byte 0x%02x\n", guid_data[j]); > - > - fprintf(symout, "%s_end:\n", outbuf[i].symbol); > diff --git a/meta-oe/recipes-extended/efivar/efivar_0.21.bb > b/meta-oe/recipes-extended/efivar/efivar_0.21.bb > deleted file mode 100644 > index f7a4d55..0000000 > --- a/meta-oe/recipes-extended/efivar/efivar_0.21.bb > +++ /dev/null > @@ -1,39 +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" > - > -SRCREV = "aab6c2a64d90b6e5a63661fb5bd6be8d878b0784" > -SRC_URI = "git://github.com/rhinstaller/efivar.git" > -SRC_URI_append_class-target = " > file://0001-efivar-fix-for-cross-compile.patch" > -SRC_URI_append_class-native = " > file://efivar-drop-options-not-supported-by-lower-version-gcc.patch" > - > -S = "${WORKDIR}/git" > - > -do_install() { > - oe_runmake install DESTDIR=${D} > -} > - > -do_compile_class-native() { > - oe_runmake -C src makeguids > -} > - > -do_install_class-native() { > - install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids > -} > - > -BBCLASSEXTEND = "native" > - > -# See > -# > http://lists.openembedded.org/pipermail/openembedded-core/2016-February/116564.html > -# > http://lists.openembedded.org/pipermail/openembedded-core/2016-February/116571.html > -# > http://lists.openembedded.org/pipermail/openembedded-devel/2016-February/105802.html > -# > http://lists.openembedded.org/pipermail/openembedded-devel/2016-February/105786.html > -# but it's still broken: > -# > http://lists.openembedded.org/pipermail/openembedded-devel/2016-February/105825.html > -# > http://lists.openembedded.org/pipermail/openembedded-devel/2016-February/105830.html > -PNBLACKLIST[efivar] ?= "BROKEN: linux.c:27:30: fatal error: > linux/nvme_ioctl.h: No such file or directory" > diff --git a/meta-oe/recipes-extended/efivar/efivar_0.23.bb > b/meta-oe/recipes-extended/efivar/efivar_0.23.bb > new file mode 100644 > index 0000000..faffb79 > --- /dev/null > +++ b/meta-oe/recipes-extended/efivar/efivar_0.23.bb > @@ -0,0 +1,36 @@ > +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" > + > +SRCREV = "01abee43d6d6e755f56a4135ab5aa0bfad609ce2" > +SRC_URI = "git://github.com/rhinstaller/efivar.git" > +SRC_URI_append_class-target = " > file://0001-efivar-fix-for-cross-compile.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" > + > -- > 2.4.3 > > -- > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-devel -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com
signature.asc
Description: Digital signature
-- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel