home *** CD-ROM | disk | FTP | other *** search
/ SGI Hot Mix 12 / Silicon_Graphics_Developer_Magic_Soft_Dev_812-8101-012.iso / .all / demos / ICS / loadbx351 < prev    next >
Encoding:
Text File  |  1995-11-13  |  46.5 KB  |  2,374 lines

  1. #!/bin/sh -f
  2. PATH=/bin:/usr/bin:/usr/ucb:/usr/etc:$PATH
  3. CLEARCMD='clear'
  4. WHOAMI='whoami'
  5. HOSTNAME='hostname'
  6. MV='mv -f'
  7. LN='ln -s'
  8. CD='cd'
  9. RM='rm'
  10. RMDIR='rmdir'
  11. MKDIR='mkdir -p'
  12. TOUCH='touch'
  13. CHMOD='chmod 777'
  14. TMPD=${TMPDIR-/tmp}
  15. MP='\NULL'
  16. TD='\NULL'
  17. KEY=''
  18. DTD='/usr/lib/X11/builderXcessory' #default installation directory
  19. ED='\NULL'
  20. EV='\NULL'
  21. ERR='0'
  22. MVER='0'
  23. RMER='0'
  24. MKDER='0'
  25. CHMODER='0'
  26. ZCATER='0'
  27. TARER='0'
  28. FOUNDDIR="0"
  29. OFLEXLMV='3.0'
  30. REV='3.5.1'
  31. OREV='3.5'
  32. AREV='351'
  33. CGXREV='351'
  34. BXREV='3.5.1'
  35. EVERS='3\.5\.1' #this is used by grep that's why there's the \ in it
  36. LDN='ICS Builder Xcessory '$REV''
  37. AN='BX'
  38. ABN='BX'
  39. LAN='bx'
  40. SN=$ABN' '$REV
  41. ADN=$AN$AREV
  42. LS='loadbx'$AREV
  43. MLS='make'$LAN'links'
  44. RLS='remove'$LAN'links'
  45. DEBUG='1'
  46. LIB='bin/bx'
  47. LOG=$TMPD/$ADN'_DISTLOAD_LOG.'`date '+%m.%d.%y'`
  48. MT='cd' #mediatype : cd or tape
  49. REQDECRYPTIONKEY='0' #if 1 the software loaded needs a decrypt key
  50. REQLMINSTALLATION='1' #if 1 the software needs to install flexlm
  51. IFLXLM='0'
  52. IFLXLMKEY='0'
  53. REQLMKEY='1' #if 1 the software needs an flexlm key
  54. MULTIPLESETS='0' #if 1 the software is comprised of lib,doc,& demo sets
  55. MODIFYIMAKE='0' #if 1 the software needs to modify the imake config directory
  56. MODIMAKE='0'
  57. MAKELINKS='1' #if 1 we need to run the makelinks script
  58. DOCSIZE='[ ~4 megabyte(s) ]'
  59. DOCSET=$SN' man pages                '$DOCSIZE
  60. LIBSIZE='[ ~2 megabyte(s) ]'
  61. LIBSET=$SN' libraries and include files    '$LIBSIZE
  62. DEMOSIZE='[ ~1 megabyte(s) ]'
  63. DEMOSET=$SN' examples and/or demos source code    '$DEMOSIZE
  64. TOTALSIZE='            [ ~7 megabyte(s) ]'
  65. LOADDOC='0'
  66. LOADLIB='1'
  67. LOADDEMO='0'
  68. LINKDOC='0'
  69. LINKLIB='0'
  70. SPECIALLINKS='1' #if 1 we need to make some default links (lmstuff)
  71. SPECIALSCRIPTS='1' #if 1 we need to make the bx, dx or cgx scripts
  72. APPDEFPROCESSING='1' #if 1 we need process app-defaults files
  73.  
  74. case $# in
  75. 0);;
  76. 1) MP=$1;;
  77. 2) MP=$1; TD=$2;;
  78. 3) MP=$1; TD=$2; KEY=$3;;
  79. 7) MP=$1; TD=$2; KEY=$3; ED=$4; EV=$5; LOG=$6; TDLOG=$7;;
  80. *) case $MT in
  81.     "cd" ) echo "Usage: $LS {CD_MOUNT_POINT} {LOAD_DIRECTORY}"; exit 0 ;;
  82.     "tape" ) echo "Usage: $LS {TAPE_DEVICE} {LOAD_DIRECTORY}"; exit 0 ;;
  83.    esac ;;
  84. esac
  85.  
  86. SetCDN()
  87. {
  88. case $CASE in
  89. "any" | "upper" ) CDN='ICSBX' ;;
  90. "lower" ) CDN='icsbx' ;;
  91. esac
  92. }
  93.  
  94. Clear()
  95. {
  96. eval $CLEARCMD
  97. if [ $EV = "\NULL" ]
  98. then
  99. echo "Loading $LDN"
  100. echo "on `hostname` at `date`."
  101. else
  102. echo "Loading $ED $EV"
  103. echo "on `hostname` at `date`."
  104. fi
  105. }
  106.  
  107. DetectArch()
  108. {
  109. OSNAME=`uname | awk '{print $1}'`
  110. if [ "$OSNAME" = "SunOS" ] 
  111. then
  112.         OSTYPE=`/bin/uname -r | awk -F. '{print $1}'`
  113.         if [ "$OSTYPE" = "4" ]
  114.         then
  115.                 OSNAME='SOL1'
  116.         else
  117.                 OSNAME='SOL2'
  118.         fi
  119. fi
  120.  
  121. case $OSNAME in
  122. "SOL1" | "SOL2" | "HP-UX" | "OSF1" | "IRIX" | "AIX" | "Linux" ) WHOAMI=`$WHOAMI` ; break ;;
  123. * ) PROMPT='1'
  124.     Clear
  125.     while [ $PROMPT = "1" ]
  126.     do
  127.         Echo ""
  128.         Echo "This installation script was unable to determine the platform"
  129.         Echo "you are installing the $LDN on."
  130.         Echo ""
  131.         Echo "Please select the appropriate operating system from"
  132.         Echo "the following list :"
  133.         Echo ""
  134.         Echo "1. SCO"
  135.         Echo ""
  136.         Echo "or press 'q' to quit $SN installation."
  137.         Echo ""
  138.         echo -n "[ 1 ] : "
  139.  
  140.         read ARCH
  141.         case $ARCH in
  142.         "1" ) OSNAME='SCO' ; WHOAMI=`who am i | awk '{print $1}'` ;
  143.             PROMPT='0' ; REQLMINSTALLATION='0' ;
  144.             REQLMKEY='0';;
  145.         [qQ] ) exit 1 ;;
  146.         [a-pA-Pr-zR-Z02-9]* ) Clear ;;
  147.         * ) OSNAME='SCO' ; WHOAMI=`who am i | awk '{print $1}'` ;
  148.             PROMPT='0' ; REQLMINSTALLATION='0' ;
  149.             REQLMKEY='0';;
  150.         esac
  151.     done ;;
  152. esac
  153.  
  154. SetCase
  155. SetCDN
  156. SetTarFiles
  157. ExamineDefaults
  158. LocateMedia
  159. if [ ! -d $CDDIR ]   #if we didn't see the CD try lowercase names
  160. then
  161.     TMPCASE=$CASE
  162.     TMPCDDIR=$CDDIR
  163.     CASE='lower'
  164.     SetCDN
  165.     LocateMedia
  166.     if [ ! -d $CDDIR ] # try looking for the uppercase names
  167.     then
  168.         CASE='upper'
  169.         SetCDN
  170.         LocateMedia
  171.         if [ ! -d $CDDIR ] #didn't see either case so restore
  172.         then
  173.             CASE=$TMPCASE
  174.             CDDIR=$TMPCDDIR
  175.             SetCDN
  176.             LocateMedia
  177.         fi
  178.     fi
  179. fi
  180.  
  181. if [ $EV = "\NULL" ]
  182. then
  183.     Greeting
  184. fi
  185. }
  186.  
  187. Message()
  188. {
  189. Echo ""
  190. Echo "Thank you for choosing the $LDN. Please direct comments"
  191. Echo " or questions to ICS support at 617-621-0060 or support@ics.com"
  192. }
  193.  
  194. DXMessage()
  195. {
  196. if [ $AN = "DXORA" ] || [ $AN = "DXSYB" ]
  197. then
  198. Echo ""
  199. Echo "IMPORTANT : The $LDN distribution can"
  200. Echo "only be loaded into an existing BX $BXREV distribution. If you do not"
  201. Echo "have BX $BXREV already loaded on to the machine you are loading the"
  202. Echo "$LDN, please install BX $BXREV before"
  203. Echo "continuing. Thank You."
  204. fi
  205. }
  206.  
  207. Greeting()
  208. {
  209. Clear
  210. Message
  211. DetermineUID
  212. AwaitEnter
  213. }
  214.  
  215. ExamineDefaults()
  216. {
  217. if [ $MP = "\NULL" ]
  218. then
  219.     SetMP
  220. fi
  221.  
  222. if [ $TD = "\NULL" ]
  223. then
  224.     TD=$DTD
  225.     DIRPASSEDIN='0'
  226. else
  227.     DIRPASSEDIN='1'
  228. fi
  229.  
  230. #debug "MP : $MP"
  231. #debug "TD : $DTD"
  232. }
  233.  
  234. SetMP()
  235. {
  236. case $MT in
  237. "cd" )    case $OSNAME in 
  238.     "SOL2" ) MP='/cdrom/icsbx' ;;
  239.     "IRIX" ) MP=$DMTOOLSDIR/demos/ICS ;;
  240.     * ) MP='/cdrom' ;;
  241.     esac ;;
  242. "tape" ) case $OSNAME in 
  243.     "SOL1" ) MP='/dev/rst0' ;;
  244.     "SOL2" ) MP='/dev/rst0' ;;
  245.     "HP_UX" ) MP='/dev/rmt/0m';;
  246.     "OSF1" ) MP='' ;;
  247.     "IRIX" ) MP='' ;; 
  248.     "AIX" ) MP='' ;;
  249.     "Linux" ) MP='' ;;
  250.     "SCO" ) MP='' ;;
  251.     esac ;;
  252. esac
  253. }
  254.  
  255. SetTarFiles()
  256. {
  257. #FOR SRC DISTRIBUTIONS LET $LIBTAR BE THE TAR FILE THE SOURCES RESIDE IN !!!
  258. case $MT in
  259. "cd" ) case $CASE in
  260.     "any" | "upper" ) LIBTAR="BX351.Z" ; DLIBTAR='' ; DOCTAR='' ;    
  261.              DEMOTAR='' ;;
  262.     "lower" ) LIBTAR="bx351.z" ; DLIBTAR='' ; DOCTAR='' ; DEMOTAR='' ;;
  263.     esac ;;
  264. "tape" ) LIBTAR="BX351" ; DLIBTAR='' ; DOCTAR='' DEMOTAR='' ;;
  265. esac
  266. }
  267.  
  268. SetCase()
  269. {
  270. case $OSNAME in 
  271. "SOL1" )  CASE='any' ;;
  272. "SOL2" ) CASE='any' ;;
  273. "HP-UX" ) CASE='upper' ; OSNAME='HP_UX' ;;
  274. "OSF1" ) CASE='upper' ;;
  275. "IRIX" )  CASE='upper' ;;
  276. "AIX" ) CASE='lower' ;;
  277. "Linux" ) CASE='any' ;;
  278. "SCO" ) CASE='lower' ;;
  279. esac
  280. }
  281.  
  282. debug()
  283. {
  284. if [ $DEBUG = "1" ]
  285. then
  286. echo "$1"
  287. fi
  288. }
  289.  
  290. DetermineUID()
  291. {
  292. if [ $WHOAMI != "root" ]
  293. then
  294.     Log ""
  295.     Log "Warning: You are not logged in as root but as user $WHOAMI."
  296.     Log "You need write access to the directory you wish to place"
  297.     if [ $EV != "\NULL" ]
  298.     then
  299.         Log "the $LDN distribution piece of the $ED $EV"
  300.         Log "distribution. Otherwise the $LDN"
  301.         Log "distribution loading of $ED $EV will fail."
  302.     else
  303.         Log "the $LDN distribution in. Otherwise"
  304.         Log "the $LDN distribution load will fail."
  305.     fi
  306. fi
  307. }
  308.  
  309. AwaitEnterHelp()
  310. {
  311. Clear
  312.  
  313. echo ""
  314. echo "Press <return> to continue."
  315.  
  316. echo ""
  317. echo "Press 'h' followed by return to access this help screen."
  318.  
  319. if [ $EV != "\NULL" ]
  320. then
  321.     echo ""
  322.     echo "Press 'q' to quit when prompted. The $ED $EV install will go on to load"
  323.     echo "the next piece of the $ED $EV distribution."
  324.     echo ""
  325.     echo "Press 'a' to exit $ED $EV distribution loading."
  326. else
  327.     echo ""
  328.     echo "Press 'q' to exit the $LS script."
  329. fi
  330.  
  331. AwaitEnter
  332. }
  333.  
  334. ######################################
  335. # AwaitEnter
  336. # Waits for a carraige return or abort
  337. ######################################
  338. AwaitEnter()
  339. {
  340. echo ""
  341. if [ $EV != "\NULL" ]
  342. then
  343. echo "Press [RETURN] to continue, [Q]uit loading the $LDN"
  344. Echon "distribution, [A]bort loading $ED $EV, or [H]elp : "
  345. else
  346. Echon "Press [RETURN] to continue, [Q]uit, or [H]elp : "
  347. fi
  348. read INPUT
  349.  
  350. if [ $EV != "\NULL" ]
  351. then
  352.     case $INPUT in
  353.     [aA] ) Terminated 1 ;;
  354.     [qQ] ) Terminated 2 ;;
  355.     [hH] ) AwaitEnterHelp ;;
  356.     * ) ;;
  357.     esac
  358. else
  359.     case $INPUT in
  360.     [qQ] ) Terminated 2 ;;
  361.     [hH] ) AwaitEnterHelp ;;
  362.     * ) ;;
  363.     esac
  364. fi
  365. }
  366.  
  367. Logn()
  368. {
  369. if [ $EV = "\NULL" ]
  370. then
  371.     OUTPUT=$1
  372.     echo $OUTPUT >> $LOG
  373.     case $OSNAME in
  374.     "Linux" ) echo -n "$OUTPUT" ;;
  375.     "AIX" ) echo -n "$OUTPUT" ;;
  376.     "OSF1" ) echo -n "$OUTPUT" ;;
  377.     "SCO" ) echo -n "$OUTPUT" ;;
  378.     "SOL1" ) echo -n "$OUTPUT" ;;
  379.     "SOL2" ) echo "$OUTPUT\c" ;;
  380.     "HP_UX" ) echo "$OUTPUT\c" ;;
  381.     "IRIX" ) echo "$OUTPUT\c" ;;
  382.     esac
  383. fi
  384. }
  385.  
  386. Log()
  387. {
  388. if [ $EV = "\NULL" ]
  389. then
  390.     OUTPUT=$1
  391.     echo $OUTPUT >> $LOG
  392.     echo $OUTPUT
  393. fi
  394. }
  395.  
  396. Echo()
  397. {
  398. if [ $EV = "\NULL" ]
  399. then
  400.     OUTPUT=$1
  401.     echo $OUTPUT
  402. fi
  403. }
  404.  
  405. Echon()
  406. {
  407. OUTPUT=$1
  408. case $OSNAME in
  409. "Linux" ) echo -n "$OUTPUT" ;;
  410. "AIX" ) echo -n "$OUTPUT" ;;
  411. "OSF1" ) echo -n "$OUTPUT" ;;
  412. "SOL1" ) echo -n "$OUTPUT" ;;
  413. "SOL2" ) echo "$OUTPUT\c" ;;
  414. "HP_UX" ) echo "$OUTPUT\c" ;;
  415. "IRIX" ) echo "$OUTPUT\c" ;;
  416. "SCO" ) echo -n "$OUTPUT" ;
  417. esac
  418. }
  419.  
  420. CheckLogFile()
  421. {
  422. if [ -f $LOG'.old' ]
  423. then
  424.     RemoveFileNo $LOG'.old'
  425. fi
  426.  
  427. if [ -f $LOG ]
  428. then
  429.     MoveFileNo $LOG $LOG'.old'
  430. fi
  431. }
  432.  
  433. LocateMedia()
  434. {
  435.  
  436. case $MT in
  437. "cd" ) case $CASE in
  438.     "any" | "upper" ) case "$OSNAME" in 
  439.             "SOL1" )  DNME='SOL1' ;;
  440.             "SOL2" ) DNME='SOL2' ;;
  441.             "HP_UX" ) DNME='HP_UX' ;;
  442.             "OSF1" ) DNME='OSF1' ;;
  443.             "IRIX" ) DNME='IRIX' ;;
  444.             "SCO" ) DNME='SCO' ;;
  445.             "AIX" ) DNME='AIX' ;;
  446.             "Linux" ) DNME='LINUX' ;;
  447.             esac
  448.             CDDIR=$MP'/'$CDN'/'$DNME'BX351' ;;
  449.     "lower" ) case $OSNAME in
  450.         "SOL1" )  DNME='sol1' ;;
  451.         "SOL2" ) DNME='sol2' ;;
  452.         "HP_UX" ) DNME='hp_ux' ;;
  453.         "OSF1" ) DNME='osf1' ;;
  454.         "IRIX" ) DNME='irix' ;;
  455.         "SCO" ) DNME='sco' ;;
  456.         "AIX" ) DNME='aix' ;;
  457.         "Linux" ) DNME='linux' ;;
  458.         esac
  459.         CDDIR=$MP'/'$CDN'/'$DNME'bx351' ;;
  460.     esac ;;
  461. "tape" ) CDDIR=$MP ;;
  462. esac
  463.  
  464. SetTarFiles
  465. }
  466.  
  467. MediaHelp()
  468. {
  469. Clear
  470.  
  471. echo ""
  472. echo "Enter the mount point of the CD that contains the $LDN distribution."
  473.  
  474. if [ $EV != "\NULL" ]
  475. then
  476.     echo ""
  477.     echo "[Q]uit : Will cause this script to exit. The $ED $EV install"
  478.     echo "will go on to load the next piece of the $ED $EV distribution."
  479.     echo ""
  480.     echo "[A]bort : Will cause $ED $EV loading to exit."
  481. else
  482.     echo ""
  483.     echo "[A]bort : Will cause this script to exit."
  484. fi
  485.  
  486. echo ""
  487. echo "[H]elp : Displays this help information."
  488.  
  489. AwaitEnter
  490. Clear
  491. Media
  492. }
  493.  
  494. Media()
  495. {
  496. Echo ""
  497. case $MT in
  498. "cd" ) Echo "Enter the mount point for the $LDN CD-ROM,"
  499.     Echo "[Q]uit loading $SN, or [H]elp?" ;;
  500. "tape" ) Echo "Enter the device name where the $LDN media is loaded,"
  501.     Echo "[Q]uit loading $SN, or [H]elp?";;
  502. esac
  503.  
  504. Echo ""
  505. Echon "[ $MP ] : "
  506. read RESP
  507.  
  508. case $EV in
  509. "\NULL" ) case $RESP in
  510.     [aA] ) Terminated 1 ;;
  511.     [qQ] ) Terminated 2 ;;
  512.     [hH] ) MediaHelp ;;
  513.     [a-zA-Z0-9/_]* ) MP=$RESP;;
  514.     * ) ;;
  515.     esac ;;
  516. * ) case "$RESP" in
  517.     [qQ] ) Terminated 2 ;;
  518.     [hH] ) MediaHelp ;;
  519.     [a-zA-Z0-9/_]* ) MP=$RESP;;
  520.     * ) ;;
  521.     esac ;;
  522. esac
  523.  
  524. SPACES=`echo $MP | awk '{print $2}'`
  525. if [ "X" != "${SPACES}X" ]
  526. then
  527.     Clear
  528.     Echo ""
  529.     Echo "$MP does not exist. Please try again."
  530.     Media
  531. else
  532.     LocateMedia
  533.     if [ ! -d $CDDIR ]   #if we didn't see the CD try lowercase names
  534.     then
  535.         TMPCASE=$CASE
  536.         TMPCDDIR=$CDDIR
  537.         CASE='lower'
  538.         SetCDN
  539.         LocateMedia
  540.         if [ ! -d $CDDIR ] # try looking for the uppercase names
  541.         then
  542.             CASE='upper'
  543.             SetCDN
  544.             LocateMedia
  545.             if [ ! -d $CDDIR ] #didn't see either case so restore
  546.             then
  547.                 CASE=$TMPCASE
  548.                 CDDIR=$TMPCDDIR
  549.                 SetCDN
  550.                 LocateMedia
  551.             fi
  552.         fi
  553.     fi
  554. fi
  555. }
  556.  
  557. FindMedia()
  558. {
  559. case $MT in
  560. "cd" ) while [ ! -d $CDDIR ]
  561.     do
  562.     Echo ""
  563.     Logn "Cannot locate $LDN on $MP."
  564.     Echo ""
  565.     Media
  566.     done ;;
  567. "tape" ) while [ ! -c $CDDIR ]
  568.     do
  569.     Echo ""
  570.     Logn "Cannot locate $LDN on $MP."
  571.     Echo ""
  572.     Media
  573.     done ;;
  574. esac
  575.  
  576. Log ""
  577. Log "The $LDN distribution was found on $MP."
  578. AwaitEnter
  579. }
  580.  
  581.  
  582. DirectoryHelp()
  583. {
  584. Clear
  585.  
  586. echo ""
  587. if [ $EV != "\NULL" ]
  588. then
  589. echo "Please enter the directory where you want to load the $SN piece"
  590. echo "of the $ED $EV distribution."
  591. else
  592. echo "Please enter the directory where you want to load $SN"
  593. fi
  594. echo ""
  595. echo "Press 'h' followed by return to access this help screen."
  596.  
  597. if [ $EV != "\NULL" ]
  598. then
  599.     echo ""
  600.     echo "Press 'q' to quit when prompted. The $ED $EV install will go on to load"
  601.     echo "the next piece of the $ED $EV distribution."
  602.     echo ""
  603.     echo "Press 'a' to exit $ED $EV distribution loading."
  604. else
  605.     echo ""
  606.     echo "Press 'q' to exit the $LS script."
  607. fi
  608.  
  609. AwaitEnter
  610. Clear
  611. Directory
  612. }
  613.  
  614. UseAbsolutePathnames()
  615. {
  616. Clear
  617. Echo ""
  618. Echo "Please use absolute pathnames only."
  619. Directory
  620. }
  621.  
  622. HandleDistAlreadyInstalledHelp()
  623. {
  624. Clear
  625.  
  626. echo ""
  627. echo "The $LDN has been located on `hostname`."
  628.  
  629. echo "Press 'w' to overwrite the $ABN distribution in"
  630. echo "$TD with the one from your $ABN media."
  631. echo "This will cause the $ABN in $TD to be replaced."
  632.  
  633. echo ""
  634. echo "Press 's' to specify another directory to load $SN"
  635.  
  636. echo ""
  637. echo "Press 'h' to access this help screen."
  638.  
  639. if [ $EV != "\NULL" ]
  640. then
  641.     echo ""
  642.     echo "Press 'q' to quit when prompted. The $ED $EV install will go on to load"
  643.     echo "the next piece of the $ED $EV distribution."
  644.     echo ""
  645.     echo "Press 'a' to exit $ED $EV distribution loading."
  646. else
  647.     echo ""
  648.     echo "Press 'q' to exit the $LS script."
  649. fi
  650.  
  651. echo ""
  652. echo "If you specify 'w' files in $TD will be replaced"
  653. echo "If you still choose this option we strongly"
  654. echo "recommend backing up $TD."
  655. echo ""
  656. echo "We suggest [S]pecifying a new directory in case you need to"
  657. echo "switch between revisions of the $ABN distribution."
  658.  
  659. AwaitEnter
  660. Clear
  661. HandleDistAlreadyInstalled
  662. }
  663.  
  664. HandleDistAlreadyInstalled()
  665. {
  666. Log ""
  667. Log "Do you wish to :"
  668. Log "[W]rite over the $ABN in $TD with $SN,"
  669. Log "[S]pecify a new directory to load $SN,"
  670. if [ $EV != "\NULL" ]
  671. then
  672. Log "[Q]uit loading $SN, [A]bort loading $ED $EV, or [H]elp?"
  673. else
  674. Log "[Q]uit, or [H]elp?"
  675. fi
  676. echo ""
  677. Logn "[ Specify new directory ] : "
  678. read ANSWER
  679.  
  680. case $ANSWER in
  681. [aA] ) if [ $EV != "\NULL" ]
  682.     then
  683.         Terminated 1 
  684.     else
  685.         HandleDistAlreadyInstalled
  686.     fi ;;
  687. [qQ] ) Terminated 2 ;;
  688. [sS] ) Clear ; Directory ;;
  689. [hH] ) HandleDistAlreadyInstalledHelp ;;
  690. [wW] ) FOUNDDIR="1" ;;
  691. [b-gB-Gi-vI-Vx-zX-Z0-9]* ) HandleDistAlreadyInstalled ;;
  692. * ) Clear ; Directory ;;
  693. esac
  694. }
  695.  
  696. PreviousInstallation()
  697. {
  698. Clear
  699. echo ""
  700. Log "A version of $ABN exists in $TD."
  701. HandleDistAlreadyInstalled
  702. }
  703.  
  704. CheckForExistingDistribution()
  705. {
  706. if [ $FOUNDDIR = "0" ]
  707. then
  708. CFILE=$TD'/'$LIB
  709.  
  710. case $OSNAME in 
  711. "Linux" ) if [ -L $CFILE ] || [ -f $CFILE ]
  712.     then
  713.         PreviousInstallation
  714.     fi ;;
  715. "AIX" ) if [ -L $CFILE ] || [ -f $CFILE ]
  716.     then
  717.         PreviousInstallation
  718.     fi ;;
  719. "OSF1" ) if [ -c $CFILE ] || [ -f $CFILE ]
  720.      then
  721.          PreviousInstallation
  722.      fi ;;
  723. "SOL1" ) if [ -h $CFILE ] || [ -f $CFILE ]
  724.     then
  725.         PreviousInstallation
  726.     fi ;;
  727. "SOL2" ) if [ -h $CFILE ] || [ -f $CFILE ]
  728.     then
  729.         PreviousInstallation
  730.     fi ;;
  731. "HP_UX" ) if [ -h $CFILE ] || [ -f $CFILE ]
  732.     then
  733.         PreviousInstallation
  734.     fi ;;
  735. "IRIX" ) if [ -h $CFILE ] || [ -f $CFILE ]
  736.     then
  737.         PreviousInstallation
  738.     fi ;;
  739. "SCO" ) if [ -h $CFILE ] || [ -f $CFILE ]
  740.     then
  741.         PreviousInstallation
  742.     fi ;;
  743. esac
  744. fi
  745. }
  746.  
  747. CheckForExistingBXDistribution()
  748. {
  749. FOUNDBX='0'
  750. CFILE=$TD'/bin/bx'
  751. if [ -x $CFILE ]
  752. then
  753.     if $CFILE -version 2>&1 | grep $EVERS > /dev/null
  754.     then
  755.         FOUNDBX='1'
  756.     fi
  757. else
  758.     Clear
  759.     Echo ""
  760.     Echo "Unfortunately BX does not reside in $TD."
  761. #    Echo "Unfortunately the BX in $TD is not an executable."
  762.     Directory
  763. fi
  764. }
  765.  
  766. Directory()
  767. {
  768. if [ $DIRPASSEDIN = "1" ]
  769. then
  770.     DIRPASSEDIN='0'
  771.     DirectoryExistsCheck
  772. else
  773. DXMessage
  774. Echo ""
  775. if [ $EV != "\NULL" ]
  776. then
  777. echo "Enter the directory where you want the $LDN"
  778. echo "distribution loaded.  [Q]uit loading the $LDN"
  779. echo "distribution, [A]bort loading & linking $ED $EV, or [H]elp?"
  780. else
  781. Echo "Enter the directory name where you want the $LDN" 
  782. Echo "distribution loaded to, [Q]uit, or [H]elp?"
  783. fi
  784.  
  785. Echo ""
  786. Echon "[ $TD ] : "
  787. read RESP
  788.  
  789. case $EV in
  790. "\NULL" ) case $RESP in
  791.     [qQ] ) Terminated 1 ;;
  792.     [hH] ) DirectoryHelp ;;
  793.     "/" ) TD=$RESP ;;
  794.     /[a-zA-Z0-9/_]* ) TD=$RESP ;;
  795.     [a-zA-Z0-9/_]* ) UseAbsolutePathnames ;;
  796.     [.]* ) UseAbsolutePathnames ;;
  797.     * ) ;;
  798.     esac ;;
  799. * ) case $RESP in
  800.     [aA] ) Terminated 1 ;;
  801.     [qQ] ) Terminated 2 ;;
  802.     [hH] ) DirectoryHelp ;;
  803.     "/" ) TD=$RESP ;;
  804.     /[a-zA-Z0-9/_]* ) TD=$RESP ;;
  805.     [a-zA-Z0-9/_]* ) UseAbsolutePathnames ;;
  806.     [.]* ) UseAbsolutePathnames ;;
  807.     * ) ;;
  808.     esac ;;
  809. esac
  810.  
  811. SPACES=`echo $TD | awk '{print $2}'`
  812. if [ "X" != "${SPACES}X" ]
  813. then
  814.     Clear
  815.     Echo ""
  816.     Echo "Cannot find the directory $TD. Please try again."
  817.     Directory
  818. else
  819.     DirectoryExistsCheck
  820. fi
  821. fi
  822. }
  823.  
  824. DirectoryExistsCheck()
  825. {
  826. if [ ! -d $TD ]
  827. then
  828.     if [ $AN = "DXORA" ] || [ $AN = "DXSYB" ]
  829.     then
  830.         Clear
  831.         Directory
  832.     else
  833.         ToCreateDirectory
  834.     fi
  835.     else
  836.     if [ $AN = "DXORA" ] || [ $AN = "DXSYB" ]
  837.     then
  838.         CheckForExistingBXDistribution
  839.         if [ $FOUNDBX = "1" ]
  840.         then
  841.             CheckForExistingDistribution
  842.         fi
  843.     else
  844.         CheckForExistingDistribution
  845.     fi
  846. fi
  847. }
  848.  
  849. DirectoryConfirmation()
  850. {
  851. Echo ""
  852. echo "NEW_DIR_FROM_HM11 $TD" >> $LOG
  853.  
  854. Log "The $LDN will be loaded into"
  855. Log "$TD."
  856. AwaitEnter
  857. }
  858.  
  859. DirectoryWriteCheck()
  860. {
  861. CheckWritePermissions $TD/$LS.$$
  862.  
  863. if [ $TOUCHER != "0" ]
  864. then
  865.     Echo ""
  866.     Echo "The $SN cannot be loaded into $TD"
  867.     Echo "due to write access permissions."
  868.     Directory
  869. fi
  870. }
  871.  
  872. ToCreateDirectoryHelp()
  873. {
  874. Clear
  875.  
  876. echo "We are asking if you would like us to create the directory"
  877. echo "$TD for the $SN distribution."
  878.  
  879. echo ""
  880. echo "Press 'y' followed by return to create $TD."
  881.  
  882. echo ""
  883. echo "Press 'n' followed by return to be prompted for a new directory"
  884.  
  885. echo ""
  886. echo "Press 'h' followed by return to display this help information."
  887.  
  888. if [ $EV != "\NULL" ]
  889. then
  890.     echo ""
  891.     echo "Press 'q' to quit when prompted. The $ED $EV install will go on to load"
  892.     echo "the next piece of the $ED $EV distribution."
  893.     echo ""
  894.     echo "Press 'a' to exit $ED $EV distribution loading."
  895. else
  896.     echo ""
  897.     echo "Press 'q' to exit the $LS script."
  898. fi
  899.  
  900. AwaitEnter
  901. ToCreateDirectory
  902. }
  903.  
  904. ToCreateDirectory()
  905. {
  906. Clear
  907. echo ""
  908. echo "The directory $TD does not exist."
  909. if [ $EV != "\NULL" ]
  910. then
  911. echo "Do you want to create $TD [Y/N],"
  912. echo "[Q]uit loading the $LDN distribution,"
  913. echo "[A]bort loading $ED $EV, or [H]elp?"
  914. else
  915. echo "Do you want to create $TD [Y/N],"
  916. echo "[Q]uit, or [H]elp?"
  917. fi
  918.  
  919. echo ""
  920. Echon "[ Y ] : "
  921. read ANSWER
  922.  
  923. case $EV in
  924. "\NULL" ) case $ANSWER in
  925.     [qQ] ) Terminated 1 ;;
  926.     [yY] ) CreateDirectory $TD ;;
  927.     [nN] ) Clear; Directory ;;
  928.     [hH] ) ToCreateDirectoryHelp ;;
  929.     [a-zA-Z0-9]* ) ToCreateDirectory ;;
  930.     * ) CreateDirectory $TD ;;
  931.     esac ;;
  932. * ) case "$ANSWER" in
  933.     [aA] ) Terminated 1 ;;
  934.     [qQ] ) Terminated 2 ;;
  935.     [yY] ) CreateDirectory $TD ;;
  936.     [nN] ) Clear ; Directory ;;
  937.     [hH] ) ToCreateDirectoryHelp ;;
  938.     [a-zA-Z0-9]* ) ToCreateDirectory ;;
  939.     * ) CreateDirectory $TD ;;
  940.     esac;;
  941. esac
  942. }
  943.  
  944. CheckErrors()
  945. {
  946. if [ $MVER = "1" ]
  947. then
  948.     Echo ""
  949.     Log "-There were problems encountered moving files."
  950.     ERR='1'
  951. fi
  952.  
  953. if [ $RMER = "1" ]
  954. then
  955.     Echo ""
  956.     Log "-There were problems encountered removing files."
  957.     ERR='1'
  958. fi
  959.  
  960. if [ $MKDER = "1" ]
  961. then
  962.     Echo ""
  963.     Log "-There were problems encountered creating directories."
  964.     ERR='1'
  965. fi
  966.  
  967. if [ $CHMODER = "1" ]
  968. then
  969.     Echo ""
  970.     Log "-There were problems encountered changing permissions."
  971.     ERR='1'
  972. fi
  973.  
  974. if [ $ZCATER = "1" ]
  975. then
  976.     Echo ""
  977.     Log "-There were problems uncompressing the $LDN"
  978.     Log "distribution in the directory $TD due to permissions."
  979.     ERR='1'
  980. fi
  981.  
  982. if [ $TARER = "1" ]
  983. then
  984.     Echo ""
  985.     Log "-There were problems untarring the $LDN distribution."
  986.     ERR='1'
  987. fi
  988.  
  989. if [ $ZCATER = "1" ] && [ $TARER = "1" ]
  990. then
  991.     Echo ""
  992.     Log "The untar problems were due to uncompression failure."
  993.     ERR='1'
  994. fi
  995. }
  996.  
  997. Closing()
  998. {
  999. CheckErrors
  1000.  
  1001. if [ $ERR = "0" ]
  1002. then
  1003.     Echo ""
  1004.     Log "$LDN distribution Load Finished"
  1005.     Log "- `hostname` `date`."
  1006. else
  1007.     Log ""
  1008.     Log "We recommend examining the permissions on $TD"
  1009.     
  1010.     if [ $WHOAMI != "root" ]
  1011.     then
  1012.         Log "and executing $MP/$LS as root."
  1013.     else
  1014.         Log "and executing $MP/$LS again."
  1015.     fi
  1016. fi
  1017.  
  1018. Message
  1019. Exit $ERR
  1020. }
  1021.  
  1022. Terminated()
  1023. {
  1024. SAFE=$1
  1025. Clear
  1026. if [ $EV = "\NULL" ]
  1027. then
  1028. Log ""
  1029. Log "$LDN distribution Load Terminated"
  1030. Log "- `hostname` `date`."
  1031. Log ""
  1032. Log "Warning: You will need to complete the $LS script to"
  1033. Log "sucessfully load the $LDN distribution."
  1034. Message
  1035. fi
  1036. Exit $1
  1037. }
  1038.  
  1039. Exit()
  1040. {
  1041. exit $1
  1042. }
  1043.  
  1044. MoveFileNo()
  1045. {
  1046. $MV $1 $1.old
  1047. ER=$?
  1048. #Log "MV RETURN CODE -> $ER"
  1049. if [ $ER != "0" ]
  1050. then
  1051. MVER=$ER
  1052. DetermineUID
  1053. fi
  1054. }
  1055.  
  1056. RemoveFileNo()
  1057. {
  1058. $RM $1
  1059. ER=$?
  1060. #Log "RM RETURN CODE -> $ER"
  1061. if [ $ER != "0" ]
  1062. then
  1063. RMER=$ER
  1064. DetermineUID
  1065. fi
  1066. }
  1067.  
  1068. CheckWritePermissions()
  1069. {
  1070. TOUCHER='0'
  1071. SAVE=$1
  1072. $TOUCH $SAVE
  1073. ER=$?
  1074. #Log "TOUCH RETURN CODE -> $ER"
  1075. if [ $ER != "0" ]
  1076. then
  1077.     TOUCHER=$ER
  1078.     DetermineUID
  1079. else
  1080.     RemoveFileNo $1
  1081. fi
  1082. }
  1083.  
  1084. CreateDirectory()
  1085. {
  1086. SAVE=$1
  1087. $MKDIR $SAVE
  1088.  
  1089. echo "NEW_DIR_FROM_HM11 $SAVE" >> $LOG
  1090.  
  1091. ER=$?
  1092. #Log "MKDIR RETURN CODE -> $ER"
  1093. MKDER=$ER
  1094. if [ $ER != "0" ]
  1095. then
  1096.     DetermineUID
  1097. fi
  1098. }
  1099.  
  1100. MakeLink()
  1101. {
  1102. SAVE=$1
  1103. SAVE2=$2
  1104.  
  1105. case $OSNAME in
  1106. "AIX" )  if [ -L $2 ]
  1107.     then
  1108.         rm $2
  1109.     fi ;;
  1110. "OSF1" )  if [ -e $2 ]
  1111.     then
  1112.         rm $2
  1113.     fi ;;
  1114. "SOL2" | "SOL1" | "HP_UX" | "Linux" | "SCO" )  if [ -h $2 ]
  1115.                         then
  1116.                             rm $2
  1117.                         fi ;;
  1118. "IRIX" )  if [ -l $2 ]
  1119.     then
  1120.         rm $2
  1121.     fi ;;
  1122. esac
  1123.  
  1124. $LN $SAVE $SAVE2
  1125. ER=$?
  1126. #Log "LINK RETURN CODE -> $ER"
  1127. if [ "$ER" != "0" ]
  1128. then
  1129.     LNER=$ER
  1130.     DetermineUID
  1131. fi
  1132. }
  1133.  
  1134. LoadDirectoryPreamble()
  1135. {
  1136. Clear
  1137. Echo ""
  1138. Echo "Enter the directory for the $LDN distribution."
  1139. }
  1140.  
  1141. FindMediaPreamble()
  1142. {
  1143. Clear
  1144. Echo ""
  1145. Echo "This script attempts to locate the $LDN"
  1146. Echo "$MT in $MP. If unsuccessful you will be prompted for"
  1147. Echo "another location."
  1148. }
  1149.  
  1150. DecryptionKeyPreamble()
  1151. {
  1152. Clear
  1153. Echo ""
  1154. Echo "Please enter your $LDN decryption key."
  1155. Echo ""
  1156. Echo "If you want to load an evaluation version of $SN press return at the"
  1157. Echo "decryption key prompt."
  1158. Echo ""
  1159. Echo "If you are loading the release version of $SN then enter the decryption"
  1160. Echo "key as it appears in the document '$SN Decryption Key Information'"
  1161. Echo "enclosed with this distribution."
  1162. Echo ""
  1163. Echo "If you are loading the release version of $SN and you cannot locate the"
  1164. Echo "'$SN Decryption Key Information' document please email ICS Technical "
  1165. Echo "Support at support@ics.com or call 617-621-0060."
  1166. }
  1167.  
  1168. CheckDecryptionKey()
  1169. {
  1170. if [ -f $CDDIR'/detar' ]
  1171. then
  1172.     if $CDDIR/detar -auth $KEY 
  1173.     then
  1174.         AUTHRESULT="0"
  1175.     fi
  1176. elif [ -f $CDDIR'/DETAR' ]
  1177. then
  1178.     if $CDDIR/DETAR -auth $KEY 
  1179.     then
  1180.         AUTHRESULT="0"
  1181.     fi
  1182. fi
  1183.  
  1184. if [ $AUTHRESULT != "0" ]
  1185. then
  1186.     Echo ""
  1187.     Echo "$KEY is an invalid key."
  1188. fi
  1189. }
  1190.  
  1191. DecryptionKeyHelp()
  1192. {
  1193. DecryptionKeyPreamble
  1194. AwaitEnter
  1195. Clear
  1196. }
  1197.  
  1198. DecryptionKey()
  1199. {
  1200. AUTHRESULT='1'
  1201. KEY=`echo $KEY | awk '{print $1}'`
  1202. if [ "X" != "${KEY}X" ]
  1203. then
  1204.     CheckDecryptionKey
  1205. fi
  1206.  
  1207. while [ $AUTHRESULT != "0" ]
  1208. do
  1209.     echo ""
  1210.     echo "Enter your $SN decryption key, press <return> to load an evaluation"
  1211.     Echon "version of $SN, [H]elp, or [Q]uit : "
  1212.  
  1213.     read RESP
  1214.  
  1215.     case $RESP in
  1216.     "" ) KEY=$RESP; AUTHRESULT='0' ;;
  1217.     [qQ] ) Terminated 1 ;;
  1218.     [hH] ) DecryptionKeyHelp ;;
  1219.     [a-zA-Z0-9/_]* ) KEY=$RESP ;;
  1220.     esac
  1221.  
  1222.     SPACES=`echo $KEY | awk '{print $2}'`
  1223.     if [ "X" != "${SPACES}X" ]
  1224.     then
  1225.         Clear
  1226.         echo ""
  1227.         echo "$KEY is an invalid key."
  1228.         echo "Decryption keys are 13 Uppercase characters with no spaces."
  1229.     else
  1230.         if [ $AUTHRESULT != '0' ]
  1231.         then
  1232.             if [ $RESP != 'h' ] || [ $RESP != 'H' ] # help not chosen 
  1233.             then
  1234.                 CheckDecryptionKey
  1235.             fi
  1236.         fi
  1237.     fi
  1238. done
  1239. }
  1240.  
  1241. MakeLinksPreamble()
  1242. {
  1243. Clear
  1244. Echo ""
  1245. Echo "Do you wish to create symbolic links that make the $SN"
  1246. Echo "loaded to $TD the default $LDN"
  1247. Echo "on `$HOSTNAME`?"
  1248. Echo ""
  1249. Echo "If you wish to make links at at later time you can execute the"
  1250. Echo "script $TD/$MLS."
  1251. Echo ""
  1252. Echo "If you wish to create these symbolic links by hand refer to the section"
  1253. Echo "'Making Links By Hand' in the $SN Installation Notes."
  1254. }
  1255.  
  1256. MakeLinksHelp()
  1257. {
  1258. MakeLinksPreamble
  1259. if [ $MULTIPLESETS = "1" ]
  1260. then
  1261. Echo ""
  1262. Echo "The sets that you select will be symbolically linked to directories"
  1263. Echo "under /."
  1264. Echo ""
  1265. Echo "To select a $SN set enter the number corresponding to that set"
  1266. Echo "followed by return."
  1267. Echo ""
  1268. Echo "To unselect a $SN set enter the number corresponding to that set"
  1269. Echo "followed by return."
  1270. Echo ""
  1271. Echo "When you are finished selecting/unselecting press <return> to continue."
  1272. else
  1273. Echo ""
  1274. Echo "The symbolic links will be created from directories under /."
  1275. Echo ""
  1276. Echo "Press 'y' followed by return to create these symbolic links."
  1277. Echo ""
  1278. Echo "Press 'n' followed by return to keep from creating these symbolic links."
  1279. fi
  1280. Echo ""
  1281. Echo "Press 'h' followed by return to access this help screen."
  1282. Echo ""
  1283. Echo "Press 'q' followed by return to quit the $LS script."
  1284. AwaitEnter
  1285. Clear
  1286. }
  1287.  
  1288. MakeLinks()
  1289. {
  1290. PROMPT=1
  1291. LINKDOC='0'
  1292. LINKLIB='0'
  1293. while [ $PROMPT = "1" ]
  1294. do
  1295. case $MULTIPLESETS in
  1296. "1" ) Echo ""
  1297.     Echo "Please select the number of the $SN set(s) you wish to link :"
  1298.     Echo ""
  1299.  
  1300.     if [ $LOADLIB = "1" ]
  1301.     then
  1302.     case $LINKLIB in
  1303.     "0" ) echo "   1. $SN libraries and include files" ;;
  1304.     "1" ) echo " * 1. $SN libraries and include files" ;;
  1305.     esac
  1306.     fi
  1307.  
  1308.     if [ $LOADDOC = "1" ]
  1309.     then
  1310.     case $LINKDOC in
  1311.     "0" ) echo "   2. $SN man pages" ;;
  1312.     "1" ) echo " * 2. $SN man pages" ;;
  1313.     esac
  1314.     fi
  1315.  
  1316.     if [ $LOADLIB = "1" ] && [ $LOADDOC = "1" ]
  1317.     then
  1318.     if [ $LINKLIB = "1" ] && [ $LINKDOC = "1" ]
  1319.     then
  1320.         echo " * 3. All $SN sets"
  1321.     else
  1322.         echo "   3. All $SN sets"
  1323.     fi
  1324.     fi
  1325.  
  1326.     Echo ""
  1327.     Echo "Enter the number corresponding to the set to select/unselect,"
  1328.     Echo "[H]elp, [Q]uit loading the $LDN distribution,"
  1329.     Echon "or press <return> when finished selecting : "
  1330.  
  1331.     read RESP
  1332.  
  1333.     case $RESP in
  1334.     [qQ] ) Terminated 1 ;;
  1335.     [hH] ) MakeLinksHelp ;;
  1336.     "1" ) Clear
  1337.         if [ $LOADLIB = "1" ]
  1338.         then
  1339.         case $LINKLIB in
  1340.         "0" ) LINKLIB='1' ;;
  1341.         "1" ) LINKLIB='0' ;;
  1342.         esac
  1343.         fi ;;
  1344.     "2" ) Clear
  1345.         if [ $LOADDOC = "1" ]
  1346.         then
  1347.         case $LINKDOC in
  1348.         "0" ) LINKDOC='1' ;;
  1349.         "1" ) LINKDOC='0' ;;
  1350.         esac
  1351.         fi;;
  1352.     "3" ) Clear
  1353.         if [ $LOADLIB = "1" ] && [ $LOADDOC = "1" ]
  1354.         then
  1355.             if [ $LINKLIB = "1" ] && [ $LINKDOC = "1" ]
  1356.             then
  1357.                 LINKLIB='0' ; LINKDOC='0' ;
  1358.             else
  1359.                 LINKLIB='1' ; LINKDOC='1' ;
  1360.             fi
  1361.         fi ;;
  1362.     [a-zA-Z0-9]* ) Clear ;;
  1363.     * ) PROMPT='0' ;;
  1364.     esac ;;
  1365. "0" ) echo ""
  1366.     echo "Do you want us to create symbolic links that will make the"
  1367.     echo "$LDN that's loaded into $TD"
  1368.     echo "the default $ABN on `hostname` [Y/N], [H]elp, or [Q]uit?"
  1369.     Echo ""
  1370.     Echon "[ Y ] : "
  1371.     read RESP
  1372.  
  1373.     case $RESP in
  1374.     [qQ] ) Terminated 1 ;;
  1375.     [hH] ) MakeLinksHelp ;;
  1376.     [yY] ) LINKLIB='1'; PROMPT='0' ;;
  1377.     [nN] ) LINKLIB='0'; PROMPT='0' ;;
  1378.     [a-gA-Gi-mI-Mo-pO-Pr-zR-Z0-9]* ) Clear ; Echo ""
  1379.          Echo "Please select from the available choices." ;;
  1380.     * ) LINKLIB='1'; PROMPT='0' ;;
  1381.     esac ;;
  1382. esac
  1383. done
  1384.  
  1385. if [ $LINKLIB = "1" ] || [ $LINKDOC = "1" ]
  1386. then
  1387.     MAKELINKS='1'
  1388. else
  1389.     MAKELINKS='0'
  1390. fi
  1391.  
  1392. }
  1393.  
  1394. FlexLMPreamble()
  1395. {
  1396. Clear
  1397. Echo ""
  1398. Echo "The $LDN requires Flexible License Manager Software."
  1399. Echo ""
  1400. Echo "If you already have FlexLM $OFLEXLMV installed for another product than you"
  1401. Echo "do not need to install the FlexLM software that comes with this $SN"
  1402. Echo "distribution. Otherwise you will need to as $SN requires FlexLM $OFLEXLM."
  1403. Echo ""
  1404. Echo "If you decide to install FlexLM at a later time you can execute"
  1405. Echo "$TD/install.lm."
  1406. }
  1407.  
  1408. FlexLMHelp()
  1409. {
  1410. FlexLMPreamble
  1411. Echo ""
  1412. Echo "Press 'y' followed by return to install the Flexible License Manager."
  1413. Echo ""
  1414. Echo "Press 'n' followed by return to keep from installing the Flexible"
  1415. Echo "License Manager"
  1416. Echo ""
  1417. Echo "Press 'h' followed by return to access this help screen."
  1418. Echo ""
  1419. Echo "Press 'q' followed by return to quit the $LS script."
  1420. AwaitEnter
  1421. Clear
  1422. }
  1423.  
  1424. FlexLM()
  1425. {
  1426. PROMPT='1'
  1427. IFLXLM='0'
  1428. while [ $PROMPT = "1" ]
  1429. do
  1430.     Echo ""
  1431.     Echo "Install the Flexible License Manager $OFLEXLMV"
  1432.     Echo "(FlexLM) software [Y/N], [H]elp, or [Q]uit?"
  1433.  
  1434.     Echo ""
  1435.     Echon "[ Y ] : "
  1436.  
  1437.     read RESP
  1438.  
  1439.     case $RESP in
  1440.     [yY] ) PROMPT=0 ; IFLXLM='1' ;;
  1441.     [nN] ) PROMPT=0 ; IFLXLM='0' ;;
  1442.     [qQ] ) Terminated 1 ;;
  1443.     [hH] ) FlexLMHelp ;;
  1444.     [b-gB-Gi-mI-Mo-pO-Pr-z-R-Z0-9]* ) Clear
  1445.          Echo "" ; Echo "Please select an available option." ;;
  1446.     * ) PROMPT=0 ; IFLXLM='1' ;;
  1447.     esac
  1448. done
  1449. }
  1450.  
  1451. LMKeyPreamble()
  1452. {
  1453. Clear
  1454. Echo ""
  1455. Echo "The $LDN requires a Flexible License Manager Key."
  1456. Echo ""
  1457. Echo "$ABN $OREV keys are valid for $SN."
  1458. Echo ""
  1459. Echo "If you have a $ABN $OREV key you will not need to install a new FlexLM"
  1460. Echo "key for $SN."
  1461. Echo ""
  1462. Echo "If you do not have an activation key then read and follow the instructions"
  1463. Echo "on the enclosed document 'The ICS LICENSE MANAGER' to obtain the appropriate"
  1464. Echo "$SN FlexLM activation key."
  1465. Echo ""
  1466. Echo "To install your $SN Flexlm activation key at a later time execute"
  1467. Echo "the script $TD/addlmkey."
  1468. }
  1469.  
  1470. LMKeyHelp()
  1471. {
  1472. LMKeyPreamble
  1473. Echo ""
  1474. Echo "Press 'y' followed by return to install your $SN License Manager"
  1475. Echo "Activation Key."
  1476. Echo ""
  1477. Echo "Press 'n' followed by return to keep from installing a $SN License"
  1478. Echo "License Manager Activation Key."
  1479. Echo ""
  1480. Echo "Press 'h' followed by return to access this help screen."
  1481. Echo ""
  1482. Echo "Press 'q' followed by return to quit the $LS script."
  1483. AwaitEnter
  1484. Clear
  1485. }
  1486.  
  1487. LMKey()
  1488. {
  1489. PROMPT='1'
  1490. IFLXLMKEY='0'
  1491. while [ $PROMPT = "1" ]
  1492. do
  1493.     Echo ""
  1494.     Echo "Do you wish to install your $SN License Manager Activation Key"
  1495.     Echo "[Y/N], [H]elp, or [Q]uit?"
  1496.  
  1497.     Echo ""
  1498.     Echon "[ Y ] : "
  1499.  
  1500.     read RESP
  1501.  
  1502.     case $RESP in
  1503.     [yY] ) PROMPT=0 ; IFLXLMKEY='1' ;;
  1504.     [nN] ) PROMPT=0 ; IFLXLMKEY='0' ;;
  1505.     [qQ] ) Terminated 1 ;;
  1506.     [hH] ) LMKeyHelp ;;
  1507.     [b-gB-Gi-mI-Mo-pO-Pr-z-R-Z0-9]* ) Clear
  1508.          Echo "" ; Echo "Please select an available option." ;;
  1509.     * ) PROMPT=0 ; IFLXLMKEY='1' ;;
  1510.     esac
  1511. done
  1512. }
  1513.  
  1514. ChooseSetsPreamble()
  1515. {
  1516. Clear
  1517. Echo ""
  1518. }
  1519.  
  1520. ChooseSetsHelp()
  1521. {
  1522. ChooseSetsPreamble
  1523. Echo ""
  1524. Echo "The sets that you select will be loaded to $TD."
  1525. Echo ""
  1526. Echo "To select a $SN set enter the number corresponding to that set"
  1527. Echo "followed by return."
  1528. Echo ""
  1529. Echo "To unselect a $SN set enter the number corresponding to that set"
  1530. Echo "followed by return."
  1531. Echo ""
  1532. Echo "When you are finished selecting/unselecting press <return> to continue."
  1533. Echo ""
  1534. Echo "Press 'h' followed by return to access this help screen."
  1535. Echo ""
  1536. Echo "Press 'q' followed by return to quit the $LS script."
  1537. AwaitEnter
  1538. Clear
  1539. }
  1540.  
  1541. ChooseSets()
  1542. {
  1543. PROMPT='1'
  1544. LOADDOC='0'
  1545. LOADLIB='0'
  1546. LOADDEMO='0'
  1547. while [ $PROMPT = "1" ]
  1548. do
  1549. Echo ""
  1550. Echo "Please choose the $SN set(s) you wish to load :"
  1551. Echo ""
  1552. case $LOADLIB in
  1553. "0" ) echo "   1. $LIBSET" ;;
  1554. "1" ) echo " * 1. $LIBSET" ;;
  1555. esac
  1556. case $LOADDEMO in
  1557. "0" ) echo "   2. $DEMOSET" ;;
  1558. "1"  )echo " * 2. $DEMOSET" ;;
  1559. esac
  1560. case $LOADDOC in
  1561. "0" ) echo "   3. $DOCSET" ;;
  1562. "1" ) echo " * 3. $DOCSET" ;;
  1563. esac
  1564. if [ $LOADLIB = "1" ] && [ $LOADDEMO = "1" ] && [ $LOADDOC = "1" ]
  1565. then
  1566.     echo " * 4. All $SN sets    $TOTALSIZE"
  1567. else
  1568.     echo "   4. All $SN sets    $TOTALSIZE"
  1569. fi
  1570.  
  1571. Echo ""
  1572. Echo "Enter the number corresponding to the set to select/unselect,"
  1573. Echo "[H]elp, [Q]uit loading the $LDN distribution,"
  1574. Echon "or press <return> when finished selecting : "
  1575.  
  1576. read RESP
  1577.  
  1578. case $RESP in
  1579. [qQ] ) Terminated 1 ;;
  1580. [hH] ) ChooseSetsHelp ;;
  1581. "1" ) Clear
  1582.     case $LOADLIB in
  1583.     "0" ) LOADLIB='1' ;;
  1584.     "1" ) LOADLIB='0' ;;
  1585.     esac;;
  1586. "2" ) Clear
  1587.     case $LOADDEMO in
  1588.     "0" ) LOADDEMO='1' ;;
  1589.     "1" ) LOADDEMO='0' ;;
  1590.     esac;;
  1591. "3" ) Clear
  1592.     case $LOADDOC in
  1593.     "0" ) LOADDOC='1' ;;
  1594.     "1" ) LOADDOC='0' ;;
  1595.     esac;;
  1596. "4" ) Clear
  1597.     if [ $LOADLIB = "1" ] && [ $LOADDEMO = "1" ] && [ $LOADDOC = "1" ]
  1598.     then
  1599.         LOADLIB='0' ; LOADDEMO='0' ; LOADDOC='0' ;
  1600.     else
  1601.         LOADLIB='1' ; LOADDEMO='1' ; LOADDOC='1' ;
  1602.     fi ;;
  1603. [a-zA-Z0-9]* ) Clear ; Echo "" ; Echo "Please select from the avaliable choices." ;;
  1604. * )    if [ $LOADLIB = "0" ] && [ $LOADDEMO = "0" ] && [ $LOADDOC = "0" ]
  1605.     then
  1606.         Clear
  1607.         Echo ""
  1608.         Echo "You will need to select one of the $SN sets before continuing."
  1609.     else
  1610.         PROMPT='0'
  1611.     fi ;;
  1612. esac
  1613.  
  1614. done
  1615.  
  1616. IFLXLM='0'
  1617. IFLXLMKEY='0'
  1618. }
  1619.  
  1620. ModifyImakePreamble()
  1621. {
  1622. Clear
  1623. Echo ""
  1624. Echo "To properly install $SN you will need to have your Imake Configuration"
  1625. Echo "files updated. "
  1626. Echo ""
  1627. Echo "If you wish to update your Imake Configuration Files by hand you can refer"
  1628. Echo "to the section 'Updating Your Imake Configuration Files' in the $SN"
  1629. Echo "Installation notes."
  1630. }
  1631.  
  1632. ModifyImake()
  1633. {
  1634. PROMPT='1'
  1635. MODIMAKE='0'
  1636. while [ $PROMPT = "1" ]
  1637. do
  1638.     Echo ""
  1639.     Echo "Do you want to update your Imake Configuration Files [Y/N], [H]elp, or [Q]uit?"
  1640.  
  1641.     Echo ""
  1642.     Echon "[ Y ] : "
  1643.  
  1644.     read RESP
  1645.  
  1646.     case $RESP in
  1647.     [yY] ) PROMPT=0 ; MODIMAKE='1' ;;
  1648.     [nN] ) PROMPT=0 ; MODIMAKE='0' ;;
  1649.     [qQ] ) Terminated 1 ;;
  1650.     [hH] ) LMKeyHelp ;;
  1651.     [b-gB-Gi-mI-Mo-pO-Pr-z-R-Z0-9]* ) Clear
  1652.          Echo "" ; Echo "Please select an available option." ;;
  1653.     * ) PROMPT=0 ; MODIMAKE='1' ;;
  1654.     esac
  1655. done
  1656. }
  1657.  
  1658. DoubleCheckHelp()
  1659. {
  1660. Clear
  1661. Echo ""
  1662. Echo "If you are satisfied with the current options press <return>."
  1663. Echo ""
  1664. Echo "Press 'r' to reselect"
  1665. Echo ""
  1666. Echo "Press 'q' to exit $LS"
  1667. Echo ""
  1668. Echo "Press 'h' to access this help screen"
  1669. AwaitEnter
  1670. Clear
  1671. }
  1672.  
  1673. DoubleCheck()
  1674. {
  1675. if [ $ED = "\NULL" ]
  1676. then
  1677.     Clear
  1678.     PROMPT='1'
  1679. else
  1680.     PROMPT=0
  1681.     RESP=''
  1682. fi
  1683.  
  1684. while [ $PROMPT = "1" ]
  1685. do
  1686. Echo ""
  1687. Echo "Before continuing please verify the following :"
  1688.  
  1689. if [ $MULTIPLESETS = "1" ]
  1690. then
  1691.     Echo ""
  1692.     Echo "Load the following $SN sets to $TD :"
  1693.     if [ $LOADLIB = "1" ]
  1694.     then
  1695.         echo "$LIBSET"
  1696.     fi
  1697.     if [ $LOADDEMO = "1" ]
  1698.     then
  1699.         echo "$DEMOSET"
  1700.     fi
  1701.     if [ $LOADDOC = "1" ]
  1702.     then
  1703.         echo "$DOCSET"
  1704.     fi
  1705. else
  1706.     Echo ""
  1707.     Echo "Load $SN to $TD."
  1708. fi
  1709.  
  1710.  
  1711. if [ $REQDECRYPTIONKEY = "1" ] && [ $LOADLIB = "1" ] && [ $MT = "cd" ]
  1712. then
  1713.     Echo ""
  1714.     KEY=`echo $KEY | awk '{print $1}'`
  1715.     if [ "X" != "${KEY}X" ]
  1716.     then
  1717.     Echo "We will decrypt the $SN library with this key :"
  1718.     Echo "$KEY"
  1719.     else
  1720.     Echo "Load the Evaluation Version of $SN."
  1721.     fi
  1722. fi
  1723.  
  1724. if [ $MAKELINKS = '1' ]
  1725. then
  1726. Echo ""
  1727. case $MULTIPLESETS in
  1728. "0" ) Echo "Create symbolic links to $SN in $TD from /usr";;
  1729. "1" )  Echo "Symbolically link the following sets to directories under /usr :"
  1730.     if [ $LINKLIB = "1" ]
  1731.     then
  1732.          Echo "$SN libraries and include files"
  1733.     fi
  1734.  
  1735.     if [ $LINKDOC = "1" ]
  1736.     then
  1737.          Echo "$SN man pages"
  1738.     fi ;;
  1739. esac
  1740. fi
  1741.  
  1742. if [ $REQLMINSTALLATION = "1" ]
  1743. then
  1744.     if [ $IFLXLM = "1" ]
  1745.     then
  1746.         Echo ""
  1747.         Echo "Install the Flexible Licence Manager $OFLEXLMV (FlexLM) software."
  1748.     fi
  1749. fi
  1750.  
  1751. if [ $REQLMKEY = "1" ]
  1752. then
  1753.     if [ $IFLXLMKEY = "1" ]
  1754.     then
  1755.         Echo ""
  1756.         Echo "Install $SN FlexLM Activation Key."
  1757.     fi
  1758. fi
  1759.  
  1760. if [ $MODIFYIMAKE = "1" ] && [ $LOADLIB = "1" ] && [ $MODIMAKE = "1" ]
  1761. then
  1762.     Echo ""
  1763.     Echo "Automatically update your Imake Configuration Files."
  1764. fi
  1765.  
  1766. Echo ""
  1767. Echo "Press <return> to install $SN with these options, [R]eselect,"
  1768. Echon "[H]elp, or [Q]uit : "
  1769. read RESP
  1770.  
  1771. case $RESP in
  1772. [a-gA-Gi-pI-Ps-zS-Z0-9]* ) Clear ; Echo "" ;
  1773.      Echo "Please select from the available options." ;;
  1774. [rR] ) PROMPT=0 ;;
  1775. [hH] ) DoubleCheckHelp ;;
  1776. [qQ] ) Terminated 1 ;;
  1777. * ) PROMPT=0 ;;
  1778. esac
  1779. done
  1780.  
  1781. case $RESP in
  1782. [rR] ) LOADLIB='1' ; LOADDEM0='0' ; LOADDOC='0' ; LINKLIB='0' ; LINKDOC='0' ;
  1783.     MAKELINKS='1' ; FOUNDDIR='0' ; KEY='' ; Main ; break ;;
  1784. "" ) Install ; break ;;
  1785. esac
  1786.  
  1787. }
  1788.  
  1789. LoadPiece()
  1790. {
  1791. SET=$1
  1792.  
  1793. case $SET in
  1794. "LIB" ) SET=$LIBTAR ;;
  1795. "DLIB" ) SET=$DLIBTAR ;;
  1796. "DEMO" ) SET=$DEMOTAR ;;
  1797. "DOC" ) SET=$DOCTAR ;;
  1798. esac
  1799.  
  1800. if [ $TARER = "0" ]
  1801. then #if we were able to load the last piece it's ok to load the next piece
  1802.     case $MT in
  1803.     "cd" )  TAR='tar -xpf -'
  1804.         ZCAT='zcat'
  1805.         if $ZCAT < $CDDIR/$SET | $TAR;
  1806.         then
  1807.             TARER='0'
  1808.         else
  1809.             TARER='1'
  1810.         fi ;;
  1811.     "tape" ) TAR='tar -xpf'
  1812.         if $TAR $CDDIR ./$SET;
  1813.         then
  1814.             TARER='0'
  1815.         else
  1816.             TARER='1'
  1817.         fi ;;
  1818.     esac
  1819. fi
  1820. }
  1821.  
  1822. Install()
  1823.  
  1824. {
  1825. cd $TD # change directory to install directory
  1826. case $ED in
  1827. "\NULL" )  Clear
  1828.     Echo ""
  1829.     Echo "Loading the $LDN distribution."
  1830.     Echo ""
  1831.     Echo "Please wait while we are loading $SN."
  1832.     Echo "When $SN has been loaded you will be prompted. Thank you." ;;
  1833. * ) echo ""
  1834.     echo "Currently loading $SN. Please wait..." ;;
  1835. esac
  1836.  
  1837. if [ $LOADLIB = "1" ]
  1838. then
  1839.     if [ $REQDECRYPTIONKEY = "1" ]
  1840.     then
  1841.         KEY=`echo $KEY | awk '{print $1}'`
  1842.         if [ "X" != "${KEY}X" ]
  1843.         then     # LOAD LIB - valid key entered when prompted
  1844.             LoadPiece LIB
  1845.             if [ $TARER = "0" ] # decrypt if tar ok 
  1846.             then
  1847.                 if [ -f $CDDIR'/detar' ]
  1848.                 then
  1849.                     $CDDIR/detar $TD/$LIB'.enc' $KEY 
  1850.                 elif [ -f $CDDIR'/DETAR' ]
  1851.                 then
  1852.                     $CDDIR/DETAR $TD/$LIB'.enc' $KEY 
  1853.                 fi
  1854.             fi
  1855.         else    # LOAD EVAL LIB - return entered when prompted
  1856.             LoadPiece DLIB
  1857.         fi
  1858.     else # LOADREALLIB - no key needed
  1859.         LoadPiece LIB
  1860.     fi
  1861. fi
  1862. if [ $LOADDEMO = "1" ]
  1863. then 
  1864.     LoadPiece DEMO
  1865. fi
  1866. if [ $LOADDOC = "1" ]
  1867. then
  1868.     LoadPiece DOC
  1869. fi
  1870.  
  1871. #initial post-install processing (i.e. confirmation if successfull )
  1872. if [ $TARER = "0" ]
  1873. then
  1874.     ERR='0'
  1875.     case $MT in
  1876.     "tape" ) if [ $LOADLIB = "1" ]
  1877.         then
  1878.             eval '$MV $TD/$LIBTAR/* $TD'
  1879.             eval '$RMDIR $TD/$LIBTAR'
  1880.         fi
  1881.         if [ $LOADDEMO = "1" ]
  1882.         then
  1883.             eval '$MV $TD/$DEMOTAR/* $TD'
  1884.             eval '$RMDIR $TD/$DEMOTAR'
  1885.                fi
  1886.         if [ $LOADDOC = "1" ]
  1887.         then
  1888.             eval '$MV $TD/$DOCTAR/* $TD'
  1889.             eval '$RMDIR $TD/$DOCTAR'
  1890.         fi ;;
  1891.     esac
  1892.     if [ $ED = "\NULL" ]
  1893.     then
  1894.         echo ""
  1895.         echo "The $LDN distribution has been successfully loaded."
  1896.         AwaitEnter
  1897.     else
  1898.         Exit 0
  1899.     fi
  1900. else
  1901.     if [ $ED = "\NULL" ]
  1902.     then
  1903.         echo ""
  1904.         echo "There were problems loading the $LDN distribution."
  1905.         AwaitEnter
  1906.         Clear
  1907.         Closing
  1908.     else
  1909.         Exit 1
  1910.     fi
  1911. fi
  1912.  
  1913. #post-install processing
  1914. if [ $TARER = "0" ] # we don't need this check (taken care of in Install())
  1915. then             # - but just to make sure
  1916. if [ $SPECIALLINKS = "1" ]
  1917. then
  1918.     case $AN in
  1919.     "BX" | "DXORA" | "DXSYB" ) MakeLink $TD/bin/lmutil $TD/bin/lmdown
  1920.             MakeLink $TD/bin/lmutil $TD/bin/lmhostid
  1921.             MakeLink $TD/bin/lmutil $TD/bin/lmremove
  1922.              MakeLink $TD/bin/lmutil $TD/bin/lmreread
  1923.             MakeLink $TD/bin/lmutil $TD/bin/lmstat ;;
  1924.     esac 
  1925. fi
  1926.  
  1927. #if [ $OSNAME = "SOL2" ]  # MAKE THE PACKAGE !!!
  1928. #then
  1929. #    UpdatePackages
  1930. #fi
  1931.  
  1932. if [ $MODIFYIMAKE = "1" ] && [ $LOADLIB = "1" ] && [ $MODIMAKE = "1" ]
  1933. then
  1934.     ModifyImakeConfigFiles
  1935. fi
  1936.  
  1937. if [ $APPDEFPROCESSING = "1" ] && [ $LOADLIB = "1" ]
  1938. then
  1939.     ProcessAppDefaultsFile
  1940. fi
  1941.  
  1942. if [ $SPECIALSCRIPTS = "1" ] && [ $LOADLIB = "1" ]
  1943. then
  1944.     CreateExecutionScripts
  1945. fi
  1946.  
  1947. if [ $ED = "\NULL" ] && [ $MAKELINKS = "1" ]
  1948. then
  1949.     case $MULTIPLESETS in
  1950.     "0" ) MLS="$TD/$MLS $TD"
  1951.         eval $MLS;;
  1952.     "1" ) if [ $LINKLIB = "1" ] && [ $LINKDOC = "1" ]
  1953.         then
  1954.             MLS="$TD/$MLS BOTH"
  1955.             eval $MLS
  1956.         elif [ $LINKLIB = "1" ]
  1957.         then
  1958.             MLS="$TD/$MLS LIB"
  1959.             eval $MLS
  1960.         elif [ $LINKDOC = "1" ]
  1961.         then
  1962.             MLS="$TD/$MLS DOC"
  1963.             eval $MLS
  1964.         fi ;;
  1965.     esac
  1966. fi
  1967.  
  1968. if [ $IFLXLM = "1" ] && [ $REQLMINSTALLATION = "1" ]
  1969. then
  1970.     FLXI="$TD/install.lm $TD"
  1971.     eval $FLXI
  1972. fi
  1973.  
  1974. if [ $REQLMKEY = "1" ] && [ $IFLXLMKEY = "1" ]
  1975. then
  1976.     FLXKEY="$TD/addlmkey $TD"
  1977.     eval $FLXKEY
  1978. fi
  1979.  
  1980. if [ $ED = "\NULL" ]
  1981. then
  1982.     Clear
  1983.     Closing
  1984. fi
  1985. fi
  1986. }
  1987.  
  1988. UpdatePackages()
  1989. {
  1990. KEY=`echo $KEY | awk '{print $1}'`
  1991. if [ "X" = "${KEY}X" ]
  1992. then
  1993. ADN='E'$ADN
  1994. LDN=$LDN' Evaluation'
  1995. fi
  1996. PKGINST=$ADN
  1997. DATE=`date`
  1998.  
  1999. Clear
  2000. Echo ""
  2001. Echo "Adding package $PKGINST information to `hostname`. Please wait..."
  2002.  
  2003. cd /var/sadm/pkg
  2004. mkdir $PKGINST
  2005. cd ./$PKGINST
  2006. mkdir save
  2007. mkdir install
  2008.  
  2009. echo "CLASSES=usr man demos" >> pkginfo
  2010. echo "TZ=US/Eastern" >> pkginfo
  2011. echo "PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin" >> pkginfo
  2012. echo "OAMBASE=/usr/sadm/sysadm" >> pkginfo
  2013. echo "PKG=$ADN" >> pkginfo
  2014. echo "NAME=$LDN" >> pkginfo
  2015. echo "VERSION=$REV" >> pkginfo
  2016. echo "ARCH=SPARC" >> pkginfo
  2017. echo "CATEGORY=application" >> pkginfo
  2018. echo "VENDOR=Integrated Computer Solutions, Inc." >> pkginfo
  2019. echo "BASEDIR=$TD" >> pkginfo
  2020. echo "PSTAMP=kimchee941226170529" >> pkginfo
  2021. echo "PKGINST=$PKGINST" >> pkginfo
  2022. echo "PKGSAV=`pwd`/save" >> pkginfo
  2023. echo "CLIENT_BASEDIR=$TD" >> pkginfo
  2024. echo "INSTDATE=$DATE" >> pkginfo
  2025. echo "UPDATE=yes" >> pkginfo
  2026. echo "NONABI_SCRIPTS=TRUE" >> pkginfo
  2027.  
  2028. cd install
  2029. cp $TD/$RLS ./preremove
  2030.  
  2031. installf $PKGINST $TD
  2032. find $TD -type d -exec installf $PKGINST {} d 755 bin bin \;
  2033. find $TD -type f -exec installf $PKGINST {} f 644 bin bin \;
  2034. find $TD/bin -type f -exec installf $PKGINST {} f 755 bin bin \;
  2035. find $TD -name \*links -exec installf $PKGINST {} f 755 bin bin \;
  2036. installf -f $PKGINST
  2037.  
  2038. Echo "The maintenance of package $PKGINST on `hostname` has been completed."
  2039. AwaitEnter
  2040. }
  2041.  
  2042. CreateExecutionScripts()
  2043. {
  2044. case $AN in
  2045. "BX" ) HOST=`hostname`
  2046.     SCRPTNAME="BX"
  2047.     if [ -f $TD'/bin/bx'$AREV ]
  2048.     then
  2049.         rm $TD'/bin/bx'$AREV
  2050.     fi
  2051.     ScriptEcho "#!/bin/sh"
  2052.     ScriptEcho ""
  2053.     ScriptEcho "# This is a script to run the $DIST. If you have any"
  2054.     ScriptEcho "# questions please send email to bx-bugs@ics.com"
  2055.     ScriptEcho ""
  2056.     ScriptEcho "# This sets your XFILESEARCHPATH to pick up the file BuilderXcessory"
  2057.     ScriptEcho "# in $TD which is the resource file for the $DIST."
  2058.     ScriptEcho "XFILESEARCHPATH=\"$TD/%N.$HOST:$TD/%N:\$XFILESEARCHPATH\""
  2059.     ScriptEcho "XUSERFILESEARCHPATH=\"\""
  2060.     ScriptEcho "export XUSERFILESEARCHPATH"
  2061.     ScriptEcho "export XFILESEARCHPATH"
  2062.     ScriptEcho ""
  2063.     ScriptEcho "# This sets your XNLSPATH. Set this if you are having problems"
  2064.     ScriptEcho "# with the X language locale support"
  2065.     ScriptEcho "# XNLSPATH='$TD/lib/nls'"
  2066.     ScriptEcho "# export XNLSPATH"
  2067.     ScriptEcho ""
  2068.     ScriptEcho "# This sets your LM_LICENSE_FILE variable."
  2069.     ScriptEcho "# For those who place their license file in a non-standard location"
  2070.     ScriptEcho "# you can set this variable then uncomment this line"
  2071.     ScriptEcho "#LM_LICENSE_FILE='/usr/local/flexlm/licenses/license.dat'"
  2072.     ScriptEcho "#export LM_LICENSE_FILE"
  2073.     ScriptEcho ""
  2074.     ScriptEcho "# This variables set up the hyperhelp help system that"
  2075.     ScriptEcho "# the $DIST uses."
  2076.     ScriptEcho "HHPATH='$TD/bin':\$HHPATH"
  2077.     ScriptEcho "export HHPATH"
  2078.     ScriptEcho "XPPATH='$TD/help/Xp':\$XPPATH"
  2079.     ScriptEcho "export XPPATH"
  2080.     ScriptEcho ""
  2081.     ScriptEcho "# Your path is readjusted to various executables that"
  2082.     ScriptEcho "# the $DIST needs in order to provide optimal functionality."
  2083.     ScriptEcho "PATH='$TD/bin:'\$PATH"
  2084.     ScriptEcho ""
  2085.     ScriptEcho "# This command runs the $DIST in $TD"
  2086.     ScriptEcho "$TD/bin/bx -system_directory $TD \$*"
  2087.  
  2088.     chmod 777 $RUNSCRIPT ;;
  2089. "DXORA" | "DXSYB" ) 
  2090.     if [ -f $TD'/bin/dx' ]
  2091.     then
  2092.         rm $TD'/bin/dx'
  2093.     fi
  2094.     SCRPTNAME=$AN
  2095.     ScriptEcho "#!/bin/sh"
  2096.     ScriptEcho ""
  2097.     ScriptEcho "# This is a script to run DX (any version)."
  2098.     ScriptEcho ""
  2099.     ScriptEcho "# This script currently takes these arguments :" 
  2100.     ScriptEcho "# the version of DX you wish to run which is -ora or -syb"
  2101.     ScriptEcho "# example : dx -syb"
  2102.     ScriptEcho ""
  2103.     ScriptEcho "# If you have any comments about this script"
  2104.     ScriptEcho "# please send email to dx-bugs@ics.com. Thank You."
  2105.     ScriptEcho ""
  2106.     ScriptEcho "#if [ \"\$1\" != \"-syb\" ] && [ \"\$1\" != \"-ora\" ]"
  2107.     ScriptEcho "#then"
  2108.     ScriptEcho "#echo 'dx [-syb,-ora]'"
  2109.     ScriptEcho "#exit 1"
  2110.     ScriptEcho "#fi"
  2111.     ScriptEcho ""
  2112.         ScriptEcho "# This sets your DXLOGIN variable for the schema browser"
  2113.         ScriptEcho "#DXLOGIN='servername:sybase_user:password'"
  2114.         ScriptEcho "#export DXLOGIN"
  2115.         ScriptEcho "if [ \$DXLOGIN = \"\"]"
  2116.         ScriptEcho "then"
  2117.         ScriptEcho "echo \"You may want to set your DXLOGIN environment variable\""
  2118.         ScriptEcho "fi"
  2119.     ScriptEcho ""
  2120.     ScriptEcho "# This sets your SYBASE variable for the schema browser"
  2121.     ScriptEcho "# SYBASE is your sybase home directory"
  2122.     ScriptEcho "#if [ \"\$1\" = \"-syb\" ]"
  2123.     ScriptEcho "#then"
  2124.     ScriptEcho "#SYBASE='/SYBASE/Directory'"
  2125.     ScriptEcho "#export SYBASE" 
  2126.     ScriptEcho "if [ \$SYBASE ]"
  2127.     ScriptEcho "then"
  2128.     ScriptEcho "echo \"\""
  2129.     ScriptEcho "else"
  2130.     ScriptEcho "echo \"The SYBASE environment variable is not set. DX cannot continue.\""
  2131.     ScriptEcho "echo \"Please see your system administrator for the correct value for this\""
  2132.     ScriptEcho "echo \"environment variable.\""
  2133.     ScriptEcho "exit 1"
  2134.     ScriptEcho "fi"
  2135.     ScriptEcho "#fi"
  2136.     ScriptEcho ""
  2137.     ScriptEcho "# This sets your ORACLE variables for the schema browser"
  2138.     ScriptEcho "# ORACLE_HOME is your oracle home directory"
  2139.     ScriptEcho "# ORACLE_SID is your oracle server id"
  2140.     ScriptEcho "#if [ \"\$1\" = \"-ora\" ]"
  2141.     ScriptEcho "#then"
  2142.     ScriptEcho "#ORACLE_HOME='/Oracle/home/Directory'"
  2143.     ScriptEcho "#export ORACLE_HOME"
  2144.     ScriptEcho "#ORACLE_SID='OracleServerId'"
  2145.     ScriptEcho "#export ORACLE_SID"
  2146.     ScriptEcho "#fi"
  2147.     ScriptEcho "" 
  2148.     ScriptEcho "# This sets your XFILESEARCHPATH to pick up the file BuilderXcessory"
  2149.     ScriptEcho "# in $TD which is the resource file for the $DIST."
  2150.     ScriptEcho "XFILESEARCHPATH='$TD/%N.$HOST:$TD/%N:'\$XFILESEARCHPATH"
  2151.     ScriptEcho "XUSERFILESEARCHPATH=''"
  2152.     ScriptEcho "export XUSERFILESEARCHPATH"
  2153.     ScriptEcho "export XFILESEARCHPATH"
  2154.     ScriptEcho ""
  2155.     ScriptEcho "# This sets your XNLSPATH. Set this if you are having problems"
  2156.     ScriptEcho "# with the X language locale support"
  2157.     ScriptEcho "XNLSPATH='$TD/lib/nls'"
  2158.     ScriptEcho "export XNLSPATH"
  2159.     ScriptEcho ""
  2160.     ScriptEcho "# This sets your LM_LICENSE_FILE variable."
  2161.     ScriptEcho "# For those who place thier license file in a non-standard location"
  2162.     ScriptEcho "# you can set this variable then uncomment this line"
  2163.     ScriptEcho "#LM_LICENSE_FILE='/usr/local/flexlm/licenses/license.dat'"
  2164.     ScriptEcho "#export LM_LICENSE_FILE"
  2165.     ScriptEcho ""
  2166.     ScriptEcho "# This variables set up the hyperhelp help system that"
  2167.     ScriptEcho "# the $DIST uses."
  2168.     ScriptEcho "HHPATH='$TD/bin':\$HHPATH"
  2169.     ScriptEcho "export HHPATH"
  2170.     ScriptEcho "XPPATH='$TD/help/Xp':\$XPPATH"
  2171.     ScriptEcho "export XPPATH"
  2172.     ScriptEcho ""
  2173.     ScriptEcho "PATH='$TD/bin:'\$PATH"
  2174.     ScriptEcho ""
  2175.     ScriptEcho "CMDARGS=''"
  2176.     ScriptEcho "for f in \$*"
  2177.     ScriptEcho "do"
  2178.     ScriptEcho "if [ \"\$f\" != \"-ora\" ] && [ \"\$f\" != \"-syb\" ]"
  2179.     ScriptEcho "then"
  2180.     ScriptEcho "CMDARGS=\$CMDARGS' '\$f"
  2181.     ScriptEcho "fi"
  2182.     ScriptEcho "done"
  2183.     ScriptEcho ""
  2184.     ScriptEcho "# This command runs the $DIST in $TD"
  2185.     ScriptEcho "$TD/bin/dx-syb -db \$CMDARGS -system_directory $TD -dbrowser $TD/bin/dbrowser-syb -dbrowser_arg $TD"
  2186.  
  2187.     chmod 777 $RUNSCRIPT ;;
  2188. esac
  2189.  
  2190. SCRPTNAME="CGX"
  2191. if [ -f $TD'/bin/cgx'$CGXREV ]
  2192. then
  2193.     rm $TD'/bin/cgx'$CGXREV
  2194. fi
  2195. ScriptEcho "#!/bin/sh"
  2196. ScriptEcho ""
  2197. ScriptEcho "# This is a script to run the code generator that comes"
  2198. ScriptEcho "# with the $DIST."
  2199. ScriptEcho "# If you have any comments about this script"
  2200. ScriptEcho "# please send email to bx-bugs@ics.com. Thank You."
  2201. ScriptEcho ""
  2202. ScriptEcho "# This sets your LM_LICENSE_FILE variable."
  2203. ScriptEcho "# For those who place their license file in a non-standard location"
  2204. ScriptEcho "# you can set this variable then uncomment this line"
  2205. ScriptEcho "#LM_LICENSE_FILE='/usr/local/flexlm/licenses/license.dat'"
  2206. ScriptEcho "#export LM_LICENSE_FILE"
  2207. ScriptEcho ""
  2208. ScriptEcho "# This command runs the $DIST in $TD"
  2209. ScriptEcho "$TD/bin/cgx -path $TD \$*"
  2210.  
  2211. chmod 777 $RUNSCRIPT
  2212. }
  2213.  
  2214. ScriptEcho()
  2215. {
  2216. case $SCRPTNAME in
  2217. "BX" ) RUNSCRIPT=$TD'/bin/bx'$AREV ;;
  2218. "CGX" ) RUNSCRIPT=$TD'/bin/cgx'$CGXREV ;;
  2219. "DXORA" | "DXSYB" ) RUNSCRIPT=$TD'/bin/dx' ;;
  2220. esac
  2221.  
  2222. echo $1 >> $RUNSCRIPT
  2223. }
  2224.  
  2225. ProcessAppDefaultsFile()
  2226. {
  2227. case $AN in
  2228. "BX" ) STANDARD_LIB_DEST=/usr/lib/X11/builderXcessory
  2229.     APP_SRC=BuilderXcessory ;;
  2230. "DXORA" | "DXSYB" ) STANDARD_LIB_DEST=/usr/lib/X11/databaseXcessory
  2231.     APP_SRC=DatabaseXcessory ;;
  2232. esac
  2233.  
  2234. sed -e "s?${STANDARD_LIB_DEST}?${TD}?g" \
  2235.    ${APP_SRC}.ad > ${APP_SRC}.tmp
  2236. if [ -d $TD'/locale' ]
  2237. then
  2238.     for f in ${TD}/locale/*
  2239.     do
  2240.         LOCALE=`basename $f`
  2241. #        echo "LOCALE is $LOCALE"
  2242.         sed -e "s?${STANDARD_LIB_DEST}?${TD}?g" \
  2243.         $TD/locale/${LOCALE}/app-defaults/${APP_SRC}.ad > \
  2244.         $TD/locale/${LOCALE}/app-defaults/${APP_SRC}.tmp
  2245.         mv $TD/locale/${LOCALE}/app-defaults/${APP_SRC}.tmp \
  2246.         $TD/locale/${LOCALE}/app-defaults/${APP_SRC}.`hostname`
  2247.         if [ -f $TD/locale/${LOCALE}/app-defaults/HyperHelp.ad ]
  2248.         then
  2249.             cp $TD/locale/${LOCALE}/app-defaults/HyperHelp.ad \
  2250.                $TD/locale/${LOCALE}/app-defaults/HyperHelp.`hostname`
  2251.         fi
  2252.     done
  2253. fi
  2254. mv ./${APP_SRC}.tmp ./${APP_SRC}.`hostname`
  2255. cp ./${APP_SRC}.`hostname` ./${APP_SRC}
  2256. }
  2257.  
  2258. ModifyImakeConfigFiles()
  2259. {
  2260. TTALK='NO'
  2261. HHELP='NO'
  2262.  
  2263. case $OSNAME in
  2264. "SOL1" | "SOL2" ) TTALK='YES' ;;
  2265. esac
  2266.  
  2267. case $TTALK in
  2268. "YES" ) TTALK="#define HasToolTalk    YES" ;;
  2269. "NO" )  TTALK="#define HasToolTalk    NO" ;;
  2270. esac
  2271.  
  2272. case $HHELP in
  2273. "YES" ) HHELP="#define HasVKHyperHelp    YES" ;;
  2274. "NO" )  HHELP="#define HasVKHyperHelp    NO" ;;
  2275. esac
  2276.  
  2277. ENDIF="#endif /\* AfterVendorCF \*"
  2278.  
  2279. #X11SD='./site.def'
  2280. #XNEWSSD='./site.def'
  2281.  
  2282. X11SD='/usr/lib/X11/config/site.def'
  2283. XNEWSSD='/usr/openwin/lib/config/site.def'
  2284.  
  2285. if [ -f $X11SD ]
  2286. then
  2287.     eval 'chmod 666 $X11SD'
  2288. sed -e "\\@$ENDIF@i\\
  2289. $TTALK\\
  2290. $HHELP"  ${X11SD} > ${X11SD}.tmp
  2291.     eval '$MV $X11SD $X11SD.orig'
  2292.     eval '$MV $X11SD.tmp $X11SD'
  2293. fi
  2294.  
  2295. if [ -f $XNEWSSD ]
  2296. then
  2297.     eval 'chmod 666 $XNEWSSD'
  2298. sed -e "\\@$ENDIF@i\\
  2299. $TTALK\\
  2300. $HHELP"  ${XNEWSSD} > ${XNEWSSD}.tmp
  2301.     eval '$MV $XNEWSSD $XNEWSSD.orig'
  2302.     eval '$MV $XNEWSSD.tmp $XNEWSSD'
  2303. fi
  2304. }
  2305.  
  2306. Main()
  2307. {
  2308. if [ $ED = "\NULL" ]
  2309. then
  2310.  
  2311. LoadDirectoryPreamble
  2312. Directory
  2313. DirectoryConfirmation
  2314.  
  2315. if [ $MULTIPLESETS = "1" ]
  2316. then
  2317.     ChooseSetsPreamble
  2318.     ChooseSets
  2319. fi
  2320.  
  2321. if [ $REQDECRYPTIONKEY = "1" ] && [ $LOADLIB = "1" ] && [ $MT = 'cd' ]
  2322. then
  2323.     DecryptionKeyPreamble
  2324.     DecryptionKey
  2325. fi
  2326.  
  2327. if [ $MAKELINKS = "1" ]
  2328. then
  2329.     if [ $LOADLIB = "1" ] || [ $LOADDOC = "1" ]
  2330.     then
  2331.         MakeLinksPreamble
  2332.         MakeLinks
  2333.     else
  2334.         MAKELINKS='0'
  2335.     fi
  2336. fi
  2337.  
  2338. if [ $REQLMINSTALLATION = "1" ] && [ $LOADLIB = "1" ]
  2339. then
  2340.     FlexLMPreamble
  2341.     FlexLM
  2342. fi
  2343.  
  2344. if [ $REQLMKEY = "1" ] && [ $LOADLIB = "1" ]
  2345. then
  2346.     LMKeyPreamble
  2347.     LMKey
  2348. fi
  2349.  
  2350. if [ $MODIFYIMAKE = "1" ] && [ $LOADLIB = "1" ]
  2351. then
  2352.     if [ -f /usr/openwin/lib/config/site.def ] || [ -f /usr/lib/X11/config/site.def ]
  2353.     then
  2354.         ModifyImakePreamble
  2355.         ModifyImake
  2356.     fi
  2357. fi
  2358.  
  2359. fi
  2360.  
  2361. DoubleCheck
  2362. }
  2363.  
  2364. DetectArch
  2365. LocateMedia
  2366.  
  2367. if [ $ED = "\NULL" ]
  2368. then
  2369.     FindMediaPreamble
  2370.     FindMedia
  2371. fi
  2372.  
  2373. Main
  2374.