From 941fc5e8c8fd48c31c97c9194d1bed786145f978 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 13 Apr 2016 17:24:12 +0200 Subject: [PATCH] global: introduce ALL_NONSHARED symbol Introduce a new symbol ALL_NONSHARED which selects all non-sharable packages by default. This option is mainly intented for buildbot setups to build the target dependant software subset only. Signed-off-by: Jo-Philipp Wich --- config/Config-build.in | 5 +++++ scripts/diffconfig.sh | 1 + scripts/metadata.pl | 11 +++++++---- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/config/Config-build.in b/config/Config-build.in index 5ad940ba6c..23cf83bc40 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -1,4 +1,5 @@ # Copyright (C) 2006-2013 OpenWrt.org +# Copyright (C) 2016 LEDE Project # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -6,6 +7,10 @@ menu "Global build settings" + config ALL_NONSHARED + bool "Select all target specific packages by default" + default ALL + config ALL_KMODS bool "Select all kernel module packages by default" default ALL diff --git a/scripts/diffconfig.sh b/scripts/diffconfig.sh index f195d1849b..9972a39132 100755 --- a/scripts/diffconfig.sh +++ b/scripts/diffconfig.sh @@ -2,6 +2,7 @@ grep \^CONFIG_TARGET_ .config | head -n3 > tmp/.diffconfig.head grep '^CONFIG_ALL=y' .config >> tmp/.diffconfig.head grep '^CONFIG_ALL_KMODS=y' .config >> tmp/.diffconfig.head +grep '^CONFIG_ALL_NONSHARED=y' .config >> tmp/.diffconfig.head grep '^CONFIG_DEVEL=y' .config >> tmp/.diffconfig.head grep '^CONFIG_TOOLCHAINOPTS=y' .config >> tmp/.diffconfig.head grep '^CONFIG_BUSYBOX_CUSTOM=y' .config >> tmp/.diffconfig.head diff --git a/scripts/metadata.pl b/scripts/metadata.pl index a55b7990f7..5695bda4a4 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -558,11 +558,14 @@ sub print_package_config_category($) { print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." $title\n"; print "\t\tdefault y if DEFAULT_".$pkg->{name}."\n"; unless ($pkg->{hidden}) { - if ($pkg->{name} =~ /^kmod-/) { - $pkg->{default} ||= "m if ALL_KMODS"; - } else { - $pkg->{default} ||= "m if ALL"; + my @def = ("ALL"); + if (!exists($pkg->{repository})) { + push @def, "ALL_NONSHARED"; } + if ($pkg->{name} =~ /^kmod-/) { + push @def, "ALL_KMODS"; + } + $pkg->{default} ||= "m if " . join("||", @def); } if ($pkg->{default}) { foreach my $default (split /\s*,\s*/, $pkg->{default}) {