Go to file
Thomas Petazzoni 28f67899e5 pkg-generic: detect incorrectly used package
In Buildroot, the selection of a package from a Config.in level and
from a Makefile level are completely disconnected. This can lead to
issues where the build of a package is triggered at the Makefile level
due to the package being listed in another package <pkg>_DEPENDENCIES
variable, even if that package is not enabled in the configuration.

This has for example been the case recently with python-can having
'python' in its <pkg>_DEPENDENCIES, while python-can could be enabled
when Python 3.x is used, in which case the 'python' package should not
be built.

To detect such issues more easily, this patch adds a check in the
package infrastructure. When the build process of a package is being
triggered, we verify that the package is enabled in the
configuration. We do this check in the "configure" step, since this
step is the first common step between the normal download case and the
"local site method" / "package override" case.

[Thomas: adjust the error message as suggested by Yann, to take into
account the fact that the problem might not be in a direct reverse
dependency, but in something higher up in the tree of reverse
dependencies.]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-29 19:34:21 +01:00
arch arch/arm: add help text to BR2_ARM_ENABLE_VFP 2015-12-27 12:22:43 +01:00
board configs: add readme.txt for the orangepipc defconfig 2015-12-29 18:05:15 +01:00
boot uboot: add COPY_OLD_LICENSE_FILE fix to rsync hook 2015-12-29 12:24:19 +01:00
configs configs: update cubieboard2 defconfig 2015-12-29 18:03:22 +01:00
docs docs/manual: document the new kconfig-package variable 2015-12-22 22:39:26 +01:00
fs fs/ext2: add options for extra space and extra inodes 2015-10-31 15:56:56 +01:00
linux Fix fallout after generated defconfig support 2015-12-23 09:54:14 +01:00
package pkg-generic: detect incorrectly used package 2015-12-29 19:34:21 +01:00
support support/download: protect from custom commands with spaces in args 2015-12-12 17:00:46 +01:00
system Merge branch 'next' 2015-12-01 23:24:07 +01:00
toolchain toolchain/external: Arago armv7 toolchain really requires a VFPv3 2015-12-27 12:17:55 +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
Config.in toolchain: granular choice for stack protector 2015-12-27 15:30:09 +01:00
Config.in.legacy toolchain: granular choice for stack protector 2015-12-27 15:30:09 +01:00
COPYING clarify license and fix website license link 2009-05-08 09:29:41 +02:00
Makefile Makefile: Add RANLIB to the list of critical variables to unexport 2015-12-22 11:07:08 +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

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.