On Fri, 5 Jan 2024 05:31:36 -0800, Paul E. McKenney wrote:
> On Fri, Jan 05, 2024 at 06:44:47PM +0900, Akira Yokosawa wrote:
>> 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.
>
> It does seem to deal well with rsvg-convert v2.52.5, so queued.
> Especially given that I was having difficulty with inkscape's conversions
> to PDF for another document. I overcame these (I kid you not!) by
> hand-editing one of perfbook's .svg files.
Hmm...
I remember hand-editing defer/RCUusecases.svg. Let me see ...
Yes, it was commit 25238915b129 ("defer: Retouch SVG files for browser
compatibility (2nd attempt)").
Which perfbook's SVG file did you need to hand-edit?
Thanks, Akira
>
> So thank you very much!
>
> Again, queued, and I will be pushing this out shortly.
>
> Thanx, Paul
>
>> 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
>>
>>
>