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)r...@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)r...@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 <l...@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 + <gaud...@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 <l...@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
signature.asc
Description: Digital signature