build: add buildbot specific config option for setting defaults
authorFelix Fietkau <nbd@nbd.name>
Tue, 14 Feb 2017 11:24:07 +0000 (12:24 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 15 Feb 2017 10:37:13 +0000 (11:37 +0100)
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>
config/Config-build.in
package/base-files/image-config.in
scripts/target-metadata.pl
target/imagebuilder/Config.in
target/sdk/Config.in

index 9b8e4b22839c55d78c7ef3462d9eb1c4b400e8f8..e0889fcccfc29b1364861933ceaa9e8595a697a6 100644 (file)
@@ -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
index 0439206bb63e8a16f0b43336e0e1b86410cc7fe8..b60053046a5cfea208d8ac6a719614f06f63841e 100644 (file)
@@ -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.
index 7f7dc6d4ee77efdb814bd54a0836e6d927f0efee..31de3c74c835cef38643d2b075c2d8c2563f9a19 100755 (executable)
@@ -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
index b54eb5b4ffc6546d19cf53b4aed5d2ea85c6f5e5..49bb741f7330dad43035a4f05cfcfda098802133 100644 (file)
@@ -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
index df2532985e1c325c55e7dcef474c3911377ccd0a..095759d06418e949d3c9a8dfa9deb5d3962cf499 100644 (file)
@@ -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