home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # Installation script for NTeX (v 1.2)
- # Copyright 1994, Frank Langbein
- # All rights reserved.
- #
- # Redistributions of this script must retain the above copyright notice,
- # this condition and the following disclaimer.
- #
- # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #
-
- cat << EOF
-
-
- NTeX Release 1.2
- A TeX distribution for Linux
-
- Welcome to the installation script.
-
- EOF
-
- curr_dir=$(pwd)
- TEMP="/tmp"
- root="/"
- editor="vi"
-
- echo -n "Do you want to install form [f]loppy or from [c]urrent dir? "
- read ANS;
- if test "$ANS" = "f" -o "$ANS" = "F"; then
- SOURCE=floppy
- SOURCEDIR=$TEMP"/ntex-fd."$$
- echo "Installing from floppy (MS-DOS format)."
- echo
- echo -n "Is the soruce drive /dev/fd[0] or /dev/fd[1]? "
- read ANS;
- if test "$ANS" = "0"; then
- DRIVE="/dev/fd0"
- elif test "$ANS" = "1"; then
- DRIVE="/dev/fd1"
- else
- echo "Not a proper choice. Bye!"
- exit 1
- fi
- echo Using the drive $DRIVE.
- elif test "$ANS" = "c" -o "$ANS" = "C"; then
- SOURCE=currentdir
- SOURCEDIR=$curr_dir
- echo "Installing from current directory [$curr_dir]."
- else
- echo "Not a proper choice. Bye!"
- exit 1
- fi
- echo
- echo -n "Do you want to use the slakware installation script [y/n]? "
- read ANS;
- if test "$ANS" = "Y" -o "$ANS" = "y"; then
- INSTALL=$curr_dir"/installpkg"
- cat << EOF
-
- Unsing slakware installation script.
-
- EOF
- elif test "$ANS" = "N" -o "$ANS" = "n"; then
- INSTALL=simple_install
- cat << EOF
-
- Using a simple installation script. The names of the installed files
- are written to [pkgname].files in the current directory.
-
- EOF
- else
- echo "Not a proper choice. Bye!"
- exit 1
- fi
-
- ask_install() {
- cat $curr_dir/$1.inf
- echo -n "Do you want to install $1 [y/n/q]? "
- read ANS;
- if test "$ANS" = "y" -o "$ANS" = "Y"; then
- touch $curr_dir/$1.ins
- echo $1 will be installed.
- elif test "$ANS" = "q" -o "$ANS" = "Q"; then
- rm -f $curr_dir/*.ins
- echo "Bye!"
- exit 1
- else
- echo $1 will not be installed.
- fi
- }
-
- cat << EOF
-
- Now choose the packages you want to install. Note that you can install
- more packages later either by running this script again, by calling
- installpkg [name].tgz if the package is in the current directory or
- by calling "cd /; gzip -d [name].tgz; tar xf [name].tar".
-
- The header of the descriptions of the packages contains the version of
- the package and a status field. The status can be neccessary, recommended,
- optional. If the status of a package is necessary you need it to run TeX.
- If it is recommended you do not really need it, but you should install
- it. If it is optional, you should just install the package if you really
- want to use it.
-
- Press [Enter] to go through the package list.
- EOF
- read ANS;
- rm -f $curr_dir/*.ins >/dev/null
- for p in $(cat $curr_dir/pkgs)
- do
- ask_install $p
- done
-
- simple_install() {
- pkn=$(echo $1 | sed -e s/.tgz//)
- if test -r $2/$pkn".tgz"; then
- echo Installing $pkn...
- gzip -d - <$2"/"$pkn".tgz" >$3"/"$pkn".tar"
- cd $root
- tar xf $3"/"$pkn".tar"
- tar tf $3"/"$pkn".tar" >$curr_dir"/"$pkn".files"
- rm -f $3"/"$pkn".tar"
- else
- echo Error: I cannot read $2/$pkn.tgz.
- fi
- }
-
- if test -z "$(ls $curr_dir/*.ins 2>/dev/null)"; then
- cat << EOF
-
- You did not choose a package to install. Bye!
-
- EOF
- exit 0
- fi
-
- if test "$SOURCE" = "floppy"; then
- cat << EOF
-
-
- Installing the choosen packages from disk.
-
- EOF
- mkdir $SOURCEDIR
- for i in $(cat $curr_dir/disknam)
- do
- echo -n "Insert disk $i and press [Enter]."
- read X
- WDANS=r
- while test "$WDANS" = "r"
- do
- # the following mounting procedure is based on code from Andy Schwierskott
- ANS=r
- error=1
- while test "$ANS" = "r" -a "$error" = 1
- do
- mount -r -t "$(cat $curr_dir/diskfs)" $DRIVE $SOURCEDIR
- error=$?
- if test "$error" = 1; then
- ANS=x
- while test "$ANS" != "r" -a "$ANS" != "q" ; do
- echo -n "Disk $i could not be mounted - [r]etry or [q]uit? "
- read ANS
- done
- if test "$ANS" = "q"; then
- rm -fr $SOURCEDIR
- rm -f $curr_dir/*.ins
- echo "Bye!"
- exit 1
- fi
- fi
- done
- if test -e $SOURCEDIR/$i; then
- WDANS=n
- cd $SOURCEDIR
- for f in $(ls *.tgz)
- do
- pkgnam=$(echo $f | sed -e s/.tgz//)
- if test -e $curr_dir"/"$pkgnam".ins"; then
- if test "$INSTALL" = "simple_install"; then
- $INSTALL $pkgnam".tgz" $SOURCEDIR $TEMP
- else
- $INSTALL $pkgnam".tgz"
- fi
- fi
- done
- cd $curr_dir
- umount $SOURCEDIR
- else
- WDANS=x
- while test "$WDANS" != "r" -a "$WDANS" != "q" ; do
- echo -n "You did not insert the $i disk - [r]etry or [q]uit? "
- read WDANS
- done
- umount $SOURCEDIR
- if test "$WDANS" = "q"; then
- rm -fr $SOURCEDIR
- rm -f $curr_dir/*.ins
- echo "Bye!"
- exit 1
- fi
- fi
- done
- done
- rm -fr $SOURCEDIR
- else
- cd $SOURCEDIR
- for i in *.ins
- do
- p=$(echo $i | sed -e s/.ins//)
- if test "$INSTALL" = "simple_install"; then
- $INSTALL $p".tgz" $SOURCEDIR $TEMP
- else
- $INSTALL $p".tgz"
- fi
- done
- fi
-
- cat << EOF
-
- Installation finished.
-
- Now you have the pssibility to configure the packages you have installed.
- Note that you can call the configuration scripts later from the directory
- /usr/lib/texmf/tools. They have the same name as the package with a .cfg
- suffix.
-
- EOF
-
- if test -n "$(ls $curr_dir/ntm-ltx?.ins 2>/dev/null)"; then
- if test -r /usr/lib/texmf/tools/ntm-ltx.cfg; then
- /usr/lib/texmf/tools/ntm-ltx.cfg
- else
- cat << EOF
-
- Warning: I cannot start the configuration file for ntm-ltx!
-
- EOF
- fi
- fi
-
- if test -e $curr_dir"/ntb-mf.ins"; then
- if test -r /usr/lib/texmf/tools/ntb-mf.cfg; then
- /usr/lib/texmf/tools/ntb-mf.cfg
- else
- cat << EOF
-
- Warning: I cannot start the configuration file for ntb-mf!
-
- EOF
- fi
- fi
-
- if test -e $curr_dir"/ntb-dps.ins"; then
- if test -r /usr/lib/texmf/tools/ntb-dps.cfg; then
- /usr/lib/texmf/tools/ntb-dps.cfg
- else
- cat << EOF
-
- Warning: I cannot start the configuration file for ntb-dps!
-
- EOF
- fi
- fi
-
- if test -e $curr_dir"/ntb-xdvi.ins"; then
- if test -r /usr/lib/texmf/tools/ntb-xdvi.cfg; then
- /usr/lib/texmf/tools/ntb-xdvi.cfg
- else
- cat << EOF
-
- Warning: I cannot start the configuration file for ntb-xdvi!
-
- EOF
- fi
- fi
-
- echo -n Creating the ls-R database for kpathsea...
- (cd /usr/lib/texmf; ls -R $(pwd) >ls-R)
-
- rm -f $curr_dir/*.ins &>/dev/null
- cd $curr_dir
-
- cat << EOF
-
- The NTeX installation is complete.
-
- Comments, suggestions and bug reports to Frank Langbein -
- e94fla@student.tdb.uu.se or langbein@fermat.mathematik.uni-stuttgart.de.
-
- EOF
-
-