Problem changing TEXMFHOME setting

Norbert Preining norbert at
Tue Oct 17 03:00:18 CEST 2023

Hi Dan,

On Mon, 16 Oct 2023, TeX Live Mailing List wrote:
> > Something is messed up in the way Arch does TeX Live packaging.
> >
> My TeXLive distribution is made up of OS packages installed via the package manager. I have not added, removed or modified anything of the latex distribution.

Often distributions don't package TeX Live in the proper way, not your
fault, but it can happen. It seems it is in this case.

> In my system, the file containing the definitions of the variables such as TEXMFHOME, TEXMFDIST and the like is "/usr/share/texlive/texmf-dist/web2c/texmf.cnf"; the equivalent of your "~/tl/2023/texmf.cnf".

No, incorrect.

The file with a LOT of definitions that you mention is in "my"
The second one
is only here to *override* the default settings. I showed you the *complete*
content of my file there. It only overrides TEXMFLOCAL

> The root of the distribution is "/usr/share/texlive" (TEXMFROOT), while latex contents are in "/usr/share/texlive/texmf-dist" (TEXMFDIST).

So the file that relates to my tl/2023/texmf.cnf is in your case

> Yes, indeed, it writes to the file "texmf.cnf" in the root of the texlive distribution. In my case, it is not writable (/usr/share/texlive/texmf-dist/texmf.cnf), so I must call the program with superuser privileges: either with "doas" or "sudo". This is how I do it

Why does it write to

What does kpsewhich -var-value TEXMFROOT say?

>     $ doas tlmgr conf texmf TEXMFHOME '~/texmf/texmf-custom'
> This is the output in the terminal
>     (running on Debian, switching to user mode!)

Huuuuu?? You said you are running Arch???

Did Arch steal my Debian patch and abused it :rofl:

>     (see /usr/share/doc/texlive-base/
>     tlmgr: setting texmf TEXMFHOME to ~/texmf/texmf-custom (in /usr/share/texlive/texmf.cnf)

That is not good, considerably messed up.

I guess I have to look into the Arch packaging at some point :-(((

> The variable is actually written to the file "/usr/share/texlive/texmf.cnf"
>     $ cat /usr/share/texlive/texmf.cnf
>     TEXMFHOME = ~/texmf/texmf-custom
> Despite this, the actual value of the variable does not change
>     $ kpsewhich -var-value=TEXMFHOME
>     /home/my-user/texmf

Probably because that directory is not searched, what does

	kpsewhich -a texmf.cnf

say? These are the files that are found and used.



PREINING Norbert                    
Mercari Inc.     +     IFMGA Guide     +     TU Wien     +     TeX Live
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13

More information about the tex-live mailing list.