X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=scripts%2Fmetadata.pm;h=8e285e53a8f2cb4de4fb420f704f7b52f6d3916b;hb=b0c98d2780fd831d918ccf090485a703a4dc165e;hp=aa82fcd95d3189f871b87f71143557e90181487a;hpb=bd6a05b268498c3cf250c9fe3013c828ac318a87;p=openwrt.git diff --git a/scripts/metadata.pm b/scripts/metadata.pm index aa82fcd95d..8e285e53a8 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; @@ -34,6 +35,7 @@ sub parse_target_metadata($) { my $file = shift; my ($target, @target, $profile); my %target; + my $makefile; open FILE, "<$file" or do { warn "Can't open file '$file': $!\n"; @@ -41,11 +43,13 @@ sub parse_target_metadata($) { }; while () { chomp; + /^Source-Makefile: \s*((.+\/)([^\/]+)\/Makefile)\s*$/ and $makefile = $1; /^Target:\s*(.+)\s*$/ and do { my $name = $1; $target = { id => $name, board => $name, + makefile => $makefile, boardconf => confstr($name), conf => confstr($name), profiles => [], @@ -127,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"; @@ -149,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 = {}; @@ -216,7 +222,7 @@ sub parse_package_metadata($) { /^Build-Depends: \s*(.+)\s*$/ and $pkg->{builddepends} = [ split /\s+/, $1 ]; /^Build-Depends\/(\w+): \s*(.+)\s*$/ and $pkg->{"builddepends/$1"} = [ split /\s+/, $2 ]; /^Build-Types:\s*(.+)\s*$/ and $pkg->{buildtypes} = [ split /\s+/, $1 ]; - /^Feed:\s*(.+?)\s*$/ and $pkg->{feed} = $1; + /^Package-Subdir:\s*(.+?)\s*$/ and $pkg->{package_subdir} = $1; /^Category: \s*(.+)\s*$/ and do { $pkg->{category} = $1; defined $category{$1} or $category{$1} = {};