Bug#696069: libmcs-dev: directory vs. symlink mess after squeeze = wheezy upgrade: /usr/share/doc/libmcs-dev

2012-12-25 Thread Andreas Metzler
tags 696069 pending
# NMU in delayed queue
thanks
On 2012-12-16 Andreas Beckmann deb...@abeckmann.de wrote:
 Package: libmcs-dev
[...]
 during an upgrade test with piuparts I noticed your package installs
 files over an existing symlink, overwriting files from another package
 in a way that is not detected by dpkg:

 0m43.8s INFO: dirname part contains a symlink:
   /usr/share/doc/libmcs-dev/changelog.Debian.gz != 
 /usr/share/doc/libmcs1/changelog.Debian.gz (libmcs-dev)
   /usr/share/doc/libmcs-dev/copyright != /usr/share/doc/libmcs1/copyright 
 (libmcs-dev)

 Looks like /usr/share/doc/libmcs-dev was a symlink in squeeze and is a
 directory in wheezy.

 libmcs-dev.preinst should probably do something like

 test ! -L /usr/share/doc/libmcs-dev || rm /usr/share/doc/libmcs-dev

 Please clean this up in wheezy.
[...]

Hello,

I have just uploaded a NMU to delayed/10 to fix the issue. Patch
attached.

hth, cu andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
diff -Nru mcs-0.7.2/debian/changelog mcs-0.7.2/debian/changelog
--- mcs-0.7.2/debian/changelog	2011-07-19 23:03:20.0 +0200
+++ mcs-0.7.2/debian/changelog	2012-12-25 15:10:04.0 +0100
@@ -1,3 +1,16 @@
+mcs (0.7.2-2.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * [libmcs-dev.preinst libmcs-utils.preinst libmcs-backend-gconf.preinst]:
+On upgrades check whether the respective entry in /usr/share/doc/ is
+a symlink and remove it.
+[libmcs1.preinst] On upgrades remove /usr/share/doc/libmcs1/html and
+/usr/share/doc/libmcs1/refman.pdf.gz which might have been placed there
+by libmcs-doc, when the broken syminks mentioned above existed.
+Closes: #696069
+
+ -- Andreas Metzler ametz...@debian.org  Tue, 25 Dec 2012 15:09:59 +0100
+
 mcs (0.7.2-2) unstable; urgency=low
 
   * Fix build depends on LaTeX packages needed to build the documentation
diff -Nru mcs-0.7.2/debian/libmcs1.preinst mcs-0.7.2/debian/libmcs1.preinst
--- mcs-0.7.2/debian/libmcs1.preinst	1970-01-01 01:00:00.0 +0100
+++ mcs-0.7.2/debian/libmcs1.preinst	2012-12-25 15:04:18.0 +0100
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+set -e
+
+case $1 in
+	upgrade)
+		if dpkg --compare-versions $2 '' 0.7.2-2.1~ ; then
+		# libmcs-doc installs symlinks in /usr/share/doc/libmcs-dev.
+		# If the old libmcs-dev - libmcs1 symlink exists, the links
+		# end up in the wrong directory and prevent removal of
+		# /usr/share/doc/libmcs1 on purging libmcs1. - This is the
+		# reason for removing them here instead of in libmcs-doc
+		# maintainerscripts.
+		test ! -L /usr/share/doc/libmcs1/html || \
+			rm /usr/share/doc/libmcs1/html
+		test ! -L /usr/share/doc/libmcs1/refman.pdf.gz ||
+		   rm /usr/share/doc/libmcs1/refman.pdf.gz
+		fi
+	;;
+esac
+
+#DEBHELPER#
diff -Nru mcs-0.7.2/debian/libmcs-backend-gconf.preinst mcs-0.7.2/debian/libmcs-backend-gconf.preinst
--- mcs-0.7.2/debian/libmcs-backend-gconf.preinst	1970-01-01 01:00:00.0 +0100
+++ mcs-0.7.2/debian/libmcs-backend-gconf.preinst	2012-12-25 14:19:09.0 +0100
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+case $1 in
+	upgrade)
+		if dpkg --compare-versions $2 '' 0.7.2-2.1~  \
+		test -L /usr/share/doc/libmcs-backend-gconf ; then
+			rm /usr/share/doc/libmcs-backend-gconf
+		fi
+	;;
+esac
+
+#DEBHELPER#
diff -Nru mcs-0.7.2/debian/libmcs-dev.preinst mcs-0.7.2/debian/libmcs-dev.preinst
--- mcs-0.7.2/debian/libmcs-dev.preinst	1970-01-01 01:00:00.0 +0100
+++ mcs-0.7.2/debian/libmcs-dev.preinst	2012-12-25 14:41:50.0 +0100
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+case $1 in
+	upgrade)
+		if dpkg --compare-versions $2 '' 0.7.2-2.1~  \
+		test -L /usr/share/doc/libmcs-dev ; then
+			rm /usr/share/doc/libmcs-dev
+		fi
+	;;
+esac
+
+#DEBHELPER#
diff -Nru mcs-0.7.2/debian/libmcs-utils.preinst mcs-0.7.2/debian/libmcs-utils.preinst
--- mcs-0.7.2/debian/libmcs-utils.preinst	1970-01-01 01:00:00.0 +0100
+++ mcs-0.7.2/debian/libmcs-utils.preinst	2012-12-25 14:19:32.0 +0100
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+case $1 in
+	upgrade)
+		if dpkg --compare-versions $2 '' 0.7.2-2.1~  \
+		test -L /usr/share/doc/libmcs-utils ; then
+			rm /usr/share/doc/libmcs-utils
+		fi
+	;;
+esac
+
+#DEBHELPER#


Bug#696069: libmcs-dev: directory vs. symlink mess after squeeze = wheezy upgrade: /usr/share/doc/libmcs-dev

2012-12-16 Thread Andreas Beckmann
Package: libmcs-dev
Version: 0.7.2-2
Severity: serious
User: debian...@lists.debian.org
Usertags: piuparts

Hi,

during an upgrade test with piuparts I noticed your package installs
files over an existing symlink, overwriting files from another package
in a way that is not detected by dpkg:

0m43.8s INFO: dirname part contains a symlink:
  /usr/share/doc/libmcs-dev/changelog.Debian.gz != 
/usr/share/doc/libmcs1/changelog.Debian.gz (libmcs-dev)
  /usr/share/doc/libmcs-dev/copyright != /usr/share/doc/libmcs1/copyright 
(libmcs-dev)

Looks like /usr/share/doc/libmcs-dev was a symlink in squeeze and is a
directory in wheezy.

libmcs-dev.preinst should probably do something like

test ! -L /usr/share/doc/libmcs-dev || rm /usr/share/doc/libmcs-dev

Please clean this up in wheezy.


Cheers,

Andreas


libmcs-dev_0.7.2-2.log.gz
Description: GNU Zip compressed data