summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/metadata.pl4
-rw-r--r--scripts/metadata.pm5
2 files changed, 8 insertions, 1 deletions
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 54341c4..48b1b7a 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -3,6 +3,7 @@ use FindBin;
use lib "$FindBin::Bin";
use strict;
use metadata;
+use Getopt::Long;
my %board;
@@ -871,6 +872,7 @@ sub gen_version_filtered_list() {
}
sub parse_command() {
+ GetOptions("ignore=s", \@ignore);
my $cmd = shift @ARGV;
for ($cmd) {
/^target_config$/ and return gen_target_config();
@@ -895,6 +897,8 @@ Available Commands:
$0 package_licensefull [file] Package license information (full list)
$0 version_filter [patchver] [list...] Filter list of version tagged strings
+Options:
+ --ignore <name> Ignore the source package <name>
EOF
}
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index 09273df..0ed3524 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -2,7 +2,7 @@ package metadata;
use base 'Exporter';
use strict;
use warnings;
-our @EXPORT = qw(%package %srcpackage %category %subdir %preconfig %features %overrides clear_packages parse_package_metadata parse_target_metadata get_multiline);
+our @EXPORT = qw(%package %srcpackage %category %subdir %preconfig %features %overrides clear_packages parse_package_metadata parse_target_metadata get_multiline @ignore);
our %package;
our %preconfig;
@@ -11,6 +11,7 @@ our %category;
our %subdir;
our %features;
our %overrides;
+our @ignore;
sub get_multiline {
my $fh = shift;
@@ -130,6 +131,7 @@ sub parse_package_metadata($) {
my $subdir;
my $src;
my $override;
+ my %ignore = map { $_ => 1 } @ignore;
open FILE, "<$file" or do {
warn "Cannot open '$file': $!\n";
@@ -152,6 +154,7 @@ sub parse_package_metadata($) {
$overrides{$src} = 1;
};
next unless $src;
+ next if $ignore{$src};
/^Package:\s*(.+?)\s*$/ and do {
undef $feature;
$pkg = {};