TeX Live 4: Bug report/fix and question

Matt Swift swift@alum.mit.edu
Fri, 11 Jun 1999 01:04:07 -0400


Curtis Dean Smith <cds@WorkBean.fl.gvsu.edu> wrote in message
news:m3d7z6y229.fsf@WorkBean.fl.gvsu.edu...

>  The line
>
> T1FONTS = .;$TEXMF/fonts/type1//
>
> should be amended to be
>
> T1FONTS = .;$TEXMF/fonts/type1//;$TEXMF/fonts/hbf//
>
> Once done, no more compiling, installing, fixing...  Just Chinese,
> Japanese, and Korean.

You didn't mention whether you sent this to texlive@tug.org -- that's the
proper place, though Sebastian Rahtz will probably notice it here.
I'm CCing texlive@tug.org in case you haven't.

> Now, for the question:  Is there a simple way to update old TeX Live
> installations, other than just guessing what was installed before?

I imagine there is little that you would want to keep from an old TeX Live
installation.  Relatively few macros and binaries will not have changed.
Font sources, I don't know.  For PK and TFM files, which are the biggest
candidate in my opinion for importing to the new installation if you have
very many of them, use fontimport(1) -- BUT don't use the one on TL4, obtain
the one from the latest teTeX and use it instead.  Its been made more robust
since TL4 was assembled (in particular it knows better how to import some
fonts that were in TL3).  Also you will need to get the fontname/ directory
from teTeX, since it contains the data files that fontimport(1) consults.
Also, I have a note that Thomas Esser fixed a bug in mktexnam regarding
"too lax detection of LH fonts", so you might want to upgrade mktexnam also.
Thomas also cautions that "some fonts just seem to clash by their name (e.g.
the text1 and sauter fonts), so an automatic import cannot be perfect."

My method of upgrading a whole installation is to install the new one into,
say, /usr/local/TeXLive4.  I have all my system paths etc. set to use
/usr/local/TeX/<etc>.  But all the paths in the particular installation
(e.g., texmf.cnf) use /usr/local/TeXLive4.  Then to switch between my old
stable installation in /usr/local/TeXLive3 and the new untested one, I just
change the symbolic link /usr/local/TeX to point to either one.  Once I deem
the new one stable for my purposes, I can just delete the whole old tree.
One has to have some spare disk space to use in the interim period, but this
way you don't have to mess with changing all your system paths, you just
toggle the link.  Some other issues for me when upgrading my base
installation is whether anything in my local tree improperly shadows
something new in the new base installation.  One day I'd like to work up a
convenient method to have the latest teTeX (and possibly LaTeX too) shadow
TeXLive.  This would involve some scripting to keep redundant files to a
minimum, but maybe one day I will try.

>  Is
> there an easy (automated) way to uninstall packages?  I have noticed
> there is a file which keeps track of what's been installed, so I
> wonder whether $ rm -rf /usr/texmf/tex/latex/XXX is a bad idea.

That would be fine in all the cases I can think of (no guarantees...)  But
it would only zap the macro files, possibly leaving texmf/src and texmf/doc
files if you originally installed them.  Safest I think would be:

export myroot=/usr
xargs -i echo rm $myroot/{} <$myroot/texmf/lists/<free |
non-free>/<collection>/<package>

This will give you a list of files in the package <package>.  If they all
look OK to delete, then re-execute the latter command but removing the word
"echo" -- this will delete the whole list you just viewed.

If you package that idea up into a script or alias or better-presented
discussion,  Sebastian might like to include it somewhere.

If you deleted any documentation files, you probably want to regenerate the
master documentation list with texconfig afterward.