From 1189af85fd35f46fa5239b5de6113d3665b9d9cf Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 10 May 2016 14:43:46 +0200 Subject: 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 --- scripts/metadata.pl | 4 ++++ scripts/metadata.pm | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 410fa9fe24..f5afb1e47b 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -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 < $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"); -- cgit v1.2.3