reassign 628237 libsasl2-2 reassign 655845 libsasl2-2 found 628237 2.1.25.dfsg1-3 found 655845 2.1.25.dfsg1-3 tags 628237 + patch tags 655845 + patch thanks
Most of the work on understanding these issues was already done by Ralph Rößner[1] and Steve Langasek[2]. Thank you both for your excellent work. I can not explain precisely how 628237 happened. However I did try upgrading slapd from squeeze to sid and encountered both of these issues in different ways. The first event was that libsasl2-2 changed its ABI without bumping the soname. If you upgrade libsasl2-2 on from squeeze to sid and the upgrade slapd, you will see that the dumping of the database (preinst) will fail with the error message shown in #655845. Later Steve Langasek rebuilt[3] slapd against the changed libsasl2. Now this rebuilt slapd fails to work with squeeze libsasl2-2. This can be seen by upgrading just slapd (and everything it pulls which does not include libsasl2-2) from squeeze to sid. Interestingly this gives an error (postinst) very similar to the one shown in #628237, which looks like a time loop, but is what I observe. Now Steve Langasek already observed[2] that libsasl2-2 needs to break the squeeze version of slapd (or bump soname, but it is too late for this move). On the other hand slapd needs to depend on the changed ABI of libsasl2-2. The preferred way of doing this is by libsasl2-2 providing a shlibs dependency. I attached a debdiff to cyrus-sasl2 that applies both changes. Of course this also requires a rebuild of openldap against the fixed libsasl2-2. Using these new packages the upgrade from squeeze to sid works as expected. Helmut [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628237#80 [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628237#129 [3] version 2.4.25-4, closing #628237, see http://packages.debian.org/changelogs/pool/main/o/openldap/current/changelog#version2.4.25-4
diff -Nru cyrus-sasl2-2.1.25.dfsg1/debian/changelog cyrus-sasl2-2.1.25.dfsg1/debian/changelog --- cyrus-sasl2-2.1.25.dfsg1/debian/changelog 2012-01-18 08:47:29.000000000 +0100 +++ cyrus-sasl2-2.1.25.dfsg1/debian/changelog 2012-03-03 22:45:16.000000000 +0100 @@ -1,3 +1,11 @@ +cyrus-sasl2 (2.1.25.dfsg1-3.1) unstable; urgency=medium + + * Non-maintainer upload. + * Breaks: slapd < 2.4.25-4 (Closes: #655845) + * Introduce shlib dependency on 2.1.24 for libsasl2-2. (Closes: #628237) + + -- Helmut Grohne <hel...@subdivi.de> Sat, 03 Mar 2012 22:42:42 +0100 + cyrus-sasl2 (2.1.25.dfsg1-3) unstable; urgency=low [ Thomas Preud'homme ] diff -Nru cyrus-sasl2-2.1.25.dfsg1/debian/control cyrus-sasl2-2.1.25.dfsg1/debian/control --- cyrus-sasl2-2.1.25.dfsg1/debian/control 2012-01-18 08:47:29.000000000 +0100 +++ cyrus-sasl2-2.1.25.dfsg1/debian/control 2012-03-03 17:14:17.000000000 +0100 @@ -39,7 +39,7 @@ Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: libsasl2-modules (= ${binary:Version}) -Breaks: postfix (<= 2.8.3-1) +Breaks: postfix (<= 2.8.3-1), slapd (<= 2.4.25-3) Replaces: libsasl2 Description: Cyrus SASL - authentication abstraction library This is the Cyrus SASL API implementation, version 2.1. diff -Nru cyrus-sasl2-2.1.25.dfsg1/debian/rules cyrus-sasl2-2.1.25.dfsg1/debian/rules --- cyrus-sasl2-2.1.25.dfsg1/debian/rules 2012-01-18 08:47:29.000000000 +0100 +++ cyrus-sasl2-2.1.25.dfsg1/debian/rules 2012-03-03 23:33:02.000000000 +0100 @@ -232,7 +232,7 @@ dh_strip -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 override_dh_makeshlibs: - dh_makeshlibs -X/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2 + dh_makeshlibs -V "libsasl2-2 (>= 2.1.24)" -X/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2 override_dh_auto_test: cd $(TMPBUILD_MIT)/saslauthd && $(MAKE) testsaslauthd