diff mbox

[oe,meta-oe,v2,1/2] efivar: update to 0.23

Message ID 1457075695-17045-1-git-send-email-koen.kooi@linaro.org
State New
Headers show

Commit Message

Koen Kooi March 4, 2016, 7:14 a.m. UTC
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.

Signed-off-by: Koen Kooi <koen.kooi@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

-- 
2.4.3

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Comments

Koen Kooi March 4, 2016, 2:16 p.m. UTC | #1
On 4 March 2016 at 14:34, Martin Jansa <martin.jansa@gmail.com> wrote:
> 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)?


I've patched out the static build in v3, that should fix this.

regards,

Koen


>

> 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.kooi@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.kang@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.kang@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.Jansa@gmail.com




-- 
Koen Kooi

Builds and Baselines | Release Manager
Linaro.org | Open source software for ARM SoCs
-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Koen Kooi March 22, 2016, 11:38 a.m. UTC | #2
On 5 March 2016 at 13:33, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Fri, Mar 04, 2016 at 04:09:14PM +0100, Martin Jansa wrote:

>> On Fri, Mar 04, 2016 at 03:16:22PM +0100, Koen Kooi wrote:

>> > On 4 March 2016 at 14:34, Martin Jansa <martin.jansa@gmail.com> wrote:

>> > > 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)?

>> >

>> > I've patched out the static build in v3, that should fix this.

>>

>> Thanks for quick updated, applied in master-next with small indentation

>> fix.

>

> Well, almost there


I'm looking at it this week, hopefully I'll get something done before
heading to ELC.

>

> one build failed with:

> | i586-oe-linux-gcc  -m32 -march=i586

> --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemux86

> -O2 -pipe -g -feliminate-unused-debug-types

> -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/efivar/0.23-r0/git=/usr/src/efivar

> -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/efivar/0.23-r0/git=/usr/src/efivar

> -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux=

> -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemux86=

> -I/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/efivar/0.23-r0/git/src/include/efivar/

> -specs=/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/efivar/0.23-r0/git/gcc.specs

> -L.  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed     -shared \

> |         -Wl,-soname,libefivar.so.0 \

> |         -o libefivar.so dp.o dp-acpi.o dp-hw.o dp-media.o dp-message.o

> efivarfs.o export.o guid.o guids.o guid-symbols.o lib.o vars.o -ldl

> |

> /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/i586-oe-linux/gcc/i586-oe-linux/5.3.0/ld:

> --default-symver: unknown option

> |

> /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/i586-oe-linux/gcc/i586-oe-linux/5.3.0/ld:

> use the --help option for usage information

> | collect2: error: ld returned 1 exit status

> | make[1]: *** [libefivar.so] Error 1

> | make[1]: *** Waiting for unfinished jobs....

>

> 2nd one failed with:

>

> | install -d -m 755 efivar/0.23-r0/image/usr/lib/pkgconfig/

> | install -m 644 efivar.pc efivar/0.23-r0/image/usr/lib/pkgconfig/

> ;  install -m 644 efiboot.pc efivar/0.23-r0/image/usr/lib/pkgconfig/

> ;

> | install: cannot stat 'efivar.pc': No such file or directory

> | install: cannot stat 'efiboot.pc': No such file or directory

> | make[1]: *** [install] Error 1

> | make[1]: Leaving directory `efivar/0.23-r0/git/src'

> | make: *** [install] Error 2

> | ERROR: oe_runmake failed

>

>

>> > > 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.kooi@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.kang@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.kang@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.Jansa@gmail.com

>> >

>> >

>> >

>> > --

>> > Koen Kooi

>> >

>> > Builds and Baselines | Release Manager

>> > Linaro.org | Open source software for ARM SoCs

>>

>> --

>> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

>

>

>

> --

> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com




-- 
Koen Kooi

Builds and Baselines | Release Manager
Linaro.org | Open source software for ARM SoCs
-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Koen Kooi March 23, 2016, 7:45 a.m. UTC | #3
On 22 March 2016 at 12:38, Koen Kooi <koen.kooi@linaro.org> wrote:
> On 5 March 2016 at 13:33, Martin Jansa <martin.jansa@gmail.com> wrote:

>> On Fri, Mar 04, 2016 at 04:09:14PM +0100, Martin Jansa wrote:

>>> On Fri, Mar 04, 2016 at 03:16:22PM +0100, Koen Kooi wrote:

>>> > On 4 March 2016 at 14:34, Martin Jansa <martin.jansa@gmail.com> wrote:

>>> > > 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)?

>>> >

>>> > I've patched out the static build in v3, that should fix this.

>>>

>>> Thanks for quick updated, applied in master-next with small indentation

>>> fix.

>>

>> Well, almost there

>

> I'm looking at it this week, hopefully I'll get something done before

> heading to ELC.


I can't reproduce that error locally:

Build Configuration:
BB_VERSION        = "1.29.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Fedora-22"
TARGET_SYS        = "i586-oe-linux"
MACHINE           = "qemux86"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta-oe
meta-filesystems
meta-initramfs
meta-webserver
meta-python
meta-networking
meta-gnome        = "HEAD:47498d15e9d68e1cc50947633aba9e2b3d29da85"
meta-aarch64
meta-ilp32
meta-bigendian
meta-linaro
meta-linaro-toolchain
meta-linaro-integration = "master:e71e6db6585f34dbab2ac4645801528614d7e274"
meta-virtualization = "HEAD:f3e598729639546303e4bf041989417efe23613d"
meta-browser      = "HEAD:a3789a4168fcd42f1cdf5b5febe2c779a9467919"
meta              = "HEAD:9c200760cbbe322ed884729eb395f389c863e1c8"

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 1932 tasks of which 850 didn't need to
be rerun and all succeeded.

[koen@thinkpad build]$ find build/tmp-glibc/deploy/ -name "efi*ipk"
build/tmp-glibc/deploy/ipk/aarch64/efivar-dev_0.23-r0_aarch64.ipk
build/tmp-glibc/deploy/ipk/aarch64/efibootmgr-dbg_0.12-r0_aarch64.ipk
build/tmp-glibc/deploy/ipk/aarch64/efivar-doc_0.23-r0_aarch64.ipk
build/tmp-glibc/deploy/ipk/aarch64/efivar_0.23-r0_aarch64.ipk
build/tmp-glibc/deploy/ipk/aarch64/efibootmgr_0.12-r0_aarch64.ipk
build/tmp-glibc/deploy/ipk/aarch64/efibootmgr-dev_0.12-r0_aarch64.ipk
build/tmp-glibc/deploy/ipk/aarch64/efivar-dbg_0.23-r0_aarch64.ipk
build/tmp-glibc/deploy/ipk/i586/efivar_0.23-r0_i586.ipk
build/tmp-glibc/deploy/ipk/i586/efivar-doc_0.23-r0_i586.ipk
build/tmp-glibc/deploy/ipk/i586/efivar-dev_0.23-r0_i586.ipk
build/tmp-glibc/deploy/ipk/i586/efibootmgr-dev_0.12-r0_i586.ipk
build/tmp-glibc/deploy/ipk/i586/efivar-dbg_0.23-r0_i586.ipk
build/tmp-glibc/deploy/ipk/i586/efibootmgr_0.12-r0_i586.ipk
build/tmp-glibc/deploy/ipk/i586/efibootmgr-dbg_0.12-r0_i586.ipk
[koen@thinkpad build]$


>

>>

>> one build failed with:

>> | i586-oe-linux-gcc  -m32 -march=i586

>> --sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemux86

>> -O2 -pipe -g -feliminate-unused-debug-types

>> -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/efivar/0.23-r0/git=/usr/src/efivar

>> -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/efivar/0.23-r0/git=/usr/src/efivar

>> -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux=

>> -fdebug-prefix-map=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemux86=

>> -I/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/efivar/0.23-r0/git/src/include/efivar/

>> -specs=/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/efivar/0.23-r0/git/gcc.specs

>> -L.  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed     -shared \

>> |         -Wl,-soname,libefivar.so.0 \

>> |         -o libefivar.so dp.o dp-acpi.o dp-hw.o dp-media.o dp-message.o

>> efivarfs.o export.o guid.o guids.o guid-symbols.o lib.o vars.o -ldl

>> |

>> /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/i586-oe-linux/gcc/i586-oe-linux/5.3.0/ld:

>> --default-symver: unknown option

>> |

>> /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/i586-oe-linux/gcc/i586-oe-linux/5.3.0/ld:

>> use the --help option for usage information

>> | collect2: error: ld returned 1 exit status

>> | make[1]: *** [libefivar.so] Error 1

>> | make[1]: *** Waiting for unfinished jobs....

>>

>> 2nd one failed with:

>>

>> | install -d -m 755 efivar/0.23-r0/image/usr/lib/pkgconfig/

>> | install -m 644 efivar.pc efivar/0.23-r0/image/usr/lib/pkgconfig/

>> ;  install -m 644 efiboot.pc efivar/0.23-r0/image/usr/lib/pkgconfig/

>> ;

>> | install: cannot stat 'efivar.pc': No such file or directory

>> | install: cannot stat 'efiboot.pc': No such file or directory

>> | make[1]: *** [install] Error 1

>> | make[1]: Leaving directory `efivar/0.23-r0/git/src'

>> | make: *** [install] Error 2

>> | ERROR: oe_runmake failed

>>

>>

>>> > > 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.kooi@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.kang@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.kang@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.Jansa@gmail.com

>>> >

>>> >

>>> >

>>> > --

>>> > Koen Kooi

>>> >

>>> > Builds and Baselines | Release Manager

>>> > Linaro.org | Open source software for ARM SoCs

>>>

>>> --

>>> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

>>

>>

>>

>> --

>> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

>

>

>

> --

> Koen Kooi

>

> Builds and Baselines | Release Manager

> Linaro.org | Open source software for ARM SoCs




-- 
Koen Kooi

Builds and Baselines | Release Manager
Linaro.org | Open source software for ARM SoCs
-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
diff mbox

Patch

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.kang@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.kang@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"
+