X-Git-Url: https://git.llucax.com/software/mutt-debian.git/blobdiff_plain/92469c2db947a16e6290589c4b71809ee46eabc8..de72a278c4881ffe2b2270c6457e0e6891e3ddee:/debian/rules?ds=inline diff --git a/debian/rules b/debian/rules index b7c71cd..05b512f 100755 --- a/debian/rules +++ b/debian/rules @@ -1,16 +1,30 @@ #!/usr/bin/make -f -### +include /usr/share/quilt/quilt.make -# Uncomment one of these if you're rebuilding using them instead of libdb4.X -# HCACHE_DB := gdbm +### +# header cache backend +# HCACHE_DB := bdb +HCACHE_DB := gdbm # HCACHE_DB := qdbm - +### +# GPGME backend +# GPGME := --enable-gpgme ### # Configure arguments -confflags = --prefix=/usr \ +ifeq ($(HCACHE_DB),bdb) + hcache_db := --without-gdbm --without-qdbm +endif +ifeq ($(HCACHE_DB),gdbm) + hcache_db := --without-qdbm --without-bdb +endif +ifeq ($(HCACHE_DB),qdbm) + hcache_db := --without-gdbm --without-bdb +endif + +confflags = --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --with-sharedir=/usr/share/mutt \ @@ -23,7 +37,7 @@ confflags = --prefix=/usr \ --enable-debug \ --enable-fcntl \ --enable-hcache \ - --enable-gpgme \ + $(GPGME) \ --enable-imap \ --enable-smtp \ --enable-inodesort \ @@ -39,64 +53,48 @@ confflags = --prefix=/usr \ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - confflags += --build $(DEB_BUILD_GNU_TYPE) - # Only specify --host when cross-compiling ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) confflags += --host $(DEB_HOST_GNU_TYPE) endif -# - -hcache_db := --without-gdbm --without-qdbm - -ifeq ($(HCACHE_DB),gdbm) - hcache_db := --without-qdbm --without-bdb -endif - -ifeq ($(HCACHE_DB),qdbm) - hcache_db := --without-gdbm --without-bdb -endif - -### - -# Directory to make the build on - -objdir = $(CURDIR)/obj-$(DEB_HOST_GNU_TYPE) - -### - # CFLAGS - CFLAGS = -Wall -g CPPFLAGS = -I/usr/include/qdbm - ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif -### +# Directory to make the build on +objdir = $(CURDIR)/obj-$(DEB_HOST_GNU_TYPE) -configure: $(objdir)/configure-stamp -$(objdir)/configure-stamp: +$(objdir)-patched/build-stamp: $(QUILT_STAMPFN) dh_testdir + dh_clean - ln -sf /usr/share/misc/config.sub . - ln -sf /usr/share/misc/config.guess . + ###################### building mutt-patched ###################### + autoreconf --install --include=m4 + -mkdir $(objdir)-patched + cd $(objdir)-patched && \ + env CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ + ../configure $(confflags) - ln -sf debian/patches - quilt push -a || test $$? = 2 + echo '#include "config-debian.h"' >> $(objdir)-patched/config.h - # sort the patches as printed by mutt -v - [ -e PATCHES.unsorted ] || mv PATCHES PATCHES.unsorted && \ - env LC_COLLATE=C sort PATCHES.unsorted >PATCHES + # we should just "make mutt" here, but that doesn't work yet + cd $(objdir)-patched && $(MAKE) CFLAGS="$(CFLAGS)" - # do not rebuild these files - touch configure.in aclocal.m4 Makefile.in configure config.h.in + touch $@ + +build build-arch: $(objdir)/build-stamp +$(objdir)/build-stamp: $(objdir)-patched/build-stamp + ###################### building mutt ###################### + QUILT_PATCHES=$(QUILT_PATCH_DIR) quilt --quiltrc /dev/null pop mutt.org + autoreconf --install --include=m4 -mkdir $(objdir) cd $(objdir) && \ env CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ @@ -104,72 +102,38 @@ $(objdir)/configure-stamp: echo '#include "config-debian.h"' >>$(objdir)/config.h - touch $@ - -# - -build: $(objdir)/build-stamp -$(objdir)/build-stamp: $(objdir)/configure-stamp - cd $(objdir) && \ - $(MAKE) CFLAGS="$(CFLAGS)" + cd $(objdir) && $(MAKE) CFLAGS="$(CFLAGS)" touch $@ -# - -clean: - dh_testdir - dh_testroot - - [ ! -e PATCHES.unsorted ] || mv PATCHES.unsorted PATCHES - quilt pop -a -R || test $$? = 2 - - # quilt cruft - rm -f patches - rm -rf .pc - touch PATCHES - - # please dpkg-source - rm -f po/*.gmo - rm -f config.guess config.sub - - # remove build tree - rm -rf $(objdir) - - dh_clean - -# - -install: debian/tmp/install-stamp -debian/tmp/install-stamp: - dh_testdir - dh_testroot - dh_clean +install: build + ###################### install ###################### + dh_clean -k cd $(objdir) && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp - cd debian/tmp/usr/share/doc; \ - rm -rf samples/iconv samples/ca-bundle.crt; \ - mv NEWS NEWS.old; \ - mv ChangeLog.old changelog.old; \ + cd debian/tmp/usr/share/doc && \ + rm -rf samples/iconv samples/ca-bundle.crt && \ + mv NEWS NEWS.old && \ + mv ChangeLog.old changelog.old && \ cp $(CURDIR)/UPDATING NEWS chmod +x debian/extra/lib/* chmod +x debian/header.awk - debian/header.awk debian/patches/features/* >debian/tmp/README.Patches + debian/header.awk debian/patches/features/* \ + debian/patches/mutt-patched/* > debian/tmp/README.Patches - ( cat $(objdir)/Muttrc.head; \ - echo "# GnuPG configuration"; \ + ( sed -e '/## More settings/,$$d' $(objdir)/doc/Muttrc || exit 1 ; \ + cat debian/extra/rc/Muttrc.foot ) > debian/tmp/Muttrc + + ( echo "# GnuPG configuration"; \ grep '^set' contrib/gpg.rc; \ - echo; \ - cat debian/extra/rc/* ) > debian/tmp/Muttrc + echo ) > debian/tmp/gpg.rc - touch $@ + # temporarily call the binary mutt-patched so dh_strip gets the debug file name right + install -D $(objdir)-patched/mutt debian/mutt-patched/usr/bin/mutt-patched -# - -binary: binary-arch - -binary-arch: build install +binary binary-arch: install + ###################### binary ###################### dh_testdir dh_testroot @@ -180,9 +144,14 @@ binary-arch: build install dh_installdocs dh_installexamples dh_installchangelogs ChangeLog + install -m644 debian/mutt.lintian $(CURDIR)/debian/mutt/usr/share/lintian/overrides/mutt + + dh_strip --dbg-package=mutt-dbg + rm -rf $(CURDIR)/debian/mutt-dbg/usr/share/doc/mutt-dbg \ + $(CURDIR)/debian/mutt-patched/usr/share/doc/mutt-patched + mv debian/mutt-patched/usr/bin/mutt-patched debian/mutt-patched/usr/bin/mutt dh_link - dh_strip dh_compress --exclude usr/share/doc/mutt/README.Patches dh_fixperms --exclude usr/bin/mutt_dotlock dh_installdeb @@ -191,9 +160,28 @@ binary-arch: build install dh_md5sums dh_builddeb -binary-indep: +build-indep binary-indep: @echo "Nothing to do." -# +clean: unpatch + ###################### clean ###################### + dh_testdir + dh_testroot + + # please dpkg-source + rm -f po/*.gmo + touch PATCHES + + # remove build trees + rm -rf $(objdir) $(objdir)-patched + + # remove autotool-generated files so they don't show up in the diff.gz + rm -f configure config.h.in + rm -f Makefile.in contrib/Makefile.in imap/Makefile.in doc/Makefile.in m4/Makefile.in + + # clean PATCHES hunks (blame quilt refresh) + for p in `grep -rl PATCHES debian/patches` ; do perl -wi debian/fix-PATCHES.pl $$p ; done + + dh_clean -.PHONY: configure build clean install binary binary-arch binary-indep +.PHONY: configure build build-arch build-indep clean install binary binary-arch binary-indep patch