From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 7E46B6DE09FB for ; Sat, 5 Nov 2016 13:20:29 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" X-Spam-Flag: NO X-Spam-Score: 0.32 X-Spam-Level: X-Spam-Status: No, score=0.32 tagged_above=-999 required=5 tests=[AWL=0.340, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LR2wtJVGXLS0 for ; Sat, 5 Nov 2016 13:20:28 -0700 (PDT) Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) by arlo.cworth.org (Postfix) with ESMTPS id 2300B6DE0BA5 for ; Sat, 5 Nov 2016 13:20:26 -0700 (PDT) Received: by mail-lf0-f67.google.com with SMTP id o141so5362085lff.1 for ; Sat, 05 Nov 2016 13:20:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nikula-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=e5WXcyeHoiMp20fM/yGUurb4YBGsZSguMA41NEMaW5k=; b=HKlhcKUxGbPeSXC4J1hMAx5pYvElKk0LW15vcp3hYc6JHSuzAcxYTwxubWTyp8D9b+ x5NLhQCErHKTI2DwgeU/U4BQoJtQzSft5U5yu13Jxj8O1fA7hK/MmCC/RIsrKJzVaNtA KqMa3DPepWI5PIu3gJykxqcOFHpYCLOBM6mqZj0eNcWSbL0ukwgvUJEW7oHF0SHmqAZv mVrO+ZIYvtGY1pIkcaSAOc+YyuDYTZHe7EMMQefTMXBnOK8Ta0y7rRXc45qDaoMqj943 Kx4HhQBXCpjHsZkvizquzKAXb1WOwve3F73zWhlDo6rSW6oDvHTqV+fZgR4GZU1Qszgu 6dWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=e5WXcyeHoiMp20fM/yGUurb4YBGsZSguMA41NEMaW5k=; b=TkcNROIaAABTUXaYasPLyE0fZwERc5Xu679ybFCPE5Y1PB53S1CGHJ+GFzTjWCVc0t Dwk2NmyoDyfuBzv7wUwJFkCd8kqDTlrboe26H1anlGj/+x/WVXoberwprf3uQTxuVRSN q8+wtl9o6+tLL2Mw1yLj8U+5s5v56R7WVIzk60Bw8fcGALWOCkydelu75WF3N6OojFzP cID2G6iPSbREoGrSmZvAvsxwD9kKUaUmHGKJFB4f7YbfCCM+ffRtKd9TOQgQ07nPS4uZ as3T6J6JrNGuoeVsvz1mGapQrj3BPalIrNbpF0SG+geHTeCLxoup9CuYVIsYlztHbyKS AVvg== X-Gm-Message-State: ABUngve3zCkCaWNEeT2T65ajDAUgXEnPVl5DwNbJEIdjKAUXv2dBhUoHVbUncoByWGoaMA== X-Received: by 10.25.190.86 with SMTP id o83mr12948262lff.109.1478377224142; Sat, 05 Nov 2016 13:20:24 -0700 (PDT) Received: from localhost (dsl-hkibrasgw2-58c368-70.dhcp.inet.fi. [88.195.104.70]) by smtp.gmail.com with ESMTPSA id s7sm3526930lja.33.2016.11.05.13.20.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Nov 2016 13:20:23 -0700 (PDT) From: Jani Nikula To: notmuch@notmuchmail.org Subject: [PATCH 8/9] build: generate man page list from source files, not conf.py Date: Sat, 5 Nov 2016 22:18:17 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: In-Reply-To: References: X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.22 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: Sat, 05 Nov 2016 20:20:29 -0000 Use $(wildcard ...) to generate the list of man pages based on the rst source files present in the man page directories, instead of reading conf.py. This has three main benefits: 1) This makes the man page build slightly less complicated and easier to understand. At least there are fewer moving parts. 2) This makes the build fail if we add a man page rst file, but fail to add it to conf.py. 3) We can use Sphinx constructs in conf.py that are not available when importing the file into a normal python program such as mkdocdeps.py. --- doc/.gitignore | 1 - doc/Makefile.local | 23 +++++++++++++---------- doc/mkdocdeps.py | 18 ------------------ 3 files changed, 13 insertions(+), 29 deletions(-) delete mode 100644 doc/mkdocdeps.py diff --git a/doc/.gitignore b/doc/.gitignore index d0da78e510f1..9fa35d08a95e 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,4 +1,3 @@ *.pyc -docdeps.mk _build config.dox diff --git a/doc/Makefile.local b/doc/Makefile.local index 5dc1cad489cc..8a2f656bcad4 100644 --- a/doc/Makefile.local +++ b/doc/Makefile.local @@ -7,13 +7,23 @@ SPHINXOPTS := -q SPHINXBUILD = sphinx-build DOCBUILDDIR := $(dir)/_build -mkdocdeps := $(PYTHON) $(srcdir)/$(dir)/mkdocdeps.py - # Internal variables. ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(srcdir)/$(dir) APIMAN := $(DOCBUILDDIR)/man/man3/notmuch.3 DOXYFILE := $(srcdir)/$(dir)/doxygen.cfg +MAN1_RST := $(wildcard $(srcdir)/doc/man1/*.rst) +MAN5_RST := $(wildcard $(srcdir)/doc/man5/*.rst) +MAN7_RST := $(wildcard $(srcdir)/doc/man7/*.rst) +MAN_RST_FILES := $(MAN1_RST) $(MAN5_RST) $(MAN7_RST) + +MAN1_ROFF := $(patsubst $(srcdir)/doc/%,$(DOCBUILDDIR)/man/%,$(MAN1_RST:.rst=.1)) +MAN5_ROFF := $(patsubst $(srcdir)/doc/%,$(DOCBUILDDIR)/man/%,$(MAN5_RST:.rst=.5)) +MAN7_ROFF := $(patsubst $(srcdir)/doc/%,$(DOCBUILDDIR)/man/%,$(MAN7_RST:.rst=.7)) +MAN_ROFF_FILES := $(MAN1_ROFF) $(MAN5_ROFF) $(MAN7_ROFF) + +MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES}) + .PHONY: sphinx-html sphinx-texinfo sphinx-info .PHONY: install-man build-man apidocs install-apidocs @@ -30,10 +40,6 @@ sphinx-texinfo: sphinx-info: sphinx-texinfo make -C $(DOCBUILDDIR)/texinfo info --include $(dir)/docdeps.mk - -MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES}) - # Use the man page converter that is available. We should never depend # on MAN_ROFF_FILES if a converter is not available. ${MAN_ROFF_FILES}: $(DOCBUILDDIR)/.roff.stamp @@ -96,8 +102,5 @@ $(dir)/config.dox: version.stamp echo "PROJECT_NAME = \"Notmuch $(VERSION)\"" > $@ echo "INPUT=${srcdir}/lib/notmuch.h" >> $@ -$(dir)/docdeps.mk: $(dir)/conf.py $(dir)/mkdocdeps.py - $(mkdocdeps) $(srcdir)/doc $(DOCBUILDDIR) $@ - -CLEAN := $(CLEAN) $(DOCBUILDDIR) $(dir)/docdeps.mk $(DOCBUILDDIR)/.roff.stamp +CLEAN := $(CLEAN) $(DOCBUILDDIR) $(DOCBUILDDIR)/.roff.stamp CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES) $(dir)/conf.pyc $(dir)/config.dox diff --git a/doc/mkdocdeps.py b/doc/mkdocdeps.py deleted file mode 100644 index b87fe3e80c0f..000000000000 --- a/doc/mkdocdeps.py +++ /dev/null @@ -1,18 +0,0 @@ -import sys - -srcdir = sys.argv[1] -builddir = sys.argv[2] -outfile = sys.argv[3] - -sys.path.insert(0, srcdir) -import conf - -roff_files = [] -rst_files = [] -for page in conf.man_pages: - rst_files = rst_files + ["{0:s}/{1:s}.rst".format(srcdir,page[0])] - roff_files = roff_files + ["{0:s}/man/{1:s}.{2:d}".format(builddir,page[0],page[4])] - -with open(outfile, 'w') as out: - out.write('MAN_ROFF_FILES := ' + ' \\\n\t'.join(roff_files) + '\n') - out.write('MAN_RST_FILES := ' + ' \\\n\t'.join(rst_files) + '\n') -- 2.1.4