[OE-core] [PATCH 1/1] linux-libc-headers: do_install: fix "Argument list too long" error
Robert Yang
liezhi.yang at windriver.com
Fri Sep 13 08:23:52 UTC 2013
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 <liezhi.yang at windriver.com>
---
...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 <liezhi.yang at windriver.com>
+---
+ 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
More information about the Openembedded-core
mailing list