All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Koen Kooi <koen.kooi@linaro.org>
Cc: OpenEmbedded Devel List <openembedded-devel@lists.openembedded.org>
Subject: Re: [meta-oe][PATCH v2 1/2] efivar: update to 0.23
Date: Sat, 5 Mar 2016 13:33:04 +0100	[thread overview]
Message-ID: <20160305123304.GA2560@jama> (raw)
In-Reply-To: <20160304150914.GF2557@jama>

[-- Attachment #1: Type: text/plain, Size: 13466 bytes --]

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

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

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

  reply	other threads:[~2016-03-05 12:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-04  7:14 [meta-oe][PATCH v2 1/2] efivar: update to 0.23 Koen Kooi
2016-03-04  7:14 ` [meta-oe][PATCH v2 2/2] efibootmgr: update and unblacklist Koen Kooi
2016-03-04 13:34 ` [meta-oe][PATCH v2 1/2] efivar: update to 0.23 Martin Jansa
2016-03-04 14:16   ` Koen Kooi
2016-03-04 15:09     ` Martin Jansa
2016-03-05 12:33       ` Martin Jansa [this message]
2016-03-22 11:38         ` Koen Kooi
2016-03-23  7:45           ` Koen Kooi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160305123304.GA2560@jama \
    --to=martin.jansa@gmail.com \
    --cc=koen.kooi@linaro.org \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.