home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / Utilities / MUIbase / Install-MUIbase < prev    next >
Text File  |  1999-12-18  |  16KB  |  531 lines

  1. ; $VER: Install-MUIbase 1.3 (18.12.99)
  2.  
  3. (complete 0)
  4.  
  5. ;
  6. ; MUIbase version
  7. ;
  8. (set #mb_ver 1)
  9. (set #mb_rev 3)
  10. (set #mb_vernum (+ (* #mb_ver 65536) #mb_rev))
  11. (set #mb_verstr ("%ld.%ld" #mb_ver #mb_rev))
  12.  
  13. ;
  14. ; minimal installer version
  15. ;
  16. (set #installer_ver 43)
  17. (set #installer_rev 3)
  18. (set #installer_vernum (+ (* #installer_ver 65536) #installer_rev))
  19. (set #installer_verstr ("%ld.%ld" #installer_ver #installer_rev))
  20.  
  21. ;
  22. ; minimal MUI version
  23. ;
  24. (set #mui_ver 3)
  25. (set #mui_rev 8)
  26. (set #mui_vernum (+ (* #mui_ver 65536) #mui_rev))
  27. (set #mui_verstr ("%ld.%ld" #mui_ver #mui_rev))
  28. (set #muimaster_ver 19)
  29. (set #muimaster_rev 35)
  30. (set #muimaster_vernum (+ (* #muimaster_ver 65536) #muimaster_rev))
  31. (set #muimaster_verstr ("%ld.%ld" #muimaster_ver #muimaster_rev))
  32.  
  33. ;
  34. ; Locale strings
  35. ;
  36.  
  37. (set #copyright ("\nMUIbase %s\n=======================\n© 1998-1999, Steffen Gutmann" #mb_verstr))
  38.  
  39. ;
  40. ; German
  41. ;
  42. (if (and 1 (= @language "deutsch"))
  43. (
  44.  
  45. (set #abort     "Abbruch")
  46. (set #update    "Aktualisieren")
  47. (set #chdir     "Verzeichnis wechseln")
  48. (set #install   "Installieren")
  49. (set #skip      "Diesen Teil überspringen")
  50.  
  51. (set #abortinstall  "Die Installation wird nun abgebrochen.")
  52. (set #oldinstaller  "\nSie benutzen eine alte Version von Installer mit der MUIbase nicht installiert werden kann! Bitte installieren Sie\n\nInstaller Version %s oder höher!\n\nSie finden Installer im Aminet im Verzeichnis\n\n/pub/aminet/util/misc\n\n\n%s")
  53.  
  54. (set #installmui    "Bitte installieren Sie\n\nMUI %s oder höher.\n\n Sie finden MUI im Aminet im Verzeichnis\n\n/pub/aminet/dev/mui")
  55. (set #nomui         "\nAuf Ihrem System ist MUI nicht installiert (konnte \"libs:muimaster.library\" nicht finden). MUIbase kann ohne MUI jedoch nicht gestartet werden! %s\n\n\n%s")
  56. (set #oldmui        "\nSie benutzen eine alte Version von MUI (muimaster.library V %s). MUIbase benötigt jedoch MUI %s (muimaster.library V %s)! %s\n\n\n%s")
  57.  
  58. (set #intro         "%s\n\nWillkommen zum MUIbase Installationsprogramm. Hiermit können Sie MUIbase neu auf Ihrem System installieren oder eine bereits vorhandene, ältere Version von MUIbase ersetzen.\n\nMUIbase benutzt das NList/NListview-Paket von Gilles Masson und das TextEditor-Paket von Allan Odgaard. Beide Pakete sind in der Distribution enthalten und werden installiert.")
  59.  
  60. (set #oldmb         "\nMUIbase %s ist auf Ihrem System bereits im Verzeichnis\n\n\"%s\"\n\nvorhanden. ")
  61. (set #oldmb_update  "Sie können diese Installation aktualisieren (empfohlen) oder ein neues Verzeichnis auswählen.")
  62. (set #oldmb_newer   "Dieses Paket ist bereits aktueller als die Dateien die Sie gerade installieren möchen. Sie können die Installation nun abbrechen (empfohlen) oder das Verzeichnis wechseln.")
  63.  
  64. (set #destdir       "Bitte wählen Sie einen Platz für MUIbase. Ein Verzeichnis namens 'MUIbase' wird dort automatisch erzeugt. Der Platzbedarf beträgt ca. 800kB.")
  65. (set #destexists    "\nIm gewählten Zielverzeichnis\n\n\"%s\"\n\nexistiert bereits eine MUIbase-Schublade. Wenn Sie fortfahren, wird die dort befindliche MUIbase-Installation aktualisiert.")
  66.  
  67. (set #obso          "\nHinweis\n=======\n\nDie auf Ihrer Festplatte installierte Datei\n\n\"%s\"\n\nist überflüssig. Soll diese Datei nun gelöscht werden (empfohlen)?")
  68. (set #obso_del      "Ja, löschen!")
  69. (set #obso_nodel    "Nein, nicht löschen!")
  70.  
  71. (set #installdemos  "\nWollen Sie die MUIbase-Beispielprojekte (ca. 100kB) installieren?\n\nMUIbase-Beispielprojekte demonstrieren einige der Anwendungsmöglichkeiten von MUIbase. Eine Installation ist für die korrekte Funktion von MUIbase jedoch nicht erforderlich.")
  72. (set #installimages "\nWollen Sie die Bilder im Verzeichnis \"Images\" (ca. 60kB) installieren (empfohlen)?\n\n Die Bilder werden von MUIbase und den Beispielprojekten benötigt.")
  73.  
  74. (set #copying       "\nKopiere %s...")
  75. (set #copyreadmes   "\nKopiere Readme-Dateien...")
  76. (set #copydocs      "\nKopiere Benutzerhandbuch...")
  77. (set #copyregister  "\nKopiere Registrierdateien...")
  78. (set #copyexecs     "\nKopiere ausführbare Programme...")
  79. (set #copycatalogs  "Welche Sprachen sollen installiert werden?")
  80. (set #copycatalogs-help "Die eingebaute Sprache in MUIbase ist 'Englisch\n'. ")
  81. (set #copyimages    "\nKopiere Bilder...")
  82. (set #copydemos     "\nKopiere Beispiele...")
  83.  
  84. (set #userstartup   "\nEin paar Befehle werden nun in die Datei \"s:user-startup\" eingefügt.")
  85.  
  86. (set #finished      "%s\n\nMUIbase wurde erfolgreich installiert im Verzeichnis\n\n\"%s\"")
  87.  
  88. )
  89.  
  90.  
  91. ;
  92. ; English
  93. ;
  94. (
  95.  
  96. (set #abort     "Abort")
  97. (set #update    "Update")
  98. (set #chdir     "Change directory")
  99. (set #install   "Install")
  100. (set #skip      "Skip this part")
  101.  
  102. (set #abortinstall  "The installation of MUIbase is aborted now.")
  103. (set #oldinstaller  "\nYou are using an old version of Installer with which it is not possible to install MUIbase!  Please install\n\nInstaller version %s or higher!\n\nYou can find Installer in the Aminet in directory\n\n/pub/aminet/util/misc\n\n\n%s")
  104.  
  105. (set #installmui    "Please install\n\nMUI %s or higher.\n\nYou can find MUI in the Aminet in directory\n\n/pub/aminet/dev/mui")
  106. (set #nomui         "\nMUI is not installed on your system (couldn't find \"libs:muimaster.library\").  MUIbase however requires MUI!  %s\n\n\n%s")
  107. (set #oldmui        "\nYou are using an old version of MUI (muimaster.library V %s). MUIbase however requires MUI %s (muimaster.library V %s)! %s\n\n\n%s")
  108.  
  109. (set #intro         "%s\n\nWelcome to the MUIbase installation program. Use this tool to install MUIbase on your system or to update a previously installed MUIbase release.\n\nMUIbase uses the NList/NListview package by Gilles Masson and the TextEditor package by Allan Odgaard.  Both packages are included in the distribution and will be installed on your system.")
  110.  
  111. (set #oldmb         "\nMUIbase %s is already installed in directory\n\n\"%s\".\n\n")
  112. (set #oldmb_update  "You can update this installation (recommended) or select a new directory.")
  113. (set #oldmb_newer   "This package is more recent than the files you're about to install.  You can abort this installation (recommended) or select a new directory.")
  114.  
  115. (set #destdir       "Please select a place for the MUIbase software. A directory called 'MUIbase' will be created here. The space required is about 800kB.")
  116. (set #destexists    "\nThe directory\n\n\"%s\"\n\nalready contains a MUIbase directory.  If you continue, the MUIbase installation in this directory is updated.")
  117.  
  118. (set #obso          "\nInformation\n===========\n\nThe file\n\n\"%s\"\n\non your harddisk is unneccessary. Shall this file be deleted (recommended)?")
  119. (set #obso_del      "Yes, delete")
  120. (set #obso_nodel    "No, don't delete")
  121.  
  122. (set #installdemos  "\nDo you want to install the example projects (about 100kB)?\n\nMUIbase example projects demonstrate some of the posssibilities that MUIbase offers.  They are not required for a working MUIbase installation.")
  123. (set #installimages "\nDo you want to install the images in directory \"Images\" (about 60kB, installation recommended)?\n\nThe images are used by MUIbase and some example projects.")
  124.  
  125. (set #copying       "\nCopying %s...")
  126. (set #copyreadmes   "\nCopying readme files...")
  127. (set #copydocs      "\nCopying user documentation...")
  128. (set #copyregister  "\nCopying registration files...")
  129. (set #copyexecs     "\nCopying executables...")
  130. (set #copycatalogs  "Which languages should be installed?")
  131. (set #copycatalogs-help "The builtin language of MUIbase is 'English'\n. ")
  132. (set #copyimages    "\nCopying Images...")
  133. (set #copydemos     "\nCopying Examples...")
  134.  
  135. (set #userstartup   "\nSome commands will be added to your \"s:user-startup\" file.")
  136.  
  137. (set #finished      "%s\n\nMUIbase was successfully installed in directory\n\n\"%s\"")
  138.  
  139. ))
  140.  
  141. ;
  142. ; procedure P_BombCompat        - exit Installer with an error message.
  143. ;                                 We do not use parameters here as P_BombCompat
  144. ;                                 also should work under older Installer versions.
  145. ;
  146. ; #bombtext                     - text to print.
  147. ;
  148. (procedure P_BombCompat
  149.     (user 2)                    ; Force expert user
  150.     (message #bombtext)         ; Keyword 'all' does not work in Installer 1.24!
  151.     (exit (quiet))
  152. )
  153.  
  154. (procedure P_Bomb #text         ; procedure with params
  155.     (set #bombtext #text)
  156.     (P_BombCompat)
  157. )
  158.  
  159.  
  160. ;
  161. ; Check installer version
  162. ;
  163. (if (< @installer-version #installer_vernum)
  164.     (
  165.         (set #bombtext (#oldinstaller #installer_verstr #abortinstall))
  166.         (P_BombCompat)
  167.     )
  168. )
  169.  
  170. ;
  171. ; Check MUI version
  172. ;
  173. (if (not (exists "libs:muimaster.library"))
  174.     (P_Bomb (#nomui (#installmui #mui_verstr) #abortinstall))
  175. )
  176.  
  177. (set #vernum (getversion "libs:muimaster.library"))
  178. (set #ver (/ #vernum 65536))
  179. (set #rev (- #vernum (* #ver 65536)))
  180. (set #verstr ("%ld.%ld" #ver #rev))
  181.  
  182. (if (< #vernum #muimaster_vernum)
  183.     (P_Bomb (#oldmui #verstr #mui_verstr #muimaster_verstr
  184.         (#installmui #mui_verstr) #abortinstall)
  185.     )
  186. )
  187.  
  188. (procedure P_CHECKOBSO #file
  189.     (if (exists #file (noreq))
  190.     (if
  191.             (askbool
  192.                 (prompt (#obso #file))
  193.                 (choices #obso_del #obso_nodel)
  194.                 (default 1)
  195.                 (help @askbool-help)
  196.             )
  197.         (
  198.                 (run (cat "delete all force quiet " #file))
  199.                 (run (cat "delete force quiet " #file ".info"))
  200.             )
  201.     )
  202.     )
  203. )
  204.  
  205. (procedure P_COPYFILE #lib #srcname #dstdir
  206.     (if #lib
  207.     (copylib
  208.           (prompt (#copying #srcname))
  209.         (help @copylib-help)
  210.         (source #srcname)
  211.         (dest #dstdir)
  212.         (optional "force" "askuser")
  213.         (confirm "expert")
  214.         (infos)
  215.     )
  216.         (copyfiles
  217.         (prompt (#copying #srcname))
  218.         (help @copyfiles-help)
  219.         (source #srcname)
  220.         (dest #dstdir)
  221.         (optional "force" "askuser")
  222.         (confirm "expert")
  223.         (infos)
  224.     )
  225.     )
  226. )
  227.  
  228. (procedure P_COPYDIR #lib #sourcedir #destdir
  229.     (if (exists #sourcedir)
  230.     (foreach #sourcedir "#?"
  231.         (if (< @each-type 0)
  232.         (P_COPYFILE #lib (tackon #sourcedir @each-name) #destdir)
  233.         )
  234.     )
  235.     )
  236. )
  237.  
  238. ;
  239. ; Say hello
  240. ;
  241. (message (#intro #copyright))
  242.  
  243. ;
  244. ; Select destination directory
  245. ;
  246. (complete 10)
  247.  
  248. (set #seldir 1)
  249.  
  250. (if (exists "MUIbase:" (noreq))
  251.     (set @default-dest (expandpath "MUIbase:/"))
  252. )
  253.  
  254. (if (exists "MUIbase:MUIbase" (noreq))
  255.     (
  256.         (set #vernum (getversion "MUIbase:MUIbase"))
  257.         (set #ver (/ #vernum 65536))
  258.         (set #rev (- #vernum (* #ver 65536)))
  259.         (set #verstr ("%ld.%ld" #ver #rev))
  260.  
  261.     (if (> #vernum #mb_vernum)
  262.             (if
  263.                 (askbool
  264.                     (prompt (#oldmb #verstr @default-dest) #oldmb_newer)
  265.                     (choices #abort #chdir)
  266.                     (help @askbool-help)
  267.                 )
  268.         (exit (quiet))
  269.             )
  270.         (if
  271.                 (askbool
  272.                     (prompt (#oldmb #verstr @default-dest) #oldmb_update)
  273.                     (choices #update #chdir)
  274.                     (help @askbool-help)
  275.                 )
  276.         (set #seldir 0)
  277.         )
  278.     )
  279.     )
  280. )
  281.  
  282. (if (<> #seldir 0)
  283.     (
  284.     (set @default-dest
  285.         (askdir
  286.         (prompt #destdir)
  287.         (help @askdir-help)
  288.         (default @default-dest)
  289.         )
  290.     )
  291.  
  292.     (set @default-dest (expandpath @default-dest))
  293.     )
  294. )
  295.  
  296. (set #destination (tackon @default-dest "MUIbase"))
  297.  
  298. (if (<> #seldir 0)
  299.     (if (exists #destination)
  300.     (message (#destexists @default-dest))
  301.     )
  302. )
  303.  
  304. ;
  305. ; Obsolete File Check
  306. ;
  307.  
  308. (complete 15)
  309.  
  310. (P_CHECKOBSO (tackon #destination "Register/RegForm_FinalWriter"))
  311.  
  312. ;
  313. ; Ask for Demos & Images installation.
  314. ;
  315. (set #do_installdemos
  316.     (askbool
  317.         (prompt #installdemos)
  318.         (choices #install #skip)
  319.         (default 1)
  320.         (help @askbool-help)
  321.     )
  322. )
  323.  
  324. (set #do_installimages
  325.     (askbool
  326.         (prompt #installimages)
  327.         (choices #install #skip)
  328.         (default 1)
  329.         (help @askbool-help)
  330.     )
  331. )
  332.  
  333. ;
  334. ; install MUI extra Libs
  335. ;
  336. (P_COPYDIR 1 "libs/mui" "libs:mui")
  337.  
  338. (complete 20)
  339.  
  340.  
  341. ;
  342. ; Create destination directory.
  343. ;
  344. (complete 25)
  345.  
  346. ; create destination directory
  347. (if (not (exists #destination))
  348.     (
  349.         (makedir #destination (help @makedir-help) (infos))
  350.  
  351.         ;
  352.         ; Copy MUIbase directory icon.
  353.         ;
  354.         (if (exists "/MUIbase.info")
  355.             (run (cat "copy /MUIbase.info \"" #destination ".info\""))
  356.         )
  357.         (tooltype (dest #destination) (noposition))
  358.     )
  359. )
  360.  
  361. (complete 30)
  362.  
  363. ;
  364. ; Create include directory
  365. ;
  366. (set #include_dir (tackon #destination "Include"))
  367. (if (not (exists #include_dir))
  368.     (makedir #include_dir (help @makedir-help))
  369. )
  370.  
  371. (complete 35)
  372.  
  373. (copyfiles
  374.     (prompt #copyreadmes)
  375.     (source "")
  376.     (pattern "(ReadMe#?|LiesMich#?|Porting#?|FAQ|TODO)")
  377.     (dest #destination)
  378.     (infos)
  379.     (optional "force" "askuser")
  380.     (help @copyfiles-help)
  381.     (confirm "expert")
  382. )
  383.  
  384. (complete 40)
  385.  
  386. (copyfiles
  387.     (prompt #copydocs)
  388.     (source "")
  389.     (pattern "(Docs)")
  390.     (dest #destination)
  391.     (infos)
  392.     (optional "force" "askuser")
  393.     (help @copyfiles-help)
  394.     (confirm "expert")
  395. )
  396.  
  397. (complete 45)
  398.  
  399. (copyfiles
  400.     (prompt #copyregister)
  401.     (source "")
  402.     (pattern "(Register)")
  403.     (dest #destination)
  404.     (infos)
  405.     (optional "force" "askuser")
  406.     (help @copyfiles-help)
  407.     (confirm "expert")
  408. )
  409.  
  410. (complete 50)
  411.  
  412. (copyfiles
  413.     (prompt #copyexecs)
  414.     (source "")
  415.     (choices "MUIbase" "ABconvert")
  416.     (dest #destination)
  417.     (infos)
  418.     (optional "force" "askuser")
  419.     (help @copyfiles-help)
  420.     (confirm "expert")
  421. )
  422.  
  423. (complete 60)
  424.  
  425. ;copy catalog files
  426. (if (exists "LOCALE:" (noreq))
  427.     (
  428.         ; Ask languages to install
  429.         (set sel_lang
  430.             (askoptions
  431.                 (prompt #copycatalogs)
  432.                 (help #copycatalogs-help @askoptions-help)
  433.                 (choices
  434.                     "Deutsch"
  435. ;                    "Français"
  436.                     "Español"
  437.                     "Nederlands"
  438.                     "Svenska"
  439.                 )
  440.                 (default 0)
  441.             )
  442.         )
  443.         (set n 0)
  444.         (while
  445.             (set language
  446.                   (select n
  447.                     "Deutsch"
  448. ;                    "Français"
  449.                     "Español"
  450.                     "Nederlands"
  451.                     "Svenska"
  452.                     ""
  453.                 )
  454.                )
  455.             (if (IN sel_lang n)
  456.                 (
  457.                     (makedir (tackon (tackon #destination "Catalogs") language))
  458.                     (copyfiles
  459.                         (source (tackon (tackon "Catalogs" language) "MUIbase.catalog"))
  460.                         (dest (tackon (tackon #destination "Catalogs") language))
  461.                     )
  462.                 )
  463.             )
  464.             (set n (+ n 1))
  465.         ) ; end of while statement
  466.     )
  467. )
  468. (complete 70)
  469.  
  470. (if #do_installimages
  471.     (
  472.         (set #dest_images (tackon #destination "Images"))
  473.         (copyfiles
  474.         (prompt #copyimages)
  475.             (source "")
  476.         (choices "Images")
  477.         (dest #destination)
  478.         (infos)
  479.             (help @copyfiles-help)
  480.             (optional "force" "askuser")
  481.             (confirm "expert")
  482.         )
  483.     )
  484. )
  485.  
  486. (complete 80)
  487.  
  488. (if #do_installdemos
  489.     (
  490.         (set #dest_demos (tackon #destination "Demos"))
  491.         (copyfiles
  492.         (prompt #copydemos)
  493.             (source "")
  494.         (choices "Demos")
  495.         (dest #destination)
  496.         (infos)
  497.             (help @copyfiles-help)
  498.             (optional "force" "askuser")
  499.             (confirm "expert")
  500.         )
  501.     )
  502. )
  503.  
  504. (complete 90)
  505.  
  506.  
  507. ;
  508. ; Startup Sequence
  509. ;
  510.  
  511. (startup "MUIbase"
  512.     (prompt #userstartup)
  513.     (help @startup-help)
  514.     (command "if exists \"" #destination "\"\n")
  515.     (command "   assign MUIbase: \"" #destination "\" DEFER\n")
  516.     (command "endif")
  517. )
  518.  
  519. (complete 95)
  520.  
  521. (makeassign "MUIbase" #destination)
  522.  
  523.  
  524. ;=============================================================================
  525. ; Finish
  526.  
  527. (complete 100)
  528.  
  529. (exit (#finished #copyright #destination) (quiet))
  530.  
  531.