[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