]> err.no Git - dpkg/commitdiff
scripts/dpkg-statoverride.pl: use -e instead of -f to test
authorWichert Akkerman <wakkerma@debian.org>
Sat, 3 Feb 2001 13:58:13 +0000 (13:58 +0000)
committerWichert Akkerman <wakkerma@debian.org>
Sat, 3 Feb 2001 13:58:13 +0000 (13:58 +0000)
    for filesystem object existance
scripts/dpkg-source.pl: swap chdir and open in extracttar to
    prevent race with source-directory being removed while the
    sh/grep process is still running. Patch from Colin Watson

ChangeLog
debian/changelog
scripts/dpkg-source.pl
scripts/dpkg-statoverride.pl

index fc802bd9a53f5c39359eb26c1703732915e90707..7b31de86e94fe96664820bfb69a7ccc6b4e26711 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Feb  2 14:27:47 CET 2001 Wichert Akkerman <wakkerma@debian.org>
+
+  * scripts/dpkg-statoverride.pl: use -e instead of -f to test
+    for filesystem object existance
+  * scripts/dpkg-source.pl: swap chdir and open in extracttar to
+    prevent race with source-directory being removed while the
+    sh/grep process is still running. Patch from Colin Watson
+
 Thu Feb  1 18:22:05 EST 2001 Wichert Akkerman <wakkerma@debian.org>
 
   * scripts/dpkg-source.pl: fix error in error message
index a3f139f130b8f398e11a6f285293234886b95fe3..243df9bceb89f30c296f90799579be496c9d1825 100644 (file)
@@ -6,13 +6,18 @@ dpkg (1.9.0) unstable; urgency=low
     a warning if used.
   * Update French translation, Closes: Bug#65284
   * Add French manpages, courtesy of Philippe Batailler
-  * Ingore vim swapfiles in dpkg-soruce, Closes: Bug#81630
+  * Ingore vim swapfiles in dpkg-source, Closes: Bug#81630
   * remove --import option from dpkg-statoverride, Closes: Bug#81358
   * Replace nfmalloc implementation with obstack. Added obstack.[ch] to
     optlib, for non-GNU systems.
   * dpkg-divert only allows absolute filenames now. Closes: Bug#82419
   * Handle diffs from non-existing files to existing files. Closes: Bug#82708
   * Small fixes to the buildsystem. Closes: Bug#84361
+  * Fix dpkg-statoverride --update for things other then plain files.
+    Closes: Bug#84449
+  * Fix race with source directory disappearing in dpkg-source.
+    chdir("$dirchdir") || &syserr("cannot chdir to \`$dirchdir' for tar extract");
+    Closes: Bug#82797
 
  -- Wichert Akkerman <wakkerma@debian.org>  UNRELEASED
 
index f7744fa88e776063b4f7d9d4ffb9b19743a3facf..4ca6c953d9c4446078e1f5c266b9b6cf62dacbf5 100755 (executable)
@@ -935,8 +935,8 @@ sub extracttar {
     &forkgzipread("$tarfileread");
     defined($c2= fork) || &syserr("fork for tar -xkf -");
     if (!$c2) {
-        chdir("$dirchdir") || &syserr("cannot chdir to \`$dirchdir' for tar extract");
         open(STDIN,"<&GZIP") || &syserr("reopen gzip for tar -xkf -");
+        chdir("$dirchdir") || &syserr("cannot chdir to \`$dirchdir' for tar extract");
         &cpiostderr;
         exec('tar','-xkf','-'); &syserr("exec tar -xkf -");
     }
index 58fd514847ddd7de468d12f9b40cd0e660dad0be..4b47161e2916261e81b9442980a3025b50477cf3 100755 (executable)
@@ -113,7 +113,7 @@ if ($mode eq "add") {
        $dowrite=1;
 
        if ($doupdate) {
-           if (not -f $file) {
+           if (not -e $file) {
                print STDERR "warning: --update given but $file does not exist\n";
            } else {
                chown ($uid,$gid,$file) || warn "failed to chown $file: $!\n";