From: Mauro Carvalho Chehab <mchehab@infradead.org>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>
Cc: Jani Nikula <jani.nikula@intel.com>,
Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>
Subject: Re: Making pdfdocs with sphinx - only select rst targets
Date: Wed, 10 Aug 2016 05:41:11 -0300 [thread overview]
Message-ID: <20160810054111.5a342fb2@vela.lan> (raw)
In-Reply-To: <CAB=NE6Xw937_pGrmXW36KN=3bdce0pdAxH-v2Co4cHdR0o3nRw@mail.gmail.com>
Em Tue, 9 Aug 2016 18:19:14 -0700
"Luis R. Rodriguez" <mcgrof@kernel.org> escreveu:
> I'm excited to see the new documentation format, so I'm changing my
> documentation in the pending patches I have to use it. I however
> cannot generate anything other than the main
>
> Documentation/output/pdf/Kernel.pdf
>
> How can I see in PDF the other documentation?
>
> I'm using:
>
> make DOCBOOKS="" pdfdocs
>
> The Documentation/output/pdf/Kernel.pdf only has a bit of the
> documentation on how to write docs, nothing else. Using htmldocs as a
> target works but I am not a fan of that output.
Hi Luis,
Unfortunately, on my tests with Sphinx, I noticed that pdf output is
not actually working fine. It relies on a tool called rst2pdf. On
my tests, I noticed that:
- rst2pdf is completely broken with Sphinx 1.3.x;
- rst2pdf doesn't handle complex documents, even with Sphinx 1.4.5;
- rst2pdf always report a successful build, even when it fails;
- I also consulted a developer with years of experience with Sphinx: he
recommended removing the media book from the pdf build, as he doesn't
know any fixup or replacement for the tool that would work for the
media docs.
If you want to play with PDF output, you should take a look on this patch:
https://patchwork.kernel.org/patch/9231687/
(commit 520a247760f750307b53db905a10a17df1700f3b)
Reverting it or adding your document main rst file there would let you play
with pdfdocs, if you're using Sphinx version 1.4.x.
If you revert it, you'll also need the enclosed patch.
Regards,
Cheers,
Mauro
---
doc-rst: build the dynamic rst files for non-html doc targets
Right now, the media makefile is called only for html docs.
Call it also for the other documentation targets.
NOTICE: Should not be applied upstream!
The pdf target won't actually build a PDF, because rst2pdf can't
handle complex documents and will fail with the media one.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
diff --git a/Documentation/Makefile.sphinx b/Documentation/Makefile.sphinx
index 857f1e273418..e90167ba474d 100644
--- a/Documentation/Makefile.sphinx
+++ b/Documentation/Makefile.sphinx
@@ -49,13 +49,16 @@ ifeq ($(HAVE_RST2PDF),0)
$(warning The Python 'rst2pdf' module was not found. Make sure you have the module installed to produce PDF output.)
@echo " SKIP Sphinx $@ target."
else # HAVE_RST2PDF
+ $(MAKE) BUILDDIR=$(BUILDDIR) -f $(srctree)/Documentation/media/Makefile $@
$(call cmd,sphinx,pdf)
endif # HAVE_RST2PDF
epubdocs:
+ $(MAKE) BUILDDIR=$(BUILDDIR) -f $(srctree)/Documentation/media/Makefile $@
$(call cmd,sphinx,epub)
xmldocs:
+ $(MAKE) BUILDDIR=$(BUILDDIR) -f $(srctree)/Documentation/media/Makefile $@
$(call cmd,sphinx,xml)
# no-ops for the Sphinx toolchain
diff --git a/Documentation/media/Makefile b/Documentation/media/Makefile
index 39e2d766dbe3..79784e848fc0 100644
--- a/Documentation/media/Makefile
+++ b/Documentation/media/Makefile
@@ -11,6 +11,9 @@ FILES = audio.h.rst ca.h.rst dmx.h.rst frontend.h.rst net.h.rst video.h.rst \
TARGETS := $(addprefix $(BUILDDIR)/, $(FILES))
htmldocs: $(BUILDDIR) ${TARGETS}
+epubdocs: $(BUILDDIR) ${TARGETS}
+xmldocs: $(BUILDDIR) ${TARGETS}
+pdfdocs: $(BUILDDIR) ${TARGETS}
$(BUILDDIR):
$(Q)mkdir -p $@
next prev parent reply other threads:[~2016-08-10 18:32 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-10 1:19 Making pdfdocs with sphinx - only select rst targets Luis R. Rodriguez
2016-08-10 8:41 ` Mauro Carvalho Chehab [this message]
[not found] ` <CAB=NE6UUiKSn66=F+WUrqk3E1tj+fnzqFnD=dX55md6RnaiOgQ@mail.gmail.com>
2016-08-10 15:05 ` Mauro Carvalho Chehab
2016-08-10 15:54 ` [RFC PATCH 0/3] Documentation: switch to pdflatex and fix pdf build Jani Nikula
2016-08-10 15:54 ` [RFC PATCH 1/3] Documentation/sphinx: build the media intermediate rst files for all outputs Jani Nikula
2016-08-10 16:14 ` Mauro Carvalho Chehab
2016-08-10 15:54 ` [RFC PATCH 2/3] Documentation: switch to pdflatex for pdf generation Jani Nikula
2016-08-10 17:15 ` Markus Heiser
2016-08-10 20:07 ` Luis R. Rodriguez
2016-08-10 15:54 ` [RFC PATCH 3/3] Documentation: exclude media documentation from " Jani Nikula
2016-08-10 16:16 ` Mauro Carvalho Chehab
2016-08-10 16:31 ` Markus Heiser
2016-08-10 20:05 ` Luis R. Rodriguez
2016-08-10 16:27 ` [RFC PATCH 0/3] Documentation: switch to pdflatex and fix pdf build Markus Heiser
2016-08-10 20:09 ` Luis R. Rodriguez
2016-08-12 22:40 ` Jonathan Corbet
2016-08-13 16:00 ` Markus Heiser
2016-08-15 9:40 ` Jani Nikula
2016-08-15 12:17 ` Mauro Carvalho Chehab
2016-08-15 22:26 ` Mauro Carvalho Chehab
2016-08-19 12:54 ` Jani Nikula
2016-08-19 13:21 ` 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=20160810054111.5a342fb2@vela.lan \
--to=mchehab@infradead.org \
--cc=daniel.vetter@ffwll.ch \
--cc=jani.nikula@intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=mchehab@osg.samsung.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox