[Piuparts-commits] [SCM] piuparts git repository branch, develop, updated. 0.49-60-g87e23c3
Andreas Beckmann
anbe at debian.org
Thu Feb 21 09:40:46 UTC 2013
The following commit has been merged in the develop 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