Skip to content

Commit

Permalink
build: allow overriding default selection state for devices
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
KanjiMonster committed Aug 13, 2019
1 parent dfe9964 commit 7546be6
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 2 deletions.
3 changes: 3 additions & 0 deletions include/image.mk
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,8 @@ define Device/Init
FILESYSTEMS := $(TARGET_FILESYSTEMS)

UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-$(1)

DEFAULT :=
endef

DEFAULT_DEVICE_VARS := \
Expand Down Expand Up @@ -593,6 +595,7 @@ Target-Profile-Name: $(DEVICE_TITLE)
Target-Profile-Packages: $(DEVICE_PACKAGES)
Target-Profile-hasImageMetadata: $(if $(foreach image,$(IMAGES),$(findstring append-metadata,$(IMAGE/$(image)))),1,0)
Target-Profile-SupportedDevices: $(SUPPORTED_DEVICES)
$(if $(DEFAULT),Target-Profile-Default: $(DEFAULT))
Target-Profile-Description:
$(DEVICE_DESCRIPTION)
@@
Expand Down
4 changes: 3 additions & 1 deletion scripts/metadata.pm
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,8 @@ sub parse_target_metadata($) {
has_image_metadata => 0,
supported_devices => [],
priority => 999,
packages => []
packages => [],
default => "y if TARGET_ALL_PROFILES"
};
$1 =~ /^DEVICE_/ and $target->{has_devices} = 1;
push @{$target->{profiles}}, $profile;
Expand All @@ -157,6 +158,7 @@ sub parse_target_metadata($) {
};
/^Target-Profile-Packages:\s*(.*)\s*$/ and $profile->{packages} = [ split(/\s+/, $1) ];
/^Target-Profile-Description:\s*(.*)\s*/ and $profile->{desc} = get_multiline(*FILE);
/^Target-Profile-Default:\s*(.+)\s*$/ and $profile->{default} = $1;
}
close FILE;
foreach my $target (@target) {
Expand Down
2 changes: 1 addition & 1 deletion scripts/target-metadata.pl
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ ()
menuconfig TARGET_DEVICE_$target->{conf}_$profile->{id}
bool "$profile->{name}"
depends on TARGET_$target->{conf}
default y if TARGET_ALL_PROFILES
default $profile->{default}
EOF
my @pkglist = merge_package_lists($target->{packages}, $profile->{packages});
foreach my $pkg (@pkglist) {
Expand Down

0 comments on commit 7546be6

Please sign in to comment.