Bug#601977: cyrus-sasl2-heimdal-dbg: file conflict during upgrade from lenny
Luca Capello
luca at pca.it
Sun Nov 28 03:11:36 UTC 2010
tags 601977 + patch
thanks
Hi there!
On Sun, 31 Oct 2010 15:42:29 +0100, Lucas Nussbaum wrote:
> Installing cyrus-sasl2-heimdal-dbg in a lenny chroot, then upgrading to
> squeeze, causes:
[...]
> dpkg: error processing /var/cache/apt/archives/cyrus-sasl2-dbg_2.1.23.dfsg1-6_amd64.deb (--unpack):
> trying to overwrite
> /usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.23', which is also in
> package cyrus-sasl2-heimdal-dbg 2.1.23.dfsg1-6
Here the situation in lenny:
=====
(lenny)root at gismo:/# dpkg -L cyrus-sasl2-dbg | grep gssapi
/usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.22
diverted by cyrus-sasl2-heimdal-dbg to: /usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.22.mit
(lenny)root at gismo:/#
=====
This happens because cyrus-sasl2-heimdal-dbg is unpacked *before*
cyrus-sasl2-dbg, thus /u/l/debug/u/l/sasl2/libgssapiv2.so.2.0.23 is the
one shipped by the cyrus-sasl2-heimdal-dbg package. It is (sort of)
funny that this happens because of two other NMU fixes (#530781 and
#590759).
Solutions...
1) cyrus-sasl2-heimdal-dbg Pre-Depends: cyrus-sasl2-dbg
If we want to preserve the status quo, I guess this is the more
logical solution, i.e. the non-heimdal package must be unpacked
*before* the heimdal one. However, technically speaking I do not
think this will be ever accepted...
FWIW, tested to work with the following patch:
--8<---------------cut here---------------start------------->8---
diff -u cyrus-sasl2-2.1.23.dfsg1/debian/changelog cyrus-sasl2-2.1.23.dfsg1/debian/changelog
--- cyrus-sasl2-2.1.23.dfsg1/debian/changelog
+++ cyrus-sasl2-2.1.23.dfsg1/debian/changelog
@@ -1,3 +1,12 @@
+cyrus-sasl2 (2.1.23.dfsg1-6.1) UNRELEASED; urgency=low
+
+ * Non-maintainer upload.
+ * debian/control:
+ + in the cyrus-sasl2-heimdal-dbg binary package, move
+ cyrus-sasl2-dbg to Pre-Depends: (Closes: #601977).
+
+ -- Luca Capello <luca at pca.it> Sat, 27 Nov 2010 20:35:49 +0100
+
cyrus-sasl2 (2.1.23.dfsg1-6) unstable; urgency=low
* Acknowlge NMU (thanks to Ben Hutchings)
diff -u cyrus-sasl2-2.1.23.dfsg1/debian/control cyrus-sasl2-2.1.23.dfsg1/debian/control
--- cyrus-sasl2-2.1.23.dfsg1/debian/control
+++ cyrus-sasl2-2.1.23.dfsg1/debian/control
@@ -155,7 +155,8 @@
Section: debug
Architecture: any
Priority: extra
-Depends: cyrus-sasl2-dbg (= ${binary:Version}), libsasl2-modules-gssapi-heimdal (= ${binary:Version}), ${misc:Depends}
+Pre-Depends: cyrus-sasl2-dbg (= ${binary:Version})
+Depends: libsasl2-modules-gssapi-heimdal (= ${binary:Version}), ${misc:Depends}
Description: Debugging symbols for Cyrus SASL
This is the Cyrus SASL API implementation, version 2. See package
libsasl2-2 and RFC 2222 for more information.
--8<---------------cut here---------------end--------------->8---
2) splitting the offending library out of the "common" cyrus-sasl2-dbg
package into its own cyrus-sasl2-mit-dbg, which Conflicts: with
cyrus-sasl2-heimdal-dbg. This reflects the situation present with
the runtime libraries and avoid any diversion at all.
FWIW, tested to work with the following patch:
--8<---------------cut here---------------start------------->8---
diff -u cyrus-sasl2-2.1.23.dfsg1/debian/changelog cyrus-sasl2-2.1.23.dfsg1/debian/changelog
--- cyrus-sasl2-2.1.23.dfsg1/debian/changelog
+++ cyrus-sasl2-2.1.23.dfsg1/debian/changelog
@@ -1,3 +1,24 @@
+cyrus-sasl2 (2.1.23.dfsg1-6.1) UNRELEASED; urgency=low
+
+ * Non-maintainer upload.
+ * Fix for (Closes: #601977), the idea coming from Gaudenz Steinlin
+ <gaudenz at debian.org>:
+ * debian/control:
+ + cyrus-sasl2-dbg Depends: on one of the two GSSAPI dbg packages.
+ + new cyrus-sasl2-mit-dbg package which Conflicts: with
+ cyrus-sasl2-heimdal-dbg.
+ + cyrus-sasl2-heimdal-dbg now Conflicts: with cyrus-sasl2-mit-dbg.
+ * debian/cyrus-sasl2-heimdal-dbg.prerm:
+ - remove, useless.
+ * debian/cyrus-sasl2-heimdal-dbg.postinst:
+ - remove, useless.
+ * debian/cyrus-sasl2-mit-dbg.dirs:
+ + create /usr/lib/debug/usr/lib/sasl2/.
+ * debian/rules:
+ + mv MIT libgssapiv2.so.2.0.23 into cyrus-sasl2-mit-dbg.
+
+ -- Luca Capello <luca at pca.it> Sun, 28 Nov 2010 03:57:38 +0100
+
cyrus-sasl2 (2.1.23.dfsg1-6) unstable; urgency=low
* Acknowlge NMU (thanks to Ben Hutchings)
diff -u cyrus-sasl2-2.1.23.dfsg1/debian/control cyrus-sasl2-2.1.23.dfsg1/debian/control
--- cyrus-sasl2-2.1.23.dfsg1/debian/control
+++ cyrus-sasl2-2.1.23.dfsg1/debian/control
@@ -141,7 +141,7 @@
Section: debug
Architecture: any
Priority: extra
-Depends: libsasl2-2 (= ${binary:Version}), ${misc:Depends}
+Depends: libsasl2-2 (= ${binary:Version}), ${misc:Depends}, cyrus-sasl2-mit-dbg | cyrus-sasl2-heimdal-dbg
Description: Cyrus SASL - debugging symbols
This is the Cyrus SASL API implementation, version 2. See package
libsasl2-2 and RFC 2222 for more information.
@@ -151,11 +151,28 @@
library or tools. You may be asked to install this package if you encounter
such a crash.
+Package: cyrus-sasl2-mit-dbg
+Section: debug
+Architecture: any
+Priority: extra
+Depends: cyrus-sasl2-dbg (= ${binary:Version}), libsasl2-modules-gssapi-mit (= ${binary:Version}), ${misc:Depends}
+Conflicts: cyrus-sasl2-heimdal-dbg
+Description: Cyrus SASL - debugging symbols
+ This is the Cyrus SASL API implementation, version 2. See package
+ libsasl2-2 and RFC 2222 for more information.
+ .
+ This package contains the debugging symbols for the Cyrus SASL MIT
+ GSSAPI modules package (libsasl2-modules-gssapi-mit). The debugging
+ symbols can be useful when investigating crashes in the SASL library or
+ tools. You may be asked to install this package if you encounter such a
+ crash.
+
Package: cyrus-sasl2-heimdal-dbg
Section: debug
Architecture: any
Priority: extra
Depends: cyrus-sasl2-dbg (= ${binary:Version}), libsasl2-modules-gssapi-heimdal (= ${binary:Version}), ${misc:Depends}
+Conflicts: cyrus-sasl2-mit-dbg
Description: Debugging symbols for Cyrus SASL
This is the Cyrus SASL API implementation, version 2. See package
libsasl2-2 and RFC 2222 for more information.
reverted:
--- cyrus-sasl2-2.1.23.dfsg1/debian/cyrus-sasl2-heimdal-dbg.preinst
+++ cyrus-sasl2-2.1.23.dfsg1.orig/debian/cyrus-sasl2-heimdal-dbg.preinst
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-set -e
-
-#DEBHELPER#
-
-if [ install = "$1" ]; then
- dpkg-divert --package cyrus-sasl2-heimdal-dbg --divert /usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.23.mit --rename /usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.23
-fi
-
reverted:
--- cyrus-sasl2-2.1.23.dfsg1/debian/cyrus-sasl2-heimdal-dbg.postrm
+++ cyrus-sasl2-2.1.23.dfsg1.orig/debian/cyrus-sasl2-heimdal-dbg.postrm
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-set -e
-
-#DEBHELPER#
-
-if [ remove = "$1" ]; then
- dpkg-divert --package cyrus-sasl2-heimdal-dbg --rename --remove /usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.23
-fi
-
diff -u cyrus-sasl2-2.1.23.dfsg1/debian/rules cyrus-sasl2-2.1.23.dfsg1/debian/rules
--- cyrus-sasl2-2.1.23.dfsg1/debian/rules
+++ cyrus-sasl2-2.1.23.dfsg1/debian/rules
@@ -308,6 +308,7 @@
dh_link -s
dh_strip -s -psasl2-bin -plibsasl2-2 -plibsasl2-modules -plibsasl2-modules-ldap -plibsasl2-modules-otp -plibsasl2-modules-sql -plibsasl2-modules-gssapi-mit -plibsasl2-dev -Nlibsasl2-modules-gssapi-heimdal --dbg-package=cyrus-sasl2-dbg
dh_strip -s -plibsasl2-modules-gssapi-heimdal -Nsasl2-bin -Nlibsasl2-2 -Nlibsasl2-modules -Nlibsasl2-modules-ldap -Nlibsasl2-modules-otp -Nlibsasl2-modules-sql -Nlibsasl2-modules-gssapi-mit -Nlibsasl2-dev --dbg-package=cyrus-sasl2-heimdal-dbg
+ mv debian/cyrus-sasl2-dbg/usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.23 debian/cyrus-sasl2-mit-dbg/usr/lib/debug/usr/lib/sasl2/
dh_compress -s
dh_fixperms -s
dh_makeshlibs -s -X/usr/lib/sasl2
only in patch2:
unchanged:
--- cyrus-sasl2-2.1.23.dfsg1.orig/debian/cyrus-sasl2-mit-dbg.dirs
+++ cyrus-sasl2-2.1.23.dfsg1/debian/cyrus-sasl2-mit-dbg.dirs
@@ -0,0 +1 @@
+usr/lib/debug/usr/lib/sasl2/
--8<---------------cut here---------------end--------------->8---
Thx, bye,
Gismo / Luca
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-cyrus-sasl2-debian-devel/attachments/20101128/bc3e7cbe/attachment.pgp>
More information about the Pkg-cyrus-sasl2-debian-devel
mailing list