]> code.ossystems Code Review - openembedded-core.git/commit
linux-libc-headers: fix headers install in long path name environments
authorBruce Ashfield <bruce.ashfield@windriver.com>
Thu, 10 Jan 2013 20:49:16 +0000 (15:49 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 10 Jan 2013 23:53:47 +0000 (23:53 +0000)
commit1e63a3b7b7915d40bb59976a02b9f53968997ed3
tree7a6bc7c598763217fce4c0b96905503178d7b436
parent16c0556808029a0f6a3f91a726b14626e9489498
linux-libc-headers: fix headers install in long path name environments

If a build is started in a deep directory structure, or in a path with
long directory names the installation of linux-libc-headers will fail
with:

  | make[2]: execvp: /bin/sh: Argument list too long
  | make[2]: ***

>From within the kernel Makefiles themselves.

The solution is to patch the kernel build rules with the following
change:

[
    scripts/Makefile.headersinst: install headers from scratch file

    If headers_install is executed from a deep/long directory structure, the
    shell's maximum argument length can be execeeded, which breaks the operation
    with:

    | make[2]: execvp: /bin/sh: Argument list too long
    | make[2]: ***

    By dumping the input files to a scratch file and using xargs to read the
    input list from the scratch file, we can avoid blowing out the maximum
    argument size and install headers in a long path name environment.
]

Until this change, or a similar one, is merged into the mainline kernel, this
change should be applied to any 3.7 or greater libc-headers build.

Upstream-status: Pending

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-kernel/linux-libc-headers/linux-libc-headers/scripts-Makefile.headersinst-install-headers-from-sc.patch [new file with mode: 0644]
meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.7.bb