[source] build: add buildbot specific config option for setting defaults

LEDE Commits lede-commits at lists.infradead.org
Wed Feb 15 02:38:12 PST 2017


nbd pushed a commit to source.git, branch lede-17.01:
https://git.lede-project.org/b8c9ded999bd740c6a7c5e2816f047f957f795ee

commit b8c9ded999bd740c6a7c5e2816f047f957f795ee
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Tue Feb 14 12:24:07 2017 +0100

    build: add buildbot specific config option for setting defaults
    
    This can be used to tweak the buildbot behavior without having to change
    buildbot's configuration.
    It will also allow us to add more aggressive clean steps (e.g. on
    toolchain changes), which would break developers' workflows if enable
    by default.
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 config/Config-build.in             | 14 ++++++++++++--
 package/base-files/image-config.in |  2 +-
 scripts/target-metadata.pl         |  5 ++++-
 target/imagebuilder/Config.in      |  3 ++-
 target/sdk/Config.in               |  1 +
 5 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/config/Config-build.in b/config/Config-build.in
index 9b8e4b2..e0889fc 100644
--- a/config/Config-build.in
+++ b/config/Config-build.in
@@ -9,7 +9,7 @@ menu "Global build settings"
 
 	config ALL_NONSHARED
 		bool "Select all target specific packages by default"
-		default ALL
+		default ALL || BUILDBOT
 
 	config ALL_KMODS
 		bool "Select all kernel module packages by default"
@@ -19,6 +19,16 @@ menu "Global build settings"
 		bool "Select all userspace packages by default"
 		default n
 
+	config BUILDBOT
+		bool "Set build defaults for automatic builds (e.g. via buildbot)"
+		default n
+		help
+		  This option changes several defaults to be more suitable for
+		  automatic builds. This includes the following changes:
+		  - Deleting build directories after compiling (to save space)
+		  - Enabling per-device rootfs support
+		  ...
+
 	config SIGNED_PACKAGES
 		bool "Cryptographically signed package lists"
 		default y
@@ -61,7 +71,7 @@ menu "Global build settings"
 		bool
 		prompt "Collect kernel debug information"
 		select KERNEL_DEBUG_INFO
-		default n
+		default BUILDBOT
 		help
 		  This collects debugging symbols from the kernel and all compiled modules.
 		  Useful for release builds, so that kernel issues can be debugged offline
diff --git a/package/base-files/image-config.in b/package/base-files/image-config.in
index 0439206..b600530 100644
--- a/package/base-files/image-config.in
+++ b/package/base-files/image-config.in
@@ -286,7 +286,7 @@ menuconfig PER_FEED_REPO
 
 	config PER_FEED_REPO_ADD_COMMENTED
 		bool "Comment out not enabled feeds"
-		default y
+		default !BUILDBOT
 		depends on PER_FEED_REPO && PER_FEED_REPO_ADD_DISABLED
 		help
 		  Add not enabled feeds as commented out source lines to opkg.conf.
diff --git a/scripts/target-metadata.pl b/scripts/target-metadata.pl
index 7f7dc6d..31de3c7 100755
--- a/scripts/target-metadata.pl
+++ b/scripts/target-metadata.pl
@@ -203,13 +203,14 @@ endchoice
 
 choice
 	prompt "Target Profile"
+	default TARGET_MULTI_PROFILE if BUILDBOT
 
 EOF
 	foreach my $target (@target) {
 		my $profile = $target->{profiles}->[0];
 		$profile or next;
 		print <<EOF;
-	default TARGET_$target->{conf}_$profile->{id} if TARGET_$target->{conf}
+	default TARGET_$target->{conf}_$profile->{id} if TARGET_$target->{conf} && !BUILDBOT
 EOF
 	}
 
@@ -256,9 +257,11 @@ menu "Target Devices"
 
 	config TARGET_ALL_PROFILES
 		bool "Enable all profiles by default"
+		default BUILDBOT
 
 	config TARGET_PER_DEVICE_ROOTFS
 		bool "Use a per-device root filesystem that adds profile packages"
+		default BUILDBOT
 		help
 		When disabled, all device packages from all selected devices
 		will be included in all images by default. (Marked as <*>) You will
diff --git a/target/imagebuilder/Config.in b/target/imagebuilder/Config.in
index b54eb5b..49bb741 100644
--- a/target/imagebuilder/Config.in
+++ b/target/imagebuilder/Config.in
@@ -1,6 +1,7 @@
 config IB
 	bool "Build the LEDE Image Builder"
 	depends on !EXTERNAL_TOOLCHAIN
+	default BUILDBOT
 	help
 	  This is essentially a stripped-down version of the buildroot
 	  with precompiled packages, kernel image and image building tools.
@@ -8,7 +9,7 @@ config IB
 
 config IB_STANDALONE
 	bool "Include package repositories"
-	default y
+	default y if !BUILDBOT
 	depends on IB
 	help
 	  Disabling this option will cause the ImageBuilder to embed only
diff --git a/target/sdk/Config.in b/target/sdk/Config.in
index df25329..095759d 100644
--- a/target/sdk/Config.in
+++ b/target/sdk/Config.in
@@ -1,6 +1,7 @@
 config SDK
 	bool "Build the LEDE SDK"
 	depends on !EXTERNAL_TOOLCHAIN
+	default BUILDBOT
 	help
 	  This is essentially a stripped-down version of the buildroot
 	  with a precompiled toolchain. It can be used to develop and



More information about the lede-commits mailing list