From c94d786b7621e1dfe994212e41d154f793ad5248 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Thu, 6 Mar 2014 10:56:34 +2000 Subject: [PATCH] [PATCH 3/4] doc: install sphinx version of man pages --- df/0c8bf9c2b88c1531dd0e5ab54f9378bfb47cc2 | 221 ++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 df/0c8bf9c2b88c1531dd0e5ab54f9378bfb47cc2 diff --git a/df/0c8bf9c2b88c1531dd0e5ab54f9378bfb47cc2 b/df/0c8bf9c2b88c1531dd0e5ab54f9378bfb47cc2 new file mode 100644 index 000000000..531411aa2 --- /dev/null +++ b/df/0c8bf9c2b88c1531dd0e5ab54f9378bfb47cc2 @@ -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 3BDAA431FAE + for ; Wed, 5 Mar 2014 06:56:50 -0800 (PST) +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 A+A4qhmSBy-C for ; + Wed, 5 Mar 2014 06:56:44 -0800 (PST) +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 1D775431FBD + for ; Wed, 5 Mar 2014 06:56:44 -0800 (PST) +Received: from remotemail by yantan.tethera.net with local (Exim 4.80) + (envelope-from ) + id 1WLDFT-00049Q-LU; Wed, 05 Mar 2014 10:56:43 -0400 +Received: (nullmailer pid 10385 invoked by uid 1000); Wed, 05 Mar 2014 + 14:56:37 -0000 +From: David Bremner +To: notmuch@notmuchmail.org +Subject: [PATCH 3/4] doc: install sphinx version of man pages +Date: Wed, 5 Mar 2014 10:56:34 -0400 +Message-Id: <1394031395-8014-4-git-send-email-david@tethera.net> +X-Mailer: git-send-email 1.8.5.3 +In-Reply-To: <1394031395-8014-1-git-send-email-david@tethera.net> +References: <1394031395-8014-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: Wed, 05 Mar 2014 14:56:50 -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..19861a7 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: % ++ gzip -k -f $^ ++ + 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 + -- 2.26.2