perfbook.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -perfbook 0/8] Use rsvg-convert for SVG --> PDF conversion
@ 2024-01-05  9:44 Akira Yokosawa
  2024-01-05  9:47 ` Akira Yokosawa
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: Akira Yokosawa @ 2024-01-05  9:44 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Leonardo Bras, Akira Yokosawa

Hi Paul,

[Cc 0/8 and 8/8 to Leo, Patch 8/8 touches gitlab-ci.yml]

Frequent crashes of Inkscape I encountered in 2023, which was mitigated
in commit f307e19f2be0 ("Prevent inkscape from interacting with desktop
manager"), made me look into alternative SVG --> PDF converters.

It turns out that recent versions of rsvg-convert work reasonably well
for perfbook.  By "recent versions", I mean 2.52.5 and 2.57.x.
rsvg-convert is a light-weight CLI command and is much faster than inkscape.

Sequential SVG --> PDF conversion time I get from
"make cleanfigs-svg; env time make figs":

                elapsed
Inkscape:        21.45s
rsvg-convert:     6.05s

So patches 1/8--4/8 add rules in Makefile for using rsvg-convert if it
is recent enough.

One caveat: There is a SVG cartoon drawn by an ancient version of Inkscape,
for which very recent versions of rsvg-convert produce distorted background
of outlined text.

Patch 5/8 retouches the cartoon and put a SVG compatible with librsvg as
cartoons/r-2023-Memory-barriers.svg.

Patches 6/8 and 7/8 adjust FAQ-BUILD and Dockerfiles accordingly.

Patch 8/8 updates gitlab-ci.yml.  It needs an explicit ACK or Tested-by:
from Leo before applying.

Finally, this series wouldn't affect those of you who don't have
rsvg-convert.


        Thanks, Akira
--
Akira Yokosawa (8):
  Makefile: Add rules to use rsvg-convert for SVG --> PDF conversion
  Makefile: Don't use rsvg-convert < 2.57
  Makefile: Allow rsvg-convert 2.52
  Makefile: Use rsvg-convert anyway if no inkscape is found
  cartoons: Retouch r-2014-Memory-barrier.svg
  FAQ-BUILD: List package for rsvg-convert in package lists
  docker: Add packages for rsvg-convert
  gitlab-ci.yml: Install librsvg instead of inkscape

 FAQ-BUILD.txt                      |   23 +-
 Makefile                           |   48 +-
 cartoons/r-2023-Memory-barrier.svg | 1130 ++++++++++++++++++++++++++++
 cpu/overview.tex                   |    2 +-
 docker/Dockerfile                  |    4 +-
 docker/Dockerfile.fedora           |    7 +-
 utilities/gitlab-ci.yml            |    2 +-
 7 files changed, 1198 insertions(+), 18 deletions(-)
 create mode 100644 cartoons/r-2023-Memory-barrier.svg


base-commit: 1ea46c6d43475fbdf97404dec28a58036d505bc3
-- 
2.34.1



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-01-07 21:17 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-05  9:44 [PATCH -perfbook 0/8] Use rsvg-convert for SVG --> PDF conversion Akira Yokosawa
2024-01-05  9:47 ` Akira Yokosawa
2024-01-05  9:50 ` [PATCH -perfbook 2/8] Makefile: Don't use rsvg-convert < 2.57 Akira Yokosawa
2024-01-05  9:52 ` [PATCH -perfbook 3/8] Makefile: Allow rsvg-convert 2.52 Akira Yokosawa
2024-01-05  9:53 ` [PATCH -perfbook 4/8] Makefile: Use rsvg-convert anyway if no inkscape is found Akira Yokosawa
2024-01-05  9:54 ` [PATCH -perfbook 5/8] cartoons: Retouch r-2014-Memory-barrier.svg Akira Yokosawa
2024-01-05  9:55 ` [PATCH -perfbook 6/8] FAQ-BUILD: List package for rsvg-convert in package lists Akira Yokosawa
2024-01-05  9:57 ` [PATCH -perfbook 7/8] docker: Add packages for rsvg-convert Akira Yokosawa
2024-01-05  9:58 ` [PATCH -perfbook 8/8] gitlab-ci.yml: Install librsvg instead of inkscape Akira Yokosawa
2024-01-05 21:39   ` Leonardo Brás
2024-01-06  1:15     ` Akira Yokosawa
2024-01-06  3:37       ` Leonardo Brás
2024-01-07 21:17         ` Paul E. McKenney
2024-01-05 13:31 ` [PATCH -perfbook 0/8] Use rsvg-convert for SVG --> PDF conversion Paul E. McKenney
2024-01-05 14:51   ` Akira Yokosawa
2024-01-05 15:32     ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).