summaryrefslogtreecommitdiff
path: root/Build.pm
diff options
context:
space:
mode:
authorMichael Schröder <mls@suse.de>2007-05-10 18:07:08 +0000
committerMichael Schröder <mls@suse.de>2007-05-10 18:07:08 +0000
commit4fe96e591404933c7b677151ef78d7d74c5b35bc (patch)
treeab9ae3e8268490d1b520a32236cb1d7d0c8c37eb /Build.pm
parent251f195cb0619885f3ef4d54436c08d06335c5f5 (diff)
downloadobs-build-4fe96e591404933c7b677151ef78d7d74c5b35bc.tar.gz
obs-build-4fe96e591404933c7b677151ef78d7d74c5b35bc.tar.bz2
obs-build-4fe96e591404933c7b677151ef78d7d74c5b35bc.zip
- add _vendor to configs
- fix deban dependency compare - allow not operator in configs - fix build from source rpms
Diffstat (limited to 'Build.pm')
-rw-r--r--Build.pm13
1 files changed, 11 insertions, 2 deletions
diff --git a/Build.pm b/Build.pm
index e18ea80..204d1ad 100644
--- a/Build.pm
+++ b/Build.pm
@@ -112,7 +112,16 @@ sub read_config {
next;
}
if ($l0 eq 'preinstall:' || $l0 eq 'vminstall:' || $l0 eq 'required:' || $l0 eq 'support:' || $l0 eq 'keep:' || $l0 eq 'prefer:' || $l0 eq 'ignore:' || $l0 eq 'conflict:' || $l0 eq 'runscripts:') {
- push @{$config->{substr($l0, 0, -1)}}, @l;
+ my $t = substr($l0, 0, -1);
+ for my $l (@l) {
+ if ($l eq '!*') {
+ $config->{$t} = [];
+ } elsif ($l =~ /^!/) {
+ $config->{$t} = [ grep {"!$_" ne $l} @{$config->{$t}} ];
+ } else {
+ push @{$config->{$t}}, $l;
+ }
+ }
} elsif ($l0 eq 'substitute:') {
next unless @l;
$ll = shift @l;
@@ -364,7 +373,7 @@ sub addproviders {
}
my $rr = $rf == 2 ? $pf : ($rf ^ 5);
$rr &= 5 unless $pf & 2;
- my $vv = Build::Rpm::verscmp($pv, $rv, 1);
+ my $vv = Build::Rpm::verscmp($pv, $rv, $config->{'type'} eq 'spec' ? 1 : 0);
if ($rr & (1 << ($vv + 1))) {
push @p, $rp;
last;