Package: db4.8
Version: 4.8.30-8
Severity: normal
Tags: patch
User: [email protected]
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/
[email protected]                                     [email protected]
=== 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 <[email protected]>
 Uploaders: Ondřej Surý <[email protected]>
 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)/'` ; \

Reply via email to