[PATCH] doc: remove support for rst2man
authorDavid Bremner <david@tethera.net>
Sun, 18 Jan 2015 16:55:10 +0000 (17:55 +0100)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 21:47:34 +0000 (14:47 -0700)
e8/c9ea0c48dddcfca905de8d1a1f929792b1a5fb [new file with mode: 0644]

diff --git a/e8/c9ea0c48dddcfca905de8d1a1f929792b1a5fb b/e8/c9ea0c48dddcfca905de8d1a1f929792b1a5fb
new file mode 100644 (file)
index 0000000..1641d5e
--- /dev/null
@@ -0,0 +1,284 @@
+Return-Path: <bremner@tesseract.cs.unb.ca>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 4312F431FB6\r
+       for <notmuch@notmuchmail.org>; Sun, 18 Jan 2015 08:56:11 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 2.438\r
+X-Spam-Level: **\r
+X-Spam-Status: No, score=2.438 tagged_above=-999 required=5\r
+       tests=[DNS_FROM_AHBL_RHSBL=2.438] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id rYHZkS1ABWhk for <notmuch@notmuchmail.org>;\r
+       Sun, 18 Jan 2015 08:56:08 -0800 (PST)\r
+Received: from mx.xen14.node3324.gplhost.com (gitolite.debian.net\r
+       [87.98.215.224])\r
+       (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id E0381431FAF\r
+       for <notmuch@notmuchmail.org>; Sun, 18 Jan 2015 08:56:07 -0800 (PST)\r
+Received: from remotemail by mx.xen14.node3324.gplhost.com with local (Exim\r
+       4.80) (envelope-from <bremner@tesseract.cs.unb.ca>)\r
+       id 1YCt8I-0007jp-1t; Sun, 18 Jan 2015 16:55:26 +0000\r
+Received: (nullmailer pid 20082 invoked by uid 1000); Sun, 18 Jan 2015\r
+       16:55:12 -0000\r
+From: David Bremner <david@tethera.net>\r
+To: David Bremner <david@tethera.net>, "notmuch@notmuchmail.org"\r
+       <notmuch@notmuchmail.org>\r
+Subject: [PATCH] doc: remove support for rst2man\r
+Date: Sun, 18 Jan 2015 17:55:10 +0100\r
+Message-Id: <1421600110-19988-1-git-send-email-david@tethera.net>\r
+X-Mailer: git-send-email 2.1.4\r
+In-Reply-To: <87k312x4i2.fsf@maritornes.cs.unb.ca>\r
+References: <87k312x4i2.fsf@maritornes.cs.unb.ca>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sun, 18 Jan 2015 16:56:11 -0000\r
+\r
+It was becoming increasingly complicated to support rst2man, and there\r
+were apparently not many people that relied on it.\r
+---\r
+\r
+Now's your chance to tell us how useful rst2man support is to you.\r
+\r
+ INSTALL            |  7 ++----\r
+ NEWS               |  6 +++++\r
+ configure          | 20 +++--------------\r
+ doc/INSTALL        | 13 -----------\r
+ doc/Makefile.local |  7 ++----\r
+ doc/prerst2man.py  | 64 ------------------------------------------------------\r
+ 6 files changed, 13 insertions(+), 104 deletions(-)\r
+ delete mode 100644 doc/prerst2man.py\r
+\r
+diff --git a/INSTALL b/INSTALL\r
+index b543c50..eaccd93 100644\r
+--- a/INSTALL\r
++++ b/INSTALL\r
+@@ -75,14 +75,11 @@ Talloc, and zlib which are each described below:\r
+ Building Documentation\r
+ ----------------------\r
\r
+-By default the documentation for notmuch is built using sphinx.\r
++To build the documentation for notmuch you need at least version 1.0\r
++of sphinx (Jul. 2010).\r
\r
+ Sphinx is available from www.sphinx-doc.org.\r
\r
+-If you prefer, you can build the man pages using rst2man, from the\r
+-python docutils package. See doc/INSTALL for details.\r
+-\r
+-\r
+ Installing Dependencies from Packages\r
+ -------------------------------------\r
\r
+diff --git a/NEWS b/NEWS\r
+index abb5ad7..53e06aa 100644\r
+--- a/NEWS\r
++++ b/NEWS\r
+@@ -1,5 +1,11 @@\r
+ Notmuch 0.20 (UNRELEASED)\r
\r
++Documentation\r
++-------------\r
++\r
++Support for using rst2man in place of sphinx to build the\r
++docmumentation has been removed.\r
++\r
+ Contrib\r
+ -------\r
\r
+diff --git a/configure b/configure\r
+index 137acea..a6b49ae 100755\r
+--- a/configure\r
++++ b/configure\r
+@@ -447,19 +447,9 @@ printf "Checking if sphinx is available and supports nroff output... "\r
+ if hash sphinx-build > /dev/null 2>&1 && ${python} -m sphinx.writers.manpage > /dev/null 2>&1 ; then\r
+     printf "Yes.\n"\r
+     have_sphinx=1\r
+-    have_rst2man=0\r
+ else\r
+-    printf "No (falling back to rst2man).\n"\r
++    printf "No (so will not install man pages).\n"\r
+     have_sphinx=0\r
+-\r
+-    printf "Checking if rst2man is available... "\r
+-    if rst2man -V > /dev/null 2>&1; then\r
+-       printf "Yes.\n"\r
+-       have_rst2man=1\r
+-    else\r
+-       printf "No (so will not install man pages).\n"\r
+-       have_rst2man=0\r
+-    fi\r
+ fi\r
\r
+ libdir_in_ldconfig=0\r
+@@ -848,9 +838,6 @@ HAVE_EMACS = ${have_emacs}\r
+ # Whether there's a sphinx-build binary available for building documentation\r
+ HAVE_SPHINX=${have_sphinx}\r
\r
+-# Whether there's a rst2man binary available for building documentation\r
+-HAVE_RST2MAN=${have_rst2man}\r
+-\r
+ # Whether there's a doxygen binary available for building api documentation\r
+ HAVE_DOXYGEN=${have_doxygen}\r
\r
+@@ -978,9 +965,8 @@ cat > sh.config <<EOF\r
+ # Whether the Xapian version in use supports compaction\r
+ NOTMUCH_HAVE_XAPIAN_COMPACT=${have_xapian_compact}\r
\r
+-# Whether there's either sphinx or rst2man available for building\r
+-# documentation\r
+-NOTMUCH_HAVE_MAN=$((have_sphinx || have_rst2man))\r
++# do we have man pages?\r
++NOTMUCH_HAVE_MAN=$((have_sphinx))\r
\r
+ # Name of python interpreter\r
+ NOTMUCH_PYTHON=${python}\r
+diff --git a/doc/INSTALL b/doc/INSTALL\r
+index e37c2b9..0585476 100644\r
+--- a/doc/INSTALL\r
++++ b/doc/INSTALL\r
+@@ -1,9 +1,6 @@\r
+ This file contains some more detailed information about building and\r
+ installing the documentation.\r
\r
+-Building with sphinx.\r
+----------------------\r
+-\r
+ - You need sphinx at least version 1.0.\r
\r
+ - You can build build and install man pages with 'make install-man'\r
+@@ -12,13 +9,3 @@ Building with sphinx.\r
+   (currently only the man pages) with\r
\r
+      'make install-{man|info|html|pdf}'\r
+-\r
+-Building the man pages\r
+-----------------------\r
+-\r
+-- You can build the man pages with rst2man (from python-docutils) with\r
+-  'make rst2man'.\r
+-\r
+-- Currently there is no support to automagically install the resulting\r
+-  nroff files, but it should work to modify the target install-man\r
+-  in doc/Makefile.local.\r
+diff --git a/doc/Makefile.local b/doc/Makefile.local\r
+index e7d0bac..0bdf2e1 100644\r
+--- a/doc/Makefile.local\r
++++ b/doc/Makefile.local\r
+@@ -7,7 +7,6 @@ SPHINXOPTS    := -q\r
+ SPHINXBUILD   = sphinx-build\r
+ DOCBUILDDIR      := $(dir)/_build\r
\r
+-prerst2man := python $(srcdir)/$(dir)/prerst2man.py\r
+ mkdocdeps := python $(srcdir)/$(dir)/mkdocdeps.py\r
\r
+ # Internal variables.\r
+@@ -50,8 +49,6 @@ ifeq ($(HAVE_SPHINX),1)\r
+           mkdir -p $(DOCBUILDDIR)/man/man$${section}; \\r
+           mv $(DOCBUILDDIR)/man/*.$${section} $(DOCBUILDDIR)/man/man$${section}; \\r
+       done\r
+-else ifeq ($(HAVE_RST2MAN),1)\r
+-      $(prerst2man) $(srcdir)/doc $(DOCBUILDDIR)/man\r
+ else\r
+       @echo "Fatal: build dependency fail."\r
+       @false\r
+@@ -79,10 +76,10 @@ endif\r
\r
+ # Do not try to build or install man pages if a man page converter is\r
+ # not available.\r
+-ifeq ($(HAVE_SPHINX)$(HAVE_RST2MAN),00)\r
++ifeq ($(HAVE_SPHINX),0)\r
+ build-man:\r
+ install-man:\r
+-      @echo "No sphinx or rst2man, will not install man pages."\r
++      @echo "No sphinx, will not install man pages."\r
+ else\r
+ build-man: ${MAN_GZIP_FILES}\r
+ install-man: ${MAN_GZIP_FILES}\r
+diff --git a/doc/prerst2man.py b/doc/prerst2man.py\r
+deleted file mode 100644\r
+index 968722a..0000000\r
+--- a/doc/prerst2man.py\r
++++ /dev/null\r
+@@ -1,64 +0,0 @@\r
+-from sys import argv\r
+-from datetime import date\r
+-from os.path import dirname, isdir\r
+-from os import makedirs, system\r
+-import re\r
+-\r
+-sourcedir = argv[1]\r
+-outdir = argv[2]\r
+-\r
+-if not isdir(outdir):\r
+-    makedirs(outdir, 0o755)\r
+-\r
+-with open(sourcedir + "/conf.py") as cf:\r
+-    exec(cf.read())\r
+-\r
+-\r
+-def header(file, startdocname, command, description, authors, section):\r
+-    file.write("""\r
+-{0:s}\r
+-{1:s}\r
+-{2:s}\r
+-\r
+-:Date:   {3:s}\r
+-:Version: {4:s}\r
+-:Manual section: {5:d}\r
+-:Manual group: {6:s}\r
+-\r
+-""".format(\r
+-'-' * len(description),\r
+-description,\r
+-'-' * len(description),\r
+-date.today().isoformat(), release, section, project))\r
+-\r
+-blankre = re.compile("^\s*$")\r
+-for page in man_pages:\r
+-    outdirname = outdir + '/' + dirname(page[0])\r
+-    if not isdir(outdirname):\r
+-        makedirs(outdirname, 0o755)\r
+-    filename = outdir + '/' + page[0] + '.rst'\r
+-    outfile = open(filename, 'w')\r
+-    infile = open(sourcedir + '/' + page[0] + '.rst', 'r')\r
+-\r
+-    # this is a crude hack. We look for the first blank line, and\r
+-    # insert the rst2man header there.\r
+-    #\r
+-    # XXX consider really parsing input\r
+-\r
+-    count = 0\r
+-    lines = infile.readlines()\r
+-    for line in lines:\r
+-        outfile.write(line)\r
+-        if (blankre.match(line)):\r
+-            break\r
+-        count = count + 1\r
+-\r
+-    del lines[0:count + 1]\r
+-\r
+-    header(outfile, *page)\r
+-\r
+-    outfile.write("".join(lines))\r
+-    outfile.close()\r
+-\r
+-    system('set -x; rst2man {0} {1}/{2}.{3}'\r
+-           .format(filename, outdir, page[0], page[4]))\r
+-- \r
+2.1.4\r
+\r