The following commit has been merged in the lenny branch:
commit 4021e3db0f30bf4a19abb2a54fe5758654baa4e3
Author: Guillem Jover <[email protected]>
Date:   Sat Dec 20 13:17:51 2008 +0200

    Error out when trying to replace a conffile w/o a Replaces field
    
    Do not allow installing packages with non-obsolete conffiles owned by
    other packages without a proper Replaces field. Closes: #508392
    
    Regression introduced in commit 854ad168370000ca46f4ba091c2d5bb05274b6ef,
    present since dpkg 1.13.14.

diff --git a/ChangeLog b/ChangeLog
index 1961343..2b8ba03 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-12-20  Guillem Jover  <[email protected]>
+
+       * src/archives.c (tarobject): Move a 'continue' inside a conditional
+       checking if the conffile to take over was obsolete on the other
+       package by adding missing bracese.
+
 2008-12-01  Raphael Hertzog  <[email protected]>
 
        * scripts/Dpkg/Source/Archive.pm (extract): Do not create the temp
diff --git a/debian/changelog b/debian/changelog
index 2abf680..3d58dae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,10 @@ dpkg (1.14.24) UNRELEASED; urgency=low
     from a non-writable directory when a target directory has been specified
     on the command line. Closes: #507217, #507219
 
+  [ Guillem Jover ]
+  * Do not allow installing packages with non-obsolete conffiles owned by
+    other packages without a proper Replaces field. Closes: #508392
+
   [ Updated dpkg translations ]
   * Galician (Marcellini Villarino). Closes: #509150
 
diff --git a/src/archives.c b/src/archives.c
index a3807fd..fcbe166 100644
--- a/src/archives.c
+++ b/src/archives.c
@@ -542,10 +542,11 @@ int tarobject(struct TarInfo *ti) {
                stabtmp.st_ino == stab.st_ino)
              break;
          }
-         if (conff)
+         if (conff) {
            debug(dbg_eachfiledetail,"tarobject other's obsolete conffile");
            /* processarc.c will have copied its hash already. */
            continue;
+         }
        }
 
         if (does_replace(tc->pkg,&tc->pkg->available,otherpkg)) {

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to