aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/package-metadata.pl
Commit message (Collapse)AuthorAgeFilesLines
* scripts/package-metadata.pl: inhibit compile deps on missing build typesJo-Philipp Wich2017-12-131-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a package declares a PKG_BUILD_DEPENDENCY or HOST_BUILD_DEPENDENCY on a not existing build type, the metadata script will emit a reference to an unresolvable build target in tmp/.packagedeps, causing the make process to fail hard in a way not catchable by the IGNORE_ERRORS mechanism. In a situation where a package "test-a" declares a build dependency "PKG_BUILD_DEPENDS:=test-b/host" while the Makefile of "test-b" does not implement a HostBuild, make fails with an unrecoverable error in the form: make[1]: Entering directory '...' make[1]: *** No rule to make target 'package/test-b/host/compile', needed by 'package/test-a/compile'. Stop. make[1]: Leaving directory '...' .../toplevel.mk:200: recipe for target 'package/test-a/compile' failed make: *** [package/test-a/compile] Error 2 Extend the metadata generation script to catch such unresolved references and emit a visable warning upon detection. After this change, the script will emit a warning similar to: WARNING: Makefile "package/test-a/Makefile" has a build dependency on "test-b/host" but "package/test-b/Makefile" does not implement a "host" build type Fixes a global build cluster outage which occured after the "python-cffi" feed package removed its HostBuild which the "python-cryptography" package build-depended on. Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit bf5d32af2a675f7577b388b5eef2a11e6ce042eb)
* scripts/package-metadata.pl: fix overriding conditional dependencies with ↵Felix Fietkau2017-01-111-0/+2
| | | | | | | | | | | conditional select Conditional dependencies use the '(!cond) || dep' syntax, whereas conditional select uses 'dep if cond'. Add an extra check to suppress emitting a conditional if an equal conditional select already exists. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/package-metadata.pl: honour DEFAULT_VARIANTJo-Philipp Wich2016-11-021-2/+15
| | | | | | | | | | | | So far, package-metadata.pl always considered the first provider of a virtual package to be the default variant which might deviate from what buildroot considers to be the default. Change the Kconfig dependency / select code generation for virtual package providers to consider the DEFAULT_VARIANT to be the primary provider and only fall back to the first provider if no default variant was explicitely tagged. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* scripts/package-metadata.pl: fix handling of virtual (PROVIDES) dependsJo-Philipp Wich2016-11-021-2/+2
| | | | | | | | | | | | Currently the code emitting dependencies for provide candidates is overwriting the specification calculated by the previous conditional dependency handling code, rendering dependencies on virtual PROVIDES packages in conjunction with conditional dependencies unusable. Instead of overwriting, append the PROVIDES dependency spec in order to fix using DEPENDS on virtual provider packages in conjunction with conditions. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* scripts: fix build warning when overriding packagesZefir Kurtisi2016-10-151-1/+1
| | | | | | | | | | | | | If core packages are overridden, CONFIG_OVERRIDE_PKGS is set based on the scan order of packages, which eventually causes that config value to be modified on each build and with that causes the build process to warn for configuration being out of sync. This commit changes the CONFIG_OVERRIDE_PKGS to be sorted and prevents that false warning. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
* scripts/package-metadata.pl: fix generation of dependencies on virtual packagesMatthias Schiffer2016-09-231-1/+4
| | | | | | | | Dependencies on purely virtual packages (satisfied by PROVIDES) that were not using "selects" ("+" flag) would be prepended with the prefix "PACKAGE_" twice, breaking the first alternative. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* scripts/package-metadata.pl: fix kmod pakage dependencies within the SDKFelix Fietkau2016-07-071-0/+1
| | | | | | | | | | Instead of ignoring all metadata for package/kernel/linux, process it and only suppress emitting config data to tmp/.config-package.in This ensures that packages that select kmod-* packages can inherit their depdendencies. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: split scripts/metadata.pl into target-metadata.pl and package-metadata.plFelix Fietkau2016-06-071-0/+645
Signed-off-by: Felix Fietkau <nbd@nbd.name>