X-Git-Url: http://git.hcoop.net/hcoop/debian/exim4.git/blobdiff_plain/de45f55a663159e1967e347a64e3edd87efe5e8e..89fb561ff574fca5c65f27f02dca0b213af883f5:/debian/rules diff --git a/debian/rules b/debian/rules index 582ed0f..8feb3cd 100755 --- a/debian/rules +++ b/debian/rules @@ -70,7 +70,6 @@ endif 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 @@ -78,14 +77,11 @@ 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)) # If you want to build with OpenSSL instead of GnuTLS, uncomment this # OPENSSL:=1 @@ -98,7 +94,6 @@ buildpackages=$(combinedadbgpackage) $(extraadbgpackage) $(addsuffix -dbg,$(extr # 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))) @@ -109,7 +104,20 @@ 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) +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: @@ -119,6 +127,10 @@ $(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 @@ -130,11 +142,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 @@ -176,9 +189,6 @@ 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 @@ -212,15 +222,9 @@ b-exim4-daemon-custom/build-$(buildname)/exim: b-exim4-daemon-custom/Makefile co cd $( exim.1 - - touch build-indep-stamp + touch $@ build-arch: build-arch-stamp test-stamp @@ -232,7 +236,7 @@ endif dh_testdir # Which version of Berkeley DB are we building against? printf '#include \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=_' \ @@ -289,12 +293,9 @@ cleanfiles: #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 @@ -361,16 +362,13 @@ 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 + touch $@ # This dependency expands to @@ -382,57 +380,65 @@ $(debiandaemonbinaries): $(DEBIAN)/%/usr/sbin/exim4: b-%/build-$(buildname)/exim 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 \ @@ -440,50 +446,7 @@ binary-arch: build $(install) 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