home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / new / comm / mail / thor / updatethor < prev    next >
Text File  |  1994-04-18  |  14KB  |  581 lines

  1. ;*************************************************************************
  2. ;    Title:
  3. ;        Install-Thor
  4. ;*************************************************************************
  5. ;    Description:
  6. ;        Commodore Installer Script for the Thor software
  7. ;*************************************************************************
  8. ;    Author:
  9. ;        Øyvind Ellefsen
  10. ;*************************************************************************
  11. ;    Still to do:
  12. ;
  13. ;*************************************************************************
  14. ;    History:
  15. ;        4/8-93   - First tries. Ver 00
  16. ;        4/8-93   - Working version. Copying files&stuff.
  17. ;        5/8-93   - Asking for install from disk 
  18. ;        7/8-93   - What's up? New beta.. Shit! 
  19. ;        5/9-93   - Ok. Final effort.. 
  20. ;        21/9-93  - Changes Changes... 
  21. ;        23/9-93  - Removed beta-strings. Polished help-texts. Release Ver.
  22. ;        7/10-93  - Added Reqtools.library install.
  23. ;        10/10-93 - Convert, ChoiceType, User-startup, CheckForThor
  24. ;        12/10-93 - Assign-handling
  25. ;       13/10-93 - Custom ReqTools.library install
  26. ;         14/10-93 - Device/Volume check
  27. ;        1/11-93  - Added some CfgArchivers stuff (some bugs too)
  28. ;        4/11-93  - Removed bugs
  29. ;        5/1-94   - Optimized a little. More BBSTypes.
  30. ;        9/1-94   - Added Hippo types, and convert option.
  31. ;        20/2-94  - Thor files is now packed with lha
  32. ;
  33. ;Changes made by Petter Nilsen:
  34. ;
  35. ;        3/3-94   - Will no longer ask for to convert of the database on a
  36. ;                  first time install.
  37. ;                - Will flush library before running "basemanager"
  38. ;                - Better check for if THOR is already installed.
  39. ;                  (checks for "THOR:libs/bbsread.library" and not 
  40. ;                  "THOR:THOR")
  41. ;                - Uses LhX for un-archiving
  42. ;                - Made all library-names lower case
  43. ;       4/3-94   - Added code to copy the keyfile (if available) to THOR:
  44. ;*************************************************************************
  45. ;
  46. ;******************************************************
  47. ;***** SET UP OUR VARIABLES AND OTHER SUCH STUFF ******
  48. ;******************************************************
  49.  
  50. ; some useful variables
  51.     (set true 1)
  52.     (set false 0)
  53.     (set yes true)
  54.     (set no false)
  55.     (set is_a_file 1)
  56.     (set is_a_dir 2)
  57.     (set quote "\"")
  58.     (set newline "\n")
  59.     (set nothing "")
  60.     (set Convert Yes)
  61.  
  62. ; set up our delete options
  63.     (delopts "AskUser" "OkNoDelete" "Force")
  64.  
  65. ; some useful procedures
  66.     ; change userlevel to expert
  67.     (procedure expert_level
  68.         (
  69.             (user 2)
  70.         )
  71.     )
  72.  
  73. ; reset userlevel back to default
  74.     (procedure default_level
  75.         (
  76.             (user default-level)
  77.         )
  78.     )
  79.  
  80. ; store off userlevel
  81.     (procedure save_default_level
  82.         (
  83.             (set default-level @user-level)
  84.         )
  85.     )
  86.  
  87. ; some overused strings
  88. (set omp (cat "One moment please..." newline))
  89.  
  90.  
  91. ; introduce ourselfs to the viewers
  92. (welcome "Welcome to the Thor installer.  This installer uses "
  93.     "the Commodore Amiga Installer.  All of our future Thor releases "
  94.     "will be using this installer and we would like to get any feedback "
  95.     "that might help in improving the installation procedure." newline
  96. )
  97.  
  98.  
  99. ; first reset the user level so that the novice can see whats going on
  100.     (save_default_level)
  101.     (expert_level)
  102.  
  103. ;Make assign to install from
  104.     (makeassign "Thor_Install" "" (safe))
  105.  
  106.  
  107. ;******************
  108. ;** Check Memory **
  109. ;******************
  110.  
  111. (run "Avail flush")
  112.  
  113. (set Running (run "Thor_Install:CheckForLib"))
  114.  
  115. (while (= Running 20)
  116.       ((Message newline "Thor seem to be running, you MUST close it NOW."    
  117.         newline "If you don't, the installation will fail!")
  118.     (run "Avail flush")
  119.     (set Running (run "Thor_Install:CheckForLib")))
  120. )
  121.  
  122. ;************************
  123. ;** Start Installation **
  124. ;************************
  125.  
  126. (if (exists "Thor:libs/bbsread.library" (noreq))
  127. ; Then
  128. (    (set ThorUpdate Yes)
  129.     (set Thor_Dir (expandpath "Thor:"))
  130. )
  131. ; Else
  132. (    (set ThorUpdate No)
  133. )
  134. )
  135.  
  136. (if (exists "BBSData:global.config" (noreq))
  137. ; Then
  138. (    (set BBSDataUpdate Yes)
  139.     (set BBSData_Dir (expandpath "BBSData:"))
  140. )
  141. ; Else
  142. (    (set BBSDataUpdate No)
  143. )
  144. )
  145.  
  146. (if (= ThorUpdate Yes)
  147. ;then    
  148.     (if (askbool
  149.             (prompt "Thor seems to be installed on your system already." newline
  150.                 "The program resides in " quote Thor_Dir quote "." newline
  151.                 "Do you want to install Thor over it?")
  152.             (help
  153.                 "The installer has determined that you may already have a "
  154.                 "copy of Thor installed on your system. If this is wrong or "
  155.                 "you want the update installed elsewhere, select NO as an "
  156.                 "answer. Otherwise, select YES."
  157.             )
  158.             (default 1)
  159.         )
  160.     ; Then
  161.         ( 
  162.             (set is_update Yes) 
  163.         )
  164.     ; Else
  165.         ( 
  166.             (set is_update No) 
  167.             (set Thor_Dir 
  168.                 (askdir
  169.                     (prompt "Where would you like Thor installed?"
  170.                     newline "The installer will NOT create a directory")
  171.                     (help @askdir-help)
  172.                     (default "Work:")
  173.                     (newpath)
  174.                 )
  175.             )
  176.             (set Thor_Dir (expandpath Thor_Dir))
  177.             (set user_script (cat user_script (cat "Assign Thor: " quote Thor_dir quote newline)))
  178.         )
  179.     )
  180. ;Else
  181.     ((set Thor_Dir
  182.         (askdir
  183.             (prompt "Where would you like Thor installed?"
  184.             newline "The installer will NOT create a directory")
  185.             (help @askdir-help)
  186.             (default @default-dest)
  187.             (newpath)
  188.         )
  189.     )
  190.     (set Thor_Dir (expandpath Thor_Dir))
  191.     (set user_script (cat "Assign Thor: " quote Thor_dir quote newline))
  192.     )
  193. )
  194.  
  195. ; before we go on lets reset the user's level back to what it was
  196. (default_level)
  197.  
  198. ; verify that the Thor directory exists
  199. (if (<> (exists Thor_Dir) is_a_dir)
  200.     (
  201.         (makedir Thor_Dir
  202.             (prompt
  203.                 "The directory you have selected for Thor does not "
  204.                 "seem to exist.  Do you want us to create it for you?"
  205.             )
  206.             (help @makedir-help)
  207.             (infos)
  208.             (confirm)
  209.         )
  210.         (set Thor_Dir (expandpath Thor_Dir))
  211.         (set user_script (cat "Assign Thor: " quote Thor_dir quote newline))
  212.     )
  213. )
  214.  
  215. (makeassign "Thor" Thor_dir)
  216. (makedir "Thor:Data")
  217.  
  218. ;*************
  219. ;** BBSData **
  220. ;*************
  221.  
  222.  
  223. (default_level)
  224.  
  225.     (if (= BBSDataUpdate Yes)
  226.     ; Then
  227.         (if (askbool
  228.             (prompt "There seems to be a message database installed on your system already."
  229.                 "The database resides in " quote BBSData_Dir quote "." newline
  230.                 "Do you want to use this database further?"
  231.             )
  232.             (help
  233.                 "The installer has determined that you may already have a "
  234.                 "message database installed on your system. If this is wrong or "
  235.                 "you want the database installed elsewhere, select NO as an "
  236.                 "answer. Otherwise, select YES."
  237.             )
  238.             (default 1)
  239.     
  240.             )    
  241.         ; Then
  242.             (
  243.                 (set RunCfgArchivers No)
  244.                 (set ConvertCfg Yes)
  245.             )
  246.         ; Else 
  247.             (
  248.                 (set RunCfgArchivers Yes)
  249.                 (set BBSDataMove Yes)
  250.                 (set is_update No)
  251.                 (set BBSData_Dir 
  252.                     (askdir
  253.                     (prompt "Where would you like the message database installed?"
  254.                         newline "The installer will NOT create a directory")
  255.                     (help @askdir-help)
  256.                     (default "Thor:Data")
  257.                     (newpath)
  258.                     )
  259.                 )
  260.                 (set user_script (cat user_script (cat "Assign BBSData: " quote BBSData_dir quote newline)))
  261.             )
  262.         )
  263.     ; Else
  264.         (
  265.             (set ConvertCfg No)
  266.             (set RunCfgArchivers Yes)
  267.             (set BBSData_Dir (expandpath "Thor:Data"))
  268.             (set user_script (cat user_script (cat "Assign BBSData: " quote BBSData_dir quote newline)))
  269.         )
  270.     )    
  271.  
  272. ;***********************************
  273. ;***** GET FIRST DISK IN HERE ******
  274. ;***********************************
  275.  
  276. ; first copy over the stuff
  277. (working omp "Decompressing and copying Thor files.")
  278.  
  279. ;(run "Thor_Install:unpack.sh" )
  280. (run "Thor_Install:lhx -a x Thor_Install:thor.lha THOR:" )
  281.  
  282. ;******************
  283. ;** User-Startup **
  284. ;******************
  285.  
  286. (save_default_level)
  287. (expert_level)
  288. (if (= is_update Yes)
  289. ;Then 
  290.     (set is_update Yes)
  291. ;else
  292.     (if (= BBSDataMove Yes)
  293.     ;Then
  294.         (
  295.         ; now figure out the addition to the user-startup
  296.  
  297.         ; modify S:User-Startup
  298.         (working omp "Updating S:User-Startup.")
  299.             (startup "Thor"
  300.             (prompt
  301.                 "These instructions need to be added to the \"S:User-Startup\" "
  302.                 "so that your system will be properly configured to use Thor "
  303.                 newline
  304.                 newline
  305.                 user_script
  306.             )
  307.                     (help @startup-help)
  308.                     (command user_script)
  309.             )
  310.         )
  311.     ;Else
  312.         (
  313.         ; now figure out the addition to the user-startup
  314.         ; modify S:User-Startup
  315.         (working omp "Updating S:User-Startup.")
  316.             (startup "Thor"
  317.             (prompt
  318.                 "These instructions need to be added to the \"S:User-Startup\" "
  319.                 "so that your system will