Re: [PATCH -perfbook] runlatex.sh: Detect fvextra versions with known minor regression

"Paul E. McKenney" <[email protected]> Thu, 16 Oct 2025 09:49:32 -0700
Newsgroups org.kernel.vger.perfbook
Message-ID <0c11a91f-3412-4ce2-96f0-4ee68e17ed82@paulmck-laptop>
On Fri, Oct 17, 2025 at 12:16:12AM +0900, Akira Yokosawa wrote:
> fvextra versions from v1.11.0 to v1.13.2 (latest) have a minor regression
> which ignores fancyvrb's "samepage=true" key.  It is used in perfbook to
> prevent short snippets from broken across columns/pages.  This is a minor
> regression but affects reproducible build of perfbook.
> 
> Add commands at the final phase of runlatex.sh to detect those buggy
> fvextra and emit suggestion of installing unaffected fvextra.
> 
> Unfortunately, distro texlive packages based on upstream TeX Live since
> early March 2025 are all affected by this regression, including debian
> trixie and opensuse/leap 16.0 (Long Term Support); and ubuntu plucky
> and questing (Rolling release); as well as archlinux and
> opensuse/tumbleweed (Rapid release) as of this writing.
> 
> This issue was reported upstream at [1].
> 
> Link: https://github.com/gpoore/fvextra/issues/32 [1]
> Signed-off-by: Akira Yokosawa <[email protected]>

Queuend and pushed, and thank you very much for finding and fixing
this one!

							Thanx, Paul

> ---
>  utilities/runlatex.sh | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/utilities/runlatex.sh b/utilities/runlatex.sh
> index 17d833ad..d5b1844d 100644
> --- a/utilities/runlatex.sh
> +++ b/utilities/runlatex.sh
> @@ -169,6 +169,22 @@ then
>  	echo "### Consider upgrading to Ubuntu 20.04 LTS or later.     ###"
>  	echo "############################################################"
>  fi
> +# fvextra version check (Ubuntu 25.04 and 25.10 have buggy one
> +FVEXTRA_VER=`grep -E -e 'fvextra .* v[0-9\.]+' $basename.log | \
> +		sed -e 's/.* \(v.*\) fv.*/\1/'`
> +#echo $FVEXTRA_VER
> +FVEXTRA_BUGGY_SINCE=v1.11.0
> +FVEXTRA_BUGGY_UNTIL=v1.13.2
> +
> +fvextra_since=`env printf "$FVEXTRA_BUGGY_SINCE\n$FVEXTRA_VER" | sort -V | head -n 1`
> +fvextra_until=`env printf "$FVEXTRA_BUGGY_UNTIL\n$FVEXTRA_VER" | sort -V | tail -n 1`
> +
> +if [ $fvextra_since = $FVEXTRA_BUGGY_SINCE -a $fvextra_until = $FVEXTRA_BUGGY_UNTIL ] ; then
> +	echo "Buggy fvextra $FVEXTRA_VER detected."
> +	echo "It causes undesirable page/column breaks in short code snippets."
> +	echo "Consider installing fvextra < $FVEXTRA_BUGGY_SINCE or > $FVEXTRA_BUGGY_UNTIL."
> +fi
> +
>  # to avoid redundant run of bibtex and pdflatex
>  touch $basename.bbl
>  touch $basename.pdf
> 
> base-commit: f3d75a725a3efbb5ba4822d3f1b835c6ae08c464
> -- 
> 2.43.0
> 
>