[Buildroot] [PATCH v3 2/2] randconfig: seed with BR2_RAND_PRESEED_CONFIG_FILES
Arnout Vandecappelle (Essensium/Mind)
arnout at mind.be
Tue Oct 14 09:24:55 UTC 2014
Currently, randconfig is completely unusable. Instead, we use
randpackageconfig, with two use cases: in the autobuilders, and when
doing manual testing of the validity of depends/select chains. In both
cases, we actually want the possibility to explicitly select some
packages or to set a string value or to randomise between a choice or
to test bootloaders and kernels - all of this is currently impossible.
This patch adds a BR2_RAND_PRESEED_CONFIG_FILES environment variable
that can be set to a (set of) files with config options that should be
set or unset. randconfig and randpackageconfig will force these
values.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
Cc: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
v3:
- use 'cat' instead of 'cp', to support multiple files. [Yann]
v2:
- split off the fix for legacy
- apply to both randconfig and randpackageconfig
- rename to BR2_RAND_PRESEED_CONFIG_FILES because it supports
multiple files
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
Makefile | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 5bcaa77..070c2e8 100644
--- a/Makefile
+++ b/Makefile
@@ -732,6 +732,9 @@ oldconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
randconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
@mkdir -p $(BUILD_DIR)/buildroot-config
@rm -f $(CONFIG_DIR)/.config.nopkg
+ifneq ($(BR2_RAND_PRESEED_CONFIG_FILES),)
+ @cat $(BR2_RAND_PRESEED_CONFIG_FILES) > $(CONFIG_DIR)/.config.nopkg
+endif
@grep '^config ' Config.in.legacy | \
while read config pkg; do \
echo "# $$pkg is not set" >> $(CONFIG_DIR)/.config.nopkg; done
@@ -758,6 +761,9 @@ allnoconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
@mkdir -p $(BUILD_DIR)/buildroot-config
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
+ifneq ($(BR2_RAND_PRESEED_CONFIG_FILES),)
+ @grep BR2_PACKAGE_ $(BR2_RAND_PRESEED_CONFIG_FILES) >> $(CONFIG_DIR)/.config.nopkg
+endif
@grep '^config BR2_PACKAGE_' Config.in.legacy | \
while read config pkg; do \
echo "# $$pkg is not set" >> $(CONFIG_DIR)/.config.nopkg; done
@@ -870,13 +876,15 @@ help:
@echo ' oldconfig - resolve any unresolved symbols in .config'
@echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
- @echo ' randconfig - New config with random answer to all options'
+ @echo ' randconfig - New config with random answer to all options -'
+ @echo ' options can be forced by setting BR2_RAND_PRESEED_CONFIG_FILES'
@echo ' defconfig - New config with default answer to all options'
@echo ' BR2_DEFCONFIG, if set, is used as input'
@echo ' savedefconfig - Save current config as ./defconfig (minimal config)'
@echo ' allyesconfig - New config where all options are accepted with yes'
@echo ' allnoconfig - New config where all options are answered with no'
- @echo ' randpackageconfig - New config with random answer to package options'
+ @echo ' randpackageconfig - New config with random answer to package options -'
+ @echo ' options can be forced by setting BR2_RAND_PRESEED_CONFIG_FILES'
@echo ' allyespackageconfig - New config where pkg options are accepted with yes'
@echo ' allnopackageconfig - New config where package options are answered with no'
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
--
2.1.1
More information about the buildroot
mailing list