[tex-live] Installation on Solaris 8

Karl Berry karl at freefriends.org
Sun May 28 15:49:37 CEST 2006


Hi Don,

About the "xf" problem.  Thanks for sending me the log.  Now I see what
is happening.  I think there are several ways to deal with it.

1) install GNU tar and put it first in your path.

2) install from the `inst' TL image, instead of the live image.

3) In your install-tl.sh (aka install-live.sh), there are these two lines
   around line 300:
     (cd $CDDIR; $XARGS sh -c 'tar cf - $* \
        | (cd '"$TEXDIR"'; umask 0; $TARPROG x${tarverbose}f -)' sh < $f.uniq )
   Try changing them to:
     (cd $CDDIR && $XARGS sh -c 'tar cf - $* \
        | (cd '"$TEXDIR; umask 0; $TARPROG x${tarverbose}f -)" sh < $f.uniq )

I haven't tested this ...


Explanation:

1) the TL install wants to use a "list of files" feature in tar.  This
   is the -T option in GNU tar and the -I option in Sun tar.
   Unfortunately it does not work as needed in Sun tar.  (See test below.)

2) therefore, it falls back on using xargs.  Part of using
   xargs is to invoke a subshell.  The invocation put most of the
   command in single quotes:
   '... $TARPROG ...'
   therefore $TARPROG was being expanded by the subshell, not the main
   shell.  And TARPROG was not exported, therefore not set in the
   subshell.  Q.E.D.

Thanks,
Karl

P.S. For the record, the test of a sufficient tar in utils.sh is this:
    mkdir a b
    tar cf test.tar a b
    rmdir a b
    echo a > list
    /path/to/tar -x -f test.tar -I list >/dev/null 2>&1
    if test -d a && test ! -d b; then
      echo ok...
    else
      echo bad...
    fi

When I tried running this on a Solaris 5.8 machine, it did not extract
a.  Actually, on the first machine I tried, it hung with no output.
Very weird.


P.P.S. Sebastian and/or Thomas wrote all this, not me :).


More information about the tex-live mailing list