texmf.cnf for BLU (2)
Staszek Wawrykiewicz
StaW@gust.org.pl
Mon, 13 Mar 2000 06:06:14 +0100 (MET)
Fabrice:
FP> TEXMFLOCAL = $SELFAUTOPARENT/texmf_local
FP> ...
FP> FPTEX = c:\Local\TeX
FP> PATH = %FPTEX%\bin\win32;%PATH%
FP> TEXMFCNF = %FPTEX%\texmf_local\web2c
FP> ...
FP> Some other configuration files will be copied to the $TEXMFLOCAL tree:
FP> config.ps, pdftex.cfg, mktex.cnf, psfonts.map (?)
Since we are talking about TeX Live, please have in mind also
running it directly from the CD and both (Unix and Win32) worlds.
1. Please consider using naming scheme for both worlds:
I'd propose rather TeX-local (not texmf_local with underscore), or
texmf.local, or something similar what is already set in TL texmf.cnf
2. If you tell the user: set your VARTEXMF, everything work fine for both
cases: when running from the CD and when installing on the hard disk
(with extra local tree for user configuration). VARTEXMF can be set
to $HOME/texmf (if $HOME is available), or even to $TEXMFLOCAL for
installations on the HD ($SELFAUTOPARENT/... should now work).
You do not need to set $TEXMFCNF in the environement. I've tested
several situations on win32, even e.g.,
a) I have only $PATH set to binaries
b) $VARTEXMF is set to some directory in the main texmf.cnf
c) all changes are made in $VARTEXMF/web2c/texmf.cnf and other files
under $VARTEXMF/ (config.ps etc).
I do not see any important difference when setting $TEXMFCNF in the env.,
quite the same can be setting here $VARTEXMF. Why, please read bellow.
3. Since on Unix/Linux we do not have another util for building the
local tree, texconfig _can_ build such tree automagically _only_
when VARTEXMF is set. That's why suggest considering it so
and important.
4. Let's see the situation: the admin installed TL stuff on the server
and also use local configuration for the group of users (just to remove
and to update the main texmf, as you wrote). using $VARTEXMF still
allow the BLU to have his local tree with configuration files (he can
have his own profile with $VARTEXMF set).
SW>> ... For example, teTeX 1.0.7 texconfig do not make a copy of
SW>> texmf.cnf to the $VARTEXMF (if it was set, and as it was in previous
SW>> versions).
Thomas:
TE> This only makes sense, if you compile kpathsea with $VARTEXMF included
TE> in the search path for texmf.cnf files (before everything else). This is
TE> not the case in standard teTeX, so it is correct not to copy texmf.cnf
TE> into the VARTEXMF tree.
Again, for TL running directly from the CD: the user can set $PATH and
$VARTEXMF, and this is the only way for running texconfig init and have build
the local tree, but by now, we do not have here texmf.cnf
(also empty texmf/pdftex/config/ is made, without pdftex.cnf).
Now, thanks to Thomas, I found another problem for TL5, which I've tested):
# kpsewhich --expand-var \$TEXMF
{/root/texmf,/mnt/cdrom/texmf-local,!!/usr/TeX.local,!!/mnt/cdrom/texmf}
(removed $TEXMFBETA for clarity)
# kpsewhich --expand-var \$VARTEXMF
/usr/TeX.local
# kpsewhich --expand-var \$TEXMFCNF
.:{/mnt/cdrom/bin/i386-linux,/mnt/cdrom/bin,/mnt/cdrom}{,{/share,}/texmf{.local,}/web2c}:c:/TeX/texmf/web2c
So I have needed local tree built, but even I have a copy of texmf.cnf here,
any changes here have no sense. Again, many thanks to Thomas for pointing
that:
TE> For texmf.cnf files, the *compile time* path
TE> is important (I think that we all agree on not to rely on environment
TE> variables).
TE>
TE> For TeX Live 5, it might be possible to do this change. One migth even
TE> consider to include $HOMETEXMF.
Sebastian:
SR> Staszek, since you are on the same system as me, can you describe
SR> exactly how you would ideally like the TeX system a) compiled, and b)
SR> installed?
Uff... I'm only a small tester. I only want to find a good compromise
for the whole stuff, as well as clarity in documenting it.
Well, for the TL5, to conclude:
1. follow Thomas' hint of compiling with $VARTEXMF, or include in temf.cnf
what you suggested:
> TEXMFCNF = .:{$VARTEXMF,$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}\
> {,{/share,}/texmf{.local,}/web2c};c;/TeX/texmf/web2c
(I didn't tested it, but it seems to be OK, but less optimal for win32,
and what Fabrice propose ;-)
2. For TL5 texmf.cnf:
TEXMFMAIN = $SELFAUTOPARENT/texmf
TEXMFLOCAL = $SELFAUTOPARENT/texmf-local
(Fabrice, would you please follow it?)
VARTEXMF = $SELFAUTOPARENT/texmf-var
(can be changed during install, or set by user while running TL
directly from the CD; running texsetup for win32 (can be as TEXMFLOCAL),
set it in env. vars by the user in other cases, e.g., to $HOME/texmf , etc.)
TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN}
(can be left _as is_, please observe removing $BETATEST, there are many
chances that user set $VARTEXMF for $HOMETEXMF, or we can suggest him
to make such set: $VARTEXMF=$HOME/texmf in the documentation -- it will work
for running from the CD, or for installed stuff on the server).
TEMP = /var/tmp
(is it OK on win32, Fabrice?)
----
About pdftex:
SW>> TEXPSHEADERS.pdflatex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}//
SR> point taken. I think its too late now to change pdftex for my TeX Live
SR> release, but Thanh should really change pdftex to look at the `normal'
SR> path for Type1 fonts
OK, we can leave it. I think that for `pdftex engine' it should rather scan
.;$TEXMF/{pdftex,tex,dvips,fonts/type1}// for all variants (see the small
difference ;-), but it can be just one in texmf.cnf. It is not only for
finding Type1 fonts.
TL6 will be also the next year...
Staszek Wawrykiewicz
email: staw@gust.org.pl