home *** CD-ROM | disk | FTP | other *** search
/ Enter 2006 October / Enter 10 2006.iso / boot / isolinux / initrd / in / usr / lib / setup / kateosinstall < prev    next >
Encoding:
Text File  |  2006-07-31  |  3.5 KB  |  133 lines

  1. #!/bin/sh
  2. # Copyright 2003  Slackware Linux, Inc.,  Concord, CA  USA
  3. #    All rights reserved.
  4. #
  5. # Redistribution and use of this script, with or without modification, is
  6. # permitted provided that the following conditions are met:
  7. #
  8. # 1. Redistributions of this script must retain the above copyright
  9. #    notice, this list of conditions and the following disclaimer.
  10. #
  11. #  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
  12. #  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
  14. #  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  15. #  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  16. #  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  17. #  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  18. #  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  19. #  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  20. #  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  21. #
  22.  
  23. # Hardly modified by Damian Rakowski for KateOS <maestromae@kateos.org>
  24. # - added dependency tracking
  25.  
  26. # globals
  27.  
  28. TMP=/var/log/setup/tmp
  29. FUNCTIONS=/usr/lib/setup/kateosinstall.functs
  30.  
  31. . $FUNCTIONS
  32. # /* main */
  33.  
  34. # Process command line:
  35. if [ $# -gt 0 ]; then # there are arguments to the command
  36.   while [ $# -gt 0 ]; do
  37.    case "$1" in
  38.    "--promptmode")
  39.      MODE=`echo $2` ; shift 2 ;;
  40.    "--srcpath")
  41.      SRCPATH=`echo $2` ; shift 2 ;;
  42.    "--mountpoint")
  43.      MOUNTPOINT=`echo $2` ; shift 2 ;;
  44.    "--target")
  45.      ROOTDIR=`echo $2` ; shift 2 ;;
  46.    "--device")
  47.      DEVICE=`echo $2` ; shift 2 ;;
  48.    "--series")
  49.      SERIES=`echo $2` ; shift 2 ;;
  50.    "--model")
  51.      MODEL=`echo $2` ; shift 2 ;;
  52.    "--deps")
  53.      DEPS=`echo $2` ; shift 2 ;;
  54.           
  55.    *)
  56.      echo "Unrecognized option $1" ; shift 1 ;; 
  57.    esac
  58.   done
  59. else
  60.   exit 1;
  61. fi
  62.  
  63. # Empty out temporary directories:
  64. rm -f $TMP/TAGFILE $TMP/TAGFILEOUT $TMP/ToSkip $TMP/Series
  65. touch $TMP/TAGFILE
  66.  
  67. if [ "$LANG" != "C" ] ; then 
  68.     if ! egrep -w "^glibc-i18n:" $TMP/TAGFILE 1>/dev/null 2>/dev/null ; then
  69.     echo "glibc-i18n: ADD" >> $TMP/TAGFILE
  70.     fi     
  71. fi
  72.  
  73. # Create initial list of series to install:
  74. for series in `echo $SERIES | tr "#" " "` ; do
  75.   echo $series | tr [A-Z] [a-z] >> $TMP/Series
  76. done
  77.  
  78.   if [ $MODE = `gettext setup "full"` ]; then
  79.     cat $TMP/Series | while read series ; do
  80.       if [ -d $MODEL/$series ]; then
  81.     for i in $MODEL/$series/*; do
  82.         if [ ! -d $i ]; then
  83.         echo "`basename $i`: ADD" >> $TMP/TAGFILE
  84.             if [ "$DEPS" = "on" ]; then
  85.             check_deps $i
  86.         fi
  87.         fi        
  88.     done
  89.       fi
  90.     done
  91.   
  92.     skip_rest  
  93.   elif [ $MODE = `gettext setup "menu"` ]; then
  94.  
  95.     cat $TMP/Series | while read series ; do
  96.       if [ $MODE = menu ]; then
  97.         if [ -r $MODEL/$series/mktag/maketag ]; then
  98.         FUNCTIONS=$FUNCTIONS series=$series  MODEL=$MODEL  DEPS=$DEPS TEXTDOMAINDIR=$MODEL/$series/mktag/maketagmsg/ sh $MODEL/$series/mktag/maketag
  99.         fi
  100.   
  101.       fi
  102.     done
  103.     
  104.     skip_rest
  105.   fi
  106.  
  107.  
  108. if [ -r $TMP/ToSkip ]; then
  109.   cat $TMP/ToSkip | while read foo ; do
  110.     if ! egrep -w "^$foo:" $TMP/TAGFILE 1>/dev/null 2>/dev/null ; then
  111.     echo "$foo: SKP" >> $TMP/TAGFILE
  112.     fi     
  113.   done    
  114. fi       
  115.  
  116. install_package
  117.  
  118. while [ "`cat $TMP/TAGFILE | grep ADD`" != "" ]; do
  119.     if [ "$DEVICE" != "noremount" ]; then
  120.       remount_disc
  121.       if [ -f /var/log/mount/cd2 ] || [ -f /var/log/mount/dvd ] ; then
  122.       
  123.       skip_rest 
  124.       install_package
  125.       else
  126.         continue
  127.       fi 
  128.     else
  129.       break  
  130.     fi
  131. done 
  132.  
  133.