; $VER Install-UMS 10.8 (17.11.93)
;
; History: vxx.x  [kai] 20-Sep-93 started written history
; History: v10.6  [kai] 22-Sep-93 final cleanup
; History: v10.7  [kai] 29-Sep-93 real cleanup
; History: v10.7a [kai] 30-Sep-93 zer.username corrected
; History: v10.7b [kai] 30-Sep-93 expire.grouplist corrected
; History: v10.7c [kai] 15-Okt-93 Z-Netz stabilized / Fido-bound simplified
; History: v10.7d [kai] 17-Okt-93 better client
; History: v10.7e [kai] 26-Okt-93 better paths for Fido
; History: v10.7f [kai] 12-Nov-93 check if UUCP already installed
; History: v10.7g [kai] 17-Nov-93 Fido: no defaultregion, createintl

; ToDo: correct Update
; ToWait: Doku, Maus, UUCP, IntuiNews

(transcript "Installing Universal Message System v10.8...")

(complete 0)

(message "This installation script only installs a basic UMS system with "
         "only one single user and only one newsfeed for each network.\n\n"

         "In order to run a point on any network you may need additional "
         "programs to exchange data packets with your newsfeed. "
         "This programs are not supplied with UMS. Therefore this script "
         "is unable to configure these programs.\n\n"

         "You'll still have to install a lot of things by hand but "
         "this script gives you a working environment as a basis.\n\n")

(set @default-dest
  (expandpath
    (askdir
      (prompt "In which disk or drawer should Universal Message System be installed?\n\n"
              "(This script does not create a sub drawer for UMS)")
      (help @askdir-help)
      (default @default-dest)
    )
  )
)

(if (<> (substr @default-dest (- (strlen @default-dest) 1) 1) ":")
  (
    (set @default-dest (cat @default-dest "/"))
  )
)


(working "Installing user material")
(run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing user material\" -I -a x UMS-Release_10.8_1:user.LHA \"" @default-dest "\"")
  (prompt "Installing user material")
)

(complete 5)

; -------------------------------------------------------------------------

(set envoy (exists "LIBS:nipc.library"))

(if envoy
  (
    (set client
      (askchoice
        (prompt "Do you want to run UMS server on this machine or do you want "
                "to access the message base over a local area network using "
                "Commodore's networking software Envoy?")
        (default 0)
        (help @askchoices-help)
        (choices "message base is on this machine"
                 "message base is accessed via Envoy")
      )
    )
    (if (= client 0)
      (
        (set server
          (askbool
            (prompt "Do you want to export UMS as an Envoy service?\n"
                    "(This enables other machines in a local area network "
                    "to use the message base of this machine over the net)")
            (default 0)
            (help @askbool-help)
          )
        )
      )
    )
  )
  (
    (set client 0)
  )
)

; -------------------------------------------------------------------------

(copylib
  (help @copylib-help)
  (prompt "Installing amigaguide.library")
  (confirm)
  (source (tackon @default-dest "user/libs/amigaguide.library"))
  (dest "LIBS:")
)

(if (= client 0)
  (
    (copylib
      (help @copylib-help)
      (prompt "Installing flush.library")
      (confirm)
      (source (tackon @default-dest "user/libs/flush.library"))
      (dest "LIBS:")
    )
  )  
)

; (set slowprocessor (= (database "cpu") "68000"))

(set slowprocessor 1)

(if slowprocessor
  (
    (copylib
      (help @copylib-help)
      (prompt "Installing ums.library")
      (confirm)
      (source (tackon @default-dest "user/libs/ums.library"))
      (dest "LIBS:")
    )
  )
  (
    (copylib
      (help @copylib-help)
      (prompt "Installing ums.library ('010 version)")
      (confirm)
      (source (tackon @default-dest "user/libs/ums.library.010"))
      (newname "ums.library")
      (dest "LIBS:")
    )
  )
)

(if (= client 0)
  (
    (if slowprocessor
      (
        (copylib
          (help @copylib-help)
          (prompt "Installing UMS Server")
          (confirm)
          (source (tackon @default-dest "user/l/umsserver"))
          (dest "L:")
        )
      )
      (
        (copylib
          (help @copylib-help)
          (prompt "Installing UMS Server ('010 version)")
          (confirm)
          (source (tackon @default-dest "user/l/umsserver.010"))
          (newname "umsserver")
          (dest "L:")
        )
      )
    )
    (if server
      (
        (set servicepath
          (expandpath
            (askdir
              (prompt "In which drawer should ums.service be placed?")
              (help @askdir-help)
              (default "SYS:Envoy/Services")
            )
          )
        )
        (copylib
          (help @copylib-help)
          (prompt "Installing UMS Service")
          (confirm)
          (infos)
          (source (tackon @default-dest "user/services/ums.service"))
          (dest servicepath)
        )
        (message "Please activate \"ums.service\" using Envoy's \"Services Manager\"")
      )
    )
  )
)

(set bin-dest (tackon @default-dest "bin"))
(set script-dest (tackon @default-dest "s"))
(set rexx-dest (tackon @default-dest "rexx"))
(set doc-dest (tackon @default-dest "doc"))

(if (= (exists bin-dest) 0)
  (
    (rename (tackon @default-dest "user/bin") bin-dest)
  )
)

(if (= client 0)
  (
    (if (exists rexx-dest)
      (
        (copyfiles
          (help @copyfiles-help)
          (prompt "Updating ARexx Scripts")
          (source (tackon @default-dest "user/rexx"))
          (dest rexx-dest)
          (all)
          (optional "force" "askuser")
        )
      )
      (
        (rename (tackon @default-dest "user/rexx") rexx-dest)
      )
    )
  )
  (
    (makedir rexx-dest)
  )
)

(if (exists script-dest)
  (
    (copyfiles
      (help @copyfiles-help)
      (prompt "Updating AmigaDOS Scripts")
      (source (tackon @default-dest "user/s"))
      (dest script-dest)
      (all)
      (optional "force" "askuser")
    )
  )
  (
    (rename (tackon @default-dest "user/s") script-dest)
  )
)

(if (exists doc-dest)
  (
    (copyfiles
      (help @copyfiles-help)
      (prompt "Updating Docs")
      (source (tackon @default-dest "user/doc"))
      (dest doc-dest)
      (all)
      (optional "force" "askuser")
    )
  )
  (
    (rename (tackon @default-dest "user/doc") doc-dest)
  )
)

(run (cat "Delete >NIL: \"" (tackon @default-dest "user") "\" ALL"))

; -------------------------------------------------------------------------

(if (= client 0)
  (
    (makedir (tackon @default-dest "mb"))
    (set mbpath (tackon @default-dest "mb/"))

    (set mbpath
      (expandpath
        (askdir
          (prompt "In which disk or drawer should the message base be placed?\n"
                  "(you get a notable performance increase if you place the "
                  "message base on a seperate partition with a large block "
                  "size!)")
          (help @askdir-help)
          (default mbpath)
        )
      )
    )

    (complete 10)

    (set tools
      (askoptions
        (prompt "Which tools do you want to install?")
        (help @askoptions-help)
        (choices "SelectMail" "Stuntzi's UMS Tools" "Top Ten" "ImportExport" "UMS Password" "Expire" "Bouncer" "FixAccess")
      )
    )
  )
  (
    (set tools
      (askoptions
        (prompt "Which tools do you want to install?")
        (help @askoptions-help)
        (choices "SelectMail" "Stuntzi's UMS Tools" "Top Ten" "ImportExport" "UMS Password")
      )
    )
  )
)

(if (<> tools 0)
  (
    (makedir (tackon @default-dest "tools")
      (prompt "Creating Tools directory")
    )
    (set tool-dest (tackon @default-dest "tools/"))
  )
)

(if (in tools 0)
  (
    (working "Installing SelectMail")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing SelectMail\" -I -a x UMS-Release_10.8_1:tools/SelectMail.LHA \"" tool-dest "\"")
      (prompt "Installing SelectMail")
    )
    (delete (tackon bin-dest "SelectMail"))
    (rename (tackon tool-dest "selectmail/SelectMail") (tackon bin-dest "SelectMail"))
  )
)

(if (in tools 1)
  (
    (working "Installing Stuntzi's UMS Tools")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing Stuntzi's UMS Tools\" -I -a x UMS-Release_10.8_1:tools/sumstl.LHA \"" tool-dest "\"")
      (prompt "Installing Stuntzi's UMS Tools")
    )
    (delete   (tackon bin-dest "sumsset"))
    (rename (tackon tool-dest "sumstl/sumsset")   (tackon bin-dest "sumsset"))
    (delete (tackon bin-dest "sumsprint"))
    (rename (tackon tool-dest "sumstl/sumsprint") (tackon bin-dest "sumsprint"))
    (delete (tackon bin-dest "sumswrite"))
    (rename (tackon tool-dest "sumstl/sumswrite") (tackon bin-dest "sumswrite"))
  )
)

(if (in tools 2)
  (
    (working "Installing TopTen")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing TopTen\" -I -a x UMS-Release_10.8_1:tools/TopTen.LHA \"" tool-dest "\"")
      (prompt "Installing TopTen")
    )
    (delete (tackon bin-dest "TopTen"))
    (rename (tackon tool-dest "TopTen/TopTen") (tackon bin-dest "TopTen"))
  )
)

(if (in tools 3)
  (
    (working "Installing UMS Import and Export tools")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing UMS Import and Export tools\" -I -a x UMS-Release_10.8_1:tools/ImportExport.LHA \"" tool-dest "\"")
      (prompt "Installing UMS Import and Export tools")
    )
    (delete (tackon bin-dest "export"))
    (rename (tackon tool-dest "importexport/export") (tackon bin-dest "export"))
    (delete (tackon bin-dest "import"))
    (rename (tackon tool-dest "importexport/import") (tackon bin-dest "import"))
    (delete (tackon bin-dest "umsdoctor"))
    (rename (tackon tool-dest "importexport/umsdoctor") (tackon bin-dest "umsdoctor"))
  )
)

(if (in tools 4)
  (
    (working "Installing UMS Password")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing UMS Password\" -I -a x UMS-Release_10.8_1:tools/UMSPassword.LHA \"" tool-dest "\"")
      (prompt "Installing UMS Password")
    )
    (delete (tackon bin-dest "umspasswd"))
    (rename (tackon tool-dest "UMSPassword/umspasswd") (tackon bin-dest "umspasswd"))
    (delete (tackon bin-dest "umspasswd.nomui"))
    (rename (tackon tool-dest "UMSPassword/umspasswd.nomui") (tackon bin-dest "umspasswd.nomui"))
  )
)

(if (in tools 5)
  (
    (working "Installing Expire")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing Expire\" -I -a x UMS-Release_10.8_1:tools/Expire.LHA \"" tool-dest "\"")
      (prompt "Installing Expire")
    )
    (delete (tackon bin-dest "Expire"))
    (rename (tackon tool-dest "expire/Expire") (tackon bin-dest "Expire"))
  )
)

(if (in tools 6)
  (
    (working "Installing Bouncer")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing Bouncer\" -I -a x UMS-Release_10.8_1:tools/Bouncer.LHA \"" tool-dest "\"")
      (prompt "Installing Bouncer")
    )
    (delete (tackon bin-dest "bouncer"))
    (rename (tackon tool-dest "Bouncer/bouncer") (tackon bin-dest "bouncer"))
    (delete (tackon bin-dest "unbounce"))
    (rename (tackon tool-dest "Bouncer/unbounce") (tackon bin-dest "unbounce"))
  )
)

(if (in tools 7)
  (
    (working "Installing FixAccess")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing FixAccess\" -I -a x UMS-Release_10.8_1:tools/FixAccess.LHA \"" tool-dest "\"")
      (prompt "Installing FixAccess")
    )
    (delete (tackon bin-dest "FixAccess"))
    (rename (tackon tool-dest "FixAccess/FixAccess") (tackon bin-dest "FixAccess"))
  )
)

(complete 15)

; -------------------------------------------------------------------------

(set readers
  (askoptions
    (prompt "Which message readers do you want to install?")
    (default 3)
    (help @askoptions-help)
    (choices "IntuiNews" "RUMS" "Mimas" "MUMS" "ReadX")
  )
)

(if (<> readers 0)
  (
    (makedir (tackon @default-dest "reader")
      (prompt "Creating reader directory")
    )
    (set reader-dest (tackon @default-dest "reader/"))
  )
)

(if (in readers 0)
  (
    (working "Installing IntuiNews reader")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing IntuiNews reader\" -I -a x UMS-Release_10.8_1:reader/IntuiNews.LHA \"" reader-dest "\"")
      (prompt "Installing IntuiNews reader")
    )

    (set intuilang
      (askoptions
        (prompt "Which languages do you want to use for IntuiNews?")
        (default 3)
        (help @askoptions-help)
        (choices "english" "deutsch")
      )
    )

    (if (exists "LIBS:locale.library")
      (
        (if (in intuilang 1)
          (
            (if (askbool
                  (prompt "Do you want to use the completely localized german version or "
                          "do you prefer a carefully localized german version which "
                          "doesn't translate common english expressions?")
                  (default 1)
                  (choices "Completely localized" "Carefully localized")
                  (help @askbool-help))
              (
                (copylib
                  (help @copylib-help)
                  (prompt "Installing \"volldeutsch\" localization")
                  (source (tackon reader-dest "IntuiNews/locale/catalogs/volldeutsch/IntuiNews.catalog"))
                  (dest "LOCALE:catalogs/deutsch/")
                )
              )
              (
                (copylib
                  (help @copylib-help)
                  (prompt "Installing german localization")
                  (source (tackon reader-dest "IntuiNews/locale/catalogs/deutsch/IntuiNews.catalog"))
                  (dest "LOCALE:catalogs/deutsch/")
                )
              )
            )
          )
        )
      )
    )

    (run (cat "Delete >NIL: \"" (tackon reader-dest "IntuiNews/locale(%|.info)") "\" ALL"))

    (if (in intuilang 0)
      (
        (set docpath
          (expandpath
            (askdir
              (prompt "Select a destination for the english online documentation")
              (help @askdir-help)
              (default "HELP:english/")
            )
          )
        )
        (copyfiles
          (help @copyfiles-help)
          (prompt "Installing english online documentation")
          (infos)
          (source (tackon reader-dest "IntuiNews/docs/english/IntuiNews.guide"))
          (dest docpath)
          (optional "force" "askuser")
        )
      )
    )

    (if (in intuilang 1)
      (
        (set docpath
          (expandpath
            (askdir
              (prompt "Select a destination for the german online documentation")
              (help @askdir-help)
              (default "HELP:deutsch/")
            )
          )
        )
        (copyfiles
          (help @copyfiles-help)
          (prompt "Installing german online documentation")
          (infos)
          (source (tackon reader-dest "IntuiNews/docs/deutsch/IntuiNews.guide"))
          (dest docpath)
          (optional "force" "askuser")
        )
      )
    )

    (run (cat "Delete >NIL: \"" (tackon reader-dest "IntuiNews/Docs(%|.info)") "\" ALL"))

    (delete      (tackon @default-dest "IntuiNews"))
    (rename (tackon reader-dest "IntuiNews/IntuiNews")      (tackon @default-dest "IntuiNews"))
    (delete (tackon @default-dest "IntuiNews.info"))
    (rename (tackon reader-dest "IntuiNews/IntuiNews.info") (tackon @default-dest "IntuiNews.info"))
  )
)

(complete 25)

(if (in readers 1)
  (
    (working "Installing RUMS reader")
    (run (cat "UMS-Release_10.8_1:Install-Support/LhA >\"CON:0/40//120/Installing RUMS reader\" -I -a x UMS-Release_10.8_1:reader/RUMS.LHA \"" reader-dest "\"")
      (prompt "Installing RUMS reader")
    )

    (delete      (tackon @default-dest "RUMS"))
    (rename (tackon reader-dest "RUMS/RUMS")      (tackon @default-dest "RUMS"))
    (delete (tackon @default-dest "RUMS.info"))
    (rename (tackon reader-dest "RUMS/RUMS.info") (tackon @default-dest "RUMS.info"))
    (delete      (tackon bin-dest "Wrap"))
    (rename (tackon reader-dest "RUMS/Wrap")      (tackon bin-dest "Wrap"))
  )
)

(complete 30)

(if (in readers 2)
  (
    (message "Sorry, Mimas is only available as beta version, because "
             "it is not completed yet!\n\n"

             "It's author Andr Schenk can be reached as follows:\n\n"

             "UUCP: andre@melior.stgt.sub.org\n"
             "FIDO: 2:2407/106.42@fidonet\n")
  )
)

(if (in readers 3)
  (
    (message "MUMS ist currently in beta test! Please contact Klaus Melchior "
             "for additional information.\n\n"

             "He can be reached as follows:\n\n"

             "UUCP: klaus_melchior@mowgli.fido.de\n"
             "ADSP: kmel@eifel.adsp.sub.org\n"
             "Fido: 2:242/7.2@Fidonet\n")
  )
)

(if (in readers 4)
  (
    (message "Sorry, ReadX is only available as beta version, "
             "because SteveX is too busy and Kai Bolay is too lazy "
             "to complete it.\n\n"

             "Steve Tibbet can be reached as follows:\n\n"

             "UUCP: SteveX@cup.portal.com\n")
  )
)

; -------------------------------------------------------------------------


(if (= client 0)
  (
    (set bbss
      (askoptions
        (prompt "Which Bulletin Board Systems do you want to install?")
        (default 0)
        (help @askoptions-help)
        (choices "BBX" "BSTalk" "KMS")
      )
    )
  )
  (
    (set bbss 0)
  )
)

(if (in bbss 0)
  (
    (message "Sorry, BBX does not support UMS yet.\n\n"

             "Steve Tibbet can be reached as follows:\n\n"

             "UUCP: SteveX@cup.portal.com\n")
  )
)

(if (in bbss 1)
  (
    (message "Sorry, BSTalk is only available as beta version!\n\n"

             "It's author Andreas Krieg can be reached as follows:\n\n"

             "UUCP: andi@bline.stgt.sub.org\n"
             "Fido: 2:2407/107@fidonet\n")
  )
)

(if (in bbss 2)
  (
    (message "Sorry, KMS is only available as beta version!\n\n"

             "It's author Thomas Schwarz can be reached as follows:\n\n"

             "UUCP: blacky@bmagic.incubus.sub.org\n"
             "Fido: 2:242/11.1@fidonet\n")
  )
)

; -------------------------------------------------------------------------

(if (= client 0)
  (
    (set drivers
      (askoptions
        (prompt "In which networks do you want to participate?")
        (default 0)
        (help @askoptions-help)
        (choices "UUCP" "Fido" "Maus" "Z-Netz")
      )
    )
  )
  (
    (set drivers 0)
  )
)

(if (<> drivers 0)
  (
    (makedir (tackon @default-dest "drivers")
      (prompt "Creating drivers directory")
    )
    (set driver-dest (tackon @default-dest "drivers/"))
  )
)

(if (in drivers 0)
  (
    (working "Installing Usenet subsystem")
    (run (cat "UMS-Release_10.8_2:Install-Support/LhA >\"CON:0/40//120/Installing Usenet subsystem\" -I -a x UMS-Release_10.8_2:drivers/uucp.LHA \"" driver-dest "\"")
      (prompt "Installing Usenet subsystem")
    )
    (delete    (tackon bin-dest "compress"))
    (rename (tackon driver-dest "uucp/bin/compress")    (tackon bin-dest "compress"))
    (delete        (tackon bin-dest "gzip"))
    (rename (tackon driver-dest "uucp/bin/gzip")        (tackon bin-dest "gzip"))
    (delete    (tackon bin-dest "ums2uucp"))
    (rename (tackon driver-dest "uucp/bin/ums2uucp")    (tackon bin-dest "ums2uucp"))
    (delete  (tackon bin-dest "uucico116a"))
    (rename (tackon driver-dest "uucp/bin/uucico116a")  (tackon bin-dest "uucico116a"))
    (delete      (tackon bin-dest "freeze"))
    (rename (tackon driver-dest "uucp/bin/freeze")      (tackon bin-dest "freeze"))
    (delete (tackon bin-dest "testaddress"))
    (rename (tackon driver-dest "uucp/bin/testaddress") (tackon bin-dest "testaddress"))
    (delete      (tackon bin-dest "uucico"))
    (rename (tackon driver-dest "uucp/bin/uucico")      (tackon bin-dest "uucico"))
    (delete       (tackon bin-dest "uuxqt"))
    (rename (tackon driver-dest "uucp/bin/uuxqt")       (tackon bin-dest "uuxqt"))

    (run (cat "Delete >NIL: \"" (tackon driver-dest "uucp/bin") "\""))

    (copylib
      (help @copylib-help)
      (prompt "Installing OwnDevUnit.library")
      (confirm)
      (source (tackon driver-dest "uucp/libs/OwnDevUnit.library"))
      (dest "LIBS:")
    )

    (run (cat "Delete >NIL: \"" (tackon driver-dest "uucp/libs") "\" ALL"))

    (message "Now configuring your Usenet subsystem")
    (set uucpfeed
      (askstring
        (prompt "Please enter the name of your newsfeed (without domain)")
        (help @askstring-help)
        (default "feed")
      )
    )
    (set dumbhost
      (askbool
        (prompt "Does your newsfeed rely on information in the UUCP mail "
                "envelopes (RFC976 format) instead of parsing to RFC822 "
                "header?\n\n"
                "Usually it does not, but if your newsfeed is running "
                "Dillon UUCP it requires this outdated information.")
        (default 1)
        (help @askbool-help)
      )
    )
    (set dillon (exists "UULIB:config" (noreq)))

    (if dillon
      (
        (message "A UUCP installation was detected. UMS-UUCP will use "
                 "the config files (\"UULIB:config\", \"UULIB:L.sys\") "
                 "of this installation. Please check if they are correct.\n")
      )
      (
        (set feedphone
          (askstring
            (prompt "Please enter the telephone number of your newsfeed")
            (help @askstring-help)
            (default "08154711")
          )
        )
        (set uucppassword
          (askstring
            (prompt "Please enter you password for your newsfeed")
            (help @askstring-help)
            (default "secret")
          )
        )
      )
    )
    (set batch
      (askoptions
        (prompt "Please choose exporting method for mail and news")
        (default 2)
        (help @askoptions-help)
        (choices "batch mail" "batch news")
      )
    )
    (if (in batch 0)
      (
        (set mailcompress
          (askchoice
            (prompt "Please select compression method for mail")
            (default 0)
            (help @askchoices-help)
            (choices "none" "compress" "freeze" "gzip")
          )
        )
        (if (<> mailcompress 0)
          (
            (set maxmailcompress
              (asknumber
                (prompt "Please enter maximal number of bytes for one batch")
                (default 65536)
                (help @asknumber-help)
              )
            )
          )
        )
      )
    )
    (if (in batch 1)
      (
        (set newscompress
          (askchoice
            (prompt "Please select compression method for news")
            (default 1)
            (help @askchoices-help)
            (choices "none" "compress" "freeze" "gzip (\"#! gunbatch\" header)" "gzip (\"#! zunbatch\" header)")
          )
        )
        (if (<> newscompress 0)
          (
            (set maxnewscompress
              (asknumber
                (prompt "Please enter maximal number of bytes for one batch")
                (default 65536)
                (help @asknumber-help)
              )
            )
          )
        )
      )
    )
    (set nodename
      (askstring
        (prompt "Please enter your node's name")
        (help @askstring-help)
        (default "mysystem")
      )
    )
    (set domainname
      (askstring
        (prompt "Please enter your node's domain name")
        (help @askstring-help)
        (default "mysystem.foo.bar")
      )
    )
    (set registered
      (askbool
        (prompt "Is your node registered in the UUCP maps?")
        (default 0)
        (help @askbool-help)
      )
    )
    (if (= dillon 0)
      (
        (startup "UMS-UUCP"
          (prompt "Installing Assigns for UMS-UUCP")
          (help @startup-help)
          (command (cat "Assign UUSPOOL: \"" (tackon driver-dest "uucp/spool\"\n")))
          (command (cat "Assign UUPUB: \"" (tackon driver-dest "uucp/pub\"\n")))
          (command (cat "Assign UULIB: \"" (tackon driver-dest "uucp/lib\"\n")))
        )
      )  
    )
    (message "UUCiCo is part of this distribution. See the documentation "
             "for more information how to poll UUCP. Please especially inspect "
             "\"UULIB:L.sys\" to find out if it's correct.\n")
  )
)

(complete 40)

(if (in drivers 1)
  (
    (working "Installing Fido subsystem")
    (run (cat "UMS-Release_10.8_2:Install-Support/LhA >\"CON:0/40//120/Installing Fido subsystem\" -I -a x UMS-Release_10.8_2:drivers/fido.LHA \"" driver-dest "\"")
      (prompt "Installing Fido subsystem")
    )
    (delete (tackon bin-dest "FidoExport"))
    (rename (tackon driver-dest "fido/FidoExport") (tackon bin-dest "FidoExport"))
    (delete (tackon bin-dest "FidoImport"))
    (rename (tackon driver-dest "fido/FidoImport") (tackon bin-dest "FidoImport"))

    (message "Now configuring your Fido subsystem")
    (set bossaddr
      (askstring
        (prompt "Please enter the address of your boss")
        (help @askstring-help)
        (default "1:234/567")
      )
    )
    (run (cat "rx UMS-Release_10.8_2:Install-Support/MakeFidoAlias " bossaddr))
    (set fidoalias (getenv "fido-alias"))

    (set stoneage
      (if
        (
          (askbool
            (prompt "Does your boss support full four dimensional operation?")
            (help @askbool-help)
          )
        )
        0 1
      )
    )
    (set pointaddr
      (askstring
        (prompt "Please enter your point address")
        (help @askstring-help)
        (default (cat bossaddr ".x"))
      )
    )
    (if stoneage
      (
        (set fakeaddr
          (askstring
            (prompt "Please enter your fake address")
            (help @askstring-help)
            (default "567/8")
          )
        )
      )
    )
    (set arccmd
      (askstring
        (prompt "Please enter AmigaDOS command to crunch your messages\n\n")
        (help @askstring-help)
        (default "LhA -I -u -m -U2048 m %s %s")
      )
    )
    (set dearccmd
      (askstring
        (prompt "Please enter AmigaDOS command to decrunch your messages\n\n")
        (help @askstring-help)
        (default "LhA -I -m -f -x0 -U8192 x %s %s")
      )
    )

    (message "A fido mailer is not part of the UMS distribution "
             "You'll need TrapDoor or any other fido mailer in order "
             "to run a fido point. You must configure this mailer by hand.\n\n")
  )
)

(complete 50)

(if (in drivers 2)
  (
    (working "Installing Maus subsystem")
    (run (cat "UMS-Release_10.8_2:Install-Support/LhA >\"CON:0/40//120/Installing Maus subsystem\" -I -a x UMS-Release_10.8_2:drivers/maus.LHA \"" driver-dest "\"")
      (prompt "Installing Maus subsystem")
    )
    (delete (tackon bin-dest "m2ums"))
    (rename (tackon driver-dest "maus/Maustausch/m2ums") (tackon bin-dest "m2ums"))
    (delete (tackon bin-dest "ums2m"))
    (rename (tackon driver-dest "maus/Maustausch/ums2m") (tackon bin-dest "ums2m"))

    (delete (tackon rexx-dest "MultiMaus.rexx"))
    (rename (tackon driver-dest "maus/MultiMaus/MultiMaus.rexx") (tackon rexx-dest "MultiMaus.rexx"))

    (delete (tackon bin-dest "UMSGroup"))
    (rename (tackon driver-dest "maus/UMSGroup/UMSGroup") (tackon bin-dest "UMSGroup"))

    (message "Now configuring your Maus subsystem")
    (set mausfeed
      (askstring
        (prompt "Please enter the address of your Maus mailbox")
        (help @askstring-help)
        (default "AC")
      )
    )

    (message "A \"Maustausch\" script is provided. Please read MultiMaus.doc for "
             "more information.\n")
  )
)

(complete 60)

(if (in drivers 3)
  (
    (working "Installing Z-Netz subsystem")
    (run (cat "UMS-Release_10.8_2:Install-Support/LhA >\"CON:0/40//120/Installing Z-Netz subsystem\" -I -a x UMS-Release_10.8_2:drivers/z-netz.LHA \"" driver-dest "\"")
      (prompt "Installing Z-Netz subsystem")
    )
    (delete (tackon bin-dest "ZerExport"))
    (rename (tackon driver-dest "z-netz/ZerExport") (tackon bin-dest "ZerExport"))
    (delete (tackon bin-dest "ZerImport"))
    (rename (tackon driver-dest "z-netz/ZerImport") (tackon bin-dest "ZerImport"))
    (delete (tackon bin-dest "ZerberusMailer"))
    (rename (tackon driver-dest "z-netz/ZerberusMailer/c/ZerberusMailer") (tackon bin-dest "ZerberusMailer"))

    (message "Now configuring your Z-Netz subsystem")
    (set zerserver
      (askstring
        (prompt "Please enter the address of you Z-Netz server box")
        (help @askstring-help)
        (default "FOOBAR")
      )
    )

    (message "ZerberusMailer ist part of this distribution, but you have "
             "to configure it by hand. Sorry for the inconvenience.\n")
  )
)

(complete 70)


; -------------------------------------------------------------------------

(if (askbool
    (prompt "Do you want to install developer material (ARexx, C, Modula-2, Oberon)?")
    (help @askbool-help)
    (default 1)
  )
  (
    (working "Installing developer material")
    (run (cat "UMS-Release_10.8_2:Install-Support/LhA >\"CON:0/40//120/Installing developer material\" -I -a x UMS-Release_10.8_2:developer.LHA \"" @default-dest "\"")
      (prompt "Installing developer material")
    )
    (delete (tackon bin-dest "GroupContents"))
    (rename (tackon @default-dest "developer/demo/GroupContents") (tackon bin-dest "GroupContents"))
    (delete (tackon bin-dest "ReadMessage"))
    (rename (tackon @default-dest "developer/demo/ReadMessage") (tackon bin-dest "ReadMessage"))
    (delete (tackon bin-dest "ShowGroups"))
    (rename (tackon @default-dest "developer/demo/ShowGroups") (tackon bin-dest "ShowGroups"))
    (delete (tackon bin-dest "WriteMessage"))
    (rename (tackon @default-dest "developer/demo/WriteMessage") (tackon bin-dest "WriteMessage"))

    (delete (tackon rexx-dest "GroupContents.rexx"))
    (rename (tackon @default-dest "developer/arexx/GroupContents.rexx") (tackon rexx-dest "GroupContents.rexx"))
    (delete (tackon rexx-dest "ReadMessage.rexx"))
    (rename (tackon @default-dest "developer/arexx/ReadMessage.rexx") (tackon rexx-dest "ReadMessage.rexx"))
    (delete (tackon rexx-dest "ShowGroups.rexx"))
    (rename (tackon @default-dest "developer/arexx/ShowGroups.rexx") (tackon rexx-dest "ShowGroups.rexx"))
    (delete (tackon rexx-dest "WriteMessage.rexx"))
    (rename (tackon @default-dest "developer/arexx/WriteMessage.rexx") (tackon rexx-dest "WriteMessage.rexx"))
    (delete (tackon rexx-dest "UmsConsts.rexx"))
    (rename (tackon @default-dest "developer/arexx/UmsConsts.rexx") (tackon rexx-dest "UmsConsts.rexx"))
  )
)

(complete 80)

; -------------------------------------------------------------------------

(message "Now configuring global variables")

(set username
  (askstring
    (prompt "Please enter your full name")
    (help @askstring-help)
    (default "Joe User")
  )
)

(set shortusername
  (askstring
    (prompt "Please enter your short name")
    (help @askstring-help)
    (default "joe")
  )
)

(set password
  (askstring
    (prompt "Please enter your password")
    (help @askstring-help)
    (default "joshua")
  )
)

(complete 85)

; -------------------------------------------------------------------------

(if (= client 1)
  (
    (set writeit 1)
    (if (= (exists "ENV:UMSSERVER") 1)
      (
        (set writeit
          (askbool
            (prompt "ENV:UMSSERVER ist already set. Overwrite "
                    "this environment variable?")
            (help @askbool-help)
          )
        )
      )
    )
    (if writeit
      (
        (set umsserver
          (askstring
            (prompt "Please enter the name of the UMS server you want to use.\n\n"
                    "This name consists of two parts. The part following "
                    "the \"@\" sign is the name of the machine the server "
                    "is running on. The other part is the name of the "
                    "message base on this server. Use \"default\" in order "
                    "to get the default message base of this server.")
            (default "default@server")
            (help @askstring-help)
          )
        )
        (textfile
          (dest "ENV:UMSSERVER")
          (append umsserver)
        )
        (textfile
          (dest "ENVARC:UMSSERVER")
          (append umsserver)
        )
      )
    )
  )
)


; -------------------------------------------------------------------------

(if (= client 0)
  (
    (set writeit 1)

    (if (= (exists "ENV:UMSMB.default") 1)
      (
        (set writeit
          (askbool
            (prompt "ENV:UMSMB.default ist already set. Overwrite "
                    "this environment variable?")
            (help @askbool-help)
          )
        )
      )
    )

    (if writeit
      (
        (textfile
          (dest "ENV:UMSMB.default")
          (append mbpath)
        )

        (textfile
          (dest "ENVARC:UMSMB.default")
          (append mbpath)
        )
      )
    )
  )
)

(complete 90)

; -------------------------------------------------------------------------

(if (= client 0)
  (
    (working "Creating configuration files")

    (if (in drivers 0)
      (
        (if (= dillon 0)
          (
            (textfile
              (dest (tackon driver-dest "uucp/lib/seq"))
              (append "0000")
            )
            (textfile
              (dest (tackon driver-dest "uucp/lib/config"))

              (append "#\n")
              (append "#  UULIB:config & S:UUConfig -- UUCP Configuration\n\n")
              (append "#  Notes: - Copy this file to S:UUConfig\n")
              (append "#         - UULIB:config and S:UUConfig must be the same file!\n")
              (append "#\n\n")
              (append "#  Node name\n")
              (append "#  WARNING: some UUCP systems can't handle names longer than 7 characters!\n")
              (append (cat "NodeName      " nodename "\n\n"))
              (append "#  User name\n")
              (append (cat "UserName      " shortusername "\n\n"))
              (append "#  Log level\n")
              (append "Debug         0\n\n")
              (append "#  Processor for incoming packets (Default: Uuxqt)\n")
              (append "#Uuxqt        uuxqt\n\n")
              (append "#  Spool directory (Default: UUSPOOL:)\n")
              (append "#UUSpool      UUCP:Spool\n\n")
              (append "#  Config directory (Default: UULIB:)\n")
              (append "#UULib        UUCP:Lib\n\n")
              (append "#  Public directory (Default: UUPUB:)\n")
              (append "#UUPub        UUCP:Public\n\n")
              (append "#  Modem init string\n")
              (append "#ModemInit    ATZ\n\n")
              (append "#  Modem answer read timeouts in seconds (default 60)\n")
              (append "#TimeOut      60\n\n")
            )

            (textfile
              (dest (tackon driver-dest "uucp/lib/L.sys"))

              (append "#\n")
              (append "#  UULIB:L.sys -- UUCP sites we connect to\n")
              (append "#\n")
              (append "# Node   Time Device Baudrate Number/     Expect-Send strings\n")
              (append "#                             Dialstring\n")
              (append "#\n")
              (append (cat uucpfeed " Any  SER:   38400    ATD" feedphone))
              (append (cat " ogin:-\\r-ogin: " nodename " ssword: " uucppassword "\\r\n"))
            )
          )
        )
      )  
    )
  )
)

; -------------------------------------------------------------------------

(if (= client 0)
  (
    (if (in readers 1)
      (
        (textfile
          (dest (tackon reader-dest "rums/.rumsrc"))

          (append "editor = c:Ed\n")
          (append "signature = \"   Bye!*n\"\n")
          (append "\n")
          (append (cat "addressdir = \"" (tackon reader-dest "RUMS/") "\"\n"))
          (append (cat "rumsdir = \"" (tackon reader-dest "RUMS/") "\"\n"))
          (append (cat "rumslog = \"" (tackon reader-dest "RUMS/rums.log") "\"\n"))
          (append "\n")
          (append "startup.general = {\n")
          (append "  PROMPT \"Welcome to RUMS!\"\n")
          (append "  SPRINTF addressbook \"%srums.addresses\" addressdir\n")
          (append "  SPRINTF writefile \"T:rums.writefile.%lx\" #p\n")
          (append "  SPRINTF readfile \"T:rums.readfile.%lx\" #p\n")
          (append "  SPRINTF grouplist1 \"T:rums.grouplist.%lx\" #p\n")
          (append "  SPRINTF grouplist2 \"T:rums.grouplist.sorted.%lx\" #p\n")
          (append "  SPRINTF file \"%srums.macros\" ( rumsdir )\n")
          (append "  EXE loadvars\n")
          (append "}\n")
          (append "loadvars = {\n")
          (append "  IF (LOAD $file) ()\n")
          (append "     (\n")
          (append "       SPRINTF line \"Unable to load file '%s' !\" \"file\"\n")
          (append "       NOTIFY $line\n")
          (append "       QUIT\n")
          (append "     )\n")
          (append "}\n")
          (append "\n")
          (append "; default startup\n")
          (append "; reset selected (bit 0) and postponed (bit 6)\n")
          (append "\n")
          (append "startup = {\n")
          (append "  TIMEOUT 1200\n")
          (append "  EXE startup.general\n")
          (append "  SPRINTF file \"%srums.keys\" ( rumsdir )\n")
          (append "  EXE loadvars\n")
          (append "  SELSTATUS 0 ~0\n")
          (append "  SELSTATUS 6 ~6\n")
          (append "  SELSTATUS 1 ~1\n")
          (append "  SELSTATUS R7 1\n")
          (append "  SGROUP \"\" 1\n")
          (append "  SET group \"Mail\"\n")
          (append "  EXE msgselect\n")
          (append "}\n")
          (append "\n")
        )
      )
    )
  )
)

(complete 95)

; -------------------------------------------------------------------------

(if (= client 0)
  (
    (set writeit 1)

    (if (= (exists (tackon mbpath "ums.config")) 1)
      (
        (set writeit
          (askbool
            (prompt "ums.config already exists in your message base. Overwrite "
                    "this configuration file?")
            (help @askbool-help)
          )
        )
      )
    )
  )
  (
    (set writeit 0)
  )
)

(if writeit
  (
    (if (in drivers 0)
      (
        (set domainaddress domainname)
      )
      (
        (if (in drivers 1)
          (
            (run (cat "rx UMS-Release_10.8_2:Install-Support/MakeFidoDomain " pointaddr))
            (set domainaddress (getenv "fido-domain"))
          )
          (
            (if (in drivers 2)
              (
                (set domainaddress (cat shortusername "." mausfeed ".maus.de"))
              )
              (
                (if (in drivers 3)
                  (
                    (set domainaddress (cat shortusername "." zerserver ".zer.sub.org"))
                  )
                )
              )
            )
          )
        )
      )
    )

    (set aka "")

    (if (in drivers 0)
      (
        (if (<> aka "") ((set aka (cat aka "\n"))))
        (set aka (cat aka "#?@" domainname))
      )
    )

    (if (in drivers 1)
      (
        (if (<> aka "") ((set aka (cat aka "\n"))))
        (set aka (cat aka pointaddr "@fidonet"))
        (if stoneage
          (
            (if (<> aka "") ((set aka (cat aka "\n"))))
            (set aka (cat aka fakeaddr "@fidonet"))
          )
        )
      )
    )

    (textfile
      (dest (tackon mbpath "ums.config"))

      (append "DOMAIN-ADDRESS = \"" domainaddress "\"\n\n")

      (append (cat "AKA = \"" aka "\"\n\n"))

      (append "LOGLEVEL = 7\n")
      (append (cat "LOGFILE = \"" (tackon @default-dest "ums.log") "\"\n\n"))

      (append "HDRREADBUF = 4096\n")
      (append "HDRWRITEBUF = 16384\n")
      (append "HDRCACHE = 65536\n")
      (append "TXTREADBUF = 32768\n")
      (append "TXTWRITEBUF = 65536\n")
      (append "CLEANBUF = 524288\n")
      (append "HDRFILL = 80\n")
      (append "TXTFILL = 80\n")
      (append "HEADERFIELDS = 1,2,3,4,5,6,7,8,9,10,11,13,14,16,17\n")
      (append "INDEXFIELDS = 1,2,3,4,5,8,9,10,16,17\n")
      (append "HARDFLUSH = 240\n")
      (append "SOFTFLUSH = 3\n")
      (append "CHAINQUICK = 1\n")
      (append "NOCHECKHD = 0\n")
      (append "ACCESS = #?\n")
      (append "FULLACCESS = #?\n\n")

; -------------------------------------------------------------------------

      (if (in drivers 0)
        (
          (append (cat "uucp.nodename   = " nodename "\n"))
          (if registered
            (
              (append (cat "uucp.pathname   = " nodename "\n"))
            )
            (
              (append (cat "uucp.pathname   = " domainname "\n"))
            )
          )
          (append (cat "uucp.domainname = " domainname "\n\n"))
        )
      )

; -------------------------------------------------------------------------

      (if (in drivers 1)
        (
          (set inbound  (tackon driver-dest "fido/inbound"))
          (if (<> (substr inbound (- (strlen inbound) 1) 1) ":")
            (
              (set inbound (cat inbound "/"))
            )
          )
          (append (cat "fido.inbound       = \"" inbound  "\"\n"))
          (set outbound (tackon driver-dest "fido/outbound"))
          (if (<> (substr outbound (- (strlen outbound) 1) 1) ":")
            (
              (set outbound (cat outbound "/"))
            )
          )
          (append (cat "fido.outbound      = \"" outbound "\"\n"))
          (append "fido.junkcmd       = \"Rename %s %s,BAD\"\n\n")
        )
      )

; -------------------------------------------------------------------------

      (if (in drivers 3)
        (
          (if (in readers 0)
            (
              (append (cat "zer.addressbook  = \"" (tackon reader-dest "IntuiNews/IntuiNews.addresses") "\"\n"))
            )
          )
          (append (cat "zer.download     = \"" (tackon driver-dest "z-netz/download") "\"\n"))
          (append (cat "zer.upload       = \"" (tackon driver-dest "z-netz/upload") "\"\n"))
          (append (cat "zer.binary       = \"" (tackon driver-dest "z-netz/binary") "\"\n"))
          (append "zer.headers      = \"mrn\"\n")
          (append "zer.footerfilter = \"--#?(MPoint|Zodiac's Point|THE ANSWER)#?\"\n\n")
        )
      )

; -------------------------------------------------------------------------

      (if (in tools 5)
        (
          (append "expire.grouplist = \"#?, 14\"\n")
          (append "expire.mail = 28\n\n")
        )
      )

; -------------------------------------------------------------------------

      (if (in readers 0)
        (
          (append (cat "IntuiNews.Book = \"" (tackon reader-dest "IntuiNews/IntuiNews.addresses") "\"\n\n"))
        )
      )

; -------------------------------------------------------------------------

      (append "user\n")
      (append (cat "  name           = \"" username "\"\n"))
      (append "  sysop\n")
      (append (cat "  alias          = \"" shortusername "\"\n"))
      (append "  alias          = sysop\n")
      (if (in drivers 0)
        (
          (append "  alias          = postmaster\n")
          (append "  alias          = root\n")
        )
      )
      (append (cat "  password       = \"" password "\"\n"))
      (append "  readaccess     = #?\n")
      (append "  writeaccess    = #?\n")
      (append "  netaccess      = #?\n")
      (if (in drivers 0)
        (
          (append (cat "  uucp.username  = \"" shortusername "\"\n"))
        )
      )
      (if (in drivers 2)
        (
          (append (cat "  maus." mausfeed ".info        = \"IIH, IIK, IIL, IIM, INK, INP, IGT, IGS\"\n"))
          (append (cat "  maus." mausfeed ".privateinfo = \"IGK, ITG\"\n"))
        )
      )
      (if (in drivers 3)
        (
          (append (cat "  zer.username   = \"" shortusername "\"\n"))
        )
      )
      (if (in tools 5)
        (
          (append (cat "  expire.private = 365\n"))
        )
      )
      (append "enduser\n\n")

; -------------------------------------------------------------------------

      (if (in drivers 0)
        (
          (append "user\n")
          (append (cat "  name            = uucp." uucpfeed "\n"))
          (append "  alias           = uucp.default\n")
          (append "  password        = \"\"\n")
          (append "  readaccess      = ~(fidonet.#?|maus.#?|zer.#?)\n")
          (append "  writeaccess     = #?\n")
          (append "  netaccess       = #?\n")
          (append "  import          = #?\n")
          (append "  export          = ~(#?@fidonet|#?.(un|%)maus|#?.zer)\n")
          (append "  distribution    = #?\n")
          (if dumbhost
            (
              (append "  uucp.dumbhost   = Y\n")
            )
          )
          (if (in batch 0)
            (
              (if (= mailcompress 0)
                (
                  (append "  uucp.mailexport = Y\n")
                )
              )
              (if (= mailcompress 1)
                (
                  (append (cat "  uucp.mailexport = Y,1," maxmailcompress "\n"))
                )
              )
              (if (= mailcompress 2)
                (
                  (append (cat "  uucp.mailexport = Y,2," maxmailcompress "\n"))
                )
              )
              (if (= mailcompress 3)
                (
                  (append (cat "  uucp.mailexport = Y,5," maxmailcompress "\n"))
                )
              )
            )
            (
              (append "  uucp.mailexport = N\n")
            )
          )
          (if (in batch 1)
            (
              (if (= newscompress 0)
                (
                  (append "  uucp.newsexport = Y\n")
                )
              )
              (if (= newscompress 1)
                (
                  (append (cat "  uucp.newsexport = Y,3," maxnewscompress "\n"))
                )
              )
              (if (= newscompress 2)
                (
                  (append (cat "  uucp.newsexport = Y,4," maxnewscompress "\n"))
                )
              )
              (if (= newscompress 3)
                (
                  (append (cat "  uucp.newsexport = Y,6," maxnewscompress "\n"))
                )
              )
              (if (= newscompress 4)
                (
                  (append (cat "  uucp.newsexport = Y,7," maxnewscompress "\n"))
                )
              )
            )
            (
              (append "  uucp.newsexport = N\n")
            )
          )
          (append "enduser\n\n")
        )
      )

; -------------------------------------------------------------------------

      (if (in drivers 1)
        (
          (append "user\n")
          (append "  name              = FidoBoss\n")
          (append "  alias             = fido.default\n")
          (append (cat "  alias             = " fidoalias "\n"))
          (append "  password          = \"\"\n")
          (append "  readaccess        = fidonet.#?\n")
          (append "  writeaccess       = fidonet.#?\n")
          (append "  netaccess         = #?\n")
          (append "  import            = #?\n")
          (append "  export            = #?@fidonet\n")
          (append "  distribution      = #?\n")
          (append "  fido.netname      = fidonet\n")
          (append (cat "  fido.pointaddress = " pointaddr "\n"))
          (if stoneage
            (
              (append "  fido.stoneage    = Y\n")
              (append (cat "  fido.fakeaddress = " fakeaddr "\n"))
            )
          )
          (append (cat "  fido.bossaddress  = " bossaddr "\n"))
          (append (cat "  fido.arccmd       = \"" arccmd "\"\n"))
          (append (cat "  fido.dearccmd     = \"" dearccmd "\"\n"))
          (append (cat "  fido.createintl   = \"Y\"\n"))
          (append "enduser\n\n")
        )
      )

; -------------------------------------------------------------------------

      (if (in drivers 2)
        (
          (append "user\n")
          (append (cat "  name              = maus." mausfeed "\n"))
          (append "  password          = \"\"\n")
          (append (cat "  readaccess        = maus." mausfeed ".#?\n"))
          (append (cat "  writeaccess       = maus." mausfeed ".#?\n"))
          (append "  netaccess         = #?\n")
          (append "  import            = #?\n")
          (append "  export            = #?.(un|%)maus\n")
          (append "  distribution      = #?\n")
          (append "enduser\n\n")
        )
      )

; -------------------------------------------------------------------------

      (if (in drivers 3)
        (
          (append "user\n")
          (append "  name              = Zerberus\n")
          (append "  password          = \"\"\n")
          (append "  readaccess        = zer.#?\n")
          (append "  writeaccess       = zer.#?\n")
          (append "  netaccess         = #?\n")
          (append "  import            = #?\n")
          (append "  export            = #?.zer\n")
          (append "  distribution      = #?\n")
          (append (cat "  zer.serverbox     = \"" zerserver ".ZER\"\n"))
          (append "enduser\n")
        )
      )
    )
  )
)

; -------------------------------------------------------------------------

(if (in readers 0)
  (
    (tooltype
      (prompt "Setting IntuiNews' ToolTypes")
      (help @tooltype-help)
      (dest (tackon @default-dest "IntuiNews"))
      (settooltype "NAME" username)
      (settooltype "PASSWORD" password)
      (if (= client 0)
        (
          (settooltype "SERVER" "default")
        )
        (
          (settooltype "SERVER" umsserver)
        )
      )
    )
  )
)

(if (in readers 1)
  (
    (tooltype
      (prompt "Setting RUMS' ToolTypes")
      (help @tooltype-help)
      (dest (tackon @default-dest "RUMS"))
      (settooltype "USER" username)
      (settooltype "PASSWORD" password)
      (if (= client 0)
        (
          (settooltype "SERVER" "default")
        )
        (
          (settooltype "SERVER" umsserver)
        )
      )
      (settooltype "WINDOW" "RAW:0/50//350/RUMS/ALT50/100/200/50")
      (settooltype "STARTUP" "startup")
      (settooltype "RUMSRC" (tackon reader-dest "RUMS/.rumsrc"))
    )
  )
)

; -------------------------------------------------------------------------

(working "Creating scripts for tools")

(if (in tools 5)
  (
    (makedir (tackon @default-dest "bak"))
    (set mbbackup (tackon @default-dest "bak/"))
    (set mbbackup
      (expandpath
        (askdir
          (prompt "In which disk or drawer should the backup of your message "
                  "base be placed?\n"
                  "(A backup is necessery before you invoke \"cleanums\" to "
                  "physically remove deleted or expired messages)")
          (help @askdir-help)
          (default mbbackup)
        )
      )
    )

    (textfile
      (dest (tackon script-dest "CleanMB"))

      (append (cat "Expire " shortusername " " password "\n"))
      (append "Wait 3\n")
      (append "QuitUMS.rexx\n")
      (append "Wait 3\n")
      (append (cat "Copy \"" (tackon mbpath ".(~IDcount)") "\" TO \"" mbbackup "\"\n"))
      (append "Wait 3\n")
      (append "CleanUMS.rexx\n")
    )
    (protect (tackon script-dest "CleanMB") 66)
  )
)

; -------------------------------------------------------------------------

(working "Creating poll scripts")

(if (in drivers 0)
  (
    (textfile
      (dest (tackon script-dest "UUCPCall"))

      (append (cat "ums2uucp -s" uucpfeed "\n"))
      (append (cat "uucico -s" uucpfeed "\n"))
    )
    (protect (tackon script-dest "UUCPCall") 66)
  )
)

(if (in drivers 1)
  (
    (textfile
      (dest (tackon script-dest "FidoCall"))

      (append "Stack 50000\n")
      (append "FidoExport FidoBoss\n")
      (append "TrapDoor CALL BOSS\n")
      (append "FidoImport\n")
    )
    (protect (tackon script-dest "FidoCall") 66)
  )
)

(complete 99)

(startup "UMS"
  (prompt "Installing Paths for UMS (binaries/scripts)")
  (help @startup-help)
  (set path (cat "\"" bin-dest "\" \"" script-dest "\" \"" rexx-dest "\""))
  (if (<> readers 0)
    (
      (set path (cat path " \"" @default-dest "\""))
    )
  )
  (command (cat "Path " path " ADD\n"))
)

(complete 100)

(exit)
