home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / encrypt / install / request < prev    next >
Text File  |  1998-08-19  |  3KB  |  105 lines

  1. #!/bin/sh
  2. #
  3. #       @(#) request.shinc 12.1 97/11/03 
  4. #
  5. # Copyright (c) 1997 The Santa Cruz Operation, Inc.. All Rights Reserved.
  6. # THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE SANTA CRUZ OPERATION INC.
  7. # The copyright notice above does not evidence any actual or intended
  8. # publication of such source code.
  9. ME="`basename $0`"
  10. ISL_FILE="/etc/inst/scripts/postreboot.sh"
  11. SUCCESS=0; FAIL=1; INTR=3
  12. trap "exit $INTR" 2 3 15
  13. [ -f $ISL_FILE ] && exec 1>>/var/adm/log/$PKGINST.out
  14. [ -f $ISL_FILE ] && exec 2>>/var/adm/log/$PKGINST.err
  15.  
  16. # location of the packaging information files during this phase of installation
  17. INSTALL_DIR="$REQDIR/$PKGINST"
  18.  
  19. # eclicense return codes and menus check file
  20. ECLICENSE_MSGS="eclicense.msgs"
  21. ECLICENSE_COVERED=0; ECLICENSE_ADDED_EVAL=1
  22. ECLICENSE_NOT_LICENSED=2; ECLICENSE_FAIL=3
  23.  
  24.  
  25. # check usage
  26. if [ $# -ne 1 ]; then
  27.     echo "Usage: $ME response_file" >&2
  28.     exit $FAIL
  29. fi
  30. response_file="$1"
  31.  
  32.  
  33. #############################################################################
  34. #
  35. # main
  36. #
  37. #############################################################################
  38.  
  39. # if not in initial system load then check licensing, and add if required
  40. if [ ! -f $ISL_FILE ]; then
  41.  
  42.     # determine the right location for menus - try /etc/inst/locale
  43.     # first, and if no menus there then use ones in the installation
  44.     # set - try for local ones first, then fall back on C
  45.     LOCALE="${LC_ALL:-${LC_MESSAGES:-${LANG:-C}}}"
  46.     MENU_DIR="/etc/inst/locale/$LOCALE/menus/$PKGINST"
  47.     if [ ! -f $MENU_DIR/$ECLICENSE_MSGS ]; then
  48.         if [ ! -d $INSTALL_DIR/$LOCALE ]; then
  49.             LOCALE="C"
  50.         fi
  51.         MENU_DIR=$INSTALL_DIR/$LOCALE
  52.     fi
  53.  
  54.     # check the UnixWare release, and abort if it's one of the
  55.     # incompatible ones
  56.     if [ -f $INSTALL_DIR/releasecheck.sh ]; then
  57.         # layered installation - interaction is OK
  58.         sh $INSTALL_DIR/releasecheck.sh $MENU_DIR
  59.         if [ $? -ne 0 ]; then
  60.             exit $FAIL
  61.         fi
  62.     fi
  63.  
  64.     # call a routine to check for, and optionally add, licensing for
  65.     # the product
  66.     if [ -f $INSTALL_DIR/eclicense.sh ]; then
  67.         # layered installation - questions are OK
  68.         sh $INSTALL_DIR/eclicense.sh $INSTALL_DIR/l_info $MENU_DIR
  69.  
  70.         # if no valid license was added then abort the installation,
  71.         # otherwise continue
  72.         case $? in
  73.         ${ECLICENSE_COVERED})
  74.             exit $SUCCESS
  75.             ;;
  76.         ${ECLICENSE_ADDED_EVAL})
  77.             exit $SUCCESS
  78.             ;;
  79.         ${ECLICENSE_NOT_LICENSED})
  80.             exit $FAIL
  81.             ;;
  82.         ${ECLICENSE_FAIL})
  83.             echo "$ME: eclicense.sh script failed" >&2
  84.             exit $FAIL
  85.             ;;
  86.         esac
  87.     else
  88.         echo "$ME: unable to find $INSTALL_DIR/eclicense.sh" >&2
  89.         exit $FAIL
  90.     fi
  91.  
  92.     # make a note into the environment that the licensing has been checked
  93.     # for this installation
  94.     echo "REQUEST_CHECKED_LICENSING=\"TRUE\"" >$response_file
  95.  
  96. else
  97.  
  98.     # in initial system load so defer license stuff to postinstall
  99.     echo "REQUEST_CHECKED_LICENSING=\"FALSE\"" >$response_file
  100. fi
  101.  
  102. # done
  103. exit $SUCCESS
  104.