Package: cyrus-sasl2 Version: 2.1.24~rc1.dfsg1+cvs2011-05-23-4 Severity: normal Tags: patch User: [email protected] Usertags: origin-ubuntu oneiric ubuntu-patch
Hi guys, Please find attached a patch to cyrus-sasl2 to transition it to use of the multiarch library paths as described at <http://wiki.debian.org/Multiarch/Implementation>. This patch has been tested and included in Ubuntu Oneiric. As a dependency of libldap-2.4-2, libsas2-2 is part of the stack packaged in ia32-libs. Converting cyrus-sasl2 for multiarch use, and thus facilitating the direct installation of i386 packages on amd64 systems, will be a great step forward in the release goal of getting rid of ia32-libs for wheezy. So please consider including this patch in Debian sooner rather than later. Note that this patch includes backwards-compatibility with the /usr/lib/sasl2 module path in case of out-of-tree modules on the system, but that /usr/lib/$arch/sasl2 is now the preferred path. I've tested here to confirm that libsasl2-2 will still load modules from both directories. Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ [email protected] [email protected]
=== modified file 'debian/compat' --- debian/compat 2011-05-25 21:57:11 +0000 +++ debian/compat 2011-08-15 22:27:29 +0000 @@ -1 +1 @@ -7 +9 === modified file 'debian/control' --- debian/control 2011-08-13 16:02:30 +0000 +++ debian/control 2011-08-15 22:30:46 +0000 @@ -4,7 +4,7 @@ Maintainer: Debian Cyrus SASL Team <[email protected]> Uploaders: Fabian Fagerholm <[email protected]>, Roberto C. Sanchez <[email protected]>, Ondřej Surý <[email protected]> Standards-Version: 3.9.2 -Build-Depends: debhelper (>= 7.0.50~), quilt (>= 0.46-7~), autotools-dev, automake, autoconf, libtool, libdb-dev, libpam0g-dev (>= 0.76-22), libssl-dev (>= 0.9.7e-3), libmysqlclient-dev | libmysqlclient15-dev (>= 5.0.20), libpq-dev (>= 8.1.3-4), heimdal-multidev, krb5-multidev, libsqlite3-dev, libldap2-dev (>= 2.1.30-8), chrpath, groff-base, debconf (>= 0.5) | debconf-2.0, po-debconf, docbook-to-man, hardening-wrapper +Build-Depends: debhelper (>= 8.1.3), quilt (>= 0.46-7~), autotools-dev, automake, autoconf, libtool, libdb-dev, libpam0g-dev (>= 0.76-22), libssl-dev (>= 0.9.7e-3), libmysqlclient-dev | libmysqlclient15-dev (>= 5.0.20), libpq-dev (>= 8.1.3-4), heimdal-multidev, krb5-multidev, libsqlite3-dev, libldap2-dev (>= 2.1.30-8), chrpath, groff-base, debconf (>= 0.5) | debconf-2.0, po-debconf, docbook-to-man, hardening-wrapper Build-Conflicts: heimdal-dev Vcs-Browser: http://git.debian.org/?p=pkg-cyrus-sasl2/cyrus-sasl2.git Vcs-Git: git://git.debian.org/pkg-cyrus-sasl2/cyrus-sasl2/ @@ -35,6 +36,8 @@ Package: libsasl2-2 Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: libsasl2-modules (= ${binary:Version}) Replaces: libsasl2 @@ -57,6 +60,7 @@ Package: libsasl2-modules Priority: optional Architecture: any +Multi-Arch: same Depends: libsasl2-2 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Suggests: libsasl2-modules-otp, libsasl2-modules-ldap, libsasl2-modules-sql, libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal Description: Cyrus SASL - pluggable authentication modules @@ -69,6 +73,7 @@ Package: libsasl2-modules-ldap Priority: extra Architecture: any +Multi-Arch: same Depends: libsasl2-modules (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: Cyrus SASL - pluggable authentication modules (LDAP) This is the Cyrus SASL API implementation, version 2.1. See package @@ -79,6 +84,7 @@ Package: libsasl2-modules-otp Priority: extra Architecture: any +Multi-Arch: same Depends: libsasl2-modules (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: Cyrus SASL - pluggable authentication modules (OTP) This is the Cyrus SASL API implementation, version 2.1. See package @@ -89,6 +95,7 @@ Package: libsasl2-modules-sql Priority: extra Architecture: any +Multi-Arch: same Depends: libsasl2-modules (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: Cyrus SASL - pluggable authentication modules (SQL) This is the Cyrus SASL API implementation, version 2.1. See package @@ -100,6 +107,7 @@ Package: libsasl2-modules-gssapi-mit Priority: extra Architecture: any +Multi-Arch: same Depends: libsasl2-modules (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Conflicts: libsasl2-modules-gssapi-heimdal Description: Cyrus SASL - pluggable authentication modules (GSSAPI) @@ -123,6 +131,7 @@ Package: libsasl2-modules-gssapi-heimdal Architecture: any +Multi-Arch: same Priority: extra Depends: libsasl2-modules (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Conflicts: libsasl2-modules-gssapi-mit === removed file 'debian/cyrus-sasl2-mit-dbg.dirs' --- debian/cyrus-sasl2-mit-dbg.dirs 2010-12-18 11:14:59 +0000 +++ debian/cyrus-sasl2-mit-dbg.dirs 1970-01-01 00:00:00 +0000 @@ -1 +0,0 @@ -usr/lib/debug/usr/lib/sasl2/ === modified file 'debian/libsasl2-2.install' --- debian/libsasl2-2.install 2011-05-25 21:57:11 +0000 +++ debian/libsasl2-2.install 2011-08-15 22:27:29 +0000 @@ -1,3 +1,3 @@ -usr/lib/libsasl2.so.* -usr/lib/sasl2/libsasldb.so* +usr/lib/*/libsasl2.so.* +usr/lib/*/sasl2/libsasldb.so* usr/lib/sasl2/berkeley_db.txt === removed file 'debian/libsasl2-dev.dirs' --- debian/libsasl2-dev.dirs 2006-12-13 23:22:02 +0000 +++ debian/libsasl2-dev.dirs 1970-01-01 00:00:00 +0000 @@ -1,3 +0,0 @@ -usr/include/sasl -usr/lib -usr/share/man/man3 === modified file 'debian/libsasl2-dev.install' --- debian/libsasl2-dev.install 2011-05-25 21:57:11 +0000 +++ debian/libsasl2-dev.install 2011-08-15 22:27:29 +0000 @@ -1,4 +1,4 @@ usr/include/sasl -usr/lib/libsasl2.so -usr/lib/libsasl2.a +usr/lib/*/libsasl2.so +usr/lib/*/libsasl2.a usr/share/man/man3 === removed file 'debian/libsasl2-modules-gssapi-heimdal.dirs' --- debian/libsasl2-modules-gssapi-heimdal.dirs 2010-08-19 20:45:57 +0000 +++ debian/libsasl2-modules-gssapi-heimdal.dirs 1970-01-01 00:00:00 +0000 @@ -1,2 +0,0 @@ -usr/lib/sasl2 -usr/share/lintian/overrides === modified file 'debian/libsasl2-modules-gssapi-heimdal.install' --- debian/libsasl2-modules-gssapi-heimdal.install 2011-05-25 21:57:11 +0000 +++ debian/libsasl2-modules-gssapi-heimdal.install 2011-08-15 22:27:29 +0000 @@ -1 +1 @@ -usr/lib/sasl2/libgssapiv2.so* +usr/lib/*/sasl2/libgssapiv2.so* === removed file 'debian/libsasl2-modules-gssapi-mit.dirs' --- debian/libsasl2-modules-gssapi-mit.dirs 2006-12-22 00:04:32 +0000 +++ debian/libsasl2-modules-gssapi-mit.dirs 1970-01-01 00:00:00 +0000 @@ -1 +0,0 @@ -usr/lib/sasl2 === modified file 'debian/libsasl2-modules-gssapi-mit.install' --- debian/libsasl2-modules-gssapi-mit.install 2011-05-27 17:05:30 +0000 +++ debian/libsasl2-modules-gssapi-mit.install 2011-08-15 22:27:29 +0000 @@ -1,3 +1,3 @@ -usr/lib/sasl2/libgssapiv2.so* -usr/lib/sasl2/libscram.so* -usr/lib/sasl2/libgs2.so* +usr/lib/*/sasl2/libgssapiv2.so* +usr/lib/*/sasl2/libscram.so* +usr/lib/*/sasl2/libgs2.so* === removed file 'debian/libsasl2-modules-ldap.dirs' --- debian/libsasl2-modules-ldap.dirs 2006-12-22 00:04:32 +0000 +++ debian/libsasl2-modules-ldap.dirs 1970-01-01 00:00:00 +0000 @@ -1 +0,0 @@ -usr/lib/sasl2 === modified file 'debian/libsasl2-modules-ldap.install' --- debian/libsasl2-modules-ldap.install 2011-05-25 21:57:11 +0000 +++ debian/libsasl2-modules-ldap.install 2011-08-15 22:27:29 +0000 @@ -1 +1 @@ -usr/lib/sasl2/libldapdb.so* +usr/lib/*/sasl2/libldapdb.so* === removed file 'debian/libsasl2-modules-otp.dirs' --- debian/libsasl2-modules-otp.dirs 2009-06-04 16:03:06 +0000 +++ debian/libsasl2-modules-otp.dirs 1970-01-01 00:00:00 +0000 @@ -1,2 +0,0 @@ -usr/lib/sasl2 -usr/share/lintian/overrides === modified file 'debian/libsasl2-modules-otp.install' --- debian/libsasl2-modules-otp.install 2011-05-25 21:57:11 +0000 +++ debian/libsasl2-modules-otp.install 2011-08-15 22:27:29 +0000 @@ -1 +1 @@ -usr/lib/sasl2/libotp.so* +usr/lib/*/sasl2/libotp.so* === removed file 'debian/libsasl2-modules-sql.dirs' --- debian/libsasl2-modules-sql.dirs 2006-12-22 00:04:32 +0000 +++ debian/libsasl2-modules-sql.dirs 1970-01-01 00:00:00 +0000 @@ -1 +0,0 @@ -usr/lib/sasl2 === modified file 'debian/libsasl2-modules-sql.install' --- debian/libsasl2-modules-sql.install 2011-05-25 21:57:11 +0000 +++ debian/libsasl2-modules-sql.install 2011-08-15 22:27:29 +0000 @@ -1 +1 @@ -usr/lib/sasl2/libsql.so* +usr/lib/*/sasl2/libsql.so* === removed file 'debian/libsasl2-modules.dirs' --- debian/libsasl2-modules.dirs 2009-06-04 16:03:06 +0000 +++ debian/libsasl2-modules.dirs 1970-01-01 00:00:00 +0000 @@ -1,2 +0,0 @@ -usr/lib/sasl2 -usr/share/lintian/overrides === modified file 'debian/libsasl2-modules.install' --- debian/libsasl2-modules.install 2011-05-25 21:57:11 +0000 +++ debian/libsasl2-modules.install 2011-08-15 22:27:29 +0000 @@ -1,6 +1,6 @@ -usr/lib/sasl2/libanonymous.so* -usr/lib/sasl2/libcrammd5.so* -usr/lib/sasl2/libdigestmd5.so* -usr/lib/sasl2/liblogin.so* -usr/lib/sasl2/libntlm.so* -usr/lib/sasl2/libplain.so* +usr/lib/*/sasl2/libanonymous.so* +usr/lib/*/sasl2/libcrammd5.so* +usr/lib/*/sasl2/libdigestmd5.so* +usr/lib/*/sasl2/liblogin.so* +usr/lib/*/sasl2/libntlm.so* +usr/lib/*/sasl2/libplain.so* === modified file 'debian/rules' --- debian/rules 2011-08-13 16:08:26 +0000 +++ debian/rules 2011-08-15 22:27:29 +0000 @@ -20,6 +20,8 @@ #export DH_VERBOSE=1 # uncomment this to turn on verbose mode export DEB_BUILD_HARDENING=1 +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + # Save Berkeley DB used for building the package BDB_VERSION ?= $(shell LC_ALL=C dpkg-query -l 'libdb[45].[0-9]-dev' | grep ^ii | sed -e 's|.*\s\libdb\([45]\.[0-9]\)-dev\s.*|\1|') @@ -78,7 +80,8 @@ --with-pam \ --with-saslauthd=/var/run/saslauthd \ $(CONFIGURE_LDAP) \ - --with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \ + --with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2:/usr/lib/sasl2 \ + --with-plugindir=/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2:/usr/lib/sasl2 \ --sysconfdir=/etc \ --with-devrandom=/dev/urandom @@ -111,7 +114,7 @@ ### The Makefile targets begin. ### %: - dh --with=quilt $@ + dh $@ --with=quilt override_dh_auto_clean: dh_auto_clean -B$(TMPBUILD_MIT) @@ -158,8 +161,8 @@ >> debian/README.configure-options override_dh_auto_build: - dh_auto_build -B$(TMPBUILD_MIT) - dh_auto_build -B$(TMPBUILD_HEIMDAL) + dh_auto_build -B$(TMPBUILD_MIT) -- sasldir=/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2 + dh_auto_build -B$(TMPBUILD_HEIMDAL) -- sasldir=/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2 # Build sample-{client,server} $(MAKE) -f $(CURDIR)/debian/sample/Makefile -C $(CURDIR)/sample T=$(TMPBUILD_MIT) @@ -173,10 +176,12 @@ /usr/bin/pod2man --stderr debian/gen-auth/gen-auth >gen-auth.1 override_dh_auto_install: - dh_auto_install -B$(TMPBUILD_MIT) -- DESTDIR=$(TMPPKG_MIT) - dh_auto_install -B$(TMPBUILD_HEIMDAL) -- DESTDIR=$(TMPPKG_HEIMDAL) + dh_auto_install -B$(TMPBUILD_MIT) -- DESTDIR=$(TMPPKG_MIT) sasldir=/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2 + dh_auto_install -B$(TMPBUILD_HEIMDAL) -- DESTDIR=$(TMPPKG_HEIMDAL) sasldir=/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2 + # Note the version of Berkeley DB used to build this package + mkdir -p $(TMPPKG_MIT)/usr/lib/sasl2 echo $(BDB_VERSION) > $(TMPPKG_MIT)/usr/lib/sasl2/berkeley_db.txt # Alter the default location and names of files to fit Debian @@ -201,7 +206,7 @@ # Alter the rpath of certain binaries and shared libraries. chrpath -d $(TMPPKG_MIT)/usr/sbin/sasldblistusers2 \ $(TMPPKG_MIT)/usr/sbin/saslpasswd2 - chrpath -d $(TMPPKG_MIT)/usr/lib/sasl2/libsql.so.2.0.24 + chrpath -d $(TMPPKG_MIT)/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2/libsql.so.2.0.24 # Install the sasl-sample-client and -server man pages. dh_installman -psasl2-bin sasl-sample-client.8 sasl-sample-server.8 @@ -226,10 +231,11 @@ override_dh_strip: dh_strip -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 -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.24 debian/cyrus-sasl2-mit-dbg/usr/lib/debug/usr/lib/sasl2/ + mkdir -p debian/cyrus-sasl2-mit-dbg/usr/lib/debug/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2 + mv debian/cyrus-sasl2-dbg/usr/lib/debug/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2/libgssapiv2.so.2.0.24 debian/cyrus-sasl2-mit-dbg/usr/lib/debug/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2/ override_dh_makeshlibs: - dh_makeshlibs -X/usr/lib/sasl2 + dh_makeshlibs -X/usr/lib/$(DEB_HOST_MULTIARCH)/sasl2 override_dh_auto_test: cd $(TMPBUILD_MIT)/saslauthd && $(MAKE) testsaslauthd

