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@nbd.name>
This commit is contained in:
Felix Fietkau 2017-02-14 12:24:07 +01:00
parent f5977c0c0a
commit 9dcb921d90
5 changed files with 20 additions and 5 deletions

View file

@ -9,7 +9,7 @@ menu "Global build settings"
config ALL_NONSHARED config ALL_NONSHARED
bool "Select all target specific packages by default" bool "Select all target specific packages by default"
default ALL default ALL || BUILDBOT
config ALL_KMODS config ALL_KMODS
bool "Select all kernel module packages by default" bool "Select all kernel module packages by default"
@ -19,6 +19,16 @@ menu "Global build settings"
bool "Select all userspace packages by default" bool "Select all userspace packages by default"
default n 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 config SIGNED_PACKAGES
bool "Cryptographically signed package lists" bool "Cryptographically signed package lists"
default y default y
@ -61,7 +71,7 @@ menu "Global build settings"
bool bool
prompt "Collect kernel debug information" prompt "Collect kernel debug information"
select KERNEL_DEBUG_INFO select KERNEL_DEBUG_INFO
default n default BUILDBOT
help help
This collects debugging symbols from the kernel and all compiled modules. This collects debugging symbols from the kernel and all compiled modules.
Useful for release builds, so that kernel issues can be debugged offline Useful for release builds, so that kernel issues can be debugged offline

View file

@ -286,7 +286,7 @@ menuconfig PER_FEED_REPO
config PER_FEED_REPO_ADD_COMMENTED config PER_FEED_REPO_ADD_COMMENTED
bool "Comment out not enabled feeds" bool "Comment out not enabled feeds"
default y default !BUILDBOT
depends on PER_FEED_REPO && PER_FEED_REPO_ADD_DISABLED depends on PER_FEED_REPO && PER_FEED_REPO_ADD_DISABLED
help help
Add not enabled feeds as commented out source lines to opkg.conf. Add not enabled feeds as commented out source lines to opkg.conf.

View file

@ -203,13 +203,14 @@ endchoice
choice choice
prompt "Target Profile" prompt "Target Profile"
default TARGET_MULTI_PROFILE if BUILDBOT
EOF EOF
foreach my $target (@target) { foreach my $target (@target) {
my $profile = $target->{profiles}->[0]; my $profile = $target->{profiles}->[0];
$profile or next; $profile or next;
print <<EOF; print <<EOF;
default TARGET_$target->{conf}_$profile->{id} if TARGET_$target->{conf} default TARGET_$target->{conf}_$profile->{id} if TARGET_$target->{conf} && !BUILDBOT
EOF EOF
} }
@ -256,9 +257,11 @@ menu "Target Devices"
config TARGET_ALL_PROFILES config TARGET_ALL_PROFILES
bool "Enable all profiles by default" bool "Enable all profiles by default"
default BUILDBOT
config TARGET_PER_DEVICE_ROOTFS config TARGET_PER_DEVICE_ROOTFS
bool "Use a per-device root filesystem that adds profile packages" bool "Use a per-device root filesystem that adds profile packages"
default BUILDBOT
help help
When disabled, all device packages from all selected devices When disabled, all device packages from all selected devices
will be included in all images by default. (Marked as <*>) You will will be included in all images by default. (Marked as <*>) You will

View file

@ -1,6 +1,7 @@
config IB config IB
bool "Build the LEDE Image Builder" bool "Build the LEDE Image Builder"
depends on !EXTERNAL_TOOLCHAIN depends on !EXTERNAL_TOOLCHAIN
default BUILDBOT
help help
This is essentially a stripped-down version of the buildroot This is essentially a stripped-down version of the buildroot
with precompiled packages, kernel image and image building tools. with precompiled packages, kernel image and image building tools.
@ -8,7 +9,7 @@ config IB
config IB_STANDALONE config IB_STANDALONE
bool "Include package repositories" bool "Include package repositories"
default y default y if !BUILDBOT
depends on IB depends on IB
help help
Disabling this option will cause the ImageBuilder to embed only Disabling this option will cause the ImageBuilder to embed only

View file

@ -1,6 +1,7 @@
config SDK config SDK
bool "Build the LEDE SDK" bool "Build the LEDE SDK"
depends on !EXTERNAL_TOOLCHAIN depends on !EXTERNAL_TOOLCHAIN
default BUILDBOT
help help
This is essentially a stripped-down version of the buildroot This is essentially a stripped-down version of the buildroot
with a precompiled toolchain. It can be used to develop and with a precompiled toolchain. It can be used to develop and