All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] efivar: update to 0.23
  2016-05-07  7:05 [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
@ 2016-05-07  7:01 ` Hongxu Jia
  2016-05-07  7:01 ` [PATCH 2/3] efibootmgr: update and unblacklist Hongxu Jia
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Hongxu Jia @ 2016-05-07  7:01 UTC (permalink / raw)
  To: openembedded-devel; +Cc: koen.kooi

From: Koen Kooi <koen.kooi@linaro.org>

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>
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 .../efivar/0001-efivar-fix-for-cross-compile.patch | 28 +++++----
 .../efivar/efivar/0002-disable-static-build.patch  | 33 ++++++++++
 ...ptions-not-supported-by-lower-version-gcc.patch | 71 ----------------------
 .../efivar/{efivar_0.21.bb => efivar_0.23.bb}      | 27 ++++----
 4 files changed, 62 insertions(+), 97 deletions(-)
 create mode 100644 meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
 delete mode 100644 meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch
 rename meta-oe/recipes-extended/efivar/{efivar_0.21.bb => efivar_0.23.bb} (46%)

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..6f6ca64 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
@@ -1,31 +1,35 @@
-From 7036e8b0dca61432970789e5397b6fb02b362c2b Mon Sep 17 00:00:00 2001
+From 9a3c480af653b37e62d1be04d49fe7a60a80168f Mon Sep 17 00:00:00 2001
 From: Kai Kang <kai.kang@windriver.com>
 Date: Fri, 25 Sep 2015 18:14:31 +0800
-Subject: [PATCH] efivar: fix for cross compile
+Subject: [PATCH 1/2] efivar: fix for cross compile
 
 It builds and calls elf file makeguids to generate a header file which
 doesn't work for cross compile. Fix it.
 
 Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Upstream-Status: Pending
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
 ---
  src/Makefile | 4 ++--
  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
+ makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT
 -- 
-2.6.0.rc2.10.gf4d9753
+2.4.3
 
diff --git a/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch b/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
new file mode 100644
index 0000000..951b159
--- /dev/null
+++ b/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
@@ -0,0 +1,33 @@
+From 126e0d3c1ad74cf5b0abe9e98ec444bcc3c83159 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen.kooi@linaro.org>
+Date: Fri, 4 Mar 2016 14:53:55 +0100
+Subject: [PATCH 2/2] disable static build
+
+Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+
+Upstream-Status: Inappropriate [meta-oe specific]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ src/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 1829d22..c7a0ca3 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -8,9 +8,9 @@ include $(TOPDIR)/Make.defaults
+ 
+ LIBTARGETS=libefivar.so libefiboot.so
+ STATICLIBTARGETS=libefivar.a libefiboot.a
+-BINTARGETS=efivar efivar-static
++BINTARGETS=efivar
+ PCTARGETS=efivar.pc efiboot.pc
+-TARGETS=$(LIBTARGETS) $(STATICLIBTARGETS) $(BINTARGETS) $(PCTARGETS)
++TARGETS=$(LIBTARGETS) $(BINTARGETS) $(PCTARGETS)
+ 
+ LIBEFIBOOT_SOURCES = crc32.c creator.c disk.c gpt.c linux.c loadopt.c
+ LIBEFIBOOT_OBJECTS = $(patsubst %.c,%.o,$(LIBEFIBOOT_SOURCES))
+-- 
+2.4.3
+
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.23.bb
similarity index 46%
rename from meta-oe/recipes-extended/efivar/efivar_0.21.bb
rename to meta-oe/recipes-extended/efivar/efivar_0.23.bb
index f7a4d55..b41be03 100644
--- a/meta-oe/recipes-extended/efivar/efivar_0.21.bb
+++ b/meta-oe/recipes-extended/efivar/efivar_0.23.bb
@@ -7,33 +7,32 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
 
 DEPENDS_class-target = "popt efivar-native"
 
-SRCREV = "aab6c2a64d90b6e5a63661fb5bd6be8d878b0784"
+SRCREV = "01abee43d6d6e755f56a4135ab5aa0bfad609ce2"
 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"
+SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \
+                                file://0002-disable-static-build.patch \
+                              "
 
 S = "${WORKDIR}/git"
 
-do_install() {
-    oe_runmake install DESTDIR=${D}
+# 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"
 
-# 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"
-- 
2.8.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/3] efibootmgr: update and unblacklist
  2016-05-07  7:05 [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
  2016-05-07  7:01 ` [PATCH 1/3] " Hongxu Jia
@ 2016-05-07  7:01 ` Hongxu Jia
  2016-05-07  7:01 ` [PATCH 3/3] efivar: fix do_install failed Hongxu Jia
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Hongxu Jia @ 2016-05-07  7:01 UTC (permalink / raw)
  To: openembedded-devel; +Cc: koen.kooi

From: Koen Kooi <koen.kooi@linaro.org>

Also fix style issues.

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
---
 meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb  | 14 +++++++-------
 meta-oe/recipes-extended/efibootmgr/files/ldflags.patch | 17 -----------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete mode 100644 meta-oe/recipes-extended/efibootmgr/files/ldflags.patch

diff --git a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
index 9b611ce..d80c89f 100644
--- a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
+++ b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
@@ -10,20 +10,20 @@ DEPENDS = "pciutils zlib efivar"
 
 COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
 
-SRC_URI = "https://github.com/rhinstaller/efibootmgr/releases/download/${BP}/${BP}.tar.bz2 \
-           file://ldflags.patch \
+SRCREV = "eb6e36c9064eae256cd60df24a977e3abd87fd16"
+SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
           "
 
-SRC_URI[md5sum] = "6647f5cd807bc8484135ba74fcbcc39a"
-SRC_URI[sha256sum] = "a66f5850677e86255d93cb1cead04c3c48a823a2b864c579321f2a07f00256e6"
+S = "${WORKDIR}/git"
+
+
+inherit pkgconfig
 
 EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/include `pkg-config --cflags efivar` \
                  -DEFIBOOTMGR_VERSION=\"$(RELEASE_MAJOR).$(RELEASE_MINOR)\" '"
 
 do_install () {
-    install -D -p -m0755 src/efibootmgr/efibootmgr ${D}/${sbindir}/efibootmgr
+    install -D -p -m0755 src/efibootmgr ${D}/${sbindir}/efibootmgr
 }
 
-inherit pkgconfig
 
-PNBLACKLIST[efibootmgr] ?= "Depends on blacklisted efivar"
diff --git a/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch b/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
deleted file mode 100644
index 0d5594a..0000000
--- a/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-Import this patch from meta-linaro.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
---- efibootmgr-0.5.4.orig/Makefile
-+++ efibootmgr-0.5.4/Makefile
-@@ -11,6 +11,8 @@
-   CFLAGS = $(EXTRA_CFLAGS) -DEFIBOOTMGR_VERSION=\"$(RELEASE_MAJOR).$(RELEASE_MINOR).$(RELEASE_SUBLEVEL)$(RELEASE_EXTRALEVEL)\" \
- 	    -Wall -g -D_FILE_OFFSET_BITS=64
- 
-+  LDFLAGS += -lz
-+
-   MODULES := src
- 
-   BINDIR := /usr/sbin
-- 
2.8.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/3] efivar: fix do_install failed
  2016-05-07  7:05 [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
  2016-05-07  7:01 ` [PATCH 1/3] " Hongxu Jia
  2016-05-07  7:01 ` [PATCH 2/3] efibootmgr: update and unblacklist Hongxu Jia
@ 2016-05-07  7:01 ` Hongxu Jia
  2016-05-07  7:07 ` [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
  2016-05-07  9:03 ` [meta-oe][PATCH] efibootmgr: sync with upstream while efivar upgraded " Hongxu Jia
  4 siblings, 0 replies; 10+ messages in thread
From: Hongxu Jia @ 2016-05-07  7:01 UTC (permalink / raw)
  To: openembedded-devel; +Cc: koen.kooi

It fixes efivar.pc not found:
...
| 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
...

Also sync with latest upstream

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 .../efivar/0003-efivar-fix-for-cross-compile.patch | 44 ++++++++++++++++++++++
 meta-oe/recipes-extended/efivar/efivar_0.23.bb     |  3 +-
 2 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch

diff --git a/meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch b/meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
new file mode 100644
index 0000000..3f43f2a
--- /dev/null
+++ b/meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
@@ -0,0 +1,44 @@
+From 7ead29ca6bb5e280ae07551cc3521281ecf73682 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 7 May 2016 02:06:47 -0400
+Subject: [PATCH] Makefile: fix efivar.pc not found
+
+It fixes efivar.pc not found:
+...
+| 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
+...
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/Makefile | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index c7a0ca3..ad9c427 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -78,7 +78,9 @@ install : all
+ 		ln -fs $(x).$(VERSION) $(DESTDIR)$(libdir)/$(x).$(MAJOR_VERSION);\
+ 		ln -fs $(x).$(VERSION) $(DESTDIR)$(libdir)/$(x); )
+ 	$(INSTALL) -d -m 755 $(DESTDIR)$(PCDIR)
+-	$(foreach x, $(PCTARGETS), $(INSTALL) -m 644 $(x) $(DESTDIR)$(PCDIR) ;)
++	$(foreach x, $(PCTARGETS), $(INSTALL) -m 644 $(TOPDIR)/src/$(x).in $(DESTDIR)$(PCDIR)/$(x) ;\
++		sed -i -e "s:@@LIBDIR@@:$(libdir):g" -e "s:@@VERSION@@:$(VERSION):g" \
++			$(DESTDIR)$(PCDIR)/$(x); )
+ 	$(INSTALL) -d -m 755 $(DESTDIR)$(includedir)/efivar
+ 	$(foreach x, $(wildcard $(TOPDIR)/src/include/efivar/*.h), $(INSTALL) -m 644 $(x) $(DESTDIR)$(includedir)/efivar/$(notdir $(x));)
+ 	$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)
+-- 
+2.8.1
+
diff --git a/meta-oe/recipes-extended/efivar/efivar_0.23.bb b/meta-oe/recipes-extended/efivar/efivar_0.23.bb
index b41be03..9c47461 100644
--- a/meta-oe/recipes-extended/efivar/efivar_0.23.bb
+++ b/meta-oe/recipes-extended/efivar/efivar_0.23.bb
@@ -7,10 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
 
 DEPENDS_class-target = "popt efivar-native"
 
-SRCREV = "01abee43d6d6e755f56a4135ab5aa0bfad609ce2"
+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 \
                               "
 
 S = "${WORKDIR}/git"
-- 
2.8.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH V4 0/3] efivar: update to 0.23
@ 2016-05-07  7:05 Hongxu Jia
  2016-05-07  7:01 ` [PATCH 1/3] " Hongxu Jia
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Hongxu Jia @ 2016-05-07  7:05 UTC (permalink / raw)
  To: openembedded-devel; +Cc: koen.kooi

Changed in V4:

- Fix 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

- Sync with latest upsteam
Hi Martin,

About your original 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....

I could not reproduce it, but from the log,
--default-symver is unknown option. And upstream
has fixed it in the following commit by removing option
'--default-symver' from gcc.specs
....
commit 975356c9486ff7fa0ec5534ef56cc6f519ad11b4
Author: Peter Jones <pjones@redhat.com>
Date:   Wed Mar 2 14:46:15 2016 -0500

    libefivar: get rid of our variadic mess in efi_set_variable()
....

//Hongxu

The following changes since commit a6c172e2713f0018c5ebac0f957cff28b7ac2630:

  poppler: add --std=c++11 to fix build with Qt 5.7 (2016-05-06 12:40:28 +0200)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib hongxu/fix-efivar
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=hongxu/fix-efivar

Hongxu Jia (1):
  efivar: fix do_install failed

Koen Kooi (2):
  efivar: update to 0.23
  efibootmgr: update and unblacklist

 .../recipes-extended/efibootmgr/efibootmgr_0.12.bb | 14 ++---
 .../efibootmgr/files/ldflags.patch                 | 17 ------
 .../efivar/0001-efivar-fix-for-cross-compile.patch | 28 +++++----
 .../efivar/efivar/0002-disable-static-build.patch  | 33 ++++++++++
 .../efivar/0003-efivar-fix-for-cross-compile.patch | 44 ++++++++++++++
 ...ptions-not-supported-by-lower-version-gcc.patch | 71 ----------------------
 .../efivar/{efivar_0.21.bb => efivar_0.23.bb}      | 28 ++++-----
 7 files changed, 114 insertions(+), 121 deletions(-)
 delete mode 100644 meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
 create mode 100644 meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
 create mode 100644 meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
 delete mode 100644 meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch
 rename meta-oe/recipes-extended/efivar/{efivar_0.21.bb => efivar_0.23.bb} (46%)

-- 
2.8.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V4 0/3] efivar: update to 0.23
  2016-05-07  7:05 [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
                   ` (2 preceding siblings ...)
  2016-05-07  7:01 ` [PATCH 3/3] efivar: fix do_install failed Hongxu Jia
@ 2016-05-07  7:07 ` Hongxu Jia
  2016-05-07  9:03 ` [meta-oe][PATCH] efibootmgr: sync with upstream while efivar upgraded " Hongxu Jia
  4 siblings, 0 replies; 10+ messages in thread
From: Hongxu Jia @ 2016-05-07  7:07 UTC (permalink / raw)
  To: openembedded-devel; +Cc: koen.kooi

Sorry for the duplicated noisy

//Hongxu


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [meta-oe][PATCH] efibootmgr: sync with upstream while efivar upgraded to 0.23
  2016-05-07  7:05 [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
                   ` (3 preceding siblings ...)
  2016-05-07  7:07 ` [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
@ 2016-05-07  9:03 ` Hongxu Jia
  2016-05-07  9:15   ` Hongxu Jia
  4 siblings, 1 reply; 10+ messages in thread
From: Hongxu Jia @ 2016-05-07  9:03 UTC (permalink / raw)
  To: openembedded-devel; +Cc: koen.kooi

Sync with upstream to have the following fix:
...
commit 53aa9cdf7f0746f91f39521d020b024103041384
Author: Peter Jones <pjones@redhat.com>
Date:   Thu Mar 3 09:50:03 2016 -0500

    Explicitly pass a mode to efi_set_variable() in all cases.

    We'll have to do this for efivar-0.24 .

    Signed-off-by: Peter Jones <pjones@redhat.com>
...

It failed compile failure:
...
efibootmgr.c: In function 'make_boot_var':
efibootmgr.c:305:7: error: too few arguments to function 'efi_set_variable'
  rc = efi_set_variable(boot->guid, boot->name, boot->data,
       ^
...

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
index d80c89f..0dee582 100644
--- a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
+++ b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
@@ -10,7 +10,7 @@ DEPENDS = "pciutils zlib efivar"
 
 COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
 
-SRCREV = "eb6e36c9064eae256cd60df24a977e3abd87fd16"
+SRCREV = "75d25807ba81cb724964c989012611272c8f1f5d"
 SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
           "
 
-- 
2.8.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [meta-oe][PATCH] efibootmgr: sync with upstream while efivar upgraded to 0.23
  2016-05-07  9:03 ` [meta-oe][PATCH] efibootmgr: sync with upstream while efivar upgraded " Hongxu Jia
@ 2016-05-07  9:15   ` Hongxu Jia
  0 siblings, 0 replies; 10+ messages in thread
From: Hongxu Jia @ 2016-05-07  9:15 UTC (permalink / raw)
  To: Martin Jansa; +Cc: koen.kooi, openembedded-devel

On 05/07/2016 05:03 PM, Hongxu Jia wrote:
> Sync with upstream to have the following fix:
> ...
> commit 53aa9cdf7f0746f91f39521d020b024103041384
> Author: Peter Jones <pjones@redhat.com>
> Date:   Thu Mar 3 09:50:03 2016 -0500
>
>      Explicitly pass a mode to efi_set_variable() in all cases.
>
>      We'll have to do this for efivar-0.24 .
>
>      Signed-off-by: Peter Jones <pjones@redhat.com>
> ...
>
> It failed compile failure:

s/failed/fixed/

Updated in 
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=hongxu/fix-efivar

//Hongxu

> ...
> efibootmgr.c: In function 'make_boot_var':
> efibootmgr.c:305:7: error: too few arguments to function 'efi_set_variable'
>    rc = efi_set_variable(boot->guid, boot->name, boot->data,
>         ^
> ...
>
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>   meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
> index d80c89f..0dee582 100644
> --- a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
> +++ b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
> @@ -10,7 +10,7 @@ DEPENDS = "pciutils zlib efivar"
>   
>   COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
>   
> -SRCREV = "eb6e36c9064eae256cd60df24a977e3abd87fd16"
> +SRCREV = "75d25807ba81cb724964c989012611272c8f1f5d"
>   SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
>             "
>   



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V4 0/3] efivar: update to 0.23
  2016-05-10 12:17 ` Martin Jansa
@ 2016-05-10 15:31   ` Hongxu Jia
  0 siblings, 0 replies; 10+ messages in thread
From: Hongxu Jia @ 2016-05-10 15:31 UTC (permalink / raw)
  To: Martin Jansa; +Cc: koen.kooi, openembedded-devel

On 05/10/2016 08:17 PM, Martin Jansa wrote:
> No it fails with different unknown option:
> http://errors.yoctoproject.org/Errors/Details/61934/
> http://errors.yoctoproject.org/Errors/Details/61951/
 From above log, unknown option is '-PIC'
...
i586-oe-linux/5.3.0/ld: -PIC: unknown option
...

As you suggested, I add 'ld-is-gold' to my build.
Yes, it could reproduce the failure, I will try to fix it.

//Hongxu


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH V4 0/3] efivar: update to 0.23
  2016-05-07  7:01 [PATCH V4 0/3] efivar: update " Hongxu Jia
@ 2016-05-10 12:17 ` Martin Jansa
  2016-05-10 15:31   ` Hongxu Jia
  0 siblings, 1 reply; 10+ messages in thread
From: Martin Jansa @ 2016-05-10 12:17 UTC (permalink / raw)
  To: Hongxu Jia; +Cc: koen.kooi, openembedded-devel

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

On Sat, May 07, 2016 at 03:01:24AM -0400, Hongxu Jia wrote:
> Changed in V4:
> 
> - Fix 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
> 
> - Sync with latest upsteam
> Hi Martin,
> 
> About your original 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....
> 
> I could not reproduce it, but from the log,
> --default-symver is unknown option. And upstream
> has fixed it in the following commit by removing option
> '--default-symver' from gcc.specs
> ....
> commit 975356c9486ff7fa0ec5534ef56cc6f519ad11b4
> Author: Peter Jones <pjones@redhat.com>
> Date:   Wed Mar 2 14:46:15 2016 -0500
> 
>     libefivar: get rid of our variadic mess in efi_set_variable()
> ....
> 
> //Hongxu

No it fails with different unknown option:
http://errors.yoctoproject.org/Errors/Details/61934/
http://errors.yoctoproject.org/Errors/Details/61951/

Maybe it's because my world builds are using gold which could be more
strict when parsing the options.

> The following changes since commit a6c172e2713f0018c5ebac0f957cff28b7ac2630:
> 
>   poppler: add --std=c++11 to fix build with Qt 5.7 (2016-05-06 12:40:28 +0200)
> 
> are available in the git repository at:
> 
>   git://git.openembedded.org/openembedded-core-contrib hongxu/fix-efivar
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=hongxu/fix-efivar
> 
> Hongxu Jia (1):
>   efivar: fix do_install failed
> 
> Koen Kooi (2):
>   efivar: update to 0.23
>   efibootmgr: update and unblacklist
> 
>  .../recipes-extended/efibootmgr/efibootmgr_0.12.bb | 14 ++---
>  .../efibootmgr/files/ldflags.patch                 | 17 ------
>  .../efivar/0001-efivar-fix-for-cross-compile.patch | 28 +++++----
>  .../efivar/efivar/0002-disable-static-build.patch  | 33 ++++++++++
>  .../efivar/0003-efivar-fix-for-cross-compile.patch | 44 ++++++++++++++
>  ...ptions-not-supported-by-lower-version-gcc.patch | 71 ----------------------
>  .../efivar/{efivar_0.21.bb => efivar_0.23.bb}      | 28 ++++-----
>  7 files changed, 114 insertions(+), 121 deletions(-)
>  delete mode 100644 meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
>  create mode 100644 meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
>  create mode 100644 meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
>  delete mode 100644 meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch
>  rename meta-oe/recipes-extended/efivar/{efivar_0.21.bb => efivar_0.23.bb} (46%)
> 
> -- 
> 2.8.1
> 

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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH V4 0/3] efivar: update to 0.23
@ 2016-05-07  7:01 Hongxu Jia
  2016-05-10 12:17 ` Martin Jansa
  0 siblings, 1 reply; 10+ messages in thread
From: Hongxu Jia @ 2016-05-07  7:01 UTC (permalink / raw)
  To: openembedded-devel; +Cc: koen.kooi

Changed in V4:

- Fix 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

- Sync with latest upsteam
Hi Martin,

About your original 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....

I could not reproduce it, but from the log,
--default-symver is unknown option. And upstream
has fixed it in the following commit by removing option
'--default-symver' from gcc.specs
....
commit 975356c9486ff7fa0ec5534ef56cc6f519ad11b4
Author: Peter Jones <pjones@redhat.com>
Date:   Wed Mar 2 14:46:15 2016 -0500

    libefivar: get rid of our variadic mess in efi_set_variable()
....

//Hongxu


The following changes since commit a6c172e2713f0018c5ebac0f957cff28b7ac2630:

  poppler: add --std=c++11 to fix build with Qt 5.7 (2016-05-06 12:40:28 +0200)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib hongxu/fix-efivar
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=hongxu/fix-efivar

Hongxu Jia (1):
  efivar: fix do_install failed

Koen Kooi (2):
  efivar: update to 0.23
  efibootmgr: update and unblacklist

 .../recipes-extended/efibootmgr/efibootmgr_0.12.bb | 14 ++---
 .../efibootmgr/files/ldflags.patch                 | 17 ------
 .../efivar/0001-efivar-fix-for-cross-compile.patch | 28 +++++----
 .../efivar/efivar/0002-disable-static-build.patch  | 33 ++++++++++
 .../efivar/0003-efivar-fix-for-cross-compile.patch | 44 ++++++++++++++
 ...ptions-not-supported-by-lower-version-gcc.patch | 71 ----------------------
 .../efivar/{efivar_0.21.bb => efivar_0.23.bb}      | 28 ++++-----
 7 files changed, 114 insertions(+), 121 deletions(-)
 delete mode 100644 meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
 create mode 100644 meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
 create mode 100644 meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
 delete mode 100644 meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch
 rename meta-oe/recipes-extended/efivar/{efivar_0.21.bb => efivar_0.23.bb} (46%)

-- 
2.8.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-05-10 15:31 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-07  7:05 [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
2016-05-07  7:01 ` [PATCH 1/3] " Hongxu Jia
2016-05-07  7:01 ` [PATCH 2/3] efibootmgr: update and unblacklist Hongxu Jia
2016-05-07  7:01 ` [PATCH 3/3] efivar: fix do_install failed Hongxu Jia
2016-05-07  7:07 ` [PATCH V4 0/3] efivar: update to 0.23 Hongxu Jia
2016-05-07  9:03 ` [meta-oe][PATCH] efibootmgr: sync with upstream while efivar upgraded " Hongxu Jia
2016-05-07  9:15   ` Hongxu Jia
  -- strict thread matches above, loose matches on Subject: below --
2016-05-07  7:01 [PATCH V4 0/3] efivar: update " Hongxu Jia
2016-05-10 12:17 ` Martin Jansa
2016-05-10 15:31   ` Hongxu Jia

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.