[Pkg-openssl-devel] Bug#638137: Please transition openssl for multiarch

Steve Langasek steve.langasek at canonical.com
Wed Aug 17 01:15:39 UTC 2011


Package: openssl
Version: 1.0.0d-3.1
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 openssl 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.

openssl is obviously a pretty core library, and is part of the stack
packaged in ia32-libs.  Converting openssl 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.

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/control'
--- debian/control	2011-04-02 13:19:19 +0000
+++ debian/control	2011-08-16 22:00:45 +0000
@@ -1,5 +1,5 @@
 Source: openssl
-Build-Depends: debhelper (>= 5.0.22), zlib1g-dev, m4, bc
+Build-Depends: debhelper (>= 8.1.3), zlib1g-dev, m4, bc
 Section: utils
 Priority: optional
 Maintainer: Debian OpenSSL Team <pkg-openssl-devel at lists.alioth.debian.org>
@@ -30,6 +30,8 @@
 Section: libs
 Priority: important
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: SSL shared libraries
  libssl and libcrypto shared libraries needed by programs like
@@ -76,6 +78,7 @@
 Section: debug
 Priority: extra
 Architecture: any
+Multi-Arch: same
 Depends: libssl1.0.0 (= ${binary:Version}), ${misc:Depends}
 Description: Symbol tables for libssl and libcrypto
  This package is part of the OpenSSL implementation of SSL.

=== modified file 'debian/libssl-dev.files'
--- debian/libssl-dev.files	2010-12-12 15:37:21 +0000
+++ debian/libssl-dev.files	2011-08-16 22:00:45 +0000
@@ -1,6 +1,6 @@
-usr/lib/libssl.so
-usr/lib/libcrypto.so
-usr/lib/libssl.a
-usr/lib/libcrypto.a
-usr/lib/pkgconfig
+usr/lib/*/libssl.so
+usr/lib/*/libcrypto.so
+usr/lib/*/libssl.a
+usr/lib/*/libcrypto.a
+usr/lib/*/pkgconfig
 usr/include

=== modified file 'debian/libssl1.0.0.dirs'
--- debian/libssl1.0.0.dirs	2010-12-12 15:37:21 +0000
+++ debian/libssl1.0.0.dirs	2011-08-16 22:01:04 +0000
@@ -1,2 +1 @@
-usr/lib
 usr/share/doc/libssl1.0.0

=== modified file 'debian/libssl1.0.0.files'
--- debian/libssl1.0.0.files	2010-12-12 15:37:21 +0000
+++ debian/libssl1.0.0.files	2011-08-16 22:02:09 +0000
@@ -1,4 +1,4 @@
-usr/lib/*.so.*.*.*
 usr/lib/*/*.so.*.*.*
-usr/lib/i686/cmov/*.so.*.*.*
-usr/lib/openssl-1.0.0/engines
+usr/lib/*/*/*.so.*.*.*
+usr/lib/*/i686/cmov/*.so.*.*.*
+usr/lib/*/openssl-1.0.0/engines

=== modified file 'debian/rules'
--- debian/rules	2011-04-02 13:19:19 +0000
+++ debian/rules	2011-08-17 00:55:46 +0000
@@ -17,8 +17,9 @@
 
 # The binary architeture
 DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_MULTIARCH=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
-CONFARGS  = --prefix=/usr --openssldir=/usr/lib/ssl no-idea no-mdc2 no-rc5 zlib  enable-tlsext no-ssl2
+CONFARGS  = --prefix=/usr --openssldir=/usr/lib/ssl --libdir=lib/$(DEB_HOST_MULTIARCH) no-idea no-mdc2 no-rc5 zlib  enable-tlsext no-ssl2
 OPT_alpha = ev4 ev5
 OPT_i386  = i486 i586 i686/cmov
 OPT_sparc = v8 v9
@@ -110,14 +111,14 @@
 	# pic static libraries, nobody should need them
 #	mv debian/tmp/usr/lib/libcrypto.a debian/tmp/usr/lib/libcrypto_pic.a
 #	mv debian/tmp/usr/lib/libssl.a debian/tmp/usr/lib/libssl_pic.a
-	cp -pf libcrypto.static debian/tmp/usr/lib/libcrypto.a
-	cp -pf libssl.static debian/tmp/usr/lib/libssl.a
+	cp -pf libcrypto.static debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcrypto.a
+	cp -pf libssl.static debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libssl.a
 	mkdir -p debian/tmp/etc/ssl
 	mv debian/tmp/usr/lib/ssl/{certs,openssl.cnf,private} debian/tmp/etc/ssl/
 	ln -s /etc/ssl/{certs,openssl.cnf,private} debian/tmp/usr/lib/ssl/
-	cp -pf debian/tmp/usr/lib/libcrypto.so.* debian/libcrypto1.0.0-udeb/usr/lib/
-	cp -auv lib*.so* debian/tmp/usr/lib/
-	for opt in $(OPTS); do set -xe; mkdir -p debian/tmp/usr/lib/$$opt; cp -auv $$opt/lib*.so* debian/tmp/usr/lib/$$opt/; done
+	cp -pf debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcrypto.so.* debian/libcrypto1.0.0-udeb/usr/lib/
+	cp -auv lib*.so* debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/
+	for opt in $(OPTS); do set -xe; mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/$$opt; cp -auv $$opt/lib*.so* debian/tmp/usr/lib/$$opt/; done
 	install debian/copyright debian/libssl1.0.0/usr/share/doc/libssl1.0.0/
 	install debian/changelog debian/libssl1.0.0/usr/share/doc/libssl1.0.0/changelog.Debian
 	install debian/copyright debian/libssl-dev/usr/share/doc/libssl-dev/
@@ -136,7 +137,7 @@
 	dh_perl -a -d
 	dpkg-gensymbols -Pdebian/libssl1.0.0/ -plibssl1.0.0 -c4
 	dh_makeshlibs -a -V "libssl1.0.0 (>= 1.0.0)" --add-udeb="libcrypto1.0.0-udeb"
-	dh_shlibdeps -a -L libssl1.0.0 -l debian/libssl1.0.0/usr/lib
+	dh_shlibdeps -a -L libssl1.0.0 -l debian/libssl1.0.0/usr/lib/$(DEB_HOST_MULTIARCH)
 	dh_gencontrol -a
 	dh_installdeb -a
 	dh_md5sums -a



More information about the Pkg-openssl-devel mailing list