Bug#637968: Please transition cyrus-sasl2 for multiarch
Steve Langasek
steve.langasek at canonical.com
Mon Aug 15 23:49:17 UTC 2011
Package: cyrus-sasl2
Version: 2.1.24~rc1.dfsg1+cvs2011-05-23-4
Severity: normal
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
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/
slangasek at ubuntu.com vorlon at debian.org
-------------- next part --------------
=== 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 <pkg-cyrus-sasl2-debian-devel at lists.alioth.debian.org>
Uploaders: Fabian Fagerholm <fabbe at debian.org>, Roberto C. Sanchez <roberto at connexer.com>, Ond?ej Sur? <ondrej at debian.org>
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
More information about the Pkg-cyrus-sasl2-debian-devel
mailing list