From e7480d9cb7a703ce3970d85b4d835724fe7ca899 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 7 May 2013 11:15:44 +0200 Subject: Add Debian 7.0 --- pkgs/build-support/vm/deb/deb-closure.pl | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'pkgs/build-support/vm/deb') diff --git a/pkgs/build-support/vm/deb/deb-closure.pl b/pkgs/build-support/vm/deb/deb-closure.pl index 887077037e287..bed397d6f07e9 100644 --- a/pkgs/build-support/vm/deb/deb-closure.pl +++ b/pkgs/build-support/vm/deb/deb-closure.pl @@ -46,17 +46,27 @@ sub getDeps { } -# Process the "Provides" fields to be able to resolve virtual dependencies. +# Process the "Provides" and "Replaces" fields to be able to resolve +# virtual dependencies. my %provides; foreach my $cdata (values %packages) { - next unless defined $cdata->{Provides}; - my @provides = getDeps(Dpkg::Deps::deps_parse($cdata->{Provides})); - foreach my $name (@provides) { - #die "conflicting provide: $name\n" if defined $provides{$name}; - #warn "provide by $cdata->{Package} conflicts with package with the same name: $name\n"; - next if defined $packages{$name}; - $provides{$name} = $cdata->{Package}; + if (defined $cdata->{Provides}) { + my @provides = getDeps(Dpkg::Deps::deps_parse($cdata->{Provides})); + foreach my $name (@provides) { + #die "conflicting provide: $name\n" if defined $provides{$name}; + #warn "provide by $cdata->{Package} conflicts with package with the same name: $name\n"; + next if defined $packages{$name}; + $provides{$name} = $cdata->{Package}; + } + } + # Treat "Replaces" like "Provides". + if (defined $cdata->{Replaces}) { + my @replaces = getDeps(Dpkg::Deps::deps_parse($cdata->{Replaces})); + foreach my $name (@replaces) { + next if defined $packages{$name}; + $provides{$name} = $cdata->{Package}; + } } } -- cgit 1.4.1