X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/a40177e0b251b982970f3a230945c1f19519aef4..370c17b44f61ef812cc2153002d859504c60ca0b:/scripts/metadata.pm?ds=sidebyside diff --git a/scripts/metadata.pm b/scripts/metadata.pm index 917fbec07..defa7b934 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -54,6 +54,7 @@ sub parse_package_metadata($) { $srcpackage{$src} = []; undef $pkg; }; + next unless $src; /^Package:\s*(.+?)\s*$/ and do { $pkg = {}; $pkg->{src} = $src; @@ -72,15 +73,23 @@ sub parse_package_metadata($) { /^Menu: \s*(.+)\s*$/ and $pkg->{menu} = $1; /^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1; /^Submenu-Depends: \s*(.+)\s*$/ and $pkg->{submenudep} = $1; + /^Source: \s*(.+)\s*$/ and $pkg->{source} = $1; /^Default: \s*(.+)\s*$/ and $pkg->{default} = $1; /^Provides: \s*(.+)\s*$/ and do { my @vpkg = split /\s+/, $1; foreach my $vpkg (@vpkg) { - $package{$vpkg} or $package{$vpkg} = { vdepends => [] }; + $package{$vpkg} or $package{$vpkg} = { + name => $vpkg, + vdepends => [], + src => $src, + subdir => $subdir, + makefile => $makefile + }; push @{$package{$vpkg}->{vdepends}}, $pkg->{name}; } }; /^Depends: \s*(.+)\s*$/ and $pkg->{depends} = [ split /\s+/, $1 ]; + /^Build-Only: \s*(.+)\s*$/ and $pkg->{buildonly} = 1; /^Build-Depends: \s*(.+)\s*$/ and $pkg->{builddepends} = [ split /\s+/, $1 ]; /^Category: \s*(.+)\s*$/ and do { $pkg->{category} = $1; @@ -96,7 +105,7 @@ sub parse_package_metadata($) { $type =~ /ipkg/ and $pkg->{tristate} = 1; } }; - /^Config: \s*(.*)\s*$/ and $pkg->{config} = "$1\n".get_multiline(*FILE, "\t"); + /^Config:\s*(.*)\s*$/ and $pkg->{config} = "$1\n".get_multiline(*FILE, "\t"); /^Prereq-Check:/ and $pkg->{prereq} = 1; /^Preconfig:\s*(.+)\s*$/ and do { my $pkgname = $pkg->{name}; @@ -115,7 +124,7 @@ sub parse_package_metadata($) { /^Preconfig-Default:\s*(.*?)\s*$/ and $preconfig->{default} = $1; } close FILE; - return %category; + return 1; } 1;