summary refs log tree commit diff
path: root/pkgs/build-support/vm/deb/deb-closure.pl
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support/vm/deb/deb-closure.pl')
-rw-r--r--pkgs/build-support/vm/deb/deb-closure.pl13
1 files changed, 7 insertions, 6 deletions
diff --git a/pkgs/build-support/vm/deb/deb-closure.pl b/pkgs/build-support/vm/deb/deb-closure.pl
index 5e4ea54c43f8..1d41f89218bd 100644
--- a/pkgs/build-support/vm/deb/deb-closure.pl
+++ b/pkgs/build-support/vm/deb/deb-closure.pl
@@ -53,6 +53,8 @@ foreach my $cdata (values %packages) {
     my @provides = getDeps(Dpkg::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};
     }
 }
@@ -67,7 +69,7 @@ sub closePackage {
     my $pkgName = shift;
     print STDERR ">>> $pkgName\n";
     my $cdata = $packages{$pkgName};
-    
+
     if (!defined $cdata) {
         die "unknown (virtual) package $pkgName"
             unless defined $provides{$pkgName};
@@ -75,7 +77,7 @@ sub closePackage {
         $pkgName = $provides{$pkgName};
         $cdata = $packages{$pkgName};
     }
-    
+
     die "unknown package $pkgName" unless defined $cdata;
     return if defined $donePkgs{$pkgName};
     $donePkgs{$pkgName} = 1;
@@ -85,9 +87,9 @@ sub closePackage {
             $provides{$name} = $cdata->{Package};
         }
     }
-    
+
     my @depNames = ();
-    
+
     if (defined $cdata->{Depends}) {
         print STDERR "    $pkgName: $cdata->{Depends}\n";
         my $deps = Dpkg::Deps::parse($cdata->{Depends});
@@ -141,7 +143,7 @@ foreach my $pkgName (@order) {
     my $origName = basename $cdata->{Filename};
     my $cleanedName = $origName;
     $cleanedName =~ s/~//g;
-    
+
     print "    (fetchurl {\n";
     print "      url = $urlPrefix/$cdata->{Filename};\n";
     print "      sha256 = \"$cdata->{SHA256}\";\n";
@@ -165,4 +167,3 @@ if ($newComponent != 1) {
     print STDERR "argh: ", keys %forward, "\n";
     exit 1;
 }
-