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;
our %subdir;
our %features;
our %overrides;
+our @ignore;
sub get_multiline {
my $fh = shift;
my $file = shift;
my ($target, @target, $profile);
my %target;
+ my $makefile;
open FILE, "<$file" or do {
warn "Can't open file '$file': $!\n";
};
while (<FILE>) {
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 => [],
my $subdir;
my $src;
my $override;
+ my %ignore = map { $_ => 1 } @ignore;
open FILE, "<$file" or do {
warn "Cannot open '$file': $!\n";
$overrides{$src} = 1;
};
next unless $src;
+ next if $ignore{$src};
/^Package:\s*(.+?)\s*$/ and do {
undef $feature;
$pkg = {};
/^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} = {};