2016-11-01 22:44:32

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH RFC 0/4] Fix PDF build errors


This series address a series of errors during PDF generation from
media documentation.

Please notice that patch 2 carries on a PDF conversion from a PNG
image, because Sphinx is not smart enough to do the convertion.

This is a temporary solution (That's why I'm marking this series
as RFC).

I'm working on a more permanent access where the image format
required by Sphinx for PDF output will be met.

Mauro Carvalho Chehab (4):
docs-rst: fix PDF build errors
[media] subdev-formats.rst: we need a pdf picture for bayer
[media] subdev-formats.rst: don't use adjustbox on a longtable
[media] subdev-formats.rst: add missing columns to tabularcolumns

Documentation/conf.py | 4 ++++
Documentation/media/index.rst | 5 -----
Documentation/media/uapi/v4l/subdev-formats.rst | 17 +++++++++++------
.../media/uapi/v4l/subdev-formats_files/bayer.pdf | Bin 0 -> 11131 bytes
4 files changed, 15 insertions(+), 11 deletions(-)
create mode 100644 Documentation/media/uapi/v4l/subdev-formats_files/bayer.pdf

--
2.7.4



2016-11-01 22:44:34

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH RFC 1/4] docs-rst: fix PDF build errors

PDF build on Kernel 4.9-rc? returns an error. This is
because we're re-defining a command too late. Move
such redefinition to LaTeX preamble.

Tested by building the documentation on interactive mode:
make PDFLATEX=xelatex -C Documentation/output/./latex

Fixes: e61a39baf74d ("[media] index.rst: Fix LaTeX error in interactive mode on Sphinx 1.4.x")

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
Documentation/conf.py | 4 ++++
Documentation/media/index.rst | 5 -----
2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/Documentation/conf.py b/Documentation/conf.py
index d9bad21dd427..814c336e5f5e 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -332,6 +332,10 @@ latex_elements = {
'''
}

+# Fix reference escape troubles with Sphinx 1.4.x
+if minor > 3:
+ latex_elements['preamble'] += '\\renewcommand*{\\DUrole}[2]{ #2 }'
+
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
index e347a3e7bdef..7f8f0af620ce 100644
--- a/Documentation/media/index.rst
+++ b/Documentation/media/index.rst
@@ -1,11 +1,6 @@
Linux Media Subsystem Documentation
===================================

-.. Sphinx 1.4.x has a definition for DUrole that doesn't work on alltt blocks
-.. raw:: latex
-
- \renewcommand*{\DUrole}[2]{ #2 }
-
Contents:

.. toctree::
--
2.7.4


2016-11-01 22:44:33

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH RFC 4/4] [media] subdev-formats.rst: add missing columns to tabularcolumns

There are several missing columns on the size specification,
causing LaTeX to complain on interactive mode.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
Documentation/media/uapi/v4l/subdev-formats.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst b/Documentation/media/uapi/v4l/subdev-formats.rst
index cfffcfbe98fa..ac9e96049d04 100644
--- a/Documentation/media/uapi/v4l/subdev-formats.rst
+++ b/Documentation/media/uapi/v4l/subdev-formats.rst
@@ -1535,7 +1535,7 @@ organization is given as an example for the first pixel only.
\tiny
\setlength{\tabcolsep}{2pt}

-.. tabularcolumns:: |p{7.6cm}|p{1.6cm}|p{0.7cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|
+.. tabularcolumns:: |p{4.0cm}|p{0.7cm}|p{0.3cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|

.. _v4l2-mbus-pixelcode-bayer:

--
2.7.4


2016-11-01 22:53:10

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors

Em Tue, 1 Nov 2016 16:44:09 -0600
Mauro Carvalho Chehab <[email protected]> escreveu:

> This series address a series of errors during PDF generation from
> media documentation.
>
> Please notice that patch 2 carries on a PDF conversion from a PNG
> image, because Sphinx is not smart enough to do the convertion.
>
> This is a temporary solution (That's why I'm marking this series
> as RFC).
>
> I'm working on a more permanent access where the image format

In time:
"more permanent solution"

> required by Sphinx for PDF output will be met.
>
> Mauro Carvalho Chehab (4):
> docs-rst: fix PDF build errors
> [media] subdev-formats.rst: we need a pdf picture for bayer
> [media] subdev-formats.rst: don't use adjustbox on a longtable
> [media] subdev-formats.rst: add missing columns to tabularcolumns
>
> Documentation/conf.py | 4 ++++
> Documentation/media/index.rst | 5 -----
> Documentation/media/uapi/v4l/subdev-formats.rst | 17 +++++++++++------
> .../media/uapi/v4l/subdev-formats_files/bayer.pdf | Bin 0 -> 11131 bytes
> 4 files changed, 15 insertions(+), 11 deletions(-)
> create mode 100644 Documentation/media/uapi/v4l/subdev-formats_files/bayer.pdf
>




Cheers,
Mauro

2016-11-02 02:30:05

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH RFC 3/4] [media] subdev-formats.rst: don't use adjustbox on a longtable

adjustbox doesn't work on longtables. Also, this
causes an error on LaTeX in interactive mode.

So, use, instead, a tiny font.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
Documentation/media/uapi/v4l/subdev-formats.rst | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst b/Documentation/media/uapi/v4l/subdev-formats.rst
index 489a685945e2..cfffcfbe98fa 100644
--- a/Documentation/media/uapi/v4l/subdev-formats.rst
+++ b/Documentation/media/uapi/v4l/subdev-formats.rst
@@ -1524,9 +1524,16 @@ The following table lists existing packed Bayer formats. The data
organization is given as an example for the first pixel only.


+.. HACK: ideally, we would be using adjustbox here. However, Sphinx
+.. is a very bad behaviored guy: if the table has more than 30 cols,
+.. it switches to long table, and there's no way to override it.
+
+
.. raw:: latex

- \newline\newline\begin{adjustbox}{width=\columnwidth}
+ \begingroup
+ \tiny
+ \setlength{\tabcolsep}{2pt}

.. tabularcolumns:: |p{7.6cm}|p{1.6cm}|p{0.7cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|p{0.5cm}|

@@ -2312,7 +2319,7 @@ organization is given as an example for the first pixel only.

.. raw:: latex

- \end{adjustbox}\newline\newline
+ \endgroup


Packed YUV Formats
--
2.7.4


2016-11-02 02:30:04

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH RFC 2/4] [media] subdev-formats.rst: we need a pdf picture for bayer

The png picture is not ok on Sphinx 1.4.8.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
Documentation/media/uapi/v4l/subdev-formats.rst | 4 +---
.../media/uapi/v4l/subdev-formats_files/bayer.pdf | Bin 0 -> 11131 bytes
2 files changed, 1 insertion(+), 3 deletions(-)
create mode 100644 Documentation/media/uapi/v4l/subdev-formats_files/bayer.pdf

diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst b/Documentation/media/uapi/v4l/subdev-formats.rst
index e144370f62a0..489a685945e2 100644
--- a/Documentation/media/uapi/v4l/subdev-formats.rst
+++ b/Documentation/media/uapi/v4l/subdev-formats.rst
@@ -1515,13 +1515,11 @@ be named ``MEDIA_BUS_FMT_SRGGB10_2X8_PADHI_LE``.
.. _bayer-patterns:

.. figure:: subdev-formats_files/bayer.*
- :alt: bayer.png
+ :alt: bayer.pdf / bayer.png
:align: center

**Figure 4.8 Bayer Patterns**

-
-
The following table lists existing packed Bayer formats. The data
organization is given as an example for the first pixel only.

diff --git a/Documentation/media/uapi/v4l/subdev-formats_files/bayer.pdf b/Documentation/media/uapi/v4l/subdev-formats_files/bayer.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..8ccef608cabd2cfdd6cfb3e80a5055d5cb05d814
GIT binary patch
literal 11131
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
B4nP0^

literal 0
HcmV?d00001

--
2.7.4


2016-11-02 11:14:51

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors

On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
> This series address a series of errors during PDF generation from
> media documentation.
>
> Please notice that patch 2 carries on a PDF conversion from a PNG
> image, because Sphinx is not smart enough to do the convertion.
>
> This is a temporary solution (That's why I'm marking this series
> as RFC).

This seems to work on top of docs-next.

...but it'll break again if we include the missing admin-guide in the
build. :(

BR,
Jani.


>From c296287c65f4b6ad6272171456dcf8508c92ae2f Mon Sep 17 00:00:00 2001
From: Jani Nikula <[email protected]>
Date: Wed, 2 Nov 2016 13:05:59 +0200
Subject: [PATCH] Documentation/sphinx: include admin-guide in the latex/pdf
build
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
Cc: Jani Nikula <[email protected]>

Fix the warning:

WARNING: "latex_documents" config value references unknown document
user/index

Signed-off-by: Jani Nikula <[email protected]>

---

Sadly, this breaks the pdf build with:

! TeX capacity exceeded, sorry [main memory size=5000000].
\FV@Space ...ionary {\copy \sphinxvisiblespacebox
}{\sphinxafterbreak } {\ke...
l.3711 ...\PYG{n}{be} \PYG{n}{used} \PYG{n+nb}{to}

Output written on linux-user.pdf (15 pages).
Transcript written on linux-user.log.
Makefile:66: recipe for target 'linux-user.pdf' failed
make[2]: *** [linux-user.pdf] Error 1
Documentation/Makefile.sphinx:83: recipe for target 'pdfdocs' failed
make[1]: *** [pdfdocs] Error 2
Makefile:1442: recipe for target 'pdfdocs' failed
make: *** [pdfdocs] Error 2
---
Documentation/conf.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/conf.py b/Documentation/conf.py
index 814c336e5f5e..0c758a4f61f1 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -340,7 +340,7 @@ if minor > 3:
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
- ('user/index', 'linux-user.tex', 'Linux Kernel User Documentation',
+ ('admin-guide/index', 'linux-user.tex', 'Linux Kernel User Documentation',
'The kernel development community', 'manual'),
('kernel-documentation', 'kernel-documentation.tex', 'The Linux Kernel Documentation',
'The kernel development community', 'manual'),
--
2.1.4




--
Jani Nikula, Intel Open Source Technology Center

2016-11-02 12:20:51

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors

Em Wed, 02 Nov 2016 13:14:47 +0200
Jani Nikula <[email protected]> escreveu:

> On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
> > This series address a series of errors during PDF generation from
> > media documentation.
> >
> > Please notice that patch 2 carries on a PDF conversion from a PNG
> > image, because Sphinx is not smart enough to do the convertion.
> >
> > This is a temporary solution (That's why I'm marking this series
> > as RFC).
>
> This seems to work on top of docs-next.

Yes.

> ...but it'll break again if we include the missing admin-guide in the
> build. :(

LaTeX/PDF output is ugly... for each new stuff, we need to re-validate its
output :-(



>
> BR,
> Jani.
>
>
> From c296287c65f4b6ad6272171456dcf8508c92ae2f Mon Sep 17 00:00:00 2001
> From: Jani Nikula <[email protected]>
> Date: Wed, 2 Nov 2016 13:05:59 +0200
> Subject: [PATCH] Documentation/sphinx: include admin-guide in the latex/pdf
> build
> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
> Cc: Jani Nikula <[email protected]>
>
> Fix the warning:
>
> WARNING: "latex_documents" config value references unknown document
> user/index
>
> Signed-off-by: Jani Nikula <[email protected]>
>
> ---
>
> Sadly, this breaks the pdf build with:
>
> ! TeX capacity exceeded, sorry [main memory size=5000000].
> \FV@Space ...ionary {\copy \sphinxvisiblespacebox
> }{\sphinxafterbreak } {\ke...
> l.3711 ...\PYG{n}{be} \PYG{n}{used} \PYG{n+nb}{to}
>
> Output written on linux-user.pdf (15 pages).
> Transcript written on linux-user.log.
> Makefile:66: recipe for target 'linux-user.pdf' failed
> make[2]: *** [linux-user.pdf] Error 1
> Documentation/Makefile.sphinx:83: recipe for target 'pdfdocs' failed
> make[1]: *** [pdfdocs] Error 2
> Makefile:1442: recipe for target 'pdfdocs' failed
> make: *** [pdfdocs] Error 2
> ---
> Documentation/conf.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index 814c336e5f5e..0c758a4f61f1 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -340,7 +340,7 @@ if minor > 3:
> # (source start file, target name, title,
> # author, documentclass [howto, manual, or own class]).
> latex_documents = [
> - ('user/index', 'linux-user.tex', 'Linux Kernel User Documentation',
> + ('admin-guide/index', 'linux-user.tex', 'Linux Kernel User Documentation',

Oh! It seems I forgot to rename the guide name here :(

Your patch looks OK!

Reviewed-by: Mauro Carvalho Chehab <[email protected]>

> 'The kernel development community', 'manual'),
> ('kernel-documentation', 'kernel-documentation.tex', 'The Linux Kernel Documentation',
> 'The kernel development community', 'manual'),




Cheers,
Mauro

2016-11-02 13:27:56

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors

On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
> Em Wed, 02 Nov 2016 13:14:47 +0200
> Jani Nikula <[email protected]> escreveu:
>
>> On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
>> > This series address a series of errors during PDF generation from
>> > media documentation.
>> >
>> > Please notice that patch 2 carries on a PDF conversion from a PNG
>> > image, because Sphinx is not smart enough to do the convertion.
>> >
>> > This is a temporary solution (That's why I'm marking this series
>> > as RFC).
>>
>> This seems to work on top of docs-next.
>
> Yes.
>
>> ...but it'll break again if we include the missing admin-guide in the
>> build. :(
>
> LaTeX/PDF output is ugly... for each new stuff, we need to re-validate its
> output :-(

Once we have this working, I think the only way to keep it working is to
have continuous testing of the pdf build. That won't keep the output
pretty, but it'll help ensure passing build.

Perhaps 0day could eventually start running 'make DOCBOOKS="" pdfdocs'
after the htmldocs target? Cc: Fengguang and kbuild-all.

BR,
Jani.



>
>
>
>>
>> BR,
>> Jani.
>>
>>
>> From c296287c65f4b6ad6272171456dcf8508c92ae2f Mon Sep 17 00:00:00 2001
>> From: Jani Nikula <[email protected]>
>> Date: Wed, 2 Nov 2016 13:05:59 +0200
>> Subject: [PATCH] Documentation/sphinx: include admin-guide in the latex/pdf
>> build
>> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
>> Cc: Jani Nikula <[email protected]>
>>
>> Fix the warning:
>>
>> WARNING: "latex_documents" config value references unknown document
>> user/index
>>
>> Signed-off-by: Jani Nikula <[email protected]>
>>
>> ---
>>
>> Sadly, this breaks the pdf build with:
>>
>> ! TeX capacity exceeded, sorry [main memory size=5000000].
>> \FV@Space ...ionary {\copy \sphinxvisiblespacebox
>> }{\sphinxafterbreak } {\ke...
>> l.3711 ...\PYG{n}{be} \PYG{n}{used} \PYG{n+nb}{to}
>>
>> Output written on linux-user.pdf (15 pages).
>> Transcript written on linux-user.log.
>> Makefile:66: recipe for target 'linux-user.pdf' failed
>> make[2]: *** [linux-user.pdf] Error 1
>> Documentation/Makefile.sphinx:83: recipe for target 'pdfdocs' failed
>> make[1]: *** [pdfdocs] Error 2
>> Makefile:1442: recipe for target 'pdfdocs' failed
>> make: *** [pdfdocs] Error 2
>> ---
>> Documentation/conf.py | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/Documentation/conf.py b/Documentation/conf.py
>> index 814c336e5f5e..0c758a4f61f1 100644
>> --- a/Documentation/conf.py
>> +++ b/Documentation/conf.py
>> @@ -340,7 +340,7 @@ if minor > 3:
>> # (source start file, target name, title,
>> # author, documentclass [howto, manual, or own class]).
>> latex_documents = [
>> - ('user/index', 'linux-user.tex', 'Linux Kernel User Documentation',
>> + ('admin-guide/index', 'linux-user.tex', 'Linux Kernel User Documentation',
>
> Oh! It seems I forgot to rename the guide name here :(
>
> Your patch looks OK!
>
> Reviewed-by: Mauro Carvalho Chehab <[email protected]>
>
>> 'The kernel development community', 'manual'),
>> ('kernel-documentation', 'kernel-documentation.tex', 'The Linux Kernel Documentation',
>> 'The kernel development community', 'manual'),
>
>
>
>
> Cheers,
> Mauro

--
Jani Nikula, Intel Open Source Technology Center

2016-11-02 15:03:56

by Markus Heiser

[permalink] [raw]
Subject: Re: [PATCH RFC 1/4] docs-rst: fix PDF build errors


Am 01.11.2016 um 23:44 schrieb Mauro Carvalho Chehab <[email protected]>:

> PDF build on Kernel 4.9-rc? returns an error. This is
> because we're re-defining a command too late. Move
> such redefinition to LaTeX preamble.
>
> Tested by building the documentation on interactive mode:
> make PDFLATEX=xelatex -C Documentation/output/./latex
>
> Fixes: e61a39baf74d ("[media] index.rst: Fix LaTeX error in interactive mode on Sphinx 1.4.x")
>
> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
> ---
> Documentation/conf.py | 4 ++++
> Documentation/media/index.rst | 5 -----
> 2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index d9bad21dd427..814c336e5f5e 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -332,6 +332,10 @@ latex_elements = {
> '''
> }
>
> +# Fix reference escape troubles with Sphinx 1.4.x
> +if minor > 3:
> + latex_elements['preamble'] += '\\renewcommand*{\\DUrole}[2]{ #2 }'

For Sphinx's version detection we should also include the
major version number e.g::

if major == 1 and minor > 3:

BTW: can you also fix ...

# The name of the math extension changed on Sphinx 1.4
-if minor > 3:
- extensions.append("sphinx.ext.imgmath")
-else:
+if major == 1 and minor < 4:
extensions.append("sphinx.ext.pngmath")
+else:
+ extensions.append("sphinx.ext.imgmath")

-- Markus --


> +
> # Grouping the document tree into LaTeX files. List of tuples
> # (source start file, target name, title,
> # author, documentclass [howto, manual, or own class]).
> diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
> index e347a3e7bdef..7f8f0af620ce 100644
> --- a/Documentation/media/index.rst
> +++ b/Documentation/media/index.rst
> @@ -1,11 +1,6 @@
> Linux Media Subsystem Documentation
> ===================================
>
> -.. Sphinx 1.4.x has a definition for DUrole that doesn't work on alltt blocks
> -.. raw:: latex
> -
> - \renewcommand*{\DUrole}[2]{ #2 }
> -
> Contents:
>
> .. toctree::
> --
> 2.7.4
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-doc" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2016-11-02 15:06:19

by Markus Heiser

[permalink] [raw]
Subject: Re: [PATCH RFC 1/4] docs-rst: fix PDF build errors


Am 01.11.2016 um 23:44 schrieb Mauro Carvalho Chehab <[email protected]>:

> PDF build on Kernel 4.9-rc? returns an error. This is
> because we're re-defining a command too late. Move
> such redefinition to LaTeX preamble.
>
> Tested by building the documentation on interactive mode:
> make PDFLATEX=xelatex -C Documentation/output/./latex
>
> Fixes: e61a39baf74d ("[media] index.rst: Fix LaTeX error in interactive mode on Sphinx 1.4.x")
>
> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
> ---
> Documentation/conf.py | 4 ++++
> Documentation/media/index.rst | 5 -----
> 2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index d9bad21dd427..814c336e5f5e 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -332,6 +332,10 @@ latex_elements = {
> '''
> }
>
> +# Fix reference escape troubles with Sphinx 1.4.x
> +if minor > 3:
> + latex_elements['preamble'] += '\\renewcommand*{\\DUrole}[2]{ #2 }'

Sorry forget to mention: when adding content to the preamble I recommend
to add a leading and trailing new-line.

-- Markus --

2016-11-02 16:08:25

by Markus Heiser

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors


Am 02.11.2016 um 12:14 schrieb Jani Nikula <[email protected]>:

> On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
>> This series address a series of errors during PDF generation from
>> media documentation.
>>
>> Please notice that patch 2 carries on a PDF conversion from a PNG
>> image, because Sphinx is not smart enough to do the convertion.
>>
>> This is a temporary solution (That's why I'm marking this series
>> as RFC).
>
> This seems to work on top of docs-next.
>
> ...but it'll break again if we include the missing admin-guide in the
> build. :(
> Sadly, this breaks the pdf build with:
>
> ! TeX capacity exceeded, sorry [main memory size=5000000].
> \FV@Space ...ionary {\copy \sphinxvisiblespacebox
> }{\sphinxafterbreak } {\ke...
> l.3711 ...\PYG{n}{be} \PYG{n}{used} \PYG{n+nb}{to}
> or 2


This is the verbatim block of the kernel parameters with more
than 4300 lines in.

IMO, Verbatim exceeded, because in sphinx.sty is a redefinition
of the LaTeX Verbatim command which might be sloppy / see
sphinx.sty::

\renewcommand{\Verbatim}[1][1]{%
....

The renew-Verbatim has been removed later:

https://github.com/sphinx-doc/sphinx/commit/f9880bfcc8b19a7d197badeb6ab412abfca19891

I my POC I use such a modified sphinx.sty

https://github.com/return42/sphkerneldoc/blob/master/_tex/sphinx.sty

with it, the PDF is build:

https://h2626237.stratoserver.net/kernel/books/admin-guide/pdf/linux-user.pdf

Using modified sphinx.sty has the drawback, that it is not
up- or downward compatible to the installed Sphinx version.

So in short, I think it is the best to come back to the reasons
and just split kernel parameters in several blocks and using the
'none' option to prevent rendering as C .. E.g:

.. code-block:: none

acpi= [HW,ACPI,X86,ARM64]
Advanced Configuration and Power Interface
Format: { force | on | off | strict | noirq | rsdt |
copy_dsdt }

-- Markus --

2016-11-02 16:36:24

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors

Em Wed, 02 Nov 2016 15:27:50 +0200
Jani Nikula <[email protected]> escreveu:

> On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
> > Em Wed, 02 Nov 2016 13:14:47 +0200
> > Jani Nikula <[email protected]> escreveu:
> >
> >> On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
> >> > This series address a series of errors during PDF generation from
> >> > media documentation.
> >> >
> >> > Please notice that patch 2 carries on a PDF conversion from a PNG
> >> > image, because Sphinx is not smart enough to do the convertion.
> >> >
> >> > This is a temporary solution (That's why I'm marking this series
> >> > as RFC).
> >>
> >> This seems to work on top of docs-next.
> >
> > Yes.
> >
> >> ...but it'll break again if we include the missing admin-guide in the
> >> build. :(
> >
> > LaTeX/PDF output is ugly... for each new stuff, we need to re-validate its
> > output :-(
>
> Once we have this working, I think the only way to keep it working is to
> have continuous testing of the pdf build. That won't keep the output
> pretty, but it'll help ensure passing build.

Yes.

> Perhaps 0day could eventually start running 'make DOCBOOKS="" pdfdocs'
> after the htmldocs target? Cc: Fengguang and kbuild-all.

Good idea! it will be really helpful if Fengguang could automate the
testing process once we fix it.

Regards,
Mauro

2016-11-02 16:47:40

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors

Em Wed, 2 Nov 2016 17:08:08 +0100
Markus Heiser <[email protected]> escreveu:

> Am 02.11.2016 um 12:14 schrieb Jani Nikula <[email protected]>:
>
> > On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
> >> This series address a series of errors during PDF generation from
> >> media documentation.
> >>
> >> Please notice that patch 2 carries on a PDF conversion from a PNG
> >> image, because Sphinx is not smart enough to do the convertion.
> >>
> >> This is a temporary solution (That's why I'm marking this series
> >> as RFC).
> >
> > This seems to work on top of docs-next.
> >
> > ...but it'll break again if we include the missing admin-guide in the
> > build. :(
> > Sadly, this breaks the pdf build with:
> >
> > ! TeX capacity exceeded, sorry [main memory size=5000000].
> > \FV@Space ...ionary {\copy \sphinxvisiblespacebox
> > }{\sphinxafterbreak } {\ke...
> > l.3711 ...\PYG{n}{be} \PYG{n}{used} \PYG{n+nb}{to}
> > or 2
>
>
> This is the verbatim block of the kernel parameters with more
> than 4300 lines in.
>
> IMO, Verbatim exceeded, because in sphinx.sty is a redefinition
> of the LaTeX Verbatim command which might be sloppy / see
> sphinx.sty::
>
> \renewcommand{\Verbatim}[1][1]{%
> ....

Argh! I really hate those ugly hacks that Sphinx do for LaTeX output...

Btw, I remember I had to touch on a TeXLive style in order to workaround
the memory size when testing LaTeX output for some book, but it ended by
causing some other issues.

>
> The renew-Verbatim has been removed later:
>
> https://github.com/sphinx-doc/sphinx/commit/f9880bfcc8b19a7d197badeb6ab412abfca19891
>
> I my POC I use such a modified sphinx.sty
>
> https://github.com/return42/sphkerneldoc/blob/master/_tex/sphinx.sty
>
> with it, the PDF is build:
>
> https://h2626237.stratoserver.net/kernel/books/admin-guide/pdf/linux-user.pdf
>
> Using modified sphinx.sty has the drawback, that it is not
> up- or downward compatible to the installed Sphinx version.
>
> So in short, I think it is the best to come back to the reasons
> and just split kernel parameters in several blocks and using the
> 'none' option to prevent rendering as C .. E.g:
>
> .. code-block:: none

I'm staring to think that we should just redefine the default for ::
to be "none", and use the "C" handling **only** when explicitly
requested.

I remember that Jon did such suggestion sometime ago.

If we change it to "none", it will still spend lots of memory for
verbatim?


Cheers,
Mauro

2016-11-02 17:08:06

by Markus Heiser

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors


Am 02.11.2016 um 17:47 schrieb Mauro Carvalho Chehab <[email protected]>:

> Em Wed, 2 Nov 2016 17:08:08 +0100
> Markus Heiser <[email protected]> escreveu:
>
>> Am 02.11.2016 um 12:14 schrieb Jani Nikula <[email protected]>:
>>
>>> On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
>>>> This series address a series of errors during PDF generation from
>>>> media documentation.
>>>>
>>>> Please notice that patch 2 carries on a PDF conversion from a PNG
>>>> image, because Sphinx is not smart enough to do the convertion.
>>>>
>>>> This is a temporary solution (That's why I'm marking this series
>>>> as RFC).
>>>
>>> This seems to work on top of docs-next.
>>>
>>> ...but it'll break again if we include the missing admin-guide in the
>>> build. :(
>>> Sadly, this breaks the pdf build with:
>>>
>>> ! TeX capacity exceeded, sorry [main memory size=5000000].
>>> \FV@Space ...ionary {\copy \sphinxvisiblespacebox
>>> }{\sphinxafterbreak } {\ke...
>>> l.3711 ...\PYG{n}{be} \PYG{n}{used} \PYG{n+nb}{to}
>>> or 2
>>
>>
>> This is the verbatim block of the kernel parameters with more
>> than 4300 lines in.
>>
>> IMO, Verbatim exceeded, because in sphinx.sty is a redefinition
>> of the LaTeX Verbatim command which might be sloppy / see
>> sphinx.sty::
>>
>> \renewcommand{\Verbatim}[1][1]{%
>> ....
>
> Argh! I really hate those ugly hacks that Sphinx do for LaTeX output...
>
> Btw, I remember I had to touch on a TeXLive style in order to workaround
> the memory size when testing LaTeX output for some book, but it ended by
> causing some other issues.
>
>>
>> The renew-Verbatim has been removed later:
>>
>> https://github.com/sphinx-doc/sphinx/commit/f9880bfcc8b19a7d197badeb6ab412abfca19891
>>
>> I my POC I use such a modified sphinx.sty
>>
>> https://github.com/return42/sphkerneldoc/blob/master/_tex/sphinx.sty
>>
>> with it, the PDF is build:
>>
>> https://h2626237.stratoserver.net/kernel/books/admin-guide/pdf/linux-user.pdf
>>
>> Using modified sphinx.sty has the drawback, that it is not
>> up- or downward compatible to the installed Sphinx version.
>>
>> So in short, I think it is the best to come back to the reasons
>> and just split kernel parameters in several blocks and using the
>> 'none' option to prevent rendering as C .. E.g:
>>
>> .. code-block:: none
>
> I'm staring to think that we should just redefine the default for ::
> to be "none", and use the "C" handling **only** when explicitly
> requested.
>
> I remember that Jon did such suggestion sometime ago.

*shrug* ... I think about kernel-doc comments in the sources,
mostly you will have small examples and won't those verbose
".. code-block::" markup / using "::" keeps the comment compact.

>
> If we change it to "none", it will still spend lots of memory for
> verbatim?

Yes .. we need to split kernel parameter's into smaller verbatime
blocks.




2016-11-02 21:47:24

by Fengguang Wu

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors

On Wed, Nov 02, 2016 at 03:27:50PM +0200, Jani Nikula wrote:
>On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
>> Em Wed, 02 Nov 2016 13:14:47 +0200
>> Jani Nikula <[email protected]> escreveu:
>>
>>> On Wed, 02 Nov 2016, Mauro Carvalho Chehab <[email protected]> wrote:
>>> > This series address a series of errors during PDF generation from
>>> > media documentation.
>>> >
>>> > Please notice that patch 2 carries on a PDF conversion from a PNG
>>> > image, because Sphinx is not smart enough to do the convertion.
>>> >
>>> > This is a temporary solution (That's why I'm marking this series
>>> > as RFC).
>>>
>>> This seems to work on top of docs-next.
>>
>> Yes.
>>
>>> ...but it'll break again if we include the missing admin-guide in the
>>> build. :(
>>
>> LaTeX/PDF output is ugly... for each new stuff, we need to re-validate its
>> output :-(
>
>Once we have this working, I think the only way to keep it working is to
>have continuous testing of the pdf build. That won't keep the output
>pretty, but it'll help ensure passing build.
>
>Perhaps 0day could eventually start running 'make DOCBOOKS="" pdfdocs'
>after the htmldocs target? Cc: Fengguang and kbuild-all.

OK. We'll add the 'pdfdocs' test right after 'htmldocs'.
Thank you for the tip.

Regards,
Fengguang

2016-11-03 09:12:37

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH RFC 0/4] Fix PDF build errors

On Wed, 02 Nov 2016, Markus Heiser <[email protected]> wrote:
> Am 02.11.2016 um 17:47 schrieb Mauro Carvalho Chehab <[email protected]>:
>> I'm staring to think that we should just redefine the default for ::
>> to be "none", and use the "C" handling **only** when explicitly
>> requested.
>>
>> I remember that Jon did such suggestion sometime ago.
>
> *shrug* ... I think about kernel-doc comments in the sources,
> mostly you will have small examples and won't those verbose
> ".. code-block::" markup / using "::" keeps the comment compact.

I sent the patch [1] to default to "none". It's never wrong, not even
for code. But getting the highlighting wrong, OTOH, is pretty bad. We
have that.

And really, if you look at the kernel-doc comments and the rst
documentation, we don't have all that many literal blocks that would
benefit from syntax highlighting in the first place.

BR,
Jani.


[1] http://lkml.kernel.org/r/[email protected]

--
Jani Nikula, Intel Open Source Technology Center