Bug#703701: unblock: firebird2.5/2.5.2~svn+54698.ds4-3
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package firebird2.5
It fixes an issue when libfbclient2 package was first installed in lenny, then
upgraded. The issue leads to an empty /usr/share/doc/libfbclient2 directory,
breaking Policy 12.5 (http://bugs.debian.org/692948)
This upload removes the leftover empty directory in libfbclient2.preinst,
giving a change to dpkg to unpack the shipped symlink.
Here's the source debdiff. A binary debdiff is attached.
----------------------8<---------------8<------------------------
diff -Nru -w firebird2.5-2.5.2~svn+54698.ds4/debian/changelog firebird2.5-2.5.2~svn+54698.ds4/debian/changelog
--- firebird2.5-2.5.2~svn+54698.ds4/debian/changelog 2013-03-18 17:23:51.000000000 +0200
+++ firebird2.5-2.5.2~svn+54698.ds4/debian/changelog 2013-03-22 15:11:56.000000000 +0200
@@ -1,3 +1,30 @@
+firebird2.5 (2.5.2~svn+54698.ds4-3) unstable; urgency=high
+
+ * Recover lost doc/libfbclient2 -> firebird2.5-common-doc symlink
+
+ In Lenny, all firebird binary packages were shipping their doc/ directory
+ with copyright information. Because of the size of that copyright
+ information, when firebird2.5 packages were introduced in squeeze, they
+ used symlinks to the doc/firebird2.5-common-doc directory, which contained
+ a single copy of the copyright file. However, since dpkg won't replace
+ directory with a symlink, upgrading libfbclient2 from lenny (2.0) to
+ squeeze (2.5) leaves an empty doc/libfbclient2 directory, breaking the
+ Policy requirement (12.5) that every binary package ships a copyright
+ file.
+
+ The fix implemented in this version is to check if doc/libfbclient2 is an
+ empty directory (and not a symlink) and remove it in preinst. If it is a
+ directory and is not empty, it is renamed with .dpkg-old extension. This
+ gives dpkg way to unpack the shipped symlink.
+
+ Closes: #692948 -- missing copyright file after upgrade from lenny to
+ squeeze to wheezy/sid
+
+ Thanks go to Andreas Beckmann for reporting the issue, Julian Taylor,
+ Slávek Banko and Serafeim Zanikolas for helping with the implementation.
+
+ -- Damyan Ivanov <dmn@debian.org> Fri, 22 Mar 2013 15:11:16 +0200
+
firebird2.5 (2.5.2~svn+54698.ds4-2) unstable; urgency=high
* High urgency for upload fixing security issues
diff -Nru -w firebird2.5-2.5.2~svn+54698.ds4/debian/libfbclient2.preinst firebird2.5-2.5.2~svn+54698.ds4/debian/libfbclient2.preinst
--- firebird2.5-2.5.2~svn+54698.ds4/debian/libfbclient2.preinst 1970-01-01 02:00:00.000000000 +0200
+++ firebird2.5-2.5.2~svn+54698.ds4/debian/libfbclient2.preinst 2013-03-22 15:05:31.000000000 +0200
@@ -0,0 +1,23 @@
+#!/bin/sh
+set -e
+
+case "$1" in
+ install|upgrade)
+ # dpkg does not replace directories by symlinks or vice versa.
+ TARGET="firebird${FB_VER}-common-doc"
+ D="/usr/share/doc/libfbclient2"
+ if [ ! -L "$D" -a -d "$D" ]; then
+ echo "Found legacy directory $D which needs to be replaced by a symlink to $TARGET"
+ if rmdir "$D" >/dev/null 2>&1 ; then
+ echo "Directory is empty, removed"
+ else
+ echo "Directory not empty, moving to libfbclient2.dpkg-old"
+ mv --backup=existing "$D" "$D.dpkg-old"
+ fi
+ fi
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
----------------------8<---------------8<------------------------
unblock firebird2.5/2.5.2~svn+54698.ds4-3
Thanks,
dam
Reply to: