home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # Copyright 2003 Slackware Linux, Inc., Concord, CA USA
- # All rights reserved.
- #
- # Redistribution and use of this script, with or without modification, is
- # permitted provided that the following conditions are met:
- #
- # 1. Redistributions of this script must retain the above copyright
- # notice, this list of conditions 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.
- #
-
- # Hardly modified by Damian Rakowski for KateOS <maestromae@kateos.org>
- # - added dependency tracking
-
- # globals
-
- TMP=/var/log/setup/tmp
- FUNCTIONS=/usr/lib/setup/kateosinstall.functs
-
- . $FUNCTIONS
- # /* main */
-
- # Process command line:
- if [ $# -gt 0 ]; then # there are arguments to the command
- while [ $# -gt 0 ]; do
- case "$1" in
- "--promptmode")
- MODE=`echo $2` ; shift 2 ;;
- "--srcpath")
- SRCPATH=`echo $2` ; shift 2 ;;
- "--mountpoint")
- MOUNTPOINT=`echo $2` ; shift 2 ;;
- "--target")
- ROOTDIR=`echo $2` ; shift 2 ;;
- "--device")
- DEVICE=`echo $2` ; shift 2 ;;
- "--series")
- SERIES=`echo $2` ; shift 2 ;;
- "--model")
- MODEL=`echo $2` ; shift 2 ;;
- "--deps")
- DEPS=`echo $2` ; shift 2 ;;
-
- *)
- echo "Unrecognized option $1" ; shift 1 ;;
- esac
- done
- else
- exit 1;
- fi
-
- # Empty out temporary directories:
- rm -f $TMP/TAGFILE $TMP/TAGFILEOUT $TMP/ToSkip $TMP/Series
- touch $TMP/TAGFILE
-
- if [ "$LANG" != "C" ] ; then
- if ! egrep -w "^glibc-i18n:" $TMP/TAGFILE 1>/dev/null 2>/dev/null ; then
- echo "glibc-i18n: ADD" >> $TMP/TAGFILE
- fi
- fi
-
- # Create initial list of series to install:
- for series in `echo $SERIES | tr "#" " "` ; do
- echo $series | tr [A-Z] [a-z] >> $TMP/Series
- done
-
- if [ $MODE = `gettext setup "full"` ]; then
- cat $TMP/Series | while read series ; do
- if [ -d $MODEL/$series ]; then
- for i in $MODEL/$series/*; do
- if [ ! -d $i ]; then
- echo "`basename $i`: ADD" >> $TMP/TAGFILE
- if [ "$DEPS" = "on" ]; then
- check_deps $i
- fi
- fi
- done
- fi
- done
-
- skip_rest
- elif [ $MODE = `gettext setup "menu"` ]; then
-
- cat $TMP/Series | while read series ; do
- if [ $MODE = menu ]; then
- if [ -r $MODEL/$series/mktag/maketag ]; then
- FUNCTIONS=$FUNCTIONS series=$series MODEL=$MODEL DEPS=$DEPS TEXTDOMAINDIR=$MODEL/$series/mktag/maketagmsg/ sh $MODEL/$series/mktag/maketag
- fi
-
- fi
- done
-
- skip_rest
- fi
-
-
- if [ -r $TMP/ToSkip ]; then
- cat $TMP/ToSkip | while read foo ; do
- if ! egrep -w "^$foo:" $TMP/TAGFILE 1>/dev/null 2>/dev/null ; then
- echo "$foo: SKP" >> $TMP/TAGFILE
- fi
- done
- fi
-
- install_package
-
- while [ "`cat $TMP/TAGFILE | grep ADD`" != "" ]; do
- if [ "$DEVICE" != "noremount" ]; then
- remount_disc
- if [ -f /var/log/mount/cd2 ] || [ -f /var/log/mount/dvd ] ; then
-
- skip_rest
- install_package
- else
- continue
- fi
- else
- break
- fi
- done
-
-