debian: Multi-Arch support.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 14 Jun 2013 18:24:17 +0000 (19:24 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 6 Jul 2017 10:08:38 +0000 (11:08 +0100)
Makefile.am
debian/compat
debian/control
debian/mlib-dev.install
debian/mlib2-adns.install [deleted file]
debian/mlib2-adns.install.in [new file with mode: 0644]
debian/mlib2.install
debian/rules

index ff19976..5b3ddba 100644 (file)
@@ -135,7 +135,7 @@ EXTRA_DIST          += debian/compat debian/source/format
 EXTRA_DIST             += debian/mlib2.install
 
 ## mlib2-adns
-EXTRA_DIST             += debian/mlib2-adns.install
+EXTRA_DIST             += debian/mlib2-adns.install.in
 
 ## mlib-bin
 EXTRA_DIST             += debian/mlib-bin.install
index 45a4fb7..ec63514 100644 (file)
@@ -1 +1 @@
-8
+9
index cdc9a2c..14d26a7 100644 (file)
@@ -2,12 +2,14 @@ Source: mlib
 Section: libs
 Priority: extra
 Maintainer: Mark Wooding <mdw@distorted.org.uk>
-Build-Depends: debhelper (>= 8), python, libadns1-dev
+Build-Depends: debhelper (>= 9), python, libadns1-dev
 Standards-Version: 3.1.1
 
 Package: mlib2
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
 Conflicts: mlib2-adns
 Description: A library of miscellaneous stuff
  The mLib library provides various handy utilities, including
@@ -27,6 +29,7 @@ Description: A library of miscellaneous stuff
 
 Package: mlib2-adns
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends}
 Conflicts: mlib2
 Description: A library of miscellaneous stuff
index 6c3b3ed..31f5cb5 100644 (file)
@@ -1,6 +1,6 @@
 debian/tmp/usr/include
-debian/tmp/usr/lib/libmLib.a
-debian/tmp/usr/lib/libmLib.la
-debian/tmp/usr/lib/libmLib.so
-debian/tmp/usr/lib/pkgconfig
+debian/tmp/usr/lib/*/libmLib.a
+debian/tmp/usr/lib/*/libmLib.la
+debian/tmp/usr/lib/*/libmLib.so
+debian/tmp/usr/lib/*/pkgconfig
 debian/tmp/usr/share/man/man3
diff --git a/debian/mlib2-adns.install b/debian/mlib2-adns.install
deleted file mode 100644 (file)
index db8e227..0000000
+++ /dev/null
@@ -1 +0,0 @@
-debian/tmp-adns/usr/lib/libmLib.so.* /usr/lib
diff --git a/debian/mlib2-adns.install.in b/debian/mlib2-adns.install.in
new file mode 100644 (file)
index 0000000..9879364
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp-adns/usr/lib/@ARCH@/libmLib.so.* /usr/lib/@ARCH@
index 6dfee5e..ea99a01 100644 (file)
@@ -1,2 +1,2 @@
-debian/tmp/usr/lib/libmLib.so.*
-debian/tmp/usr/lib/mLib/bres
+debian/tmp/usr/lib/*/libmLib.so.*
+debian/tmp/usr/lib/*/mLib/bres
index 90210a9..f7796aa 100755 (executable)
@@ -38,8 +38,9 @@ endef
 
 ## Override the build actions, and perform the relevant action for each
 ## flavour in turn.
-$(foreach t, $(DH_BUILD_OVERRIDES), override_dh_auto_$t):: \
-               override_dh_auto_%:
+$(foreach t, $(DH_BUILD_OVERRIDES), dh-$t-hook):: %:; @:
+$(foreach t, $(DH_BUILD_OVERRIDES), override_dh_auto_$t): \
+               override_dh_auto_%: dh-%-hook
        $(foreach f, $(FLAVOURS), $(call flavour-build-action,$*,$f))
 
 ## Configuration options.
@@ -48,7 +49,7 @@ DH_configure_OPTIONS_noadns = --without-adns
 DH_configure_OPTIONS_adns = --with-adns
 
 ## Cleaning options.
-override_dh_auto_clean::
+dh-clean-hook::
        rm -rf debian/tmp-adns
 
 ## Installation options.
@@ -57,6 +58,17 @@ DH_install_OPTIONS_adns = --destdir=debian/tmp-adns
 ###--------------------------------------------------------------------------
 ### Additional tweaks.
 
+## Some of the install lists need to be generated.  This is a little
+## annoying.
+GEN_INSTALL_PKGS = mlib2-adns
+GEN_INSTALL_FILES = $(foreach p, $(GEN_INSTALL_PKGS), debian/$p.install)
+$(GEN_INSTALL_FILES): debian/%.install: \
+               debian/%.install.in debian/changelog debian/rules
+       sed 's,@ARCH@,$a,g' $< >$@.new && mv $@.new $@
+dh-install-hook:: $(GEN_INSTALL_FILES); @:
+dh-clean-hook::
+       rm -f $(GEN_INSTALL_FILES)
+
 ## Override the shared-library dependency information to allow any flavour.
 override_dh_makeshlibs:
        dh_makeshlibs -V"mlib2 (>= $v) | mlib2-adns (>= $v)"