diff options
Diffstat (limited to 'bin/devel-tools/parseSusePatterns.pl')
-rwxr-xr-x | bin/devel-tools/parseSusePatterns.pl | 152 |
1 files changed, 76 insertions, 76 deletions
diff --git a/bin/devel-tools/parseSusePatterns.pl b/bin/devel-tools/parseSusePatterns.pl index 317a9c47..a286cd71 100755 --- a/bin/devel-tools/parseSusePatterns.pl +++ b/bin/devel-tools/parseSusePatterns.pl @@ -11,8 +11,8 @@ # General information about OpenSLX can be found at http://openslx.org/ # ----------------------------------------------------------------------------- # parseSusePatterns.pl -# - OpenSLX script to extract a package list from a given list of -# SUSE-pattern-files (*.pat). +# - OpenSLX script to extract a package list from a given list of +# SUSE-pattern-files (*.pat). # ----------------------------------------------------------------------------- use strict; use warnings; @@ -27,30 +27,30 @@ use Getopt::Long; use Pod::Usage; my ( - $helpReq, - $versionReq, + $helpReq, + $versionReq, - %patternNames, - %packageNames, + %patternNames, + %packageNames, ); GetOptions( - 'help|?' => \$helpReq, - 'version' => \$versionReq, + 'help|?' => \$helpReq, + 'version' => \$versionReq, ) or pod2usage(2); pod2usage(-msg => $abstract, -verbose => 0, -exitval => 1) if $helpReq; if ($versionReq) { - system('slxversion'); - exit 1; + system('slxversion'); + exit 1; } if ($ARGV[0] !~ m[^(\w+)-(.+)$]) { - die "can't extract architecture from pattern file name '$ARGV[0]'"; + die "can't extract architecture from pattern file name '$ARGV[0]'"; } my $arch = $2; foreach my $patternFile (@ARGV) { - parsePatternFile($patternFile, 1); + parsePatternFile($patternFile, 1); } print join("\n", sort keys %packageNames)."\n"; @@ -59,78 +59,78 @@ exit; sub parsePatternFile { - my $patternFile = shift; - my $outmost = shift; - - my $patFH; - if (!open($patFH, '<', $patternFile)) { - return unless $outmost; - die "unable to open $patternFile"; - } - undef $/; - my $content = <$patFH>; - close($patFH); - $patternNames{$patternFile} = 1; - - if ($content =~ m[^\=Sum.de:\s*(.+?)\s*$]ms) { - print "+ $1\n"; - } - if ($content =~ m[^\+Sug:\s*?$(.+?)^\-Sug:\s*?$]ms) { - addSubPatterns($1); - } - if ($content =~ m[^\+Req:\s*?$(.+?)^\-Req:\s*?$]ms) { - addSubPatterns($1); - } - if ($content =~ m[^\+Rec:\s*?$(.+?)^\-Rec:\s*?$]ms) { - addSubPatterns($1); - } - if ($content =~ m[^\+Prq:\s*?$(.+?)^\-Prq:\s*?$]ms) { - addPkgNames($1); - } - if ($content =~ m[^\+Prc:\s*?$(.+?)^\-Prc:\s*?$]ms) { - addPkgNames($1); - } - return; + my $patternFile = shift; + my $outmost = shift; + + my $patFH; + if (!open($patFH, '<', $patternFile)) { + return unless $outmost; + die "unable to open $patternFile"; + } + undef $/; + my $content = <$patFH>; + close($patFH); + $patternNames{$patternFile} = 1; + + if ($content =~ m[^\=Sum.de:\s*(.+?)\s*$]ms) { + print "+ $1\n"; + } + if ($content =~ m[^\+Sug:\s*?$(.+?)^\-Sug:\s*?$]ms) { + addSubPatterns($1); + } + if ($content =~ m[^\+Req:\s*?$(.+?)^\-Req:\s*?$]ms) { + addSubPatterns($1); + } + if ($content =~ m[^\+Rec:\s*?$(.+?)^\-Rec:\s*?$]ms) { + addSubPatterns($1); + } + if ($content =~ m[^\+Prq:\s*?$(.+?)^\-Prq:\s*?$]ms) { + addPkgNames($1); + } + if ($content =~ m[^\+Prc:\s*?$(.+?)^\-Prc:\s*?$]ms) { + addPkgNames($1); + } + return; } sub addSubPatterns { - my $patternNames = shift; - - my @subPatterns - = grep { length($_) > 0 } - map { - my $pattern = $_; - $pattern =~ s[^\s*(.+?)\s*$][$1]; - $pattern; - } - split "\n", $patternNames; - - foreach my $subPattern (@subPatterns) { - my $subPatternFile = "$subPattern-$arch"; - if (!exists $patternNames{$subPatternFile}) { - parsePatternFile($subPatternFile); - } - } - return; + my $patternNames = shift; + + my @subPatterns + = grep { length($_) > 0 } + map { + my $pattern = $_; + $pattern =~ s[^\s*(.+?)\s*$][$1]; + $pattern; + } + split "\n", $patternNames; + + foreach my $subPattern (@subPatterns) { + my $subPatternFile = "$subPattern-$arch"; + if (!exists $patternNames{$subPatternFile}) { + parsePatternFile($subPatternFile); + } + } + return; } sub addPkgNames { - my $pkgs = shift; - - my @pkgNames - = grep { length($_) > 0 } - map { - my $pkg = $_; - $pkg =~ s[^\s*(.+?)\s*$][$1]; - $pkg; - } - split "\n", $pkgs; - foreach my $pkgName (@pkgNames) { - $packageNames{$pkgName} = 1; - } - return; + my $pkgs = shift; + + my @pkgNames + = grep { length($_) > 0 } + map { + my $pkg = $_; + $pkg =~ s[^\s*(.+?)\s*$][$1]; + $pkg; + } + split "\n", $pkgs; + foreach my $pkgName (@pkgNames) { + $packageNames{$pkgName} = 1; + } + return; } =head1 NAME |