Go to file
Yann E. MORIN e36974d9e8 support/dependencies: detect and bailout when PATH contains spaces/TABs
In Makefiles, variables are split, filtered, and otherwise mangled on
a space as a separator. In a shell, they will also be split on TABs.

We split and filter and iterate on variables in a lot of places, and
most importantly, spaces in PATH is very seldom tested, if at all, so
a lot of packages will not be working properly in such a situation.

For example, the config.guess contains constructs that are not resilient
to a space in PATH:

    PATH=$PATH:/.attbin ; export PATH

Also, our fakedate will iterate over PATH:

    for P in `echo $PATH | tr ':' ' '`; do

Those are only two cases, but the first means basically all
autotools-based packages are susceptible to subtle breakage.

Furthermore, Buildroot itself does not support that the top-level or
output directories are in a path with spaces anyway.

So, instead of chasing all cases that might be potentially broken,
let's just detect the case and bail out, like we already do when PATH
contains a \n, or when it contains the current working directory.

Reported-by: Dan Raymond <draymond@foxvalley.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-03-14 23:29:15 +01:00
arch ARC: Add support for generic HS48 processor 2021-01-16 09:58:26 +01:00
board Merge branch 'next' 2021-03-08 08:06:00 +01:00
boot boot/grub2: Backport 2021/03/02 securify fixes 2021-03-14 08:24:24 +01:00
configs Merge branch 'next' 2021-03-08 08:06:00 +01:00
docs docs/website: adjust link to Buildroot training course 2021-03-12 22:04:21 +01:00
fs fs/cpio: add zstd as compression option 2021-01-16 22:45:34 +01:00
linux Merge branch 'next' 2021-03-08 08:06:00 +01:00
package package/sconeserver: pcre is optional, not mandatory 2021-03-14 23:28:02 +01:00
support support/dependencies: detect and bailout when PATH contains spaces/TABs 2021-03-14 23:29:15 +01:00
system system: support br2-external init systems 2020-10-14 22:48:42 +02:00
toolchain toolchain: introduce BR2_TOOLCHAIN_HAS_BINUTILS_BUG_21464 2021-03-14 22:33:09 +01:00
utils utils/scanpypi: use python3 explicitly 2021-02-20 17:42:46 +01:00
.defconfig
.flake8 Revert ".flake8: fix check for 80/132 columns" 2021-01-02 17:38:20 +01:00
.gitignore
.gitlab-ci.yml gitlab-ci: update the image version 2020-08-15 09:47:00 +02:00
CHANGES Update for 2021.02 2021-03-06 22:16:45 +01:00
Config.in Config.in: update BR2_OPTIMIZE_FAST prompt and help text 2020-07-18 16:05:01 +02:00
Config.in.legacy package/kodi-screensaver-crystalmorph: remove package 2021-03-06 21:30:27 +01:00
COPYING
DEVELOPERS DEVELOPERS: Add Ryan Barnett for opkg and opkg-utils 2021-03-14 19:37:59 +01:00
Makefile Kickoff 2021.05 cycle 2021-03-07 13:02:09 +01:00
Makefile.legacy
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.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches