In some cases we need to escape make variables and pass them to
printf(1).
This is the case in our fs infra, where we want to shoe-horn the
commands to generate the filesystems in the fakeroot script, or the
devices, permissions and users tables to their respective files.
We currently do so by replacing $(sep) with the literal '\n' but that's
not enough. This does not protect against strings with an embedded '%'
or a backslash.
Add a new macro that properly escapes a string and calls printf(1), so
that we get the expected output.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: don't use the helper.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Note that the uclibc-menuconfig rule was guarded behind
BR2_TOOLCHAIN_BUILDROOT, which is wrong since we can build
glibc or musl toolchains too...
This is de facto fixed by moving the help text to the uClibc package.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: don't use the helper.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: don't use the helper.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: don't use a helper.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently, all our internal packages provide actions that are prefixed
with their own names. This makes it obvious what package the action
refer to.
However, the help commands are really free-form. This means that
packages (and especially packages from a br2-external tree) may provide
completely arbitrary help text.
As such, all that text can get pretty easily mixed up, and it will be
very difficult to read.
Prefix each package-specific help text with the name of the package it
refers to. This generate a "make help" that looks like:
[...]
Package-specific:
<pkg> - Build and install <pkg> and all its dependencies
<pkg>-source - Only download the source files for <pkg>
<pkg>-extract - Extract <pkg> sources
<pkg>-patch - Apply patches to <pkg>
<pkg>-depends - Build <pkg>'s dependencies
<pkg>-configure - Build <pkg> up to the configure step
<pkg>-build - Build <pkg> up to the build step
<pkg>-graph-depends - Generate a graph of <pkg>'s dependencies
<pkg>-dirclean - Remove <pkg> build directory
<pkg>-reconfigure - Restart the build from the configure step
<pkg>-rebuild - Restart the build from the build step
busybox:
busybox-menuconfig - Run BusyBox menuconfig
busybox-nconfig - Run BusyBox nconfig
barebox:
barebox-menuconfig - Run barebox menuconfig
barebox-savedefconfig - Run barebox savedefconfig
linux:
linux-menuconfig - Run Linux kernel menuconfig
linux-savedefconfig - Run Linux kernel savedefconfig
linux-update-defconfig - Save the Linux configuration to the path specified
by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
Documentation:
manual - build manual in all formats
manual-html - build manual in HTML
[...]
(Note: busybox, barebox, linux help will be converted in followup
commits, they are represented here as an example of what this patch
does look like.)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add a package-variable to store the package-specific make rules.
Although this variable would be seldom used, we still document it.
However, we make sure the documentation explicitly states that this
variable should not be used (if it needs to be, the submitter of a
package will be told so during reviews).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Commit 7d0b7d3c27 ("configs/beaglebone: Use genimage
to produce the SD card image") introduce genimage usage,
but forgot to add the genimage config file. Fix it.
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Removed patch to fix docs install after upstream fixed the problem:
34e1d3b260
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Setting BR2_GCC_TARGET_ARCH is possible, but breaks
external toolchain users. m68k/cf defconfigs just
working without it.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
130-fix_build_with_gcc-6.patch is upstream so remove it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
mplayer has optional support for mpg123, to get reproducable builds
add mpg123 as optional dependency.
Linked libraries without this patch:
$ output/host/usr/bin/x86_64-linux-readelf -a output/target/usr/bin/mplayer | grep NEEDED
0x0000000000000001 (NEEDED) Shared library: [librt.so.1]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.1]
0x0000000000000001 (NEEDED) Shared library: [libdl.so.1]
0x0000000000000001 (NEEDED) Shared library: [libm.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.1]
Linked libraries after this patch:
$ output/host/usr/bin/x86_64-linux-readelf -a output/target/usr/bin/mplayer | grep NEEDED
0x0000000000000001 (NEEDED) Shared library: [librt.so.1]
0x0000000000000001 (NEEDED) Shared library: [libmpg123.so.0]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.1]
0x0000000000000001 (NEEDED) Shared library: [libdl.so.1]
0x0000000000000001 (NEEDED) Shared library: [libm.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.1]
Like with many other optional libraries detection of mpg123 is broken if
--enable-mpg123 is passed to configure leading to a build error:
libmpcodecs/ad_mpg123.o: In function `set_format':
ad_mpg123.c:(.text+0x63): undefined reference to `mpg123_getformat'
libmpcodecs/ad_mpg123.o: In function `decode_a_bit':
ad_mpg123.c:(.text+0x1b6): undefined reference to `mpg123_feed'
ad_mpg123.c:(.text+0x20e): undefined reference to `mpg123_replace_buffer'
ad_mpg123.c:(.text+0x223): undefined reference to `mpg123_decode_frame_64'
ad_mpg123.c:(.text+0x275): undefined reference to `mpg123_strerror'
[...]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For whatever reason this commit
https://git.busybox.net/buildroot/commit/package/kodi?id=668ce456448d671f30bf98c4d4819a88b0bf9f4e
did not make it into the master branch preventing to select the Kodi
package in menuconfig.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
.. and add the missing newline-at-end-of-file.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently selected version of U-Boot fails to compile.
Dying words are:
gcc -g -O2 -I/home/zeta/buildroot/buildroot/output/host/usr/include -c -o env_embedded.o /home/zeta/buildroot/buildroot/output/build/uboot-2013.10/common/env_embedded.c
/home/zeta/buildroot/buildroot/output/build/uboot-2013.10/lib/crc32.c:14:20: fatal error: common.h: No such file or directory
compilation terminated.
Makefile:258: recipe for target 'crc32.o' failed
Since it's quite old, instead of trying to fix it, let's
just upgrade.
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
[Thomas: added host dosfstools to the defconfig, needed to build a SD
card image with genimage when a FAT partition is listed in the
genimage configuration.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
There is no need for GNU make to run the testsuite.
The benefit is you can even try it on noMMU targets as
the script runs with busybox hush.
Parallel build of the testsuite seems to work well.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Point to the right website and tell the user the right name.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
aio.py is an experimental module, that is compatible with
Python 3 only, so remove it for Python 2 environment or it
will cause compilation errors.
Fixes:
http://autobuild.buildroot.org/results/f26/f26351da925d6ef3adea8053dc7fc24061554daf/
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Also, rebase kernel config and adapt kernel command line in grub config file
to follow mmc numbering change.
[Peter: drop now unused linux-4.4.config]
Signed-off-by: Vincent Stehlé <vincent.stehle@intel.com>
Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Build failed when "makeinfo" was missing on the build host.
This was happening because "makeinfo" is required to build .info targets
and make exited with error. The issue hadn't appeared before as there was
prebuilt documentation in ARC binutils tarballs, so no attempts had been
made to build docs.
Missing "makeinfo" only stops us from building docs
("missing" script already throws a warning on that regard).
Let's continue to build other targets.
Now exit code of the script called "missing" is checked.
The value 127 means that "makeinfo" is not available on the build host.
So when such value occurs, 0 is returned to the top level makefile.
Documentation is not being built but further build of binutils continues.
Fixes http://autobuild.buildroot.net/results/55c/55cd09a559016f4f252f0e4c27313b9806135cf4//
Signed-off-by: Zakharov Vlad <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>