There would be an "Argument list too long" error when the TMPDIR is in a deep
dir, for example, when "len(readlink -f TMPDIR) >= 350 (our supported value is
410)". Use "$(foreach ,,$(shell echo))" to fix it.

[YOCTO #5138]

Signed-off-by: Robert Yang <[email protected]>
---
 ...cripts-Makefile.headersinst-args-too-long.patch |   36 ++++++++++++++++++++
 .../linux-libc-headers/linux-libc-headers_3.10.bb  |    1 +
 2 files changed, 37 insertions(+)
 create mode 100644 
meta/recipes-kernel/linux-libc-headers/linux-libc-headers/scripts-Makefile.headersinst-args-too-long.patch

diff --git 
a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/scripts-Makefile.headersinst-args-too-long.patch
 
b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/scripts-Makefile.headersinst-args-too-long.patch
new file mode 100644
index 0000000..c0e1a06
--- /dev/null
+++ 
b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/scripts-Makefile.headersinst-args-too-long.patch
@@ -0,0 +1,36 @@
+Makefile.headersinst: fix "Argument list too long" error
+
+There would be an "Argument list too long" error when the src is in a
+deep dir, for example, when "len(readlink -f src_dir) >= 400", use
+"$(foreach ,,$(shell echo))" to fix it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <[email protected]>
+---
+ scripts/Makefile.headersinst |    7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst
+--- a/scripts/Makefile.headersinst
++++ b/scripts/Makefile.headersinst
+@@ -98,10 +98,15 @@ __headersinst: $(subdirs) $(install-file)
+       @:
+ 
+ targets += $(install-file)
++# Use the $(foreach ,,$(shell echo)) to avoid the "Argument list too
++# long" error, and use the "$(shell echo)" rather than "echo" to keep
++# the order.
+ $(install-file): scripts/headers_install.sh $(input-files) FORCE
+       $(if $(unwanted),$(call cmd,remove),)
+       $(if $(wildcard $(dir $@)),,$(shell mkdir -p $(dir $@)))
+-      @echo $(input-files) > $(INSTALL_HDR_PATH)/.input-files
++      $(shell echo -n > $(INSTALL_HDR_PATH)/.input-files)
++      $(foreach f,$(input-files),$(shell echo -n "$(f) " >> \
++                      $(INSTALL_HDR_PATH)/.input-files))
+       $(call if_changed,install)
+       @rm $(INSTALL_HDR_PATH)/.input-files
+ 
+-- 
+1.7.10.4
+
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb 
b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
index 65df230..d056e7c 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
@@ -2,6 +2,7 @@ require linux-libc-headers.inc
 
 SRC_URI += "file://0001-ptrace.h-remove-ptrace_peeksiginfo_args.patch"
 SRC_URI += "file://scripts-Makefile.headersinst-install-headers-from-sc.patch"
+SRC_URI += "file://scripts-Makefile.headersinst-args-too-long.patch"
 
 SRC_URI[md5sum] = "72d0a9b3e60cd86fabcd3f24b1708944"
 SRC_URI[sha256sum] = 
"46c9e55e1fddf40813b8d697d5645037a8e2af5c1a8dff52b3fe82b5021582b8"
-- 
1.7.10.4

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to