texmf.cnf for BLU (2)

Staszek Wawrykiewicz StaW@gust.org.pl
Mon, 13 Mar 2000 06:06:14 +0100 (MET)

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).

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
    (removed $TEXMFBETA for clarity)
# kpsewhich --expand-var \$VARTEXMF
# kpsewhich --expand-var \$TEXMFCNF

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 

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> For TeX Live 5, it might be possible to do this change. One migth even
TE> consider to include $HOMETEXMF.

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:
> {,{/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:

 (Fabrice, would you please follow it?)

 (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.)
 (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