All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
To: Linux Doc Mailing List <linux-doc@vger.kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>,
	linux-kernel@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>
Subject: [PATCH v2 7/8] docs: load_config.py: avoid needing a conf.py just due to LaTeX docs
Date: Mon, 15 Jul 2019 05:01:20 -0300	[thread overview]
Message-ID: <20190715050120.6eeef30b@coco.lan> (raw)
In-Reply-To: <8076229480bdec3e86489d43b10a5afcfd88a75e.1563115732.git.mchehab+samsung@kernel.org>

Right now, for every directory that we need to have LaTeX output,
a conf.py file is required.

That causes an extra overhead and it is actually a hack, as
the latex_documents line there are usually a copy of the ones
that are there already at the main conf.py.

So, instead, re-use the global latex_documents var, just
adjusting the path to be relative ones.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

---

v2: make SPHINXDIRS="foo" htmldocs now works without needing a per-subdir
    conf.py.

diff --git a/Documentation/sphinx/load_config.py b/Documentation/sphinx/load_config.py
index 301a21aa4f63..e4a04f367b41 100644
--- a/Documentation/sphinx/load_config.py
+++ b/Documentation/sphinx/load_config.py
@@ -21,6 +21,29 @@ def loadConfig(namespace):
         and os.path.normpath(namespace["__file__"]) != os.path.normpath(config_file) ):
         config_file = os.path.abspath(config_file)
 
+        # Let's avoid one conf.py file just due to latex_documents
+        start = config_file.find('Documentation/')
+	if start >= 0:
+	    start = config_file.find('/', start + 1)
+
+        end = config_file.rfind('/')
+        if start >= 0 and end > 0:
+            dir = config_file[start + 1:end]
+
+            print("source directory: %s" % dir)
+            new_latex_docs = []
+            latex_documents = namespace['latex_documents']
+
+            for l in latex_documents:
+                if l[0].find(dir) == 0:
+                    has = True
+                    fn = l[0][len(dir) + 1:]
+                    new_latex_docs.append((fn, l[1], l[2], l[3], l[4]))
+                    break
+
+            namespace['latex_documents'] = new_latex_docs
+
+        # If there is an extra conf.py file, load it
         if os.path.isfile(config_file):
             sys.stdout.write("load additional sphinx-config: %s\n" % config_file)
             config = namespace.copy()
@@ -29,4 +52,6 @@ def loadConfig(namespace):
             del config['__file__']
             namespace.update(config)
         else:
-            sys.stderr.write("WARNING: additional sphinx-config not found: %s\n" % config_file)
+            config = namespace.copy()
+            config['tags'].add("subproject")
+            namespace.update(config)

  reply	other threads:[~2019-07-15  8:01 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-14 15:10 [PATCH 0/8] docs: some improvements when producing PDF files Mauro Carvalho Chehab
2019-07-14 15:10 ` Mauro Carvalho Chehab
2019-07-14 15:10 ` Mauro Carvalho Chehab
2019-07-14 15:10 ` [PATCH 1/8] docs: conf.py: only use CJK if the font is available Mauro Carvalho Chehab
2019-07-14 15:10 ` [PATCH 2/8] scripts/sphinx-pre-install: fix script for RHEL/CentOS Mauro Carvalho Chehab
2019-07-14 15:10 ` [PATCH 3/8] scripts/sphinx-pre-install: don't use LaTeX with CentOS 7 Mauro Carvalho Chehab
2019-07-14 15:10 ` [PATCH 4/8] scripts/sphinx-pre-install: fix latexmk dependencies Mauro Carvalho Chehab
2019-07-14 15:10 ` [PATCH 5/8] scripts/sphinx-pre-install: cleanup Gentoo checks Mauro Carvalho Chehab
2019-07-14 15:10 ` [PATCH 6/8] scripts/sphinx-pre-install: seek for Noto CJK fonts for pdf output Mauro Carvalho Chehab
2019-07-14 15:10 ` [PATCH 7/8] docs: load_config.py: avoid needing a conf.py just due to LaTeX docs Mauro Carvalho Chehab
2019-07-15  8:01   ` Mauro Carvalho Chehab [this message]
2019-07-14 15:10 ` [PATCH 8/8] docs: remove extra conf.py files Mauro Carvalho Chehab
2019-07-14 15:10   ` Mauro Carvalho Chehab
2019-07-14 15:10   ` Mauro Carvalho Chehab
2019-07-15  6:16   ` Markus Heiser
2019-07-15  6:16     ` Markus Heiser
2019-07-15  6:16     ` Markus Heiser
2019-07-15  7:57     ` Mauro Carvalho Chehab
2019-07-15  7:57       ` Mauro Carvalho Chehab
2019-07-15  7:57       ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190715050120.6eeef30b@coco.lan \
    --to=mchehab+samsung@kernel.org \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.