home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 4 / AACD04.ISO / AACD / Online / AMIPopUp / Install < prev    next >
Text File  |  1999-07-18  |  17KB  |  544 lines

  1. ; $VER: AMIPopUp Install V1.4 (16.11.98) - written by Sascha "SieGeL" Pfalz
  2. ; Installer and Installer project icon
  3. ; (c) Copyright 1985-98 Amiga International Inc.  All Rights Reserved.
  4. ;
  5. ; For best view set TAB to 2
  6. ;
  7. ; This script follows the rules for the Installer, all text vars have a
  8. ; t_ preceeding the var name, all other vars have the # in front of the
  9. ; names and all sub procedures (if any) will start with P_ .
  10. ;
  11. ; V1.0 (24.06.98) - Initial Version, Script is able to update or full install
  12. ; V1.1 (11.08.98) - Fixed the OS Check to check ONLY for Kick V3.x systems
  13. ; V1.2 (08.10.98) - Added spanish texts written by Dámaso D. Estévez, thanks!
  14. ; V1.3 (12.10.98) - Script now checks language, if unknown uses english...
  15. ; V1.4 (16.11.98) - Added Checks & Installation of MUI sub-classes
  16.  
  17. ;===================
  18. ;= Check-Variables =
  19. ;===================
  20.  
  21. (set #MUI "MUI")
  22. (set #MUIMASTER_VMIN 11)
  23. (set #MUIMASTER_PATH "MUI:Libs/muimaster.library")
  24. (set #AMIPOPUP "AMIPopUp")
  25. (set #AMIGUIDE "AMIPopUp.guide")
  26. (set #AMIGUIDE_GER "AMIPopUp_ger.guide")
  27. (set #AMIHIST  "AMIPopUp.history")
  28. (set #PREPHIST "PrepMail.history")
  29. (set #AMICATDE "catalogs/deutsch/AMIPopUp.catalog")
  30. (set #AMICATSW "catalogs/svenska/AMIPopUp.catalog")
  31. (set #AMICATSP "catalogs/español/AMIPopUp.catalog")
  32. (set #AMICATPO "catalogs/polski/AMIPopUp.catalog")
  33. (set #AMICATIT "catalogs/italiano/AMIPopUp.catalog")
  34. (set #PREPMAIL "PrepMail")
  35. (set #INFOTEXT "MUI:Libs/MUI/InfoText.mcc")
  36. (set #TEXTINPUT "MUI:Libs/MUI/TextInput.mcc")
  37.  
  38. ; First check if a supported language could be found, if not use english
  39.  
  40. (IF (AND (<> @language "deutsch") (<> @language "español")) (set @language "english"))
  41.  
  42.  
  43. ;================
  44. ;= GERMAN TEXTS =
  45. ;================
  46.  
  47. (IF (= @language "deutsch")
  48.     (
  49.     (set default_lang 2)
  50.  
  51.     (set t_StartMsg            (cat        "\nInstallations-Skript für AMIPopUp & PrepMail\n\n"
  52.                                                             "Dieses Skript installiert AMIPopUp und alle relevanten\n"
  53.                                                             "Dateien auf Ihrem System.\n\n"
  54.                                                             "AMIPopUp ist © 1998-99 by Sascha 'SieGeL' Pfalz\n"
  55.                                                             "MUI ist © 1993-99 by Stefan Stuntz\n\n"
  56.                                                             "InfoText.mcc by Benny Kjær Nielsen\n"
  57.                                                             "TextInput.mcc by Oliver Wagner"))
  58.     (set t_bad-kick            (cat        "\nSie benötigen mindestens AmigaOS V3.0 oder\n\n"
  59.                                                             "höher, um AMIPopUp zu benutzen !\n\n"
  60.                                                             "-> Bitte updaten Sie Ihr System <-"))
  61.     (set t_wrong_mui        (cat        "Falsche MuiMaster.library Version!\n\n"
  62.                                                             "Installiert ist V%ld.%ld, benötigt wird aber mind. V11 !\n\n"
  63.                                                             "Bitte updaten Sie Ihr MUI System auf V3.6+\n(Library-Version 11+) !"))
  64.     (set t_no_mui                (cat        "Konnte MUI nicht finden !\n"
  65.                                                             "User-Editor benötigt unbedingt MUI V3.6+ um zu arbeiten !\n\n"
  66.                                                             "Bitte erst das MUI System installieren (es lohnt sich) und\n"
  67.                                                             "dann diese Installation nochmal beginnen !"))
  68.     (set t_AskForDest                        "Bitte Ziel-Pfad für %s angeben:")
  69.     (set t_copyfile                            "Kopiere jetzt %s...")
  70.     (set t_selectlocale    (cat        "Bitte Sprache(n) zum Installieren/Updaten auswählen:\n"
  71.                                                             "(Alle Kataloge werden nach PROGDIR:Catalogs/ kopiert)"))
  72.     (set t_askfordocs                        "Dokumentation installieren/updaten ?")
  73.     (set t_selectdocs                        "Bitte auswählen, welche Teile der Dokumentation installiert/geupdated werden sollen:")
  74.     (set t_askforddest                    "Bitte Zielverzeichnis für die Dokumentation auswählen:")
  75.     (set t_copycatalog                    "Kopiere Katalog Datei...")
  76.     (set t_askdocshelp    (cat        "Wenn Sie wünschen kann der Installer die mitgelieferten\n"
  77.                                                             "Dokumentationen installieren. Sie haben dann die Möglichkeit,"
  78.                                                             "ein Verzeichnis für die Doks anzugeben."))
  79.     (set t_lastnotice        (cat        "\nInstallation erfolgreich.\n\n"
  80.                                                             "Bitte lesen Sie UNBEDINGT die Hinweise in der Dokumentation "
  81.                                                             "nach, wie PrepMail in Ihre smb.conf Datei eingetragen werden muss!!!\n\n"))
  82.     ))
  83.  
  84. ;=================
  85. ;= SPANISH TEXTS =
  86. ;=================
  87.  
  88. ; by Dámaso D. Estévez <amidde@arrakis.es>
  89.  
  90. (IF (= @language "español")
  91.     (
  92.     (set default_lang 8)
  93.  
  94.     (set t_StartMsg     (cat            "\nGuión instalador de AMIPopUp y PrepMail\n\n"
  95.                                                             "Este guión instalará AMIPopUp y todos los ficheros\n"
  96.                                                             "necesarios en su sistema.\n\n"
  97.                                                             "AMIPopUp es © 1998-99 de Sascha 'SieGeL' Pfalz\n"
  98.                                                             "MUI es © 1993-99 de Stefan Stuntz\n\n"
  99.                                                             "InfoText.mcc es Benny Kjær Nielsen\n"
  100.                                                             "TextInput.mcc es Oliver Wagner"))
  101.     (set t_bad-kick            (cat        "\n\n¡¡Debe de disponer del SO 3.0 o superior\n\n"
  102.                                                             "para poder utilizar AMIPopUp!!\n\n"
  103.                                                             "-> ¡Por favor, actualice su sistema! <-"))
  104.     (set t_wrong_mui        (cat        "¡Versión de la biblioteca\n"
  105.                                                             "'MuiMaster.library' incorrecta!\n\n"
  106.                                                             "¡Se encuentra instalada la versión %ld.%ld,\n"
  107.                                                             "requiriéndose al menos la versión 11!\n\n"
  108.                                                             "Por favor actualice su sistema MUI a la\n"
  109.                                                             "versión 3.6 o superior que incluirá\n"
  110.                                                             "la versión 11 o superior de dicha biblioteca!"))
  111.     (set t_no_mui                (cat        "¡Imposible encontrar el sistema MUI!\n"
  112.                                                             "¡AMIPopUp requiere MUI 3.6+ para funcionar!\n"
  113.                                                             "Por favor, instale en primer lugar el sistema MUI\n"
  114.                                                             "y reinicie este guión instalador después\n"
  115.                                                             "de haber realizado la tarea anterior."))
  116.     (set t_AskForDest                        "Especifique destino para %s:")
  117.     (set t_copyfile                            "Copiando fichero %s...")
  118.     (set t_selectlocale    (cat        "Por favor, elija el/los idioma/s a instalar/actualizar:\n"
  119.                                                             "(el inglés es interno; los demás catálogos serán copiados en PROGDIR:Catalogs/)."))
  120.     (set t_askfordocs                        "¿Desea instalar/actualizar la documentación?")
  121.     (set t_selectdocs                        "Por favor, elija qué partes de la documentación deben de ser instaladas/actualizadas:")
  122.     (set t_askforddest                    "Elija el directorio de destino para la documentación:")
  123.     (set t_copycatalog                    "Copiando catálogo...")
  124.     (set t_askdocshelp    (cat        "Le permite que  la documentación suministrada\n"
  125.                                                             "sea copiada en el directorio de su elección."))
  126.     (set t_lastnotice        (cat        "\nInstalación realizada con éxito.\n\n"
  127.                                                             "Por favor, ¡¡¡asegúrese de que lee\n"
  128.                                                             "la documentación sobre la adición de\n"
  129.                                                             "PrepMail a su fichero smb.cnf!!!\n\n"))
  130.     ))
  131.  
  132. ;=================
  133. ;= ENGLISH TEXTS =
  134. ;=================
  135.  
  136. (IF (= @language "english")
  137.     (
  138.     (set default_lang 4)
  139.  
  140.     (set t_StartMsg     (cat            "\nInstallation Script of AMIPopUp & PrepMail\n\n"
  141.                                                             "This script will install AMIPopUp and all required\n"
  142.                                                             "files to your System.\n\n"
  143.                                                             "AMIPopUp is © 1998-99 by Sascha 'SieGeL' Pfalz\n"
  144.                                                             "MUI is © 1993-99 by Stefan Stuntz\n\n"
  145.                                                             "InfoText.mcc by Benny Kjær Nielsen\n"
  146.                                                             "TextInput.mcc by Oliver Wagner"))
  147.     (set t_bad-kick            (cat        "\n\nYou must be using AmigaOS V3.0 or higher\n\n"
  148.                                                             "to use AMIPopUp !\n\n"
  149.                                                             "-> Please update your machine ! <-"))
  150.     (set t_wrong_mui        (cat        "Wrong MuiMaster.library Version !\n\n"
  151.                                                             "Installed is V%ld.%ld, required is at least V11 !\n\n"
  152.                                                             "Please update your MUI System to at least V3.6+\nLibrary-Version 11+) !"))
  153.     (set t_no_mui                (cat        "Unable to find MUI System !\n"
  154.                                                             "AMIPopUp requires MUI V3.6+ to work !\n"
  155.                                                             "Please install first the MUI System and restart this Installation\n"
  156.                                                             "after the MUI system is installed."))
  157.     (set t_AskForDest                        "Specify destination for %s:")
  158.     (set t_copyfile                            "Now copying file %s...")
  159.     (set t_selectlocale    (cat        "Please choose language(s) to install/update:\n"
  160.                                                             "(English is built-in, all other catalogs will be copied to PROGDIR:Catalogs/"))
  161.     (set t_askfordocs                        "Do you wish to install/update the documentation ?")
  162.     (set t_selectdocs                        "Please choose which parts of the documentation should be installed/updated:")
  163.     (set t_askforddest                    "Select Destination directory for the documentation:")
  164.     (set t_copycatalog                    "Copy catalog file...")
  165.     (set t_askdocshelp    (cat        "If you wish Installer will copy the supplied docs in a\n"
  166.                                                             "directory of your choice."))
  167.     (set t_lastnotice        (cat        "\nInstallation successful.\n\n"
  168.                                                             "Please make sure that you read the docs about adding PrepMail "
  169.                                                             "to your smb.conf file !!!\n\n"))
  170.  
  171.     ))
  172.  
  173. ;****************************************************************************
  174. ;***                  MAIN INSTALLATION SCRIPT STARTS HERE !              ***
  175. ;****************************************************************************
  176.  
  177. (set #osver (/ (getversion) 65536))                ; Determine OS Version...
  178. (if (< #osver 39) ( (ABORT t_bad-kick)))    ; ...and stop if OS < 37
  179. (complete 0)
  180. (message t_StartMsg)
  181. (complete 1)
  182. (welcome)
  183.  
  184. ;======================================================================
  185. ;= FIRST SYSTEM-CHECKS TO DETERMINE USED AMIGA AND INSTALLED SOFTWARE =
  186. ;======================================================================
  187.  
  188. (set #MUI_ASSIGN (getassign #MUI))                ; Check if MUI exists!
  189.  
  190. (if (<> #MUI_ASSIGN "")
  191.     (
  192.     (set #muiver (/ (getversion #MUIMASTER_PATH) 65536))     ; Get Version
  193.     (set #muirev (* (getversion #MUIMASTER_PATH) 65536))    ; ???
  194.     (set #muirev (/ #muirev 65536))                                                ; Get Revision
  195.     (if (< #muiver #MUIMASTER_VMIN) (ABORT (t_wrong_mui #muiver #muirev)))
  196.     (complete 6)
  197.     )
  198.     (
  199.     (abort t_no_mui)
  200.     ))
  201.  
  202.  
  203. ;======================================================================
  204. ;=       PROMPT FOR THE DESTINATION DIRECTORY & COPY MAIN FILE        =
  205. ;======================================================================
  206.  
  207. (if (<> 0 (exists #AMIPOPUP))
  208.     (
  209.  
  210.     (set #mypath "")
  211.  
  212.     (until (<> #mypath "")
  213.         (
  214.         (set #mypath
  215.             (askdir (prompt (t_AskForDest #AMIPOPUP))
  216.                             (default "MUI:")
  217.                             (help @askdir-help)))
  218.         ))
  219.     (complete 12)
  220.  
  221.     (set @default-dest #mypath)
  222.  
  223.  
  224.     (copylib     (prompt (t_copyfile #AMIPOPUP))
  225.                         (source "AMIPopUp")
  226.                         (dest        @default-dest)
  227.                         (confirm)
  228.                         (help    @copylib-help)
  229.                         (infos))
  230.     )
  231.     (
  232.     (set @default-dest "MUI:")
  233.     )
  234. )
  235. (complete 20)
  236.  
  237. ;======================================================================
  238. ;=              CHECK FOR PREPMAIL AND INSTALL IT, TOO                =
  239. ;======================================================================
  240.  
  241. (if (<> 0 (exists #PREPMAIL))
  242.     (
  243.  
  244.     (set #preppath "")
  245.  
  246.     (until (<> #preppath "")
  247.         (
  248.         (set #preppath
  249.             (askdir (prompt (t_AskForDest #PREPMAIL))
  250.                             (default "AmiTCP:bin")
  251.                             (help @askdir-help)))
  252.         ))
  253.  
  254.     (complete 22)
  255.  
  256.     (copylib     (prompt (t_copyfile #PREPMAIL))
  257.                         (source "PrepMail")
  258.                         (dest        #preppath)
  259.                         (confirm)
  260.                         (help    @copylib-help))
  261. ))
  262.  
  263. ;======================================================================
  264. ;=                      INSTALL LOCALE CATALOGS                       =
  265. ;======================================================================
  266.  
  267. (set #def 0)    ; Init var
  268.  
  269. (if (<> 0 (exists #AMICATDE))
  270.     (
  271.     (set #choice1 "pdeutsch")
  272.     (if (= @language "deutsch") (set #def (+ #def 1)))
  273.     )
  274.     (
  275.     (set #choice1 "p")
  276.     ))
  277.  
  278. (if (<> 0 (exists #AMICATSW))
  279.     (
  280.     (set #choice2 "svenska")
  281.     (if (= @language "svenska") (set #def (+ #def 2)))
  282.     )
  283.     (
  284.     (set #choice2 "")
  285.     ))
  286.  
  287. (if (<> 0 (exists #AMICATSP))
  288.     (
  289.     (set #choice3 "español")
  290.     (if (= @language "español") (set #def (+ #def 4)))
  291.     )
  292.     (
  293.     (set #choice3 "")
  294.     ))
  295.  
  296. (if (<> 0 (exists #AMICATPO))
  297.     (
  298.     (set #choice4 "polish")
  299.     (if (= @language "polish") (set #def (+ #def 8)))
  300.     )
  301.     (
  302.     (set #choice4 "")
  303.     ))
  304.  
  305. (if (<> 0 (exists #AMICATIT))
  306.     (
  307.     (set #choice5 "italiano")
  308.     (if (= @language "italiano") (set #def (+ #def 16)))
  309.     )
  310.     (
  311.     (set #choice5 "")
  312.     ))
  313.  
  314.  
  315. (set #catalogs
  316.     (askoptions    (prompt t_selectlocale)
  317.                             (help @askoptions-help)
  318.                             (choices    #choice1
  319.                                                 #choice2
  320.                                                 #choice3
  321.                                                 #choice4
  322.                                                 #choice5)
  323.                             (default #def)))
  324.  
  325. (complete 30)
  326.  
  327. (if (IN #catalogs 0)
  328.     (
  329.     (set #mkpath (tackon @default-dest "catalogs/deutsch"))
  330.     (makedir #mkpath)
  331.     (copylib       (prompt t_copycatalog)
  332.                             (source "catalogs/deutsch/AMIPopUp.catalog")
  333.                             (dest     #mkpath)
  334.                             (help @copyfiles-help))))
  335.  
  336. (complete 40)
  337.  
  338. (if (IN #catalogs 1)
  339.     (
  340.     (set #mkpath (tackon @default-dest "catalogs/svenska"))
  341.     (makedir #mkpath)
  342.     (copylib       (prompt t_copycatalog)
  343.                             (source "catalogs/svenska/AMIPopUp.catalog")
  344.                             (dest     #mkpath)
  345.                             (help @copyfiles-help))))
  346.  
  347. (if (IN #catalogs 2)
  348.     (
  349.     (set #mkpath (tackon @default-dest "catalogs/español"))
  350.     (makedir #mkpath)
  351.     (copylib       (prompt t_copycatalog)
  352.                             (source "catalogs/español/AMIPopUp.catalog")
  353.                             (dest     #mkpath)
  354.                             (help @copyfiles-help))))
  355.  
  356. (if (IN #catalogs 3)
  357.     (
  358.     (set #mkpath (tackon @default-dest "catalogs/polski"))
  359.     (makedir #mkpath)
  360.     (copylib       (prompt t_copycatalog)
  361.                             (source "catalogs/polski/AMIPopUp.catalog")
  362.                             (dest     #mkpath)
  363.                             (help @copyfiles-help))))
  364.  
  365. (if (IN #catalogs 4)
  366.     (
  367.     (set #mkpath (tackon @default-dest "catalogs/italiano"))
  368.     (makedir #mkpath)
  369.     (copylib       (prompt t_copycatalog)
  370.                             (source "catalogs/italiano/AMIPopUp.catalog")
  371.                             (dest     #mkpath)
  372.                             (help @copyfiles-help))))
  373.  
  374.  
  375.  
  376.  
  377. ;======================================================================
  378. ;=        INSTALL AMIGA-GUIDE DOCUMENTATION & HISTORY FILE            =
  379. ;======================================================================
  380.  
  381. (complete 55)
  382.  
  383. (set #myguide (exists #AMIGUIDE))
  384. (set #myhist (exists #AMIHIST))
  385. (set #mygerguide (exists #AMIGUIDE_GER))
  386. (set #myprephist (exists #PREPHIST))
  387.  
  388. (set #docdef 0)
  389.  
  390. (if (OR (<> 0 #myguide) (<> 0 #myhist) (<> 0 #mygerguide) (<> 0 #myprephist))
  391.     (
  392.     (if (= 1 (AskBool    (prompt t_askfordocs)    (help    t_askdocshelp)))
  393.         (
  394.  
  395.         (if (<> 0 #myguide) 
  396.             (              
  397.             (set #selguide "AmigaGuide Manual - English (25kb)")
  398.             (set #docdef (+ #docdef 1))
  399.             )
  400.             (
  401.             (set #selguide "")
  402.             )
  403.         )
  404.  
  405.         (if (<> 0 #mygerguide) 
  406.             (
  407.             (set #selgerguide "AmigaGuide Manual - Deutsch (28kb)")
  408.             (set #docdef (+ #docdef 2))
  409.             )
  410.             (
  411.             (set #selgerguide "")
  412.             )
  413.         )
  414.  
  415.  
  416.         (if (<> 0 #myhist)
  417.             (
  418.             (set #selhis "AMIPopUp.History            ( 6kb)")
  419.             (set #docdef (+ #docdef 4))
  420.             )
  421.             (
  422.             (set #selhis "")
  423.             )
  424.         )
  425.  
  426.         (if (<> 0 #myprephist)
  427.             (
  428.             (set #prephis "PrepMail.History            ( 2kb)")
  429.             (set #docdef (+ #docdef 8))
  430.             )
  431.             (
  432.             (set #prephis "")
  433.             )
  434.         )
  435.  
  436.         (complete 60)
  437.  
  438.  
  439.         (set #docparts
  440.             (askoptions (prompt        t_selectdocs)
  441.                                     (help            @askoptions-help)
  442.                                     (choices #selguide
  443.                                                      #selgerguide
  444.                                                    #selhis
  445.                                                      #prephis)
  446.                                     (default #docdef)))
  447.         (complete 70)
  448.  
  449.         (if (<> 0 #docparts)
  450.             (
  451.             (set #docdest
  452.                 (askdir (prompt     t_askforddest)
  453.                                 (help            @askdir-help)
  454.                                 (default    @default-dest)))
  455.  
  456.             (complete 75)
  457.  
  458.             (if (<> "" #docdest)
  459.                 (
  460.                 (if (IN #docparts 0)
  461.                     (
  462.                     (copyfiles     (prompt "Install AmigaGuide...")
  463.                                             (help        @copyfiles-help)
  464.                                             (source    "AMIPopUp.guide")
  465.                                             (dest        #docdest)
  466.                                             (infos))
  467.  
  468.                     (complete 85)
  469.  
  470.                     ))
  471.  
  472.                 (if (IN #docparts 1)
  473.                     (
  474.                     (copyfiles     (prompt "Install AmigaGuide...")
  475.                                             (help        @copyfiles-help)
  476.                                             (source    "AMIPopUp_ger.guide")
  477.                                             (dest        #docdest)
  478.                                             (infos))
  479.  
  480.                     (complete 90)
  481.  
  482.                     ))
  483.  
  484.                 (if (IN #docparts 2)
  485.                     (
  486.                     (copyfiles     (prompt "Install History...")
  487.                                             (help        @copyfiles-help)
  488.                                             (source    "AMIPopUp.history")
  489.                                             (dest        #docdest)
  490.                                             (infos))
  491.                     ))
  492.  
  493.                 (if (IN #docparts 3)
  494.                     (
  495.                     (copyfiles     (prompt "Install History...")
  496.                                             (help        @copyfiles-help)
  497.                                             (source    "PrepMail.history")
  498.                                             (dest        #docdest)
  499.                                             (infos))
  500.  
  501.  
  502.                     ))
  503.                 ))
  504.             ))
  505.         ))
  506.     ))
  507.  
  508. ;======================================================================
  509. ;=        CHECK FOR TextInput.mcc AND InfoText.mcc SUBCLASSES         =
  510. ;======================================================================
  511.  
  512. (complete 95)
  513.  
  514. (if (= 0 (exists #INFOTEXT))
  515.     (
  516.     (copyfiles    (prompt "Install InfoText.mcc ...")
  517.                             (help        @copyfiles-help)
  518.                             (source "subclasses/InfoText.mcc")
  519.                             (dest        "MUI:Libs/MUI/"))
  520.     ))
  521.  
  522. (complete 96)
  523.  
  524. (if (= 0 (exists #TEXTINPUT))
  525.     (
  526.     (copyfiles    (prompt     "Install TextInput#?.mcc ...")
  527.                             (help         @copyfiles-help)
  528.               (source  "SubClasses/")
  529.                             (pattern "TextInput#?")
  530.                             (dest         "MUI:Libs/MUI/"))
  531.     ))
  532.  
  533.  
  534. ;======================================================================
  535. ;=    END OF INSTALLATION - NOTICE USER ABOUT SMB.CONF ADDING !!!     =
  536. ;======================================================================
  537.  
  538. (complete 99)
  539.  
  540. (message t_lastnotice)
  541.  
  542. (complete 100)
  543. (exit)
  544.