From 5b078c11a05739c5869a6fff858019a7c520ca83 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Fri, 14 Jun 2013 20:43:15 +0100 Subject: [PATCH] debian: Drop CDBS in favour of using Debhelper directly. --- Makefile.am | 11 ++++++++- debian/.gitignore | 2 +- debian/compat | 1 + debian/control | 2 +- debian/rules | 74 ++++++++++++++++++++++++++++++++++++------------------- 5 files changed, 61 insertions(+), 29 deletions(-) create mode 100644 debian/compat diff --git a/Makefile.am b/Makefile.am index 5a11eb7..1fe6fa1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -128,9 +128,18 @@ EXTRA_DIST += config/maninst ## General stuff. EXTRA_DIST += debian/rules debian/copyright EXTRA_DIST += debian/control debian/changelog +EXTRA_DIST += debian/compat + +## mlib2 EXTRA_DIST += debian/mlib2.install + +## mlib2-adns EXTRA_DIST += debian/mlib2-adns.install -EXTRA_DIST += debian/mlib-dev.install + +## mlib-bin EXTRA_DIST += debian/mlib-bin.install +## mlib-dev +EXTRA_DIST += debian/mlib-dev.install + ###----- That's all, folks -------------------------------------------------- diff --git a/debian/.gitignore b/debian/.gitignore index dcad8f7..bc87143 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -1,11 +1,11 @@ ## General stuff. files +build-* tmp tmp-* substvars *.debhelper *.substvars -compat stamp-* *.log diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +8 diff --git a/debian/control b/debian/control index 7546231..131a859 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: mlib Section: libs Priority: extra Maintainer: Mark Wooding -Build-Depends: debhelper (>= 4.0.2), libadns1-dev +Build-Depends: debhelper (>= 8), libadns1-dev Standards-Version: 3.1.1 Package: mlib2 diff --git a/debian/rules b/debian/rules index 5545dd1..90210a9 100755 --- a/debian/rules +++ b/debian/rules @@ -1,42 +1,64 @@ #! /usr/bin/make -f -CDBS = /usr/share/cdbs/1 +###-------------------------------------------------------------------------- +### Preliminary definitions. + +## The multiarch triple. +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +a := $(DEB_HOST_MULTIARCH) + +## My version number, shorn of the Debian package version if any. +DEB_UPSTREAM_VERSION ?= \ + $(shell dpkg-parsechangelog | \ + sed -n "/^Version: \([^-]*\)\(-.*\)\?/s//\1/p") +v := $(DEB_UPSTREAM_VERSION) + +## Default Debhelper options. +DH_OPTIONS = --parallel -include $(CDBS)/rules/debhelper.mk -include $(CDBS)/class/autotools.mk +## Default Debhelper actions. +%:; dh $@ $(DH_OPTIONS) ###-------------------------------------------------------------------------- -### General settings. +### Multiple flavours. -DEB_BUILDDIR = $(CURDIR)/build -DEB_MAKE_CHECK_TARGET = check +## The various flavours of the library which we must build. +FLAVOURS = noadns adns -DEB_CONFIGURE_EXTRA_FLAGS = --without-adns -DEB_CONFIGURE_LIBEXECDIR = "\$${prefix}/lib" +## The build actions which we have to override. +DH_BUILD_OVERRIDES = configure clean build install test -DEB_DH_MAKESHLIBS_ARGS_ALL = \ - -V"mlib2 (>= $(DEB_UPSTREAM_VERSION)) | mlib2-adns (>= $(DEB_UPSTREAM_VERSION))" +## How to perform build action for a particular library flavour. +define flavour-build-action +dh_auto_$1 -Bdebian/build-$2 \ + $(DH_OPTIONS) $(DH_OPTIONS_$2) \ + $(DH_$1_OPTIONS) $(DH_$1_OPTIONS_$2) -###-------------------------------------------------------------------------- -### Building the ADNS version. +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 f, $(FLAVOURS), $(call flavour-build-action,$*,$f)) -DEB_CONFIGURE_EXTRA_FLAGS_mlib2-adns = --with-adns -DEB_BUILDDIR_mlib2-adns = $(CURDIR)/build-adns +## Configuration options. +DH_configure_OPTIONS = -- --libexecdir='$${libdir}' +DH_configure_OPTIONS_noadns = --without-adns +DH_configure_OPTIONS_adns = --with-adns -configure/mlib2-adns:: - $(DEB_CONFIGURE_INVOKE) \ - $(cdbs_configure_flags) \ - $(DEB_CONFIGURE_EXTRA_FLAGS_mlib2-adns) \ - $(DEB_CONFIGURE_USER_FLAGS) +## Cleaning options. +override_dh_auto_clean:: + rm -rf debian/tmp-adns -build/mlib2-adns:: - $(DEB_MAKE_ENVVARS) $(MAKE) -C $(DEB_BUILDDIR_mlib2-adns) +## Installation options. +DH_install_OPTIONS_adns = --destdir=debian/tmp-adns -install/mlib2-adns:: - $(DEB_MAKE_ENVVARS) $(MAKE) -C $(DEB_BUILDDIR_mlib2-adns) \ - install DESTDIR=$(CURDIR)/debian/tmp-adns +###-------------------------------------------------------------------------- +### Additional tweaks. -clean:: - rm -rf $(CURDIR)/debian/tmp-adns +## Override the shared-library dependency information to allow any flavour. +override_dh_makeshlibs: + dh_makeshlibs -V"mlib2 (>= $v) | mlib2-adns (>= $v)" ###----- That's all, folks -------------------------------------------------- -- 2.11.0