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
else
basedaemonpackages=
combinedadbgpackage=
-combinedidbgpackage=
exim4dbg=
dhstripparm=
exim4dev=
extraadbgpackage=$(extradaemonpackages)
endif
-#DEBUGOUT:=$(shell echo >&2 buildbasepackages $(buildbasepackages))
-#DEBUGOUT:=$(shell echo >&2 extradaemonpackages $(extradaemonpackages))
# If you want to build with OpenSSL instead of GnuTLS, uncomment this
# OPENSSL:=1
# 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)))
# 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)
+DEBTIME := $(shell dpkg-parsechangelog --show-field Date)
+REPBUILDDATE := \
+ $(shell env LC_ALL=C TZ=UTC date --date="$(DEBTIME)" '+%b %e %Y')
+REPBUILDTIME := \
+ $(shell env LC_ALL=C TZ=UTC date --date="$(DEBTIME)" '+%H:%M:%S')
+
+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
+
# set up build directory b-exim4-daemon-heavy/
$(addsuffix /Makefile,$(BDIRS)): %/Makefile:
-name 'b-*' -o -print0 | \
xargs --no-run-if-empty --null \
cp -a --target-directory=$*
+ printf '#define REPBUILDDATE "$(REPBUILDDATE)"\n' \
+ > $*/src/repbuildtime.h && \
+ printf '#define REPBUILDTIME "$(REPBUILDTIME)"\n' \
+ >> $*/src/repbuildtime.h
unpack-configs: unpack-configs-stamp
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
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
cd $(<D) && $(MAKE) FULLECHO=''
build-indep: build-indep-stamp
-build-indep-stamp:
+build-indep-stamp: debian/README.Debian
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
+ touch $@
build-arch: build-arch-stamp test-stamp
dh_testdir
# 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=_' \
#pwd
chmod 755 $(DEBIAN)/exim-gencert \
$(DEBIAN)/lynx-dump-postprocess $(DEBIAN)/script \
- $(DEBIAN)/exim-adduser
+ $(DEBIAN)/exim-adduser $(DEBIAN)/exim4_refresh_gnutls-params
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
{ 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
+ touch $@
# This dependency expands to
install -m4755 -oroot -groot $< $@
+ifeq ($(buildbasepackages),yes)
+install=installbase-stamp $(debiandaemonbinaries)
+else
+install=$(debiandaemonbinaries)
+endif
+
+override_dh_installchangelogs:
+ dh_installchangelogs -pexim4-base doc/ChangeLog
+ dh_installchangelogs --no-package=exim4-base \
+ -XCHANGES -Xdoc/ChangeLog
+
+override_dh_installppp:
+ dh_installppp --name=exim4
+
+override_dh_strip-arch:
+ dh_strip $(dhcombinedadbgpackage) $(dhstripparm)
+ for pkg in $(extraadbgpackage); do \
+ dh_strip -p$$pkg --dbg-package=$${pkg}-dbg; \
+ done
+
+override_dh_fixperms:
+ dh_fixperms -X/etc/exim4/passwd.client -Xusr/sbin/exim4
+
+override_dh_gencontrol:
+ dh_gencontrol -- \
+ -VUpstream-Version=$(UPSTREAMVERSION) \
+ -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_install
+
+override_dh_link:
+ rm -rf debian/exim4/usr/share/doc/exim4
+ dh_link
+
+override_dh_auto_install:
+ # disabled
+
# 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
+ dh binary-indep
endif
# Build architecture-dependent files here.
-ifeq ($(buildbasepackages),yes)
-install=installbase-stamp $(debiandaemonbinaries)
-else
-install=$(debiandaemonbinaries)
-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 \
ln -sfv exim4-daemon-light.postinst \
"$(DEBIAN)/$$i.postinst" ; \
done
- # upstream changelog is only in exim4-base, the other packages include
- # a symlink
- 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)
- # 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)
+ dh binary-arch
binary: binary-arch binary-indep
.PHONY: build clean binary-indep binary-arch binary install