From: David Bremner Date: Sun, 9 Mar 2014 12:56:59 +0000 (+2100) Subject: [Patch v3 3/4] doc: install sphinx version of man pages X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d1b0fb77282d1322e1219cd71107a41ece52a568;p=notmuch-archives.git [Patch v3 3/4] doc: install sphinx version of man pages --- diff --git a/7f/fa842c4eb5ae334f242f6669d9d9eb6f47f6d7 b/7f/fa842c4eb5ae334f242f6669d9d9eb6f47f6d7 new file mode 100644 index 000000000..8d94e1e7a --- /dev/null +++ b/7f/fa842c4eb5ae334f242f6669d9d9eb6f47f6d7 @@ -0,0 +1,221 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id E9908431FDF + for ; Sun, 9 Mar 2014 05:57:42 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id 0BxN5a7h65yT for ; + Sun, 9 Mar 2014 05:57:37 -0700 (PDT) +Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155]) + (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 6EDF1431FC7 + for ; Sun, 9 Mar 2014 05:57:26 -0700 (PDT) +Received: from remotemail by yantan.tethera.net with local (Exim 4.80) + (envelope-from ) + id 1WMdIE-0003qi-3G; Sun, 09 Mar 2014 09:57:26 -0300 +Received: (nullmailer pid 8487 invoked by uid 1000); Sun, 09 Mar 2014 + 12:57:08 -0000 +From: David Bremner +To: notmuch@notmuchmail.org +Subject: [Patch v3 3/4] doc: install sphinx version of man pages +Date: Sun, 9 Mar 2014 09:56:59 -0300 +Message-Id: <1394369820-8319-4-git-send-email-david@tethera.net> +X-Mailer: git-send-email 1.8.5.3 +In-Reply-To: <1394369820-8319-1-git-send-email-david@tethera.net> +References: <1394369820-8319-1-git-send-email-david@tethera.net> +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sun, 09 Mar 2014 12:57:43 -0000 + +The python script mkdocdeps.py is used to import the list of man pages +from the sphinx configuration to make. + +This will delete the (release only) target update-man-versions. This +will be replaced in a followup commit. +--- + Makefile | 2 +- + Makefile.local | 2 +- + doc/Makefile.local | 27 ++++++++++++++++++++++++++- + doc/mkdocdeps.py | 13 +++++++++++++ + man/Makefile.local | 55 ------------------------------------------------------ + 5 files changed, 41 insertions(+), 58 deletions(-) + create mode 100644 doc/mkdocdeps.py + delete mode 100644 man/Makefile.local + +diff --git a/Makefile b/Makefile +index 39f0e62..f53bec0 100644 +--- a/Makefile ++++ b/Makefile +@@ -5,7 +5,7 @@ all: + # List all subdirectories here. Each contains its own Makefile.local. + # Use of '=', without '+=', seems to be required for out-of-tree + # builds to work. +-subdirs = compat completion doc emacs lib man parse-time-string performance-test util test ++subdirs = compat completion doc emacs lib parse-time-string performance-test util test + + # We make all targets depend on the Makefiles themselves. + global_deps = Makefile Makefile.config Makefile.local \ +diff --git a/Makefile.local b/Makefile.local +index 174506c..5f797ad 100644 +--- a/Makefile.local ++++ b/Makefile.local +@@ -95,7 +95,7 @@ dist: $(TAR_FILE) + + .PHONY: update-versions + +-update-versions: update-man-versions ++update-versions: + sed -i "s/^__VERSION__[[:blank:]]*=.*$$/__VERSION__ = \'${VERSION}\'/" $(PV_FILE) + + # We invoke make recursively only to force ordering of our phony +diff --git a/doc/Makefile.local b/doc/Makefile.local +index 4719247..fd64f70 100644 +--- a/doc/Makefile.local ++++ b/doc/Makefile.local +@@ -8,6 +8,7 @@ SPHINXBUILD = sphinx-build + DOCBUILDDIR := $(dir)/_build + + prerst2man := python $(dir)/prerst2man.py ++mkdocdeps := python $(dir)/mkdocdeps.py + + # Internal variables. + ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(dir) +@@ -15,6 +16,11 @@ ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(dir) + .PHONY: sphinx-html sphinx-man sphinx-texinfo sphinx-info + .PHONY: rst2man + ++.PHONY: install-man ++ ++%.gz: % ++ rm -f $@ && gzip --stdout $^ > $@ ++ + sphinx-html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(DOCBUILDDIR)/html + +@@ -31,4 +37,23 @@ sphinx-info: sphinx-texinfo + rst2man: + $(prerst2man) $(DOCBUILDDIR)/.. $(DOCBUILDDIR)/man + +-CLEAN := $(CLEAN) $(DOCBUILDDIR) ++-include $(dir)/docdeps.mk ++ ++MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES}) ++ ++${MAN_ROFF_FILES} : sphinx-man ++ ++install-man: ${MAN_GZIP_FILES} ++ mkdir -p "$(DESTDIR)$(mandir)/man1" ++ mkdir -p "$(DESTDIR)$(mandir)/man5" ++ mkdir -p "$(DESTDIR)$(mandir)/man7" ++ install -m0644 $(DOCBUILDDIR)/man/*.1.gz $(DESTDIR)/$(mandir)/man1 ++ install -m0644 $(DOCBUILDDIR)/man/*.5.gz $(DESTDIR)/$(mandir)/man5 ++ install -m0644 $(DOCBUILDDIR)/man/*.7.gz $(DESTDIR)/$(mandir)/man7 ++ cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz ++ ++ ++$(dir)/docdeps.mk: $(dir)/conf.py $(dir)/mkdocdeps.py ++ $(mkdocdeps) $< $(DOCBUILDDIR) $@ ++ ++CLEAN := $(CLEAN) $(DOCBUILDDIR) $(dir)/docdeps.mk +diff --git a/doc/mkdocdeps.py b/doc/mkdocdeps.py +new file mode 100644 +index 0000000..2f4a959 +--- /dev/null ++++ b/doc/mkdocdeps.py +@@ -0,0 +1,13 @@ ++from sys import argv ++conffile = argv[1] ++builddir = argv[2] ++outfile = argv[3] ++ ++execfile(conffile) ++ ++roff_files = [] ++out=open(outfile,'w') ++for page in man_pages: ++ roff_files = roff_files + ["{0:s}/man/{1:s}.{2:d}".format(builddir,page[1],page[4])] ++ ++out.write ('MAN_ROFF_FILES := ' + ' \\\n\t'.join(roff_files)+'\n') +diff --git a/man/Makefile.local b/man/Makefile.local +deleted file mode 100644 +index 57910b7..0000000 +--- a/man/Makefile.local ++++ /dev/null +@@ -1,55 +0,0 @@ +-# -*- Makefile -*- +- +-dir := man +- +-# this variable seems to be needed to prevent lazy evaluation causing +-# problems with $(dir) changing values. +-MAIN_PAGE := $(dir)/man1/notmuch.1 +- +-MAN1 := \ +- $(MAIN_PAGE) \ +- $(dir)/man1/notmuch-compact.1 \ +- $(dir)/man1/notmuch-config.1 \ +- $(dir)/man1/notmuch-count.1 \ +- $(dir)/man1/notmuch-dump.1 \ +- $(dir)/man1/notmuch-restore.1 \ +- $(dir)/man1/notmuch-insert.1 \ +- $(dir)/man1/notmuch-new.1 \ +- $(dir)/man1/notmuch-reply.1 \ +- $(dir)/man1/notmuch-search.1 \ +- $(dir)/man1/notmuch-show.1 \ +- $(dir)/man1/notmuch-tag.1 +- +-MAN5 := $(dir)/man5/notmuch-hooks.5 +-MAN7 := $(dir)/man7/notmuch-search-terms.7 +- +-MAN1_GZ := $(addsuffix .gz,$(MAN1)) +-MAN5_GZ := $(addsuffix .gz,$(MAN5)) +-MAN7_GZ := $(addsuffix .gz,$(MAN7)) +- +-MAN_SOURCE := $(MAN1) $(MAN5) $(MAN7) +-MAN_BACKUP := $(addsuffix .bak,$(MAN_SOURCE)) +-COMPRESSED_MAN := $(MAN1_GZ) $(MAN5_GZ) $(MAN7_GZ) +- +-%.gz: % +- gzip --stdout $^ > $@ +- +-.PHONY: install-man update-man-versions +- +-install-man: $(COMPRESSED_MAN) +- mkdir -p "$(DESTDIR)$(mandir)/man1" +- mkdir -p "$(DESTDIR)$(mandir)/man5" +- mkdir -p "$(DESTDIR)$(mandir)/man7" +- install -m0644 $(MAN1_GZ) $(DESTDIR)/$(mandir)/man1 +- install -m0644 $(MAN5_GZ) $(DESTDIR)/$(mandir)/man5 +- install -m0644 $(MAN7_GZ) $(DESTDIR)/$(mandir)/man7 +- cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz +- +-update-man-versions: $(MAN_SOURCE) +- for file in $(MAN_SOURCE); do \ +- cp $$file $$file.bak ; \ +- sed "s/^.TH NOTMUCH\([^[:blank:]]*\) \([1-9]\) .*$$/.TH NOTMUCH\1 \2 ${DATE} \"Notmuch ${VERSION}\"/" \ +- < $$file.bak > $$file; \ +- done +- +-CLEAN := $(CLEAN) $(COMPRESSED_MAN) $(MAN_BACKUP) +-- +1.8.5.3 +