Problems with TeXLive 4 and suggestions for TeXLive 5

Matthew Swift swift@alum.mit.edu
Wed, 26 May 1999 16:47:28 -0400


-*- mode: outline; -*-

Problems with TeXLive 4 and suggestions for TeXLive 5.

* Abbreviations

  TL = TeXLive
  TC = TeX Catalogue


* INSTALLATION AND DOCUMENTATION

**  convenience features

***   optionally display the TL-packages and files belonging to a TL-collection+level
   
When choosing the level for a collection (e.g., None, Basic,
Recommended, or All, for bibtex), I'd like to be able to view on the
terminal exactly which TL-packages are at each level.  Same with the
actual files in each TL-package. Nothing fancy, just:

	    $PAGER $CD/texmf/lists/$package$level
	    $PAGER $CD/texmf/lists/$package$level/*

Also I think this information might be in the TL documentation -- the
master alphabetical list is useful for finding a particular package,
but not for finding the contents of a particular collection+level.

***   provide more information in the TL-package catalog

In both the master alphabetical list of TL-packages and, if the
previous suggestion is taken, the lists by collection+level, I suggest
that each package entry include:

   the version number on TL4;

   a link to the corresponding TC entry out on a CTAN node.  Reason:
   the TC has fuller descriptions of packages, links for further
   information, and tells the user whether there is a more up-to-date
   version than on TL4 (if previous suggestion is taken).

***   include entries for LaTeX-packages with TL-packages

Some TL-packages contain multiple LaTeX-packages.  I suggest listing
the individual packages also, since a user is most likely to be
looking for the latter, e.g., "typehtml" or "abbrevs" rather than
"carlisle" or "frankenstein".  This suggestion may be appropriate for
TL-collections besides latex (bibtex?).

***   allow install of selected packages within collection+leve

This option would pretty much require all the suggestions I've given
above.

Most collections besides latex3 and fonts3 have a small number of
packages, and a TeXpert will recognize most of them, so while the
system of levels is great for normal users, it's a bit slower for the
TeXpert to get an installation without a lot of fat in it.

During my installation, I went through each collection+level (using
Emacs).  If I wanted to install the majority of packages in a
collection+level, I would select this level in the CD-install program
running in another window.  If I wanted some packages but not the
majority, I wrote them down for later installation as an individual
package.  The latter case would be handled more easily (for the user)
from the install program itself.

***   here's a way to implement almost all of the above suggestions

It seems to me several of the above suggestions could be handled in a
straightforward manner if the user is presented with a menu like this
for each collection:

    Collection: General documentation
    ==============================================================================
    General documentation for TeX_related software
    ==============================================================================
      <N>  No packages  <B>  Basic packages                 [  4812 kB]
      <E>  Basic + Recommended packages   [ 24943 kB]
      <A>  All packages                   [ 45207 kB]
      <L>  List packages for individual selection
    ==============================================================================
      <R>   return to collection menu
      <Q>   quit

    Enter command: 

On selecting "L", the user would be presented with a menu like this
(where <n> is a unique number, a menu choice; something perhaps tricky
about scrolling more than 1 screenful here):

    Collection: General documentation
    ==============================================================================
    General documentation for TeX_related software
    ==============================================================================

    Basic packages
      <n> general		[size]
      <n> makeindex		[size]
      <n> tds		[size]
      <n> tetex		[size]
      <n> windvi		[size]

    Recommended packages
      <n> catalog		[size]
      <n> dvipdfm		[size]
      <n> fontname		[size]
      <n> germdoc		[size]
      <n> guides		[size]
      <n> html		[size]
      <n> info		[size]
      <n> ltxdoc		[size]
      <n> useful		[size]

    Extra packages
      <n> cstug		[size]
      <n> knuth		[size]
      <n> lgc		[size]
      <n> lkort		[size]
      <n> ntg		[size]
      <n> polish		[size]
      <n> tug		[size]

    ==============================================================================
      <Dn>  describe package <n>
      <Ln>  list files in package <n>
      <R>   return to collection menu
      <Q>   quit

    Enter command: 



***   after original install, permit reuse of nice menued manager for install/remove

**  misleading documentation

***   alternate fonts directory

The "online" docs from the CD-install script say this:

    alternate fonts directory:
    ============================

    If you choose an alternate directory for automatically generated fonts,
    you can mount your TEXMF tree read-only (as long as you do not want to
    perform administrative tasks: change configuration, install new inputs
    and the like).

    There are two good reasons to do this:

      - TEXMF is in a filesystem (/usr, for example) that you
	want to mount read-only.
      - TEXMF will be accessible across NFS and you do not want to give
	write permissions to your NFS clients

    One disadvantage is that new fonts are not shared.  I.e., if
    users on two different machines need the same font, it will be built
    twice, once on each machine.

There is a third good reason (at least), and it does not involve the
disadvantage.  I choose to generate my fonts outside the main
installation tree because fonts are TeX-installation-independent.
I've had up to 4 different TeX installations on my system at once as I
investigated and tested them (TL3, TL4, and two teTeX betas...).
Pointing them all at the same font tree saves a huge amount of time
and disk space.

***   web TL bugs page says TL4 has Babel 3.6r, but it's 3.6q instead

>From my texconfig.log:

=================================
Applying patch file ltpatch.ltx
=================================
(/usr/local/TeXLive4/texmf/tex/latex/base/ltpatch.ltx)
LaTeX2e <1998/12/01> patch level 1
Babel <v3.6q> and hyphenation patterns for english, french, german, ngerman, du
mylang, nohyphenation, loaded.


**  install buglets (linux)

***   extra ln
My install process gave me these messages:

    You should make sure that /usr/local/TeXLive4/bin/i386-linux
    is added to your PATH for future sessions.
    clean fmtutil.cnf in /usr/local/TeXLive4/texmf/web2c... Done fixing fmtutil.cnf
    ln: /usr/local/TeXLive4/bin/i386-linux/latex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/hugetex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/hugelatex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/texinfo: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/jadetex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/pdflatex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/pdfjadetex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/pdftexinfo: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/pdfelatex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/cont-de: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/cont-en: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/cont-nl: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/elatex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/lambda: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/csplain: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/cslatex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/pdfcsplain: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/pdfcslatex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/frlatex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/mex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/pdfmex: File exists
    ln: /usr/local/TeXLive4/bin/i386-linux/platex: File exists


Either the second "ln" should not be called, or at least the second call should
be made with "-f" which suppresses the warning.

This bug has no effect other than those potentially-worrisome messages, I believe.

Actually, it tries to do the linking this every time I run texconfig.

***   attempts to create metapost format when metapost not installed

I chose not to install any metapost files.  

>From texconfig.log:

    Running mpost to create plain mem ...
    ! I can't read mp.pool; bad path?
    Done.

Again harmless I believe except for the worrisomeness of the messages.


***   installed files owned by 107:107

I don't even have a user or group 107 on my system.  I bet there is a more
sensible default such as root:staff.

**  install bugs

***   install-pkg.sh --nohash doesn't work

/cd# sh install-pkg.sh --package=tug --nohash
Packages will be installed in /usr/local/TeXLive4/
mktexlsr: Updating /usr/local/lib/texmf/ls-R... 
mktexlsr: Updating /usr/local/TeXLive4/texmf/ls-R... 
mktexlsr: Updating /usr/local/lib/texmf/fonts/ls-R... 
mktexlsr: Done.
/cd# 

A fix:

change last line of install-pkg.sh from

       mktexlsr

to the 3 lines

       if test "$texhash" = "true"; then
	  mktexlsr
       fi

**  fontimport broken

fontimport's getmode() doesn't work in all cases.  Thomas has a new
version of the function in the latest teTeX.  I've written some
extensions which I find invaluable, but Thomas hasn't put them in his
version (yet?).


**  texconfig is paging improperly

The last page of output, e.g. when viewing the log file, will whiz by
without giving the user the opportunity to look at it.  This includes
the case where the output is less than or equal to one page.

**  couple of weird directory modes

No idea how these got that weird bit set:

drwxr-xr-t   3 root     root         1024 May 25 17:34 /usr/local/TeXLive4/texmf/tex/context
drwxr-xr-t   2 root     root         1024 May 25 17:34 /usr/local/TeXLive4/texmf/tex/context/config


* Miscellaneous Notes

TeXLive gives me a reason to live, since I eagerly await the year when
my packages will be promoted to latex2 from latex3.