]> err.no Git - dpkg/commitdiff
Apply patch, to handle missing infodir.bak, and empty files.
authorAdam Heath <doogie@debian.org>
Sat, 13 Sep 2003 19:25:36 +0000 (19:25 +0000)
committerAdam Heath <doogie@debian.org>
Sat, 13 Sep 2003 19:25:36 +0000 (19:25 +0000)
ChangeLog
debian/changelog
scripts/install-info.pl

index 4fc00a4cff83910181f59e755b7cccfaaeb6e59e..06819686e4e3c0da7e63d8c68b8094c63cc69e2f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Sep 13 14:24:14 CDT 2003 Adam Heath <doogie@debian.org>
+
+  * scripts/install-info.pl: Apply patch, to handle missing infodir.bak,
+    and empty files.
+
 Sat Sep 13 14:21:13 CDT 2003 Adam Heath <doogie@debian.org>
 
   * config.sub, config.guess: Updated
index 0c82b2c9ae9e7eeaea605af431025d69d1c591c0..aa9788a6044e07d304f7120dd5fec424fd6666b1 100644 (file)
@@ -4,6 +4,9 @@ dpkg (1.10.11) unstable; urgency=low
   * Add build-depends on sgml-base, and increase gettext build-depends to
     0.12.1-3.
   * Updated config.sub and config.guess in cvs.
+  * Frank Lichtenheld <frank@lichtenheld.de>:
+    Apply patch, to handle missing infodir.bak, and empty files.  Closes:
+    #196361
 
  -- Wichert Akkerman <debian@extern.wiggy.net>  UNRELEASED
 
index eecd2625977a82b7348f56eac9ed59a84289e9dd..8442cd02c1501c4035a6c45f9ddd7973dbedac72 100755 (executable)
@@ -31,6 +31,7 @@ $infodir='/usr/share/info';
 $maxwidth=79;
 $Text::Wrap::columns=$maxwidth;
 $backup='/var/backups/infodir.bak';
+$default='/usr/share/base-files/info.dir';
 
 $menuentry="";
 $description="";
@@ -253,9 +254,19 @@ if (!$nowrite && ( ! -e "$infodir/dir" || ! -s "$infodir/dir" )) {
            exit 1;
        }
     } else {
-       print STDERR "$name: no backup file $backup available, giving up.\n";
+        if (-r $default) {
+           print STDERR "$name: no backup file $backup available, retrieving default file.\n";
+           
+           if (system("cp $default $infodir/dir")) {
+               print STDERR "$name: copying $default to $infodir/dir failed, giving up: $!\n";
        exit 1;
     }
+       } else {
+           print STDERR "$name: no backup file $backup available.\n";
+           print STDERR "$name: no default file $default available, giving up.\n";
+           exit 1;
+       }
+    }
 }
 
 if (!$nowrite && !link("$infodir/dir","$infodir/dir.lock")) {
@@ -267,7 +278,7 @@ open(OLD,"$infodir/dir") || &ulquit("open $infodir/dir: $!");
 @work= <OLD>;
 eof(OLD) || &ulquit("read $infodir/dir: $!");
 close(OLD) || &ulquit("close $infodir/dir after read: $!");
-while ($work[$#work] !~ m/\S/) { $#work--; }
+while ($work[$#work] !~ m/\S/) { $#work--; last unless $#work; }
 
 while (@work) {
     $_= shift(@work);