Import Debian changes 4.92-8+deb10u6
[hcoop/debian/exim4.git] / debian / rules
index 582ed0f..930a22c 100755 (executable)
 # debian/rules for exim4
 # This file is public domain software, originally written by Joey Hess.
 #
-# Uncomment this to turn on verbose mode. 
+# Uncomment this to turn on verbose mode.
 # export DH_VERBOSE=1
 
 buildname := $(shell scripts/os-type)-$(shell scripts/arch-type)
 DEBIAN := $(shell pwd)/debian
 
-ifeq ($(wildcard /usr/share/dpkg/buildflags.mk),) 
-CFLAGS := -g
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-CFLAGS += -O0
-else
-CFLAGS += -O2
-endif
-else
-export DEB_BUILD_MAINT_OPTIONS := hardening=+bindnow,+pie
-DPKG_EXPORT_BUILDFLAGS := 1
+export DEB_BUILD_MAINT_OPTIONS := hardening=+all
 include /usr/share/dpkg/buildflags.mk
-endif
+include /usr/share/dpkg/pkg-info.mk
+# SOURCE_DATE_EPOCH is exported by pkg-info.mk since dpkg 1.18.8/July 2016
+# fall back to current date otherwise.
+SOURCE_DATE_EPOCH ?= $(shell date '+%s')
+
 
 # The build system ignores CPPFLAGS, append them to CFLAGS
-CFLAGS := $(CFLAGS) $(shell getconf LFS_CFLAGS) -D_LARGEFILE_SOURCE -fno-strict-aliasing -Wall $(CPPFLAGS)
+CFLAGS += $(shell getconf LFS_CFLAGS) -D_LARGEFILE_SOURCE \
+         -fno-strict-aliasing -Wall $(CPPFLAGS)
 export CFLAGS
 # LFLAGS is used where GNU would use LDFLAGS
-export LFLAGS += $(LDFLAGS)
+export LFLAGS = $(LDFLAGS)
 
 LC_ALL=C
 export LC_ALL
 
-# Which packages should we build?
-ifndef buildbasepackages
-buildbasepackages=yes
-endif
-
-ifndef extradaemonpackages
-extradaemonpackages=exim4-daemon-heavy
-endif
 # If you want to build a daemon with a configuration tailored to YOUR special
-# needs, uncomment the two custom packages in debian/control
-# call "fakeroot debian/rules unpack-configs", copy EDITME.exim4-light
-# to EDITME.exim4-custom and modify it. Please note that you _need_ to
-# modify EDITME.exim4-custom or your build will fail due to #386188.
+# needs, uncomment the exim4-daemon-custom package in debian/control,
+# call "debian/rules unpack-configs", copy EDITME.exim4-light to
+# EDITME.exim4-custom and modify it, then call "debian/rules pack-configs".
+#
+# Afterwards EITHER uncomment the customdaemon definition below, or set it
+# to the desired value via the environment.
+# e.g run:
+# env customdaemon=exim4-daemon-custom dpkg-buildpackage -uc -us
 #
 # If you want to create multiple custom packages with different names, use
 # the script debian/create-custom-package [suffix].
-#
-# Afterwards EITHER change the definition of extradaemonpackages above OR
-# simply set extradaemonpackages to the desired value via the environment.
-
-# If you want your changes to survive a debian/rules clean, call
-# "fakeroot debian/rules pack-configs" after customizing EDITME.exim4-custom
-
-# If you remove exim4-daemon-light from basedaemonpackages to prevent
-# exim4-daemon-light from being built, you need to modify the build
-# process to pull the helper binaries from the daemon package that you
-# actually build. If you simply remove exim4-daemon-light here, you will
-# end up with exim4-base sans binaries, which is most probably not what
-# you intend to have.
-#
-# combined[ai]dbgpackage has a list of packages whose debug information
-# goes into the combined debug package exim4-dbg, separated as arch
-# independent and arch dependent list.
-# extraadbgpackage has a list of packages whose debug information
-# goes into one debug package foo-dbg per package. This is currently
-# only implemented and needed for arch dependent packages.
-
-ifeq ($(buildbasepackages),yes)
-basedaemonpackages=exim4-daemon-light
-combinedadbgpackage=exim4-base eximon4
-combinedidbgpackage=exim4-config exim4
-exim4dbg=exim4-dbg
-dhstripparm=--dbg-package=$(exim4dbg)
-exim4dev=exim4-dev
-extraadbgpackage=$(basedaemonpackages) $(extradaemonpackages)
-else
-basedaemonpackages=
-combinedadbgpackage=
-combinedidbgpackage=
-exim4dbg=
-dhstripparm=
-exim4dev=
-extraadbgpackage=$(extradaemonpackages)
-endif
-#DEBUGOUT:=$(shell echo >&2 buildbasepackages $(buildbasepackages))
-#DEBUGOUT:=$(shell echo >&2 extradaemonpackages $(extradaemonpackages))
+
+# customdaemon = exim4-daemon-custom
+daemons = exim4-daemon-light exim4-daemon-heavy $(customdaemon)
 
 # If you want to build with OpenSSL instead of GnuTLS, uncomment this
 # OPENSSL:=1
 # Please note that building exim4-daemon-heavy with OpenSSL is a GPL
 # violation.
 
-
-# list of all arch dependent packages to be built
-buildpackages=$(combinedadbgpackage) $(extraadbgpackage) $(addsuffix -dbg,$(extraadbgpackage)) $(exim4dbg) $(exim4dev)
-# generate -pexim4-base -peximon4 ... commandline for debhelper
-dhbuildpackages=$(addprefix -p,$(buildpackages))
-dhcombinedadbgpackage=$(addprefix -p,$(combinedadbgpackage))
-dhcombinedidbgpackage=$(addprefix -p,$(combinedidbgpackage))
-
-# exim4-daemon-heavy --> b-exim4-daemon-heavy/build-Linux-x86_64/exim
-daemonbinaries=$(addprefix b-,$(addsuffix /build-$(buildname)/exim,$(extradaemonpackages)))
-debiandaemonbinaries=$(addprefix $(DEBIAN)/,$(addsuffix /usr/sbin/exim4,$(extradaemonpackages)))
-BDIRS=$(addprefix b-,$(extradaemonpackages) $(basedaemonpackages))
-
-
-# get upstream-version from debian/changelog, i.e. anything until the first -
-DEBVERSION := $(shell dpkg-parsechangelog | sed -n '/^Version: /s/^Version: //p')
-UPSTREAMVERSION := $(shell echo $(DEBVERSION) | sed -n 's/\(.\+\)-[^-]\+/\1/p')
-MTACONFLICTS := $(shell cat $(DEBIAN)/mtalist)
-
-# set up build directory b-exim4-daemon-heavy/
-$(addsuffix /Makefile,$(BDIRS)): %/Makefile:
-       mkdir $*
-       find . -mindepth 1 -maxdepth 1 \
-               -name debian -prune -o \
-               -name 'b-*' -o -print0 | \
-               xargs --no-run-if-empty --null \
-               cp -a --target-directory=$*
+PROVIDE_DEFAULT_MTA := $(shell if dpkg-vendor --is Ubuntu || \
+       dpkg-vendor --derives-from Ubuntu ; then : ; else \
+       echo "default-mta" ; fi)
+# for reproducible build. If set exim would use $TZ as default value for
+# TIMEZONE_DEFAULT
+undefine TZ
+unexport TZ
 
 
 unpack-configs: unpack-configs-stamp
+
 unpack-configs-stamp: src/EDITME exim_monitor/EDITME
        patch -o EDITME.eximon exim_monitor/EDITME \
                $(DEBIAN)/EDITME.eximon.diff
@@ -130,11 +66,12 @@ unpack-configs-stamp: src/EDITME exim_monitor/EDITME
 ifdef OPENSSL
        patch EDITME.exim4-light $(DEBIAN)/EDITME.openssl.exim4-light.diff
 endif
-       -for editme in $(DEBIAN)/EDITME.exim4-*.diff; do \
+       for editme in $(DEBIAN)/EDITME.exim4-*.diff; do \
          if [ "$$editme" != "$(DEBIAN)/EDITME.exim4-light.diff" ]; then \
            TARGETNAME=`basename $$editme .diff`; \
            echo patch -o $$TARGETNAME EDITME.exim4-light $$editme; \
-           patch -o $$TARGETNAME EDITME.exim4-light $$editme; \
+           patch -o $$TARGETNAME EDITME.exim4-light $$editme || \
+           exit $$? ;\
          fi; \
        done
        touch unpack-configs-stamp
@@ -151,88 +88,34 @@ pack-configs:
        -diff -u exim_monitor/EDITME EDITME.eximon \
                > $(DEBIAN)/EDITME.eximon.diff
 
-# only called manually by maintainer before upload.
-update-mtaconflicts:
-       which grep-available > /dev/null && \
-               grep-available --show-field=Package --field=Provides \
-               mail-transport-agent --no-field-names \
-               /var/lib/apt/lists/*Packages | grep -v exim | sort -u | \
-               tr '\n' ',' | sed -e 's/,/, /g;s/, $$//' > $(DEBIAN)/mtalist
-
-# Generate README.Debian as text/html ...
-debian/README.Debian.html: debian/README.Debian.xml
-       xsltproc --nonet --stringparam section.autolabel 1 \
-               -o $@ \
-               /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl \
-               $<
-# ... and text/plain
-debian/README.Debian: debian/README.Debian.html
-       chmod 755 $(DEBIAN)/lynx-dump-postprocess
-       lynx -force_html -dump $< | $(DEBIAN)/lynx-dump-postprocess > $@.tmp
-       mv $@.tmp $@
+bdir-stamp: unpack-configs-stamp
+       for i in $(daemons) ; do \
+               mkdir b-$$i && \
+               find . -mindepth 1 -maxdepth 1 \
+               -name debian -prune -o \
+               -name 'b-*' -o -print0 | \
+               xargs --no-run-if-empty --null \
+               cp -a --target-directory=b-$$i ; \
+       done
+       touch $@
 
-configure: configure-stamp
-
-configure-stamp: $(addsuffix /Makefile,$(BDIRS)) unpack-configs-stamp
-       dh_testdir
-       # Add here commands to configure the package.
-       # We currently do not want to build depend on debhelper 7.2.3 just to
-       # keep it from installing the wrong upstream changelog. 490937
-       rm -fv CHANGES
-       touch $@ 
-
-# Build binaries for the base package, the eximon4 package, and the
-# exim4-daemon-light package.
-b-exim4-daemon-light/build-$(buildname)/exim: b-exim4-daemon-light/Makefile configure-stamp
-       @echo build $(<D)
-       dh_testdir
-
-       rm -rf $(@D)
-       mkdir -p $(<D)/Local
-       cp EDITME.exim4-light $(<D)/Local/Makefile
-       cp EDITME.eximon $(<D)/Local/eximon.conf
-       cd $(<D) && $(MAKE) FULLECHO=''
-
-b-exim4-daemon-heavy/build-$(buildname)/exim: b-exim4-daemon-heavy/Makefile configure-stamp
-       @echo build $(<D)
-       dh_testdir
-
-       rm -rf $(@D)
-       mkdir -p $(<D)/Local
-       cp EDITME.exim4-heavy $(<D)/Local/Makefile
-       cd $(<D) && $(MAKE) FULLECHO=''
-
-b-exim4-daemon-custom/build-$(buildname)/exim: b-exim4-daemon-custom/Makefile configure-stamp
-       @echo build $(<D)
-       dh_testdir
-
-       rm -rf $(@D)
-       mkdir -p $(<D)/Local
-       cp EDITME.exim4-custom $(<D)/Local/Makefile
-       cd $(<D) && $(MAKE) FULLECHO=''
-
-build-indep: build-indep-stamp
-build-indep-stamp:
-       dh_testdir
-
-       # Add here command to compile/build the arch indep package.
-       # It's ok not to do anything here, if you don't need to build
-       #  anything for this package.
-       #/usr/bin/docbook-to-man $(DEBIAN)/exim.sgml > exim.1
-
-       touch build-indep-stamp
-
-build-arch: build-arch-stamp test-stamp
-
-ifeq ($(buildbasepackages),yes)
-build-arch-stamp: b-exim4-daemon-light/build-$(buildname)/exim $(daemonbinaries)
-else
-build-arch-stamp: $(daemonbinaries)
-endif
-       dh_testdir
+override_dh_auto_configure: unpack-configs-stamp bdir-stamp
+       for i in $(daemons) ; do \
+               mkdir -p b-$$i/Local && \
+               cp EDITME.`echo $$i | sed -e s/exim4-daemon/exim4/` \
+               b-$$i/Local/Makefile && \
+               cp EDITME.eximon b-$$i/Local/eximon.conf ;\
+               done
+
+override_dh_auto_build:
+       for i in $(daemons) ; do \
+               echo building $$i; \
+               cd $(CURDIR)/b-$$i && \
+               $(MAKE) FULLECHO='' ; \
+               done
        # Which version of Berkeley DB are we building against?
        printf '#include <db.h>\ninstdbversionis DB_VERSION_MAJOR DB_VERSION_MINOR\n' | \
-               cpp | grep instdbversionis |\
+               cpp -P | grep instdbversionis |\
                sed -e 's/[[:space:]]*instdbversionis[[:space:]]//' \
                -e 's/[[:space:]][[:space:]]*/./' \
                -e 's_^_s/^BDBVERSION=.*/BDBVERSION=_' \
@@ -241,67 +124,15 @@ endif
        # Store Berkeley DB version in postinst script.
        sed -i -f $(DEBIAN)/berkeleydb.sed \
                $(DEBIAN)/exim4-base.postinst
-       touch build-arch-stamp
-
-test-stamp: build-arch-stamp
-       # it is not possible to run exim unless the compile-time specified
-       # user exists.
-       if id -u Debian-exim ; then \
-               echo Debian-exim user found, running minimal testsuite ; \
-               chmod +x debian/minimaltest ; \
-               rm -rf $(CURDIR)/test ; \
-               for i in b-exim4-daemon-light/build-$(buildname)/exim \
-                       $(daemonbinaries) ;\
-                       do mkdir $(CURDIR)/test && \
-                       debian/minimaltest $(CURDIR)/test $$i || \
-                       { echo testsuite error  ; exit 1 ; } ; \
-                       rm -rf $(CURDIR)/test ; \
-               done \
-       fi
-       touch $@
-
-build: build-arch build-indep
-
-clean: cleanfiles
-
-cleanfiles:
-       dh_testdir
-       dh_testroot
-       
-       debconf-updatepo
-       
-       rm -f build-stamp configure-stamp installbase-stamp test-stamp
-
-       # Add here commands to clean up after the build process.
-       [ ! -f Makefile ] || $(MAKE) distclean
-       -rm -rf build-* doc/tmp test/
-       -rm -f EDITME.* unpack-configs-stamp
-       -rm -f $(DEBIAN)/debconf/exim4.conf.template $(DEBIAN)/files \
-               $(DEBIAN)/README.Debian $(DEBIAN)/README.Debian.html \
-               $(DEBIAN)/berkeleydb.sed
-
-       #these are identical for all daemon-* and therefore symlinked
-       @cd $(DEBIAN) && find . -maxdepth 1 \
-               -regex '^\./exim4-daemon-.*\.\(postinst\|prerm\)$$' \
-               -and -not -name 'exim4-daemon-light.*' -print0 \
-               | xargs -0r rm -v
-
-       #pwd
-       chmod 755 $(DEBIAN)/exim-gencert \
-               $(DEBIAN)/lynx-dump-postprocess $(DEBIAN)/script \
-               $(DEBIAN)/exim-adduser
-       dh_clean
-       rm -rf $(BDIRS)
-       # fix broken (0600) permissions in original tarball
-       #find OS doc scripts exim_monitor src util -perm -044 -or -print0 |\
-       #       xargs -0r chmod -c og+r
-
-installbase-stamp: b-exim4-daemon-light/build-$(buildname)/exim debian/README.Debian debian/README.Debian.html
-       dh_testdir
-       dh_testroot
-       dh_prep
-       dh_installdirs
+       # symlink identical maintainerscripts
+       for i in `echo $(daemons) | sed -e s/exim4-daemon-light//` ; do \
+               ln -sfv exim4-daemon-light.prerm \
+                       "$(DEBIAN)/$$i.prerm" ; \
+               ln -sfv exim4-daemon-light.postinst \
+                       "$(DEBIAN)/$$i.postinst" ; \
+       done
 
+override_dh_auto_install-arch: debian/README.Debian
        cd b-exim4-daemon-light && \
          $(MAKE) install FULLECHO='' \
                INSTALL_ARG=-no_symlink \
@@ -326,11 +157,7 @@ installbase-stamp: b-exim4-daemon-light/build-$(buildname)/exim debian/README.De
                b-exim4-daemon-light/build-$(buildname)/transport-filter.pl \
                b-exim4-daemon-light/util/ratelimit.pl \
                $(DEBIAN)/exim4-base/usr/share/doc/exim4-base/examples
-       mv $(DEBIAN)/exim4-base/usr/sbin/exim \
-               $(DEBIAN)/exim4-daemon-light/usr/sbin/exim4
-       # fix permissions of /usr/sbin/exim4 if running with restrictive umask,
-       # dh_fixperms sanitizes anything else
-       chmod 4755 $(DEBIAN)/exim4-daemon-light/usr/sbin/exim4
+       rm $(DEBIAN)/exim4-base/usr/sbin/exim
        mv $(DEBIAN)/exim4-base/usr/sbin/eximon \
                $(DEBIAN)/eximon4/usr/sbin
        mv $(DEBIAN)/exim4-base/usr/sbin/eximon.bin \
@@ -345,10 +172,16 @@ installbase-stamp: b-exim4-daemon-light/build-$(buildname)/exim debian/README.De
        pod2man --center=EXIM4 --section=8 \
                $(DEBIAN)/syslog2eximlog \
                $(DEBIAN)/exim4-base/usr/share/man/man8/syslog2eximlog.8
+       for i in b-exim4-daemon-*/build-$(buildname)/exim ; do \
+               install -m4755 -oroot -groot $$i \
+               $(DEBIAN)/`echo $$i | sed -e 's/^b-//' -e 's_/.*__'`/usr/sbin/exim4 ; \
+               done
+
+override_dh_auto_install-indep: debian/README.Debian
        # if you change anything here, you will have to change
        # config-custom/debian/rules as well
        sed -e \
-       "s/^UPEX4C_version=\"\"/UPEX4C_version=\"$(DEBVERSION)\"/" \
+       "s/^UPEX4C_version=\"\"/UPEX4C_version=\"$(DEB_VERSION)\"/" \
        < $(DEBIAN)/debconf/update-exim4.conf \
        > $(DEBIAN)/exim4-config/usr/sbin/update-exim4.conf
        chmod 755 $(DEBIAN)/exim4-config/usr/sbin/update-exim4.conf
@@ -361,129 +194,104 @@ installbase-stamp: b-exim4-daemon-light/build-$(buildname)/exim debian/README.De
                { cd $(DEBIAN)/exim4-config/etc/exim4/conf.d/ && \
                tar xf - ; }
 
-       # ship a copy in examples
-       # install -m644 $(DEBIAN)/debconf/exim4.conf.template $(DEBIAN)/exim4-config/usr/share/doc/exim4-config/examples/exim4.conf.template.debconf
        install -m644 $(DEBIAN)/email-addresses $(DEBIAN)/exim4-config/etc/
        install -m640 -oroot -groot $(DEBIAN)/passwd.client \
                $(DEBIAN)/exim4-config/etc/exim4/
        chmod 755 $(DEBIAN)/debconf/update-exim4.conf.template
        env CONFDIR=$(DEBIAN)/debconf \
                $(DEBIAN)/debconf/update-exim4.conf.template --nobackup --run
-#      dh_movefiles
-       touch installbase-stamp
-
-
-# This dependency expands to
-#   debian/exim4-daemon-heavy/usr/sbin/exim4: b-exim4-daemon-heavy/build-Linux-x86_64/exim
-$(debiandaemonbinaries): $(DEBIAN)/%/usr/sbin/exim4: b-%/build-$(buildname)/exim
-       dh_testdir
-       dh_testroot
-       dh_installdirs
-       install -m4755 -oroot -groot $< $@
-
-
-# Build architecture-independent files here.
-# this is just exim4-config and exim4.
-binary-indep: build $(install)
-ifeq ($(buildbasepackages),yes)
-       dh_testdir -i
-       dh_testroot -i
-       # upstream changelog is only in exim4-base
-       dh_link -i
-       dh_installchangelogs -i -XCHANGES
-       dh_installdocs -i
-       dh_installexamples -i
-       #dh_installmenu -i
-       dh_installdebconf -i
-       dh_installlogrotate -i
-#      dh_installemacsen -i
-       #dh_installpam -i
-       #dh_installmime -i
-#      dh_installinit -i
-       dh_installcron -i
-#      dh_installinfo -i
-#      dh_undocumented -i
-       dh_installppp -i --name=exim4
-       dh_installman -i
-       dh_install -i
-       dh_lintian -i
-       dh_strip $(dhcombinedidbgpackage) $(dhstripparm)
-       #for pkg in $(extraidbgpackage); do \
-       #  dh_strip -p$$pkg --dbg-package=$${pkg}-dbg; \
-       #done
-       dh_compress -i
-       dh_fixperms -i -X/etc/exim4/passwd.client
-#      dh_makeshlibs -i
-       dh_installdeb -i
-#      dh_perl -i
-       dh_shlibdeps -i
-       dh_gencontrol -i -- -VUpstream-Version=$(UPSTREAMVERSION) \
-               -VMTA-Conflicts="$(MTACONFLICTS)"
-       dh_md5sums -i
-       dh_builddeb -i
-endif
 
-# Build architecture-dependent files here.
-ifeq ($(buildbasepackages),yes)
-install=installbase-stamp $(debiandaemonbinaries)
-else
-install=$(debiandaemonbinaries)
+# only called manually by maintainer before upload.
+update-mtaconflicts:
+       which grep-aptavail > /dev/null && \
+               grep-aptavail --show-field=Package --field=Provides \
+               mail-transport-agent --no-field-names \
+               | grep -v exim | sort -u | \
+               tr '\n' ',' | sed -e 's/,/, /g;s/, $$//' > $(DEBIAN)/mtalist
+
+# Generate README.Debian as text/html ...
+debian/README.Debian.html: debian/README.Debian.xml
+       xsltproc --nonet --stringparam section.autolabel 1 \
+               -o $@ \
+               /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl \
+               $<
+# ... and text/plain
+debian/README.Debian: debian/README.Debian.html
+       chmod 755 $(DEBIAN)/lynx-dump-postprocess
+       lynx -force_html -dump $< | $(DEBIAN)/lynx-dump-postprocess > $@.tmp
+       mv $@.tmp $@
+
+override_dh_auto_test:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+       # it is not possible to run exim unless the compile-time specified
+       # user exists.
+       if id -u Debian-exim ; then \
+               echo Debian-exim user found, running minimal testsuite ; \
+               chmod +x debian/minimaltest ; \
+               rm -rf $(CURDIR)/test ; \
+               for i in b-exim4-daemon*/build-$(buildname)/exim ;\
+                       do mkdir $(CURDIR)/test && \
+                       debian/minimaltest $(CURDIR)/test $$i || \
+                       { echo testsuite error  ; exit 1 ; } ; \
+                       rm -rf $(CURDIR)/test ; \
+               done \
+       fi
 endif
 
-binary-arch: build $(install)
-       dh_testdir $(dhbuildpackages)
-       dh_testroot $(dhbuildpackages)
-       # symlink identical maintainerscripts
-       @for i in $(extradaemonpackages) ; do \
-               ln -sfv exim4-daemon-light.prerm \
-                       "$(DEBIAN)/$$i.prerm" ; \
-               ln -sfv exim4-daemon-light.postinst \
-                       "$(DEBIAN)/$$i.postinst" ; \
-       done
-       # upstream changelog is only in exim4-base, the other packages include
-       # a symlink
+override_dh_auto_clean:
+       debconf-updatepo
+
+       -rm -rf build-* doc/tmp test/ b-exim*
+       -rm -f EDITME.* unpack-configs-stamp bdir-stamp
+       -rm -f $(DEBIAN)/debconf/exim4.conf.template $(DEBIAN)/files \
+               $(DEBIAN)/README.Debian $(DEBIAN)/README.Debian.html \
+               $(DEBIAN)/berkeleydb.sed
+
+       #these are identical for all daemon-* and therefore symlinked
+       @cd $(DEBIAN) && find . -maxdepth 1 \
+               -regex '^\./exim4-daemon-.*\.\(postinst\|prerm\)$$' \
+               -and -not -name 'exim4-daemon-light.*' -delete
+       #pwd
+       chmod 755 $(DEBIAN)/exim-gencert \
+               $(DEBIAN)/lynx-dump-postprocess $(DEBIAN)/script \
+               $(DEBIAN)/exim-adduser $(DEBIAN)/exim4_refresh_gnutls-params
+
+override_dh_installchangelogs:
        dh_installchangelogs -pexim4-base doc/ChangeLog
-       # remove "-pexim4-base" from "-pexim4-base -pexim4-daemon-light ..."
-       dh_installchangelogs $(subst -pexim4-base ,,$(dhbuildpackages)) \
-               -XCHANGES
-       dh_installdocs $(dhbuildpackages)
-       dh_installexamples $(dhbuildpackages)
-       dh_installmenu $(dhbuildpackages)
-       dh_installdebconf $(dhbuildpackages)
-       dh_installlogrotate $(dhbuildpackages)
-       dh_installlogrotate $(dhbuildpackages) --name=exim4-paniclog
-#      dh_installemacsen $(dhbuildpackages)
-       dh_installpam $(dhbuildpackages)
-       dh_installmime $(dhbuildpackages)
-       #dh_installinit $(dhbuildpackages) --noscripts --name=exim4
-       # work around #347577 (fixed in debhelper 5.0.15)
-       dh_installinit $(dhbuildpackages) -n --name=exim4
-       dh_installcron $(dhbuildpackages)
-#      dh_installinfo $(dhbuildpackages)
-#      dh_undocumented $(dhbuildpackages)
-       dh_installman $(dhbuildpackages)
-       dh_install $(dhbuildpackages)
+       dh_installchangelogs --no-package=exim4-base \
+               -XCHANGES -Xdoc/ChangeLog
+
+override_dh_installppp:
+       dh_installppp --name=exim4
+
+override_dh_fixperms:
+       dh_fixperms -X/etc/exim4/passwd.client -Xusr/sbin/exim4
+
+override_dh_gencontrol:
+       dh_gencontrol -- \
+               -VUpstream-Version=$(DEB_VERSION_EPOCH_UPSTREAM) \
+               -VMTA-Conflicts="$(shell cat $(DEBIAN)/mtalist)" \
+               -Vdist:Provides:exim4-daemon-light="$(PROVIDE_DEFAULT_MTA)"
+
+override_dh_installlogrotate:
+       dh_installlogrotate
+       dh_installlogrotate --name=exim4-paniclog
+
+override_dh_installinit:
+       dh_installinit --noscripts --name=exim4
+
+override_dh_install:
        # install config.h from daemon package, but not from exim4-daemon-light
        dh_install -p exim4-dev \
                $(shell ls -1 b-exim4-daemon-*/build-$(buildname)/config.h | grep -v ^b-exim4-daemon-light/) \
                usr/include/exim4
-       dh_lintian $(dhbuildpackages)
-       dh_strip $(dhcombinedadbgpackage) $(dhstripparm)
-       for pkg in $(extraadbgpackage); do \
-         dh_strip -p$$pkg --dbg-package=$${pkg}-dbg; \
-       done
-       dh_link $(dhbuildpackages)
-       dh_compress $(dhbuildpackages)
-       dh_fixperms $(dhbuildpackages) -Xusr/sbin/exim4
-#      dh_makeshlibs $(dhbuildpackages)
-       dh_installdeb $(dhbuildpackages)
-#      dh_perl $(dhbuildpackages)
-       dh_shlibdeps $(dhbuildpackages)
-       dh_gencontrol $(dhbuildpackages) -- \
-               -VUpstream-Version=$(UPSTREAMVERSION) \
-               -VMTA-Conflicts="$(MTACONFLICTS)"
-       dh_md5sums $(dhbuildpackages)
-       dh_builddeb $(dhbuildpackages)
-
-binary: binary-arch binary-indep
-.PHONY: build clean binary-indep binary-arch binary install
+       dh_install
+
+override_dh_link:
+       rm -rf debian/exim4/usr/share/doc/exim4
+       dh_link
+
+%:
+       dh $@ --no-parallel
+
+.PHONY: pack-configs unpack-configs update-mtaconflicts