[PATCH v3] scripts: target-metadata don't add PROFILES twice
Paul Spooren
mail at aparcar.org
Tue Jan 12 20:10:03 EST 2021
Since 4ee3cf2b5a profiles with alternative vendor names may appear
multiple times in `tmp/.targetinfo` or `.targetinfo` (for
ImageBuilders).
The `target-metadata.pl` script adds these profiles then twice to
`PROFILE_NAMES` and the ImageBuilder show the profile twice when running
`make info`.
This patch removes duplicate profile IDs and only adds them once to
`.profiles.mk`.
Signed-off-by: Paul Spooren <mail at aparcar.org>
---
v3: don't use the Apache-2 licensed uniq function from a Perl lib
This duplicate entries were reported recently via this PR:
https://github.com/openwrt/openwrt/pull/3777
scripts/target-metadata.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/target-metadata.pl b/scripts/target-metadata.pl
index bf6413d315..78f77b16d5 100755
--- a/scripts/target-metadata.pl
+++ b/scripts/target-metadata.pl
@@ -429,7 +429,8 @@ sub gen_profile_mk() {
my @targets = parse_target_metadata($file);
foreach my $cur (@targets) {
next unless $cur->{id} eq $target;
- print "PROFILE_NAMES = ".join(" ", map { $_->{id} } @{$cur->{profiles}})."\n";
+ my @profile_ids_unique = do { my %seen; grep { !$seen{$_}++} map { $_->{id} } @{$cur->{profiles}}};
+ print "PROFILE_NAMES = ".join(" ", @profile_ids_unique)."\n";
foreach my $profile (@{$cur->{profiles}}) {
print $profile->{id}.'_NAME:='.$profile->{name}."\n";
print $profile->{id}.'_HAS_IMAGE_METADATA:='.$profile->{has_image_metadata}."\n";
--
2.29.2
More information about the openwrt-devel
mailing list