[pkg-db-devel] Bug#631352: please transition db4.8 for multiarch

Steve Langasek steve.langasek at canonical.com
Thu Jun 23 07:22:43 UTC 2011


Package: db4.8
Version: 4.8.30-8
Severity: normal
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu oneiric ubuntu-patch

Hi Ondřej,

As promised in bug #631318, here is a patch from Ubuntu to build db4.8 for
multiarch.  Quite a bit different since the packaging is different between
db4.8 and db, but the effect is the same.

-- 
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-05-03 21:58:06 +0000
+++ debian/control	2011-06-23 07:05:48 +0000
@@ -4,7 +4,7 @@
 Maintainer: Debian Berkeley DB Group <pkg-db-devel at lists.alioth.debian.org>
 Uploaders: Ondřej Surý <ondrej at debian.org>
 Standards-Version: 3.9.2
-Build-Depends: procps [!hurd-i386], tcl-dev
+Build-Depends: procps [!hurd-i386], tcl-dev, dpkg-dev (>= 1.16.0)
 Homepage: http://www.oracle.com/technology/software/products/berkeley-db/index.html
 Vcs-Browser: http://git.debian.org/?p=pkg-db/db4.8.git;a=summary
 Vcs-Git: git://git.debian.org/git/pkg-db/db4.8/db.git
@@ -21,6 +21,8 @@
 Package: libdb4.8
 Architecture: any
 Section: oldlibs
+Multi-Arch: same
+Pre-Depends: multiarch-support
 Depends: ${shlibs:Depends}
 Description: Berkeley v4.8 Database Libraries [runtime]
  This is the runtime package for programs that use the v4.8 Berkeley
@@ -29,6 +31,7 @@
 Package: db4.8-util
 Architecture: any
 Section: database
+Multi-Arch: foreign
 Depends: ${shlibs:Depends}
 Description: Berkeley v4.8 Database Utilities
  This package provides different tools for manipulating databases

=== modified file 'debian/rules'
--- debian/rules	2011-05-03 21:58:06 +0000
+++ debian/rules	2011-06-23 07:13:32 +0000
@@ -18,12 +18,14 @@
 
 DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
 CONFIGURE_VARS = CC=gcc CFLAGS="$(CFLAGS)" 
 CONFIGURE_SWITCHES =    --prefix=/usr \
 			--mandir=\$${prefix}/share/man \
 			--localstatedir=/var \
 			--sysconfdir=/etc \
+			--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
 			--libexecdir=/usr/lib \
 			--disable-cxx \
 			--enable-compat185 \
@@ -82,7 +84,7 @@
 	rm -rf debian/tmp
 	$(INSTALL_DIR) debian/tmp
 
-	cd obj && $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr
+	cd obj && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
 
 	touch install-stamp
 
@@ -90,40 +92,40 @@
 	$(checkdir)
 
 	rm -rf debian/lib$(package)-dev debian/$(package)-util debian/lib$(package)
-	$(INSTALL_DIR) debian/lib$(package)-dev/usr/lib \
+	$(INSTALL_DIR) debian/lib$(package)-dev/usr/lib/$(DEB_HOST_MULTIARCH) \
 			debian/$(package)-util/usr/share/man/man1 \
-			debian/lib$(package)/usr/lib
+			debian/lib$(package)/usr/lib/$(DEB_HOST_MULTIARCH)
 
 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
 	strip --remove-section=.note --remove-section=.comment \
-	      debian/tmp/usr/lib/*.so debian/tmp/usr/bin/*
-	strip --strip-debug debian/tmp/usr/lib/*.a
+	      debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.so debian/tmp/usr/bin/*
+	strip --strip-debug debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.a
 endif
 
-	chmod 644 debian/tmp/usr/lib/*.so debian/tmp/usr/include/*.h
+	chmod 644 debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.so debian/tmp/usr/include/*.h
 	chmod 755 debian/tmp/usr/bin/*
 
 	rm -f debian/tmp/usr/include/db_cxx.h
 	cp -a debian/tmp/usr/include debian/lib$(package)-dev/usr
 	cp -a debian/tmp/usr/bin debian/$(package)-util/usr
-	cp -a debian/tmp/usr/lib/*.so debian/tmp/usr/lib/*.a \
-	        debian/lib$(package)-dev/usr/lib
-	mv debian/lib$(package)-dev/usr/lib/libdb-$(bdbversion).so debian/lib$(package)/usr/lib
+	cp -a debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.so debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.a \
+	        debian/lib$(package)-dev/usr/lib/$(DEB_HOST_MULTIARCH)
+	mv debian/lib$(package)-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libdb-$(bdbversion).so debian/lib$(package)/usr/lib/$(DEB_HOST_MULTIARCH)
 
 	# Remove extra TCL library
-	rm -f debian/lib$(package)-dev/usr/lib/*tcl*
+	rm -f debian/lib$(package)-dev/usr/lib/$(DEB_HOST_MULTIARCH)/*tcl*
 
 	# Remove -ldb from libdb*-dev packages
 	#rm -f debian/lib$(package)-dev/usr/lib/libdb.a
 	#rm -f debian/lib$(package)-dev/usr/lib/libdb.so
-	rm -f debian/lib$(package)-dev/usr/lib/libdb-4.so
-	rm -f debian/lib$(package)++-dev/usr/lib/libdb_cxx.a
-	rm -f debian/lib$(package)++-dev/usr/lib/libdb_cxx.so
-	rm -f debian/lib$(package)++-dev/usr/lib/libdb_cxx-4.so
-	rm -f debian/lib$(package)-java-dev/usr/lib/libdb_java.so
-	rm -f debian/lib$(package)-java-dev/usr/lib/libdb_java-4.so
-	rm -f debian/lib$(package)-tcl/usr/lib/libdb_tcl.so
-	rm -f debian/lib$(package)-tcl/usr/lib/libdb_tcl-4.so
+	rm -f debian/lib$(package)-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libdb-4.so
+	rm -f debian/lib$(package)++-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libdb_cxx.a
+	rm -f debian/lib$(package)++-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libdb_cxx.so
+	rm -f debian/lib$(package)++-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libdb_cxx-4.so
+	rm -f debian/lib$(package)-java-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libdb_java.so
+	rm -f debian/lib$(package)-java-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libdb_java-4.so
+	rm -f debian/lib$(package)-tcl/usr/lib/$(DEB_HOST_MULTIARCH)/libdb_tcl.so
+	rm -f debian/lib$(package)-tcl/usr/lib/$(DEB_HOST_MULTIARCH)/libdb_tcl-4.so
 
 	cd debian/$(package)-util/usr/bin && for i in * ; \
 	 do mv $$i `echo $$i | sed 's/db/$(package)/'` ; \



More information about the pkg-db-devel mailing list