use base 'Exporter';
use strict;
use warnings;
-our @EXPORT = qw(%package %srcpackage %category %subdir %preconfig %features clear_packages parse_package_metadata get_multiline);
+our @EXPORT = qw(%package %srcpackage %category %subdir %preconfig %features %overrides clear_packages parse_package_metadata get_multiline);
our %package;
our %preconfig;
our %category;
our %subdir;
our %features;
+our %overrides;
sub get_multiline {
my $fh = shift;
%srcpackage = ();
%category = ();
%features = ();
+ %overrides = ();
}
sub parse_package_metadata($) {
my $preconfig;
my $subdir;
my $src;
+ my $override;
open FILE, "<$file" or do {
warn "Cannot open '$file': $!\n";
$subdir =~ s/^package\///;
$subdir{$src} = $subdir;
$srcpackage{$src} = [];
+ $override = "";
undef $pkg;
};
+ /^Override: \s*(.+?)\s*$/ and do {
+ $override = $1;
+ $overrides{$src} = 1;
+ };
next unless $src;
/^Package:\s*(.+?)\s*$/ and do {
undef $feature;
$pkg->{buildtypes} = [];
$pkg->{subdir} = $subdir;
$pkg->{tristate} = 1;
+ $pkg->{override} = $override;
$package{$1} = $pkg;
push @{$srcpackage{$src}}, $pkg;
};
/^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1;
/^Submenu-Depends: \s*(.+)\s*$/ and $pkg->{submenudep} = $1;
/^Source: \s*(.+)\s*$/ and $pkg->{source} = $1;
+ /^License: \s*(.+)\s*$/ and $pkg->{license} = $1;
+ /^LicenseFiles: \s*(.+)\s*$/ and $pkg->{licensefiles} = $1;
/^Default: \s*(.+)\s*$/ and $pkg->{default} = $1;
/^Provides: \s*(.+)\s*$/ and do {
my @vpkg = split /\s+/, $1;