From 9a38b772cbcda9563d5a7c5307b2ec43a13d8e52 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Fri, 14 Jun 2013 19:24:17 +0100 Subject: [PATCH] debian: Multi-Arch support. --- Makefile.am | 2 +- debian/compat | 2 +- debian/control | 5 ++++- debian/mlib-dev.install | 8 ++++---- debian/mlib2-adns.install | 1 - debian/mlib2-adns.install.in | 1 + debian/mlib2.install | 4 ++-- debian/rules | 18 +++++++++++++++--- 8 files changed, 28 insertions(+), 13 deletions(-) delete mode 100644 debian/mlib2-adns.install create mode 100644 debian/mlib2-adns.install.in diff --git a/Makefile.am b/Makefile.am index ff19976..5b3ddba 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/debian/compat b/debian/compat index 45a4fb7..ec63514 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -8 +9 diff --git a/debian/control b/debian/control index cdc9a2c..14d26a7 100644 --- a/debian/control +++ b/debian/control @@ -2,12 +2,14 @@ Source: mlib Section: libs Priority: extra Maintainer: Mark Wooding -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 diff --git a/debian/mlib-dev.install b/debian/mlib-dev.install index 6c3b3ed..31f5cb5 100644 --- a/debian/mlib-dev.install +++ b/debian/mlib-dev.install @@ -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 index db8e227..0000000 --- a/debian/mlib2-adns.install +++ /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 index 0000000..9879364 --- /dev/null +++ b/debian/mlib2-adns.install.in @@ -0,0 +1 @@ +debian/tmp-adns/usr/lib/@ARCH@/libmLib.so.* /usr/lib/@ARCH@ diff --git a/debian/mlib2.install b/debian/mlib2.install index 6dfee5e..ea99a01 100644 --- a/debian/mlib2.install +++ b/debian/mlib2.install @@ -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 diff --git a/debian/rules b/debian/rules index 90210a9..f7796aa 100755 --- a/debian/rules +++ b/debian/rules @@ -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)" -- 2.11.0