]> err.no Git - dpkg/commitdiff
dpkg-scanpackages: don't die if we can't open a package
authorWichert Akkerman <wakkerma@debian.org>
Tue, 12 Oct 1999 15:18:38 +0000 (15:18 +0000)
committerWichert Akkerman <wakkerma@debian.org>
Tue, 12 Oct 1999 15:18:38 +0000 (15:18 +0000)
ChangeLog
scripts/dpkg-scanpackages.pl

index 044bff7fb8da2d2a522f587d6b6af8f6a813fde2..22874b8f7a896fbdc3f0c6d92961395b667e0227 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Oct 12 17:15:08 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
+
+  * don't die if we can't open a package in dpkg-scanpackages, just print
+    a warning and skip the package.
+
 Mon Oct 11 18:18:25 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
 
   * Move dselect into its own package
index d1fe1a650a2d7db714261e5a3e4e10d3435a2914..853c7d5da7a4ce7f448d0f7120fa05b7f444c123 100755 (executable)
@@ -39,12 +39,19 @@ $#ARGV == 1 || $#ARGV == 2
 open(F,"find $binarydir/ -follow -name '*.deb' -print |")
     or die "Couldn't open pipe to find: $!\n";
 while (<F>) {
-    chop($fn=$_);
+    chomp($fn=$_);
     substr($fn,0,length($binarydir)) eq $binarydir
        or die "$fn not in binary dir $binarydir\n";
-    $t= `dpkg-deb -I $fn control`
-       or die "Couldn't call dpkg-deb on $fn: $!\n";
-    $? and die "\`dpkg-deb -I $fn control' exited with $?\n";
+    $t= `dpkg-deb -I $fn control`;
+    if ($t eq "") {
+       warn "Couldn't call dpkg-deb on $fn: $!, skipping package\n";
+       next;
+    }
+    if ($?) {
+       warn "\`dpkg-deb -I $fn control' exited with $?, skipping package\n";
+       next;
+    }
+
     undef %tv;
     $o= $t;
     while ($t =~ s/^\n*(\S+):[ \t]*(.*(\n[ \t].*)*)\n//) {