home *** CD-ROM | disk | FTP | other *** search
/ WordPerfect for Linux Bible / WP4LinuxBible.iso / shared / install.ftp < prev    next >
Text File  |  1999-06-25  |  6KB  |  193 lines

  1. #!/bin/sh
  2. # Script to un-tar and install WordPerfect
  3. if [ "`echo -n`" = "" ]; then N="-n"; else C="\c"; fi; Work=0;
  4. echo
  5. echo $N "  Did you unzip and untar the files you downloaded? (y/n) $C";
  6. read resp;
  7. if [ "$resp" != "y" -a "$resp" != "Y" ]; then sleep 1;
  8.     echo;
  9.     echo "  Please refer to the Readme file if you have questions.";
  10.     echo;
  11.     exit;
  12. fi;
  13.  
  14. # See if the file need to be renamed
  15. if [ -f Moves ]; then
  16.     cat Moves | while read From To; do
  17.         if [ -f "$From" ]; then ln $From $To; fi;
  18.     done;
  19.     rm -f Moves Name;
  20. fi;
  21.  
  22. do_bk() { for File in `ls -1 *_* | sed '/\.bk/d'`; do
  23.     if [ -f $File ]; then mv $File $File.bk; fi; done; }
  24.  
  25. do_cln() {
  26.     for FD in manual netscape readme sdk $Platform \
  27.     remove.wp install.wp shared; do
  28.         rm -rf $FD; done; }
  29.  
  30. do_menu() {
  31.     while [ "$Work" -lt 1 -o "$Work" -gt 9 ]; do echo; echo; echo;
  32.         echo "  FTP Installation Menu"; echo;
  33.         echo "  Normal Install Options";
  34.         echo "  1) GUI and Character-based";
  35.         echo "  2) GUI only";
  36.         echo "  3) Character-based only"; echo;
  37.         echo "  Language Only Install Selections";
  38.         echo "  4) GUI and Character-based";
  39.         echo "  5) GUI only";
  40.         echo "  6) Character-based only"; echo;
  41.         echo "  Additional Selections";
  42.         echo "  7) Online GUI Manual";
  43.         echo "  8) GUI Graphics Package";
  44.         echo "  9) Software Developers Kit"; echo;
  45.         echo $N "  Enter Selection: $C"; read Work;
  46.         if [ "$Work" = "" ]; then exit; fi;
  47.     done;
  48.  
  49.     do_bk; do_cln;
  50.  
  51.     case $Work in
  52.         1)Prod="b g c";;
  53.         2)Prod="b g";;
  54.         3)Prod="b c";;
  55.         4)Lang="b g c";;
  56.         5)Lang="b g";;
  57.         6)Lang="b c";;
  58.         7)Extr="man";;
  59.         8)Extr="gra";;
  60.         9)Extr="sdk";;
  61.     esac;
  62.  
  63.     if   [ "$Prod" != "" ]; then
  64.         for P in $Prod; do
  65.             for file in `ls ${P}* 2>/dev/null | sed 's/\.bk//'`; do
  66.                 if [ -f $file.bk ]; then mv $file.bk $file; fi;
  67.             done;
  68.         done;
  69.     elif [ "$Lang" != "" ]; then
  70.         for L in $Lang; do
  71.             for file in `ls b_ins* 2>/dev/null | sed 's/\.bk//'`; do
  72.                 if [ -f $file.bk ]; then mv $file.bk $file; fi;
  73.             done;
  74.         done;
  75.         for P in $Prod; do
  76.             for L in ce cf de es fr it nl oz uk us; do
  77.                 for file in `ls ${P}_${L}* 2>/dev/null | sed 's/\.bk//'`; do
  78.                     if [ -f $file.bk ]; then mv $file.bk $file; fi;
  79.                 done;
  80.             done;
  81.         done;
  82.     elif [ "$Extr" = "man" ]; then
  83.         for file in `ls b_ins* 2>/dev/null | sed 's/\.bk//'`; do
  84.             if [ -f $file.bk ]; then mv $file.bk $file; fi;
  85.         done;
  86.         for file in `ls ?_$Extr* 2>/dev/null | sed 's/\.bk//'`; do
  87.             if [ -f $file.bk ]; then mv $file.bk $file; fi;
  88.         done;
  89.     elif [ "$Extr" != "man" ]; then
  90.         for file in `ls ?_$Extr* 2>/dev/null | sed 's/\.bk//'`; do
  91.                 if [ -f $file.bk ]; then mv $file.bk $file; fi;
  92.         done;
  93.     fi;
  94. }
  95.  
  96. if [ "$1" = menu ]; then do_menu; fi;
  97.  
  98. for TarFile in `ls -1 *_* 2>/dev/null | sed '/\.bk/d'`; do
  99.     TarFiles="$TarFiles $TarFile"; done
  100. if [ "$TarFiles" = "" ]; then
  101.     echo; echo "Error: Nothing new to install."; echo; exit; fi;
  102.  
  103. echo; echo "  Extracting Files..."; SWD=`pwd`;
  104. for File in $TarFiles; do tar xf $File; done;
  105.  
  106. Platform=`ls -1d */ins 2>/dev/null \
  107. | sed -n '1p' | sed 's|\./||' | sed 's|/.*$||'`;
  108.  
  109. for File in `find . -name \*aa -print | sed 's/aa//g'`; do
  110.     cat $File?? > $File; rm -f $File??; done;    # join split files
  111.  
  112. ck_man() {
  113.     if [ ! -f g_man00 ]; then        # take it out of the list
  114.         grep -v "=WP Online Manual" shared/l_extr > shared/l_extr.new;
  115.         mv shared/l_extr.new shared/l_extr; fi;
  116. }
  117.  
  118. ck_net() {
  119.     if [ ! -f g_net00 ]; then        # take it out of the list
  120.         grep -v "=Netscape Browser" shared/l_extr > shared/l_extr.new;
  121.         mv shared/l_extr.new shared/l_extr; fi;
  122. }
  123.  
  124. if [ -f b_ins00 -a -f b_req00 ]; then        # if normal install
  125.     if [ ! -f g_req00 -o ! -f c_req00 ]; then
  126.         if   [ -f g_req00 ]; then echo "2 " > shared/wpprod;
  127.         elif [ -f c_req00 ]; then echo "3 " > shared/wpprod; fi;
  128.     fi;
  129.  
  130.     lngs="zz";
  131.     for lng in `ls -d */lng/* | sed 's|.*lng/||' | sed 's|/||'`; do
  132.         lngs="$lngs|$lng"; done;
  133.     if [ ! -f shared/wplngs.bk ]; then mv shared/wplngs shared/wplngs.bk; fi;
  134.     egrep "$lngs" shared/wplngs.bk > shared/wplngs;
  135.  
  136.     echo "skip" > shared/wpterm;        # disable terminal selection
  137.  
  138.     if [ ! -f g_gra00 -a -f shared/ship ]; then    # remove from shiplist
  139.         grep -v "graphics\.tar" shared/ship > shared/ship.bk;
  140.         mv shared/ship.bk shared/ship; fi;
  141.  
  142.     ck_man; ck_net; DOINST=1;
  143. elif [ -f b_ins00 ]; then
  144.     lngs="zz";
  145.     for lng in ce cf de es fr it nl oz uk us; do
  146.         if [ ! -f g_"$lng"00 -o ! -f c_"$lng"00 ]; then
  147.             if   [ -f g_"$lng"00 ]; then echo "2 " > shared/wpprod;
  148.             elif [ -f c_"$lng"00 ]; then echo "3 " > shared/wpprod; fi;
  149.         fi;
  150.         if [ -f g_"$lng"00 -o -f c_"$lng"00 -o -f b_"$lng"00 ]; then
  151.             lngs="$lngs|$lng"; lflg="-l"; DOINST=1; fi;
  152.     done;
  153.  
  154.     if [ "x$lflg" != "x" ]; then
  155.         if [ ! -f shared/wplngs.bk ]; then
  156.             mv shared/wplngs shared/wplngs.bk; fi;
  157.         egrep "$lngs" shared/wplngs.bk > shared/wplngs; fi; 
  158.  
  159.     if [ -f g_man00 ]; then eflg=-e; DOINST=1; else ck_man; fi;
  160.     if [ -f g_net00 ]; then eflg=-e; DOINST=1; else ck_net; fi;
  161.  
  162.     grep -v "=-CDE Desktop Icon" shared/l_extr > shared/l_extr.new;
  163.         mv shared/l_extr.new shared/l_extr;
  164. fi;
  165.  
  166. # Start the install
  167. if [ "$DOINST" = 1 ]; then
  168.     cp shared/install.wp .; ln install.wp remove.wp;
  169.     ./install.wp $eflg $lflg; Ret=$?;
  170. fi;
  171.  
  172. if [ "$Ret" = 1 ]; then do_cln; exit 1; fi;
  173.  
  174. if [ -f .wpdata ]; then        # Get the installation directory
  175.     Idir=`grep '^'idir= .wpdata | sed 's/idir=//'`; fi;
  176. while [ "$Idir" = "" ]; do    # Prompt for it if missing
  177.     echo $N "Enter your installation directory: $C"; read Idir;
  178.     if [ -d $Idir/shlib10 ]; then break;
  179.     else echo; echo "Error: Invalid Install area"; echo; fi;
  180. done
  181.         
  182. # See if any files need to be manually moved to the install area.
  183. if [ -f g_gra00 -a ! -f b_ins00 ]; then
  184.     $Platform/ins/wpdecom $Platform/dat/graph.tar $Platform/dat/graphics;
  185.     (cd $Idir/wpgraphics; tar xf $SWD/$Platform/dat/graphics)
  186. fi;
  187.  
  188. if [ -f g_sdk00 ]; then (cd $Idir; tar xf $SWD/g_sdk00); fi;
  189.  
  190. cp *.all $Idir/shlib10 2>/dev/null;
  191.  
  192. do_bk; do_cln;
  193.