Buildroot fork.
 
 
 
 
 
 
Go to file
Thomas De Schampheleire beddd71c57 toolchain-external: don't exclude too much lib in sysroot rsync
The copy_toolchain_sysroot helper in toolchain/helpers.mk performs an
rsync of various directories from the extracted external toolchain to the
corresponding directory in staging.

The relevant (simplified) snippet is:
    for i in etc $${ARCH_LIB_DIR} sbin usr usr/$${ARCH_LIB_DIR}; do \
            rsync -au --chmod=u=rwX,go=rX --exclude 'usr/lib/locale' \
                    --exclude lib --exclude lib32 --exclude lib64 \
                    $${ARCH_SYSROOT_DIR}/$$i/ $(STAGING_DIR)/$$i/ ; \
    done ; \

The exclusion logic of lib/lib32/lib64 has been added by commit
5628776c4a with the purpose of only copying
the relevant usr/lib* directory from the toolchain to staging, instead of
all. For example, if ARCH_LIB_DIR is 'lib64', then only usr/lib64 would be
copied and usr/lib and usr/lib32 are ignored. It works by ignoring any
lib/lib32/lib64 subdirectory on the rsync of 'usr' and then separately
copying usr/{lib,lib32,lib64} as appropriate. (The exclusion rules only have
impact on the files beneath the main source directory.)

However, on the rsync of 'usr', ANY of the following directories AND files
would be excluded:
    lib/
    lib
    lib32/
    foobar/something/lib/
    something-else/lib64/

while it is only the intention to skip directories directly under usr.

Therefore, add a leading (to restrict the scope to first-level) and trailing
(to restrict to directories) slash to the exclude pattern. From 'man rsync':

    - if the pattern starts with a / then it is anchored to [..] the root of
      the transfer.
    - if the pattern ends with a / then it will only match a directory, not
      a regular file, symlink, or device.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 14:19:34 +01:00
arch Add ARM11 MPCore CPU target support 2016-01-03 22:35:22 +01:00
board board: add support for Freescale i.MX6UL Evaluation Kit 2016-01-31 23:43:26 +01:00
boot uboot: remove unused helper function insert_define 2016-01-18 10:10:50 +01:00
configs board: add support for Freescale i.MX6UL Evaluation Kit 2016-01-31 23:43:26 +01:00
docs docs/manual: makedev syntax accepts usernames and group names 2016-02-01 08:02:38 +01:00
fs fs/common: generate users before setting permissions 2016-02-01 07:25:36 +01:00
linux linux: handle read-only dts files 2016-01-19 21:46:58 +01:00
package package/libseccomp: fix musl build 2016-02-01 14:11:33 +01:00
support support/scripts: drop ancient build-ext3-img script 2016-02-01 11:51:08 +01:00
system Makefile: drop ldconfig handling 2016-01-03 21:46:07 +01:00
toolchain toolchain-external: don't exclude too much lib in sysroot rsync 2016-02-01 14:19:34 +01:00
.defconfig arch: kill avr32 2015-02-14 17:39:50 +01:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
CHANGES Update for 2015.11 2015-11-30 23:13:41 +01:00
COPYING clarify license and fix website license link 2009-05-08 09:29:41 +02:00
Config.in libungif: remove deprecated 2016-01-20 21:14:10 +01:00
Config.in.legacy package/cups: Un-deprecate, and update CUPS to 2.1.2 2016-01-21 23:37:01 +01:00
Makefile core: override the user's locale while setting HOSTARCH 2016-01-20 23:00:01 +01:00
Makefile.legacy Makefile.legacy: fix recursive invocation with BUILDROOT_DL_DIR and _CONFIG 2014-02-11 08:14:57 +01:00
README README: mention 'make list-defconfigs' 2015-04-04 15:19:43 +02:00

README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.