mirror of https://github.com/hak5/openwrt.git
build: allow overriding default selection state for devices
Allow overriding the default selection state for Devices, similar to setting a default for packages. E.g. by setting DEFAULT to n, they won't be selected by default anymore when enabling all device in the multi device profile. This allows preventing images being built by the default config for known broken devices, devices without enough RAM/flash, or devices not working with a certain kernel versions. This does not prevent the devices from being manually selected or images being built by the ImageBuilder. These devices often still have worth with a reduced package-set, or as a device for regression testing, when no better device is available. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>master
parent
dfe99645db
commit
7546be6007
|
@ -416,6 +416,8 @@ define Device/Init
|
||||||
FILESYSTEMS := $(TARGET_FILESYSTEMS)
|
FILESYSTEMS := $(TARGET_FILESYSTEMS)
|
||||||
|
|
||||||
UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-$(1)
|
UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-$(1)
|
||||||
|
|
||||||
|
DEFAULT :=
|
||||||
endef
|
endef
|
||||||
|
|
||||||
DEFAULT_DEVICE_VARS := \
|
DEFAULT_DEVICE_VARS := \
|
||||||
|
@ -593,6 +595,7 @@ Target-Profile-Name: $(DEVICE_TITLE)
|
||||||
Target-Profile-Packages: $(DEVICE_PACKAGES)
|
Target-Profile-Packages: $(DEVICE_PACKAGES)
|
||||||
Target-Profile-hasImageMetadata: $(if $(foreach image,$(IMAGES),$(findstring append-metadata,$(IMAGE/$(image)))),1,0)
|
Target-Profile-hasImageMetadata: $(if $(foreach image,$(IMAGES),$(findstring append-metadata,$(IMAGE/$(image)))),1,0)
|
||||||
Target-Profile-SupportedDevices: $(SUPPORTED_DEVICES)
|
Target-Profile-SupportedDevices: $(SUPPORTED_DEVICES)
|
||||||
|
$(if $(DEFAULT),Target-Profile-Default: $(DEFAULT))
|
||||||
Target-Profile-Description:
|
Target-Profile-Description:
|
||||||
$(DEVICE_DESCRIPTION)
|
$(DEVICE_DESCRIPTION)
|
||||||
@@
|
@@
|
||||||
|
|
|
@ -143,7 +143,8 @@ sub parse_target_metadata($) {
|
||||||
has_image_metadata => 0,
|
has_image_metadata => 0,
|
||||||
supported_devices => [],
|
supported_devices => [],
|
||||||
priority => 999,
|
priority => 999,
|
||||||
packages => []
|
packages => [],
|
||||||
|
default => "y if TARGET_ALL_PROFILES"
|
||||||
};
|
};
|
||||||
$1 =~ /^DEVICE_/ and $target->{has_devices} = 1;
|
$1 =~ /^DEVICE_/ and $target->{has_devices} = 1;
|
||||||
push @{$target->{profiles}}, $profile;
|
push @{$target->{profiles}}, $profile;
|
||||||
|
@ -157,6 +158,7 @@ sub parse_target_metadata($) {
|
||||||
};
|
};
|
||||||
/^Target-Profile-Packages:\s*(.*)\s*$/ and $profile->{packages} = [ split(/\s+/, $1) ];
|
/^Target-Profile-Packages:\s*(.*)\s*$/ and $profile->{packages} = [ split(/\s+/, $1) ];
|
||||||
/^Target-Profile-Description:\s*(.*)\s*/ and $profile->{desc} = get_multiline(*FILE);
|
/^Target-Profile-Description:\s*(.*)\s*/ and $profile->{desc} = get_multiline(*FILE);
|
||||||
|
/^Target-Profile-Default:\s*(.+)\s*$/ and $profile->{default} = $1;
|
||||||
}
|
}
|
||||||
close FILE;
|
close FILE;
|
||||||
foreach my $target (@target) {
|
foreach my $target (@target) {
|
||||||
|
|
|
@ -296,7 +296,7 @@ EOF
|
||||||
menuconfig TARGET_DEVICE_$target->{conf}_$profile->{id}
|
menuconfig TARGET_DEVICE_$target->{conf}_$profile->{id}
|
||||||
bool "$profile->{name}"
|
bool "$profile->{name}"
|
||||||
depends on TARGET_$target->{conf}
|
depends on TARGET_$target->{conf}
|
||||||
default y if TARGET_ALL_PROFILES
|
default $profile->{default}
|
||||||
EOF
|
EOF
|
||||||
my @pkglist = merge_package_lists($target->{packages}, $profile->{packages});
|
my @pkglist = merge_package_lists($target->{packages}, $profile->{packages});
|
||||||
foreach my $pkg (@pkglist) {
|
foreach my $pkg (@pkglist) {
|
||||||
|
|
Loading…
Reference in New Issue