#1142467 Please mention that it's fmtutil running when "Building format(s) --all"

Package:
tex-common
Source:
tex-common
Submitter:
Johannes Schauer Marin Rodrigues
Date:
2026-10-13 20:55:21 UTC
Severity:
normal
#1142467#5
Date:
2026-07-20 09:28:37 UTC
From:
To:
Hi,

I just installed texlive-full and at the end when triggers were being
processed I was waiting 24 minutes at this step:

Processing triggers for tex-common (6.20)…
Running updmap-sys. This may take some time... done.
Running mktexlsr /var/lib/texmf ... done.
Building format(s) --all.
	This may take some time...

It says what is being done for updmap-sys and mktexlsr but those are done
relatively quickly. For a command which takes nearly half an hour, I would've
liked to be able to read what exactly is taking such a long time. I then read
the postinst maintainer script to find out but I think I shouldn't have to. I
think if the user is waiting for something to be done for that long, they
should also get a bit more information about what is happening.

Maybe the "Building format" step can print the command that is being run in the
same way as it is already done for updmap-sys and mktexlsr?

Thanks!

cheers, josch

#1142467#10
Date:
2026-07-20 21:06:16 UTC
From:
To:
Am 20.07.2026 um 11:28 schrieb Johannes Schauer Marin Rodrigues:

Hello,

Well, fmtutil-sys can run longer in larger installations. Does it really
help you, if it tells, which command takes that long?

Here is a suggestion:

https://github.com/debian-tex/tex-common/commit/57807f4b8cbfefef47835784599daaea29c949a4

Hilmar

#1142467#13
Date:
2026-07-20 22:40:42 UTC
From:
To:
Hi,

Quoting Preuße, Hilmar (2026-07-20 23:06:16)

thank you!

You are an expert of this package so of course you know what is happening. I'm
not and when I'm faced with an installation step that takes more than 20
minutes then yes, I'd like to know what's going on, what is taking so long and
if maybe something is broken. Knowing which command is actually being run tells
me that it's one command that takes a long time and not a thousand executions
which each are short but are being repeated and it allows me to open up the man
page to figure out what that tool does to verify that yes, it makes sense that
running that command really does takes that long.

Thanks!

cheers, josch

#1142467#18
Date:
2026-07-21 02:52:30 UTC
From:
To:
20min ... that is even for old machines **very** long.
Do you have some "specific" setup like NFS mounts where TeX files
resides?

Best

Norbert

#1142467#23
Date:
2026-07-21 06:26:14 UTC
From:
To:
Am 21.07.2026 um 04:52 schrieb Norbert Preining:

Hilmar

Eventually you can run "find /var/lib/texmf/web2c/ -type f -name \*log
|xargs ls -lt" to figure if there are specific TeX calls, which take a
long time.

H.

#1142467#26
Date:
2026-07-21 06:36:02 UTC
From:
To:
Hi,

Quoting Norbert Preining (2026-07-21 04:52:30)

indeed more accurate number is 25 minutes and 16 seconds (I compared
timestamps). The machine is the MNT Reform open hardware laptop with a Banana
Pi CM4 A311D. So yes, the CPU is slow. It has six cores but it seems like only
one of them was used for the whole operation. On top of that, the system was
running from an SD-card so the I/O is very slow as well (20 MB/s R/W but I
think the operation is CPU bound).  And on top of that this was a fresh
installation of texlive-all, so nearly 10 GB of packages got installed all in a
single "apt install".

Thanks!

cheers, josch

#1142467#31
Date:
2026-07-21 07:12:01 UTC
From:
To:
Hmm, ok. I think not only TeX Live installation might be slow ...

Best

Norbert

#1142467#36
Date:
2026-07-21 09:18:33 UTC
From:
To:
Am 21.07.2026 um 08:36 schrieb Johannes Schauer Marin Rodrigues:
 >> On Tue, 21 Jul 2026, Johannes Schauer Marin Rodrigues wrote:

Hello,
So, I guess it is serial execution. On my Raspberry Pi5 (with
texlive-full installed in a chroot) the "fmtutil-sys --all" run takes 5
minutes,

Hilmar

#1142467#41
Date:
2026-10-11 17:20:36 UTC
From:
To:
On 7/21/26 12:40 AM, Johannes Schauer Marin Rodrigues wrote:

Hello Josch,

As found out, the execution time of your "fmtutil-sys --all" call is
quite long.

I do not really know, how to proceed here. I've changed the postinst
script to tell, what command is called. I could elaborate a little, what
this exactly means, currently is displayed:

Running mktexlsr /var/lib/texmf ... done.
Building format(s) (by calling "fmtutil-sys --all").
This script calls iniTeX for all or added format files. This may take
some time...

fmtutil itself does no provide a progress bar nor does it display each
iniTeX call one by one. And not, I'm not really willing to implement that.

Let me know your thoughts.

Hilmar

#1142467#46
Date:
2026-10-11 17:30:25 UTC
From:
To:
Hi

Yes, these runs are necessary, or you end up with outdated (in the best
case) or broken (in the normal case) latex/pdflatex/xelatex/lualatex/...

I think that is enough. It is all you can say at this point in time.

I have implemented parallel execution of fmtutil calls recently, so if
you make a new checkout, you can call
	fmtutil-sys --parallel=auto --all
which runs with # of CPU/cores, but max 8, in parallel.

Experiments have shown a drastic drop in run time.

Well, that is not true. We^WYou (I am not Debian anymore) capture the
output and only show it when fmtutil builds fail. And there the command
line is shown
	$ fmtutil-sys --all
	...
	fmtutil: running `aleph -ini   -jobname=aleph -progname=aleph *aleph.ini' ...
	...

Best regards

Norbert

#1142467#51
Date:
2026-10-11 18:09:23 UTC
From:
To:
On 10/11/26 7:30 PM, Norbert Preining wrote:
 > On Sun, 11 Oct 2026, Hilmar Preuße wrote:

Hi,

Thanks for heads up. I checked "svn log
./texk/texlive/linked_scripts/texlive/fmtutil.pl" in the TL SVN trunk,
but didn't find anything. What did I miss?

Of course you are right. We redirect that to a log file, which IMHO does
make more sense. We could use some tee(1) and just display "running
`aleph -ini.." calls, but if the execution time drops by parallel
processing, probably nobody will ask any more.

Hilmar

#1142467#56
Date:
2026-10-11 18:17:18 UTC
From:
To:
Look into texmf-dist/scripts/texlive/fmtutil.pl this is the authorize source.

LG

Norbert

#1142467#61
Date:
2026-10-11 21:39:08 UTC
From:
To:
On 10/11/26 8:17 PM, Norbert Preining wrote:

Hello Norbert,

(arm64-sid)root@rasppi3:~# time fmtutil --sys --strict
--no-error-if-no-engine=luajittex,mfluajit,luajithbtex --all
real	4m47.426s
user	4m45.537s
sys	0m1.843s

(arm64-sid)root@rasppi3:~# time fmtutil.pl --sys --strict
--no-error-if-no-engine=luajittex,mfluajit,luajithbtex --parallel --all
real	1m21.349s
user	4m52.993s
sys	0m2.204s

Impressive! This is the fmtutil.pl dated 2026-10-08, which is not yet in
the archive. I'll change tex-common to call fmtutil with option
--parallel after next upload of texlive-base.

Good, to speak about this topic! Many thanks!

Hilmar

#1142467#66
Date:
2026-10-11 22:17:04 UTC
From:
To:
Hi Hilmar,

No need, the default will be switched tomorrow to enable --prefetch=auto
for tlmgr/install-tl (not relevant for Debian), and --parallel=auto for
fmtutil (relevant).

You should get the "upgrade" for free ;-)

Best regards

Norbert

#1142467#71
Date:
2026-10-13 20:35:42 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
tex-common, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1142467@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Hilmar Preuße <hille42@debian.org> (supplier of updated tex-common package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 13 Oct 2026 22:16:36 +0200
Source: tex-common
Architecture: source
Version: 6.21
Distribution: unstable
Urgency: medium
Maintainer: Debian TeX Task Force <debian-tex-maint@lists.debian.org>
Changed-By: Hilmar Preuße <hille42@debian.org>
Closes: 1127099 1142467
Changes:
 tex-common (6.21) unstable; urgency=medium
 .
   * Hand over creating and deletion of /usr/local/share/texmf to dh_usrlocal
     (Closes: #1127099).
   * Inform better, what is done during postinst call (Closes: #1142467).
 .
   * We are back on salsa.
   * Add debian/gitlab-ci.yml.
   * Install files a little more Debianish.
   * Lintian clean up.
Checksums-Sha1:
 777518e71f9315ff919f360f73d3463758adfb49 1222 tex-common_6.21.dsc
 6cd761daa283a655628900ce7b8c4ff273148aed 42364 tex-common_6.21.tar.xz
 e446a69a2bdbbf266548517b4517098f75f671a9 5076 tex-common_6.21_source.buildinfo
Checksums-Sha256:
 a7b72b57a02ff7231376de89aa12820834edc0daafa9ab1b9a33dd01af94217c 1222 tex-common_6.21.dsc
 08f24be2a32094d350153b7d9b2469f8898b31ad470f8df3c201461ce243e620 42364 tex-common_6.21.tar.xz
 433c01bb4c698b7d394d182cc3114dfe0167b3e282461add89f05f39e8992b3c 5076 tex-common_6.21_source.buildinfo
Files:
 a2f37f7703738f752601588f48370531 1222 tex optional tex-common_6.21.dsc
 d46359bab7dfc4a7ba5d0d304ed24463 42364 tex optional tex-common_6.21.tar.xz
 abc3d5afbd4d781437f5127efd5ae1a3 5076 tex optional tex-common_6.21_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iNUEARYKAH0WIQRKnq6Z0VRDf4bMmAn98EQ6ARgcNAUCas6R2V8UgAAAAAAuAChp
c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0NEE5
RUFFOTlEMTU0NDM3Rjg2Q0M5ODA5RkRGMDQ0M0EwMTE4MUMzNAAKCRD98EQ6ARgc
NIaWAQC8Ct7Fa4HElU7Tyn7yymb0nCkl6Y3AMTu5E6xsxJ7ctgD/eMSqxkAtDo8K
j4C5+F3hS2YEX43ZFwbZXiYD8NBEcg8=
=Nclt
-----END PGP SIGNATURE-----