[Piuparts-commits] [SCM] piuparts git repository branch, piatti, updated. 0.49-105-gac1319a

Andreas Beckmann anbe at debian.org
Fri Mar 1 15:32:52 UTC 2013


The following commit has been merged in the piatti branch:
commit ef8a20fb0c64278fa7cada1d7738258eecd57bb3
Author: Andreas Beckmann <anbe at debian.org>
Date:   Fri Feb 8 15:57:23 2013 +0100

    new bug template: unhandled_symlink_to_directory_conversion
    
    usually caused by the opposite direction of actions that would lead to
    copyright_file_missing_after_upgrade
    
    Signed-off-by: Andreas Beckmann <anbe at debian.org>

diff --git a/bug-templates/unhandled_symlink_to_directory_conversion.mail b/bug-templates/unhandled_symlink_to_directory_conversion.mail
new file mode 100644
index 0000000..464404c
--- /dev/null
+++ b/bug-templates/unhandled_symlink_to_directory_conversion.mail
@@ -0,0 +1,50 @@
+To: submit at bugs.debian.org
+Subject: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
+
+Package:
+Version:
+Severity: serious
+User: debian-qa at lists.debian.org
+Usertags: piuparts
+
+Hi,
+
+an upgrade test with piuparts revealed that your package installs files
+over existing symlinks and possibly overwrites files owned by other
+packages. This usually means an old version of the package shipped a
+symlink but that was later replaced by a real (and non-empty)
+directory. This kind of overwriting another package's files cannot be
+detected by dpkg.
+
+This was observed on the following upgrade paths:
+
+
+For /usr/share/doc/PACKAGE this may not be problematic as long as both
+packages are installed, ship byte-for-byte identical files and are
+upgraded in lockstep. But once one of the involved packages gets
+removed, the other one will lose its documentation files, too,
+including the copyright file, which is a violation of Policy 12.5:
+http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile
+
+For other overwritten locations anything interesting may happen.
+
+Note that dpkg intentionally does not replace directories with symlinks
+and vice versa, you need the maintainer scripts to do this.
+See in particular the end of point 4 in
+http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase
+
+For switching from a symlink to a directory, the *preinst* script
+should do something like this:
+
+	DOCDIR=/usr/share/doc/@@PACKAGE@@
+
+	if [ -L $DOCDIR ]; then
+		rm $DOCDIR
+	fi
+
+
+From the attached log (usually somewhere in the middle...):
+
+
+
+cheers,
diff --git a/debian/changelog b/debian/changelog
index 4dd4043..6a5974e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -30,6 +30,7 @@ piuparts (0.50) UNRELEASED; urgency=low
     - Use idle-sleep setting from piuparts.conf.
     - Move statefile to slave-directory.
   * master: Get rid of the monitor-slave directory.
+  * New bug template: unhandled_symlink_to_directory_conversion.
 
  -- Andreas Beckmann <debian at abeckmann.de>  Tue, 15 Jan 2013 11:51:43 +0100
 

-- 
piuparts git repository



More information about the Piuparts-commits mailing list