metadata.pl: add support for forcing sorting of profiles
Used to mix device profiles (specified in the image makefile) with regular target profiles. Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
87550a0e87
commit
1189af85fd
|
@ -59,6 +59,7 @@ extra_packages = $(if $(filter wpad-mini wpad nas,$(1)),iwinfo)
|
|||
|
||||
define ProfileDefault
|
||||
NAME:=
|
||||
PRIORITY:=
|
||||
PACKAGES:=
|
||||
endef
|
||||
|
||||
|
@ -70,6 +71,7 @@ define Profile
|
|||
dumpinfo : $(call shexport,Profile/$(1)/Description)
|
||||
DUMPINFO += \
|
||||
echo "Target-Profile: $(1)"; \
|
||||
$(if $(PRIORITY), echo "Target-Profile-Priority: $(PRIORITY)"; ) \
|
||||
echo "Target-Profile-Name: $(NAME)"; \
|
||||
echo "Target-Profile-Packages: $(PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES) $(PACKAGES))"; \
|
||||
if [ -f ./config/profile-$(1) ]; then \
|
||||
|
|
|
@ -282,6 +282,10 @@ EOF
|
|||
|
||||
foreach my $target (@target) {
|
||||
my $profiles = $target->{profiles};
|
||||
$target->{sort} and @$profiles = sort {
|
||||
$a->{priority} <=> $b->{priority} or
|
||||
$a->{name} cmp $b->{name};
|
||||
} @$profiles;
|
||||
|
||||
foreach my $profile (@$profiles) {
|
||||
print <<EOF;
|
||||
|
|
|
@ -84,11 +84,16 @@ sub parse_target_metadata($) {
|
|||
$profile = {
|
||||
id => $1,
|
||||
name => $1,
|
||||
priority => 999,
|
||||
packages => []
|
||||
};
|
||||
push @{$target->{profiles}}, $profile;
|
||||
};
|
||||
/^Target-Profile-Name:\s*(.+)\s*$/ and $profile->{name} = $1;
|
||||
/^Target-Profile-Name:\s*(.+)\s*$/ and do {
|
||||
$target->{sort} = 1;
|
||||
$profile->{name} = $1;
|
||||
};
|
||||
/^Target-Profile-Priority:\s*(\d+)\s*$/ and $profile->{priority} = $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-Config:/ and $profile->{config} = get_multiline(*FILE, "\t");
|
||||
|
|
Loading…
Reference in New Issue