Discussions of the Parallel Programming book
 help / color / mirror / Atom feed
* [PATCH -perfbook 0/8] May 2026 updates (1st set)
@ 2026-05-06 11:37 Akira Yokosawa
  2026-05-06 11:38 ` [PATCH -perfbook 1/8] Update rcu-test-ratio for Linux v7.0 Akira Yokosawa
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:37 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Hi Paul,

I guess this is larger than what you have expected.
I didn't expect it, either.  :-/

Patch 1/8 is the usual update.  I see there were some cleanups in
RCU code but would like to defer text updates to you.

Patch 2/8 takes care of a regression in cleveref.  It started affecting
perfbook as early as Debian 13, which I failed to catch ...

There's been quite a few other issues in early testing under
Ubuntu 26.04 and Fedora 44.

Ubuntu 26.04 misses an update of lineno.sty dated in March 2026.
Debian has updated TeX Live packages under testing, and hopefully,
Ubuntu 26.04 will follow suit soon.

One of Fedora 44's issue looks more concerning. Please have a look
at Patch 5/8 changelog.

FAQ-BUILD.txt and files under docker/ want further updates, but I'd like
to see how long those issues in distro packages remain.

Thanks, Akira
--
Akira Yokosawa (8):
  Update rcu-test-ratio for Linux v7.0
  Apply hotfix for cleveref against recent LaTeX2e
  Cope with iconv without ISO~8859-1 support
  precheck-tentative.sh: Detect premature versions of "lineno" and
    "microtype"
  runlatex.sh: Add WARNEXIT variable to make "LaTeX Warning:" in .log
    be ignored
  precheck-tentative.sh: Fail early with suggestions for Fedora 44
  precheck.sh: Add check of missing LaTeX packages for Fedora 44
  FAQ-BUILD: Add needed packages for Fedora 44

 CodeSamples/formal/data/rcu-test.dat |   3 +-
 FAQ-BUILD.txt                        |   2 +
 Makefile                             |   1 +
 fixcleveref.ltx                      |  12 +++
 perfbook-lt.tex                      |   2 +
 utilities/precheck-tentative.sh      | 106 +++++++++++++++++++++++++++
 utilities/precheck.sh                |  40 +++++++++-
 utilities/runfirstlatex.sh           |  15 +++-
 utilities/runlatex.sh                |  27 ++++++-
 9 files changed, 200 insertions(+), 8 deletions(-)
 create mode 100644 fixcleveref.ltx
 create mode 100755 utilities/precheck-tentative.sh


base-commit: 5d4a155828dce1cda2fa1a2769462e9a11838a70
-- 
2.43.0


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

* [PATCH -perfbook 1/8] Update rcu-test-ratio for Linux v7.0
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
@ 2026-05-06 11:38 ` Akira Yokosawa
  2026-05-06 11:40 ` [PATCH -perfbook 2/8] Apply hotfix for cleveref against recent LaTeX2e Akira Yokosawa
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:38 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 CodeSamples/formal/data/rcu-test.dat | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/CodeSamples/formal/data/rcu-test.dat b/CodeSamples/formal/data/rcu-test.dat
index ac235bd0..722a08d6 100644
--- a/CodeSamples/formal/data/rcu-test.dat
+++ b/CodeSamples/formal/data/rcu-test.dat
@@ -106,4 +106,5 @@ v6.12 22834 12313 35147 35.0
 v6.16 22370 12983 35353 36.7
 ""    22437 13261 35698 37.1
 ""    22542 13299 35841 37.1
-v6.19 22884 13848 36732 37.7
+""    22884 13848 36732 37.7
+v7.0  22359 14019 36378 38.5
-- 
2.43.0



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

* [PATCH -perfbook 2/8] Apply hotfix for cleveref against recent LaTeX2e
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
  2026-05-06 11:38 ` [PATCH -perfbook 1/8] Update rcu-test-ratio for Linux v7.0 Akira Yokosawa
@ 2026-05-06 11:40 ` Akira Yokosawa
  2026-05-06 11:41 ` [PATCH -perfbook 3/8] Cope with iconv without ISO~8859-1 support Akira Yokosawa
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:40 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

It turned out that cleveref has been suffering from (yet another)
compatibility issue against LaTeX2e since <2024-11-01> release.

As can be seen in the closing paragraph of Section 1.1 in CI-built
PDFs at:

     https://gitlab.com/linux-kernel/perfbook/-/artifacts

, chapters in Appendix are printed as "Section C" and "Section E",
rather than "Appendix C" and "Appendix E".

Apply a hotfix based on a suggestion from Ulrike Fischer [1].

Link: https://github.com/latex3/latex2e/issues/2049#issuecomment-4302720865 [1]
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 fixcleveref.ltx | 12 ++++++++++++
 perfbook-lt.tex |  2 ++
 2 files changed, 14 insertions(+)
 create mode 100644 fixcleveref.ltx

diff --git a/fixcleveref.ltx b/fixcleveref.ltx
new file mode 100644
index 00000000..76a2b591
--- /dev/null
+++ b/fixcleveref.ltx
@@ -0,0 +1,12 @@
+\makeatletter%
+ \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}%
+\makeatother
+\IfFormatAtLeastTF{2024-11-01}{%
+  \AddToHook{cmd/appendix/before}{%
+    \crefalias{chapter}{appendix}%
+    \crefalias{section}{appendix}%
+    \crefalias{subsection}{appendix}%
+    \crefalias{subsubsection}{appendix}%
+    \crefalias{subsubsubsection}{appendix}%
+  }%
+}{}
diff --git a/perfbook-lt.tex b/perfbook-lt.tex
index 5509d455..4eec9b67 100644
--- a/perfbook-lt.tex
+++ b/perfbook-lt.tex
@@ -594,6 +594,8 @@
   \input{fixfvextra.ltx}
 }{}
 
+\input{fixcleveref.ltx}
+
 \begin{document}
 
 %%HTMLSKIP
-- 
2.43.0



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

* [PATCH -perfbook 3/8] Cope with iconv without ISO~8859-1 support
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
  2026-05-06 11:38 ` [PATCH -perfbook 1/8] Update rcu-test-ratio for Linux v7.0 Akira Yokosawa
  2026-05-06 11:40 ` [PATCH -perfbook 2/8] Apply hotfix for cleveref against recent LaTeX2e Akira Yokosawa
@ 2026-05-06 11:41 ` Akira Yokosawa
  2026-05-06 11:43 ` [PATCH -perfbook 4/8] precheck-tentative.sh: Detect premature versions of "lineno" and "microtype" Akira Yokosawa
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:41 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

It turns out that assuming ISO-8859-1 available in "iconv" was
wrong, for example, under openSUSE/leap 15.6.
Fallback to plain "cat" in case that is not the case.

Fixes: 00361e8bb1e5 ("Convert *.log files into UTF-8 encoding")
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 utilities/runfirstlatex.sh | 9 ++++++++-
 utilities/runlatex.sh      | 9 ++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/utilities/runfirstlatex.sh b/utilities/runfirstlatex.sh
index 676502b2..3fed1b69 100644
--- a/utilities/runfirstlatex.sh
+++ b/utilities/runfirstlatex.sh
@@ -69,6 +69,13 @@ basename=`echo $1 | sed -e 's/\.tex$//'`
 
 : ${LATEX:=pdflatex}
 
+if iconv --list | grep -q -i iso-8859-1
+then
+	ICONV="iconv -f ISO-8859-1 -t UTF-8"
+else
+	ICONV="cat"
+fi
+
 echo "$LATEX 1 for $basename.pdf"
 $LATEX $LATEX_OPT $basename > /dev/null 2>&1 < /dev/null
 exitcode=$?
@@ -78,7 +85,7 @@ then
 	if encguess -s iso-8859-1 $basename.log | grep -q ISO-8859-1
 	then
 		mv $basename.log $basename-tmp.log
-		iconv -f ISO-8859-1 -t UTF-8 $basename-tmp.log > $basename.log
+		$ICONV $basename-tmp.log > $basename.log
 		rm $basename-tmp.log
 	fi
 fi
diff --git a/utilities/runlatex.sh b/utilities/runlatex.sh
index 5346bb3b..e9689a99 100644
--- a/utilities/runlatex.sh
+++ b/utilities/runlatex.sh
@@ -31,6 +31,13 @@
 
 : ${LATEX:=pdflatex}
 
+if iconv --list | grep -q -i iso-8859-1
+then
+	ICONV="iconv -f ISO-8859-1 -t UTF-8"
+else
+	ICONV="cat"
+fi
+
 diff_warning () {
 	if diff -q $basename-warning.log $basename-warning-prev.log >/dev/null
 	then
@@ -90,7 +97,7 @@ iterate_latex () {
 		if encguess -s iso-8859-1 $basename.log | grep -q ISO-8859-1
 		then
 			mv $basename.log $basename-tmp.log
-			iconv -f ISO-8859-1 -t UTF-8 $basename-tmp.log > $basename.log
+			$ICONV $basename-tmp.log > $basename.log
 			rm $basename-tmp.log
 		fi
 	fi
-- 
2.43.0



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

* [PATCH -perfbook 4/8] precheck-tentative.sh: Detect premature versions of "lineno" and "microtype"
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
                   ` (2 preceding siblings ...)
  2026-05-06 11:41 ` [PATCH -perfbook 3/8] Cope with iconv without ISO~8859-1 support Akira Yokosawa
@ 2026-05-06 11:43 ` Akira Yokosawa
  2026-05-06 11:44 ` [PATCH -perfbook 5/8] runlatex.sh: Add WARNEXIT variable to make "LaTeX Warning:" in .log be ignored Akira Yokosawa
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:43 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

LaTeX2e "<2025-06-01> Patch Level 1" and later changed the way
output hooks are applied to column/page breaks.
As a result, loading pre-v5.7 lineno.sty breaks chapter/section
titles printed in the header area of twocolumn builds.
lineno.sty v5.7 has restored compatibility with recent LaTeX2e
releases and v5.9 has fixed its regression of potential infinite
loop [1].

hyperref.sty has made a change in a way it loses compatibility
with microtype.sty <v3.2c [2].

Unfortunately, Ubuntu LTS (26.04) and Fedora 44 were released
with such premature versions at their initial releases.

As a tentative measure, add a script named precheck-tentative.sh,
which detects said premature packages and suggests their upgrades.

Link: https://ctan.org/ctan-ann/id/aa3GMRDWA8OxUAGc@prptp [1]
Link: https://github.com/schlcht/microtype/issues/64 [2]
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 Makefile                        |  1 +
 utilities/precheck-tentative.sh | 66 +++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)
 create mode 100755 utilities/precheck-tentative.sh

diff --git a/Makefile b/Makefile
index a72b4794..b4f34c51 100644
--- a/Makefile
+++ b/Makefile
@@ -297,6 +297,7 @@ endif
 ifeq ($(LATEX_CMD),)
 	$(error LaTeX engine "$(LATEX)" not found.)
 endif
+	LATEX=$(LATEX) sh utilities/precheck-tentative.sh
 	LATEX=$(LATEX) sh utilities/runfirstlatex.sh $(basename $@)
 
 autodate.tex: $(LATEXSOURCES) $(BIBSOURCES) $(LST_SOURCES) \
diff --git a/utilities/precheck-tentative.sh b/utilities/precheck-tentative.sh
new file mode 100755
index 00000000..8b53e02c
--- /dev/null
+++ b/utilities/precheck-tentative.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Check buggy LaTeX packages observed in distro TeX Live as of April 2026.
+#
+# Copyright (C) Akira Yokosawa, 2026
+
+KPSEWHICH=`command -v kpsewhich`
+
+if [ "$KPSEWHICH" != "" ] ; then
+
+#### Is lineno.sty too young for LaTeX2e ?
+# LaTeX2e <2025-06-01> and later needs lineno.sty v5.7 or later.
+# This is a minor incompatibility observed only in twocolumn builds.
+#
+#   Symptom: chapter & section titles in header area are broken.
+
+lineno_sty=`kpsewhich lineno.sty`
+lineno_ver=`grep -F '\def\fileversion' $lineno_sty | \
+	sed -E -e 's/.*\{(v[0-9\.]+)\}.*$/\1/'`
+LINENO_AT_LEAST=v5.7
+linenosince=`env printf "$LINENO_AT_LEAST\n$lineno_ver" | sort -V | head -n 1`
+
+latex_release=`kpsewhich latexrelease.sty`
+latex_ver=`grep -F -A1 -e '\edef\latexreleaseversion' $latex_release | \
+	grep -F '{' | \
+	sed -E -e 's/[ ]+\{([0-9\-]+)\}/<\1>/' -e 's/\//\-/g'`
+
+LATEX_SINCE="<2025-06-01>"
+latexsince=`env printf "$LATEX_SINCE\n$latex_ver" | sort | head -n 1`
+
+if [ "$latexsince" = "$LATEX_SINCE" ] ; then  # older
+    if [ "$linenosince" != "$LINENO_AT_LEAST" ] ; then
+	echo "lineno.sty $lineno_ver is too young for LaTeX2e $latex_ver."
+	echo "Upgrade lineno.sty to at least v5.7."
+        echo "Treat this as a minor issue and continue building nonetheless."
+    fi
+fi
+
+#### Is microtype.sty too young for recent hyperref (>=v7.01p) ?
+
+microtype_sty=`kpsewhich microtype.sty`
+microtype_ver=`grep -F -A2 -e '\ProvidesPackage' $microtype_sty | \
+	grep -F '[' | \
+	sed -E -e 's/[ ]+\[[0-9\/]+ (v[0-9a-z\.]+)/\1/'`
+
+MICROTYPE_AT_LEAST="v3.2c"
+microtypesince=`env printf "$MICROTYPE_AT_LEAST\n$microtype_ver" | sort -V | head -n 1`
+
+hyperref_sty=`kpsewhich hyperref.sty`
+hyperref_ver=`grep -F -A1 -e '\ProvidesPackage{hyperref}' $hyperref_sty | \
+	grep -F '[' | sed -e 's/%//' | \
+	sed -E -e 's/[ ]+\[[0-9\/\-]+ (v[0-9a-z\.]+)[ ]+/\1/'`
+
+HYPERREF_SINCE="v7.01p"
+hyperrefsince=`env printf "$HYPERREF_SINCE\n$hyperref_ver" | sort -V | head -n 1`
+
+if [ "$hyperrefsince" = "$HYPERREF_SINCE" ] ; then  # older
+    if [ "$microtypesince" != "$MICROTYPE_AT_LEAST" ] ; then
+	echo "microtype.sty $microtype_ver is too young for hyperref.sty $hyperref_ver."
+	echo "Upgrade microtype.sty to at least $MICROTYPE_AT_LEAST."
+        echo "Treat this as a minor issue and continue building nonetheless."
+    fi
+fi
+
+fi  #KPSEWHICH
-- 
2.43.0



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

* [PATCH -perfbook 5/8] runlatex.sh: Add WARNEXIT variable to make "LaTeX Warning:" in .log be ignored
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
                   ` (3 preceding siblings ...)
  2026-05-06 11:43 ` [PATCH -perfbook 4/8] precheck-tentative.sh: Detect premature versions of "lineno" and "microtype" Akira Yokosawa
@ 2026-05-06 11:44 ` Akira Yokosawa
  2026-05-06 11:45 ` [PATCH -perfbook 6/8] precheck-tentative.sh: Fail early with suggestions for Fedora 44 Akira Yokosawa
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:44 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

In testing Fedora 44's TeX Live packages, a warning in .log files
caused build failures with this message:

    LaTeX Warning: You have requested release `2026/06/01' of LaTeX,
                   but only release `2025-11-01' is available.

    Package: array 2026/01/25 v2.7a Tabular extension package (FMi)
    \col@sep=\dimen149
    ### Incompatible package(s) detected. See perfbook.log for details. ###

The root cause of this is mismatching LaTeXe2 and array.sty versions
contained in Fedora 44's texlive-base and texlive-tools packages.

This was reported at Fedora bugzilla [1], without getting much
attention of its maintainer.

As a tentative measure, add a fall-through mode in runlatex.sh which
can be enabled by saying:

    make WARNEXIT=0

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2447682 [1]
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 utilities/runfirstlatex.sh |  6 +++++-
 utilities/runlatex.sh      | 18 +++++++++++++++---
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/utilities/runfirstlatex.sh b/utilities/runfirstlatex.sh
index 3fed1b69..269a3b62 100644
--- a/utilities/runfirstlatex.sh
+++ b/utilities/runfirstlatex.sh
@@ -68,6 +68,7 @@ fi
 basename=`echo $1 | sed -e 's/\.tex$//'`
 
 : ${LATEX:=pdflatex}
+: ${WARNEXIT:=1}
 
 if iconv --list | grep -q -i iso-8859-1
 then
@@ -94,7 +95,10 @@ then
 	grep -A 4 'LaTeX Warning: You have requested' $basename.log
 	echo "### Incompatible package(s) detected. See $basename.log for details. ###"
 	echo "### See items 9 and 10 in FAQ-BUILD.txt for how to update.          ###"
-	exit 1
+	if [ $WARNEXIT -eq 0 ] ; then
+		touch $basename-first.log
+	fi
+	exit $WARNEXIT
 fi
 if grep -q 'LaTeX Error:' $basename.log
 then
diff --git a/utilities/runlatex.sh b/utilities/runlatex.sh
index e9689a99..50aec2f9 100644
--- a/utilities/runlatex.sh
+++ b/utilities/runlatex.sh
@@ -30,6 +30,9 @@
 #          Akira Yokosawa <akiyks@gmail.com>
 
 : ${LATEX:=pdflatex}
+: ${WARNEXIT:=1}
+
+WARN_REMAIN=0
 
 if iconv --list | grep -q -i iso-8859-1
 then
@@ -68,7 +71,10 @@ excerpt_warnings () {
 		echo "----- You can see $basename-warning.log for the warnings above. -----"
 		echo "----- If you need to, see $basename.log for details. -----"
 		rm -f $basename-warning-prev.log
-		exit 1
+		WARN_REMAIN=1
+		if [ $WARNEXIT -ne 0 ] ; then
+			exit $WARNEXIT
+		fi
 	fi
 }
 
@@ -169,8 +175,14 @@ do
 	iterate_latex
 done
 excerpt_warnings
-rm -f $basename-warning.log $basename-warning-prev.log
-echo "'$basename.pdf' is ready."
+if [ $WARNEXIT -ne 0 ] ; then
+	rm -f $basename-warning.log $basename-warning-prev.log
+fi
+if [ $WARN_REMAIN -eq 0 ] ; then
+	echo "'$basename.pdf' is ready."
+else
+	echo "'$basename.pdf' is ready, with above warning(s) ignored."
+fi
 # cleveref version check (Ubuntu 18.04 LTS has buggy one
 if grep -q -F "packageversion{0.21.1}" `kpsewhich cleveref.sty`
 then
-- 
2.43.0



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

* [PATCH -perfbook 6/8] precheck-tentative.sh: Fail early with suggestions for Fedora 44
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
                   ` (4 preceding siblings ...)
  2026-05-06 11:44 ` [PATCH -perfbook 5/8] runlatex.sh: Add WARNEXIT variable to make "LaTeX Warning:" in .log be ignored Akira Yokosawa
@ 2026-05-06 11:45 ` Akira Yokosawa
  2026-05-06 11:46 ` [PATCH -perfbook 7/8] precheck.sh: Add check of missing LaTeX packages " Akira Yokosawa
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:45 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Here is an example of aborting message you will see under Fedora 44 from
simple "make":

    #### array.sty requires a later release of LaTeX2e.     ####
    #### arary.sty requires LaTeX2e <2026-06-01>,           ####
    #### while your LaTeX2e is <2025-11-01>.                ####
    #### Check your TeX Live installation.  (Known issue under Fedora 44).
    #### 1st option is to downgrade array.sty to v2.6n.
    #### 2nd option is to install texlive-latex-base-dev and
    ####     say 'make LATEX=pdflatex-dev'.
    #### As a last resort, 'make WARNEXIT=0' would ignore such 'LaTeX Warning:'
    ####     messages and complete iteration of latex runs (if you are lucky).
    make: *** [Makefile:300: perfbook.aux] Error 1

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 utilities/precheck-tentative.sh | 40 +++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/utilities/precheck-tentative.sh b/utilities/precheck-tentative.sh
index 8b53e02c..96d2fe2f 100755
--- a/utilities/precheck-tentative.sh
+++ b/utilities/precheck-tentative.sh
@@ -5,6 +5,8 @@
 #
 # Copyright (C) Akira Yokosawa, 2026
 
+: ${WARNEXIT:=1}
+
 KPSEWHICH=`command -v kpsewhich`
 
 if [ "$KPSEWHICH" != "" ] ; then
@@ -63,4 +65,42 @@ if [ "$hyperrefsince" = "$HYPERREF_SINCE" ] ; then  # older
     fi
 fi
 
+#### Tentative check of packaging inconsistency in Fedora 44 #############
+# latex-base vs array (provided in texlive-tools)
+
+latex_release_dev=`kpsewhich latex-dev/base/latexrelease.sty`
+
+if [ "$latex_release_dev" != "" ] ; then
+	latex_dev_ver=`grep -F -A1 -e '\edef\latexreleaseversion' $latex_release_dev | \
+	grep -F '{' | \
+	sed -E -e 's/[ ]+\{([0-9\-]+)\}/<\1>/' -e 's/\//\-/g'`
+fi
+
+array_sty=`kpsewhich array.sty`
+array_req_ver=`grep -F -e '\NeedsTeXFormat{LaTeX2e}' $array_sty | \
+	tail -n 1 | \
+	sed -e 's/\\\\NeedsTeXFormat{LaTeX2e}//' | \
+	sed -E -e 's/\[/</' -e 's/\]/>/' -e 's/\//\-/g'`
+
+if [ "$LATEX" != "pdflatex-dev" ] ; then
+    if [ "$array_req_ver" \> "$latex_ver" -a "$WARNEXIT" = "1" ] ; then
+	echo "#### array.sty requires a later release of LaTeX2e.     ####"
+	echo "#### arary.sty requires LaTeX2e $array_req_ver,           ####"
+	echo "#### while your LaTeX2e is $latex_ver.                ####"
+	echo "#### Check your TeX Live installation.  (Known issue under Fedora 44.)"
+	echo "#### 1st option is to downgrade array.sty to v2.6n."
+	echo "#### 2nd option is to install texlive-latex-base-dev and"
+	echo "####     say 'make LATEX=pdflatex-dev'."
+	echo "#### As a last resort, 'make WARNEXIT=0' would ignore such 'LaTeX Warning:'"
+	echo "####     messages and complete iteration of latex runs (if you are lucky)."
+	exit 1
+    fi
+else
+    if [ "$latex_dev_ver" = "" ] ; then
+	echo "#### LaTeX2e (-dev) is not found!                       ####"
+	echo "#### You need to install texlive-latex-base-dev.        ####"
+	exit 1
+    fi
+fi
+
 fi  #KPSEWHICH
-- 
2.43.0



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

* [PATCH -perfbook 7/8] precheck.sh: Add check of missing LaTeX packages for Fedora 44
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
                   ` (5 preceding siblings ...)
  2026-05-06 11:45 ` [PATCH -perfbook 6/8] precheck-tentative.sh: Fail early with suggestions for Fedora 44 Akira Yokosawa
@ 2026-05-06 11:46 ` Akira Yokosawa
  2026-05-06 11:47 ` [PATCH -perfbook 8/8] FAQ-BUILD: Add needed " Akira Yokosawa
  2026-05-06 18:42 ` [PATCH -perfbook 0/8] May 2026 updates (1st set) Paul E. McKenney
  8 siblings, 0 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:46 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Due to changes in dependency of Fedora TeX Live packages, existing
list of packages in FAQ-BUILD.txt can fail to install some of
required LaTeX packages for perfbook.

Add checks for their existence in precheck.sh.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 utilities/precheck.sh | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)

diff --git a/utilities/precheck.sh b/utilities/precheck.sh
index d98bb0de..cce766e5 100755
--- a/utilities/precheck.sh
+++ b/utilities/precheck.sh
@@ -46,6 +46,28 @@ else
 	fatal="date-format $fatal"
 fi
 
+# test availability of ptmro7t.tfm and pst-tools.sty
+# (to cope with Fedora 44's change in package dependencies)
+
+KPSEWHICH=`$WHICH kpsewhich`
+
+if [ "$KPSEWHICH" != "" ] ; then
+	ptmro7t_tfm=`$KPSEWHICH ptmro7t.tfm`
+	pst_tools_sty=`$KPSEWHICH pst-tools.sty`
+	if [ "$ptmro7t_tfm" = "" ] ; then
+		ptmro7t_result="NG"
+		fatal="ptmro7t.tfm $fatal"
+	else
+		ptmro7t_result="OK"
+	fi
+	if [ "$pst_tools_sty" = "" ] ; then
+		pst_tools_result="NG"
+		fatal="pst-tools.sty $fatal"
+	else
+		pst_tools_result="OK"
+	fi
+fi	
+
 if [ "$fatal" = "" -a "$VERBOSE" = "" ] ; then
 	exit 0
 fi
@@ -84,8 +106,24 @@ if [ "$date_result" != "OK" -o "$VERBOSE" != "" ] ; then
 		fi
 	fi
 fi
-
+if [ "$ptmro7t_result" != "OK" ] ; then
+	echo
+	echo "------------------------------------------"
+	echo " testing ptmro7t.tfm                      "
+	echo "------------------------------------------"
+	echo "ptmro7t.tfm ...  Not found!"
+	echo "Please install texlive-collection-fontsrecommended."
+fi
+if [ "$pst_tools_result" != "OK" ] ; then
+	echo
+	echo "------------------------------------------"
+	echo " testing pst-tools.sty                    "
+	echo "------------------------------------------"
+	echo "pst-tools.sty ...  Not found!"
+	echo "Please install texlive-collection-pstricks."
+fi
 if [ "$fatal" != "" ] ; then
+	echo
 	echo "See #14 in FAQ-BUILD.txt for further info."
 	echo "fatal: $fatal"
 	exit 1
-- 
2.43.0



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

* [PATCH -perfbook 8/8] FAQ-BUILD: Add needed packages for Fedora 44
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
                   ` (6 preceding siblings ...)
  2026-05-06 11:46 ` [PATCH -perfbook 7/8] precheck.sh: Add check of missing LaTeX packages " Akira Yokosawa
@ 2026-05-06 11:47 ` Akira Yokosawa
  2026-05-06 18:42 ` [PATCH -perfbook 0/8] May 2026 updates (1st set) Paul E. McKenney
  8 siblings, 0 replies; 10+ messages in thread
From: Akira Yokosawa @ 2026-05-06 11:47 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Under Fedora 44, a couple of essential packages for perfbook are
missing after installing distro packages for Fedora listed in #5.
Looks like there were some changes in dependency of TeX Live
packages.

Missing packages belong to texlive-collection-fontsrecommended
and texlive-collection-pstricks.

Add them in the Fedora list.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
 FAQ-BUILD.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/FAQ-BUILD.txt b/FAQ-BUILD.txt
index 036f1063..6845db14 100644
--- a/FAQ-BUILD.txt
+++ b/FAQ-BUILD.txt
@@ -53,8 +53,10 @@
 			texlive-collection-plaingeneric
 			texlive-collection-binextra
 			texlive-collection-latexextra
+			texlive-collection-fontsrecommended
 			texlive-collection-fontsextra
 			texlive-collection-fontutils
+			texlive-collection-pstricks
 			transfig graphviz librsvg2-tools gnuplot
 
 		On other Linux distributions such as RHEL/CentOS and
-- 
2.43.0



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

* Re: [PATCH -perfbook 0/8] May 2026 updates (1st set)
  2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
                   ` (7 preceding siblings ...)
  2026-05-06 11:47 ` [PATCH -perfbook 8/8] FAQ-BUILD: Add needed " Akira Yokosawa
@ 2026-05-06 18:42 ` Paul E. McKenney
  8 siblings, 0 replies; 10+ messages in thread
From: Paul E. McKenney @ 2026-05-06 18:42 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

On Wed, May 06, 2026 at 08:37:11PM +0900, Akira Yokosawa wrote:
> Hi Paul,
> 
> I guess this is larger than what you have expected.
> I didn't expect it, either.  :-/

Sometimes you have to expect the unexpected!  ;-)

Kidding aside, thank you for finding and fixing all of these issues!

> Patch 1/8 is the usual update.  I see there were some cleanups in
> RCU code but would like to defer text updates to you.

And please see below for that text update.

							Thanx, Paul

> Patch 2/8 takes care of a regression in cleveref.  It started affecting
> perfbook as early as Debian 13, which I failed to catch ...
> 
> There's been quite a few other issues in early testing under
> Ubuntu 26.04 and Fedora 44.
> 
> Ubuntu 26.04 misses an update of lineno.sty dated in March 2026.
> Debian has updated TeX Live packages under testing, and hopefully,
> Ubuntu 26.04 will follow suit soon.
> 
> One of Fedora 44's issue looks more concerning. Please have a look
> at Patch 5/8 changelog.
> 
> FAQ-BUILD.txt and files under docker/ want further updates, but I'd like
> to see how long those issues in distro packages remain.
> 
> Thanks, Akira
> --
> Akira Yokosawa (8):
>   Update rcu-test-ratio for Linux v7.0
>   Apply hotfix for cleveref against recent LaTeX2e
>   Cope with iconv without ISO~8859-1 support
>   precheck-tentative.sh: Detect premature versions of "lineno" and
>     "microtype"
>   runlatex.sh: Add WARNEXIT variable to make "LaTeX Warning:" in .log
>     be ignored
>   precheck-tentative.sh: Fail early with suggestions for Fedora 44
>   precheck.sh: Add check of missing LaTeX packages for Fedora 44
>   FAQ-BUILD: Add needed packages for Fedora 44
> 
>  CodeSamples/formal/data/rcu-test.dat |   3 +-
>  FAQ-BUILD.txt                        |   2 +
>  Makefile                             |   1 +
>  fixcleveref.ltx                      |  12 +++
>  perfbook-lt.tex                      |   2 +
>  utilities/precheck-tentative.sh      | 106 +++++++++++++++++++++++++++
>  utilities/precheck.sh                |  40 +++++++++-
>  utilities/runfirstlatex.sh           |  15 +++-
>  utilities/runlatex.sh                |  27 ++++++-
>  9 files changed, 200 insertions(+), 8 deletions(-)
>  create mode 100644 fixcleveref.ltx
>  create mode 100755 utilities/precheck-tentative.sh
> 
> 
> base-commit: 5d4a155828dce1cda2fa1a2769462e9a11838a70
> -- 
> 2.43.0


commit 82dd3ab1629a9e93ea60eb5623a44705d485d3ce
Author: Paul E. McKenney <paulmck@kernel.org>
Date:   Wed May 6 11:38:07 2026 -0700

    formal/formal.tex: Update for Linux kernel v7.0
    
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>

diff --git a/formal/formal.tex b/formal/formal.tex
index 5d43569d..5ea1f0e4 100644
--- a/formal/formal.tex
+++ b/formal/formal.tex
@@ -379,6 +379,8 @@ Linux kernel v6.14 moved \co{kvfree_rcu()} into SLAB (in
 \path{mm/slab_common.c})~\cite{20241212180208.274813-1-urezki}.
 Linux kernel v6.19 added a few SRCU flavors and also added a number of
 primitives to the \co{refscale} test suite.
+Linux kernel v7.0 removed RCU Tasks Trace, implementing its API in terms
+of the new SRCU-fast RCU flavor.
 Numerous other changes may be found in the Linux kernel's \co{git} archives.
 % rcutorture
 % v2.6.15: First torture test

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

end of thread, other threads:[~2026-05-06 18:42 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-06 11:37 [PATCH -perfbook 0/8] May 2026 updates (1st set) Akira Yokosawa
2026-05-06 11:38 ` [PATCH -perfbook 1/8] Update rcu-test-ratio for Linux v7.0 Akira Yokosawa
2026-05-06 11:40 ` [PATCH -perfbook 2/8] Apply hotfix for cleveref against recent LaTeX2e Akira Yokosawa
2026-05-06 11:41 ` [PATCH -perfbook 3/8] Cope with iconv without ISO~8859-1 support Akira Yokosawa
2026-05-06 11:43 ` [PATCH -perfbook 4/8] precheck-tentative.sh: Detect premature versions of "lineno" and "microtype" Akira Yokosawa
2026-05-06 11:44 ` [PATCH -perfbook 5/8] runlatex.sh: Add WARNEXIT variable to make "LaTeX Warning:" in .log be ignored Akira Yokosawa
2026-05-06 11:45 ` [PATCH -perfbook 6/8] precheck-tentative.sh: Fail early with suggestions for Fedora 44 Akira Yokosawa
2026-05-06 11:46 ` [PATCH -perfbook 7/8] precheck.sh: Add check of missing LaTeX packages " Akira Yokosawa
2026-05-06 11:47 ` [PATCH -perfbook 8/8] FAQ-BUILD: Add needed " Akira Yokosawa
2026-05-06 18:42 ` [PATCH -perfbook 0/8] May 2026 updates (1st set) 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