diff options
author | Siep Kroonenberg <siepo@cybercomm.nl> | 2008-05-22 07:42:26 +0000 |
---|---|---|
committer | Siep Kroonenberg <siepo@cybercomm.nl> | 2008-05-22 07:42:26 +0000 |
commit | 02ef5bd0fb66e9e671229d809bcd74815d7cedcf (patch) | |
tree | c551c03aaa78254777d6cf17a4e50871ae584e81 /Master/tl-portable | |
parent | 5a3d1ea6e6473f382221353360f6e07f21a7cc78 (diff) |
Renamed tl-portable.sh to tl-portable
git-svn-id: svn://tug.org/texlive/trunk@8281 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tl-portable')
-rwxr-xr-x | Master/tl-portable | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/Master/tl-portable b/Master/tl-portable new file mode 100755 index 00000000000..2bb47d49142 --- /dev/null +++ b/Master/tl-portable @@ -0,0 +1,112 @@ +#! /bin/sh +# Copyright 2008 Siep Kroonenberg. +# You may freely use, modify and/or distribute this file. + +#calculate TeXLive root +#it appears that dirname isn't always available +TEXDIR0=$0 +TEXDIR=${TEXDIR0%/*} +if test "$TEXDIR" = "$TEXDIR0"; then + TEXDIR="." +fi +unset TEXDIR0 + +dirsave=`pwd` +cd $TEXDIR +TEXDIR=`pwd` +export TEXDIR +cd $dirsave + +# Test whether the TeXLive directory is writable. We need an actual +# write test, because network drives aren't always identified +# correctly. We accept negatives at face value. + +if test -w $TEXDIR; then +# make sure $TEXDIR is really writable +testfile=1 + while test -e $TEXDIR/$testfile + do testfile=`expr $testfile + 1` + done + echo Testing whether $TEXDIR is writable... + touch $TEXDIR/$testfile 2>/dev/null + if test -e $TEXDIR/$testfile; then + rm $TEXDIR/$testfile + echo $TEXDIR is writable. + tlwrite=$TEXDIR + else + echo $TEXDIR is not writable. + tlwrite=$HOME/.texlive2008 + fi +else + tlwrite=$HOME/.texlive2008 +fi +export tlwrite +echo Using $tlwrite for generated files. + +# Use $TEXMFHOME for private data, +# $TEXMFLOCAL for department- or workgroup data. +# It is allright if $TEXMFLOCAL does not exist. + +TEXMFSYSVAR=$tlwrite/texmf-var +if test -d $TEXDIR/texmf-var; then + TEXMFSYSVAR=$TEXDIR/texmf-var +fi +export TEXMFSYSVAR +TEXMFSYSCONFIG=$tlwrite/texmf-config +if test -f $TEXDIR/texmf-config; then + TEXMFSYSCONFIG=$TEXDIR/texmf-config +fi +export TEXMFSYSCONFIG +TEXMFMAIN=$TEXDIR/texmf +export TEXMFMAIN +TEXMFDIST=$TEXDIR/texmf-dist +export TEXMFDIST +TEXMFLOCAL=$TEXDIR/texmf-local +export TEXMFLOCAL +TEXMFHOME=$tlwrite/texmf-home +export TEXMFHOME +TEXMFVAR=$tlwrite/texmf-var +export TEXMFVAR +TEXMFCONFIG=$tlwrite/texmf-config +export TEXMFCONFIG + +platform=`$TEXDIR/install-tl --print-arch` + +if test "$platform" = ""; then + echo 'Platform unsupported' + exit 1 +elif test ! -d $TEXDIR/bin/$platform; then + echo 'Platform unsupported' + exit 1 +fi + +if $TEXDIR/install-tl --portable; then :; else + echo Initialization of TeXLive failed! + exit 1 +fi + +# Try to block initialization scripts. +# Set custom prompt for secondary shell, but +# I know of no good way to do this for the C shell. + +ENV=/dev/null +export ENV +PATH=$TEXDIR/bin/$platform:$PATH +export PATH +if test "$SHELL" = /bin/bash; then + PS1='TL \w\$ ' + export PS1 + exec $SHELL --norc -i +elif test "$SHELL" = /bin/zsh; then + PS1='TL %d%% ' + export PS1 + exec $SHELL -f -i +elif test "$SHELL" = /bin/csh; then + exec $SHELL -f -i +elif test "$SHELL" = /bin/tcsh; then + exec $SHELL -f -i +else + PS1='TL $PWD\$ ' + export PS1 + exec $SHELL -f -i +fi |