From 106a3de0fe9980130c83dd29ab43177bd9d2f3a9 Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Wed, 20 Jun 2012 13:19:35 +0200 Subject: [PATCH] - support 'preinstallimage' parsing --- Build.pm | 16 ++++++++++++++-- Build/Rpm.pm | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Build.pm b/Build.pm index 44f097f..d26a8e5 100644 --- a/Build.pm +++ b/Build.pm @@ -31,6 +31,10 @@ sub import { } } +package Build::Features; +our $preinstallimage = 1; # on sale now +package Build; + my $std_macros = q{ %define nil %define ix86 i386 i486 i586 i686 athlon @@ -605,7 +609,7 @@ sub addproviders { $rr &= 5 unless $pf & 2; # verscmp for spec and kiwi types my $vv; - if ($config->{'binatytype'} eq 'deb') { + if ($config->{'binarytype'} eq 'deb') { $vv = Build::Deb::verscmp($pv, $rv, 1); } else { $vv = Build::Rpm::verscmp($pv, $rv, 1); @@ -866,13 +870,21 @@ sub show { print "$_\n" for @$x; } +sub parse_preinstallimage { + return undef unless $do_rpm; + my $d = Build::Rpm::parse(@_); + $d->{'name'} ||= 'preinstallimage'; + return $d; +} + sub parse { my ($cf, $fn, @args) = @_; return Build::Rpm::parse($cf, $fn, @args) if $do_rpm && $fn =~ /\.spec$/; return Build::Deb::parse($cf, $fn, @args) if $do_deb && $fn =~ /\.dsc$/; return Build::Kiwi::parse($cf, $fn, @args) if $do_kiwi && $fn =~ /config\.xml$/; return Build::Kiwi::parse($cf, $fn, @args) if $do_kiwi && $fn =~ /\.kiwi$/; - return Build::Arch::parse($cf, $fn, @args) if $do_arch && $fn =~ /PKGBUILD$/; + return Build::Arch::parse($cf, $fn, @args) if $do_arch && $fn =~ /(^|\/|-)PKGBUILD$/; + return parse_preinstallimage($cf, $fn, @args) if $fn =~ /(^|\/|-)preinstallimage$/; return undef; } diff --git a/Build/Rpm.pm b/Build/Rpm.pm index 667878f..139a6b0 100644 --- a/Build/Rpm.pm +++ b/Build/Rpm.pm @@ -539,7 +539,7 @@ reexpand: $$nfbline = [$$nfbline, undef ]; } } - unshift @subpacks, $ret->{'name'}; + unshift @subpacks, $ret->{'name'} if defined $ret->{'name'}; $ret->{'subpacks'} = \@subpacks; $ret->{'exclarch'} = $exclarch if defined $exclarch; $ret->{'badarch'} = $badarch if defined $badarch; -- 2.7.4