]> err.no Git - dpkg/commitdiff
dpkg-divert: On renames do no check the target if the source does not exist
authorGuillem Jover <guillem@debian.org>
Sun, 15 Jun 2008 21:05:29 +0000 (00:05 +0300)
committerGuillem Jover <guillem@debian.org>
Sun, 15 Jun 2008 21:05:29 +0000 (00:05 +0300)
The rename is going to be disabled anyway in that case. This also allows
to remove bogus diversions. Closes: #476973, #469033

ChangeLog
debian/changelog
scripts/dpkg-divert.pl

index d82c0c2a1152725746d83121a924feb9f97755ed..4d823db43cb375e74ef673a6261f265f1d2fa8cc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-15  Guillem Jover  <guillem@debian.org>
+
+       * scripts/dpkg-divert.pl (checkrename): Do not check the target file
+       if the source does not exist and dorename was thus disabled.
+
 2008-06-09  Raphael Hertzog  <hertzog@debian.org>
 
        * scripts/dpkg-divert.pl, scripts/update-alternatives.pl,
index a4ad0bc090114f0c3405a2948ad725f9bd4fb7b6..8c54d2f026559305dedf3f8613c0a6dd9e38a61e 100644 (file)
@@ -6,6 +6,9 @@ dpkg (1.14.20) UNRELEASED; urgency=low
   * Document triggers --debug values in dpkg.1. Thanks to Sven Joachim.
   * Improve package descriptions for dpkg, dpkg-dev and dselect.
     Thanks to Justin B Rye for the review and corrections. Closes: #484002
+  * When dpkg-divert does renames do no check the target file if the source
+    does not exist and the rename is thus being disabled. This also allows
+    to remove bogus diversions. Closes: #476973, #469033
 
   [ Raphael Hertzog ]
   * Add missing 'use File::Path' in Dpkg::Source::Package::V3::quilt.
index 6eca1cfa79d5d56f15dc34d225886a2230620bff..56257ed3ccdb55494c76841dc3d3988abc1e6160 100755 (executable)
@@ -244,6 +244,9 @@ sub checkrename {
        unlink ("${rsrc}.dpkg-devert.tmp");
     } elsif ($! == ENOENT) {
        $dorename = !$dorename;
+       # If the source file is not present and we are not going to do the
+       # rename anyway there's no point in checking the target.
+       return;
     } else {
        quit(sprintf(_g("error checking \`%s': %s"), $rsrc, $!));
     }