Ariadne II LAN card install script, mainly FYI

  • Thread starter Thread starter RetroNinja
  • Start date Start date
  • Replies Replies 0
  • Views Views 270

RetroNinja

Active member
Joined
Jul 23, 2022
Posts
231
Country
USA
Region
Las Vegas, NV
Hey,
I was installing an Ariadne network card and some things were failing. Here's the install script from the v1.4 install disks. This is more of a FYI/interest/example thing.

my issues were
  • if I chose a sub-folder most of the install would appear to work/finish but didn't, no errors were generated on screen, the app would not install but some Docs would; the fix was to install at the root of a drive; consider this if you are building a script
  • if I chose 'Pretend to Install' it would bomb out with T: being un-accessible; this is a temporary holding spot in RAM: ; consider this if you are building a script

Some other notes
  • Genesis installs a limited function AmiTCP stack version, it does not support PPP/dialup configurations, just LAN configurations
  • there is a genesiskey.library file that gets installed; I think this is a key/serial file for AmiTCP

I've got too many projects but it would be kinda cool to...
  • combines both disk into a single .LHA file
  • rebuild the install script
  • set things to do everything in RAM: - mainly rename FDD disk paths (?)
  • add verbiage about install location limitation(s) or fix the limitation
  • when it runs, pop open a window that shows each line running with results being color coded

Rando questions
  • does a gotek support HD by default? could the single file be a 1.5MB(ish) ADF file?
  • is the scripting language just for the Installer app?, is it ARexx?


Code:
; $VER: Genesis Installer v1.2 disk (24-Mar-99)
;
; Copyright © 1998-99 Active Technologies
; http://www.active-net.co.uk
;
; Install script by Michael Neuweiler <dolphin@unizh.ch>
;
; Piracy and unlawful duplication of this package may result in
; criminal prosecution to the full extent of UK and European law.


(set @app-name "Genesis VT Edition")
(set #error-msg "An unexpected error has occured. Installation aborted.")

(message "\n"
         "Welcome to the " @app-name " installer.\n"
         "\n"
         "\n"
         "© Active Technologies 1998-99\n"
         "\n"
         "http://www.active-net.co.uk\n"
         "\n"
         "\n"
         "\n"
         "Piracy and unlawful duplication of this package may result in "
         "criminal prosecution to the full extent of UK and European law."
)


; Disk related strings
(set #install-disk1    "GENESiS_Disk_1:")
(set #install-disk2    "GENESiS_Disk_2:")
(set #unlha-file       "ram:LhA")

(set #dist-devs-file      (tackon #install-disk1 "Devs.lha"))
(set #dist-docs1-file     (tackon #install-disk1 "Docs1.lha"))
(set #dist-libs-file      (tackon #install-disk1 "Libs.lha"))
(set #dist-mcc-file       (tackon #install-disk1 "MUI.lha"))

(set #dist-genesis-file   (tackon #install-disk2 "GENESiS.lha"))
(set #dist-docs2-file     (tackon #install-disk1 "Docs2.lha"))


; Main component names & def pattern
(set #genesis-name   "Genesis VT Edition v1.0.5")
(set #docs-name      "Documentation")
(set #sana2-name     "Ariadne-II Network Driver v43.12")
(set #mcc-name       "MUI Custom Classes")
(set #install-choice 15)

; main GENESiS dirs
(set #source-dir        "NETCD2:")
(set #docs-dir          "GENESiS/Docs")
(set #libs-dir          "Libs")
(set #devs-net-dir      "Devs/Networks")

; name for assign
(set #genesis-dir       "Genesis/")
(set #amitcp-dir        "AmiTCP")
(set #amitcp-assign     "AmiTCP:")

(welcome)

(onerror
 (if #old-amitcp-dir
     (makeassign #amitcp-dir #old-amitcp-dir))
)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure check-system-version

  (transcript "checking system version")
  (if (< (/ (getversion) 65536) 39)
      (exit "\n\n" @app-name " requires Kickstart version 3.0 or above.\n\n\n"
            "Installation aborted.\n\n"
            (quiet)
      )
  )
)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure check-old-assign

   (transcript "Checking for already installed AmiTCP.")
   (set #old-amitcp-dir
      (if (exists #amitcp-assign (noreq))
         (getassign #amitcp-dir)
         "")
   )
   (if #old-amitcp-dir
      (transcript "Existing AmiTCP detected at directory " #old-amitcp-dir "."))
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(procedure check-cpu-type

 (set cpu-type (database "cpu"))
 (set cpu-is-020-or-better
   (AND (<> cpu-type "68000")
   (<> cpu-type "68010")))
 (set cpu-extension (substr cpu-type 2))
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; arguments:
;;
;;   unlha-source      - the source archive
;;   unlha-destination - the destination directory
;;   unlha-title-name  - descriptive name of the archive

(procedure run-unlha

 (if (exists unlha-source)
   ((transcript "Dearchiving " unlha-source " files to " unlha-destination ".")
      (working "Writing files to " unlha-destination "...")
      (if (= @pretend 0)
         ((if (run (cat #unlha-file " x \"" unlha-source "\" \"" unlha-destination "\" >\"CON:9/9/600/100/Lha Output./INACTIVE/AUTO\" "))
         (abort "    Lha could not dearchive the " unlha-source ". "
            "This may be due to:\n"
            "    * Not enough disk space\n"
            "    * Not enough memory\n"
            "    * Corrupted archive\n"
            "    * Corrupted UnPkt\n"))))
   1)
   ((transcript unlha-source " could not be located, and is NOT installed!")
      (message "\nWARNING\n\nCould not locate the " unlha-source " archive.\n")
   0)
 )
)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure ask-install

   (set #install-choice
      (askoptions
         (prompt "Please select which parts of the " @app-name " package you wish to install.")
         (help "There are several parts to the " @app-name " package, some of which you may or may not wish to install. "
               "Many of the parts are unique to this release, so if you have not installed any of these already you should select them all.")
         (choices (cat #genesis-name " (TCP/IP stack)")
                  (cat #docs-name " (HTML docs)")
                  (cat #sana2-name " (required for the Ariadne-II)")
                  (cat #mcc-name " (required)")
         )
         (default #install-choice)
      )
   )

   (if (= 0 #install-choice)
      (exit "\n\n\n\nNo " @app-name " components have been selected.\n"
            "Installation aborted.\n" (quiet))
   )
)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure ask-dst-dir

   (if (exists "Internet:" (noreq))
      (set @default-dest "Internet:")
      (if (exists "Work:" (noreq))
         (set @default-dest "Work:")
         (set @default-dest "SYS:")
      )
   )

   (set @default-dest
      (askdir
         (prompt "Please select where you would like " @app-name " installed. "
                 "A drawer called '" #genesis-dir "' will be created there.")
         (help "Select where you would like " @app-name " installed."
               "The installer will then create a drawer called '" #genesis-dir "', "
               "and copy the programs and documentation into it.")
         (default @default-dest)
         (newpath)
      )
   )
   (if (NOT (= 2 (exists (tackon @default-dest #genesis-dir))))
      (makedir (tackon @default-dest #genesis-dir)))
)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; arguments:
;;
;; uus::commands - commands to add
;; uus::section  - section name
;;
(procedure update-user-startup

   (set uus::complete (cat ";BEGIN " uus::section "\n"
      uus::commands
      ";END " uus::section "\n"))

   (set startup-changed 1)
   (startup
      uus::section
      (command uus::commands)
      (prompt "Installer will modify your S:User-Startup file. "
              "Following lines will be appended to it:\n\n"
              uus::complete)
      (help "   Installer needs to make indicated modifications to your user startup file.\n"
            "   You should make modifications later by hand if you skip this part.")
   )
)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-genesis

   (transcript "installing GENESiS")

   (set
      unlha-source      #dist-genesis-file
      unlha-destination @default-dest
      unlha-title-name  "GENESiS"
   )
   (run-unlha)


   (set uus::commands (cat "Assign " #amitcp-assign " \"" (expandpath (tackon @default-dest #genesis-dir)) "\"\n"
                           "path " (tackon #amitcp-assign "bin") " add\n"
                           "Assign APIPE: Exists > NIL:\n"
                           "IF Warn\n"
                           "  Mount APIPE: from " (tackon #amitcp-assign "devs/APipe-Mountlist") "\n"
                           "EndIf\n"))
   (set uus::section "AmiTCP/IP")
   (update-user-startup)

   (makeassign #amitcp-dir (expandpath (tackon @default-dest #genesis-dir)))
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-devs

   (transcript "installing SanaII drivers")

   (if (NOT (exists "DEVS:Networks"))
      (makedir "DEVS:Networks")
   )

   (set
      unlha-source      #dist-devs-file
      unlha-destination "T:"
      unlha-title-name  "Sana II Network Drivers"
   )
   (run-unlha)

   (working "Checking Sana-II device drivers...")

   (if (= 2 (exists "T:Devs/Networks"))
       (copylib
         (prompt "Copying ariadne_ii.device to:\n\nDEVS:Networks")
         (help @copylib-help)
         (source (tackon "T:Devs/Networks" "ariadne_ii.device"))
         (dest "DEVS:Networks")
         (optional "force")
         (confirm)
       )
     (message "No Sana-II drivers found on the installation disk")
   )

   (run "C:Delete T:Devs ALL QUIET")
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-libs

   (transcript "installing libraries")
   (set
      unlha-source      #dist-libs-file
      unlha-destination "T:"
      unlha-title-name  "Libraries"
   )
   (run-unlha)

   (working "Checking libraries...")

   (foreach (tackon "T:" #libs-dir) "#?"
   (
      (copylib
         (prompt "Installing " @each-name)
         (help @copylib-help)
         (source (tackon (tackon "T:" #libs-dir) @each-name))
         (dest "Libs:")
         (confirm)
      )
   ))
   (run "C:Delete T:Libs ALL QUIET")
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-mcc

   (transcript "installing MUI custom classes")
   (set
      unlha-source      #dist-mcc-file
      unlha-destination "T:"
      unlha-title-name  "MCC's"
   )
   (run-unlha)

   (working "Checking MUI custom classes...")

   (if (= 2 (exists "MUI:Libs/MUI/" (noreq)))
   (
      (transcript "found existing MUI:libs/MUI dir")
      (foreach "T:MUI/Libs/MUI" "#?"
      (
         (copylib
            (prompt "Installing " @each-name)
            (confirm)
            (help @copylib-help)
            (source (tackon "T:MUI/Libs/MUI" @each-name))
            (dest "MUI:libs/mui/")
            (optional "askuser" "force")
         )
      ))
   ))
   (run "C:Delete T:MUI ALL QUIET")
)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-docs

   (transcript "installing docs")

   (set
      unlha-source      #dist-docs1-file
      unlha-destination (tackon @default-dest #genesis-dir)
      unlha-title-name  "GENESiS Documentation, Part 1"
   )
   (run-unlha)
 
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Installatation sequence
;;;
;;;

(complete 00) (transcript "On making " app-name ".")
(complete 01) (check-system-version)
(complete 02) (check-old-assign)
(complete 04) (check-cpu-type)

(copyfiles
  (prompt "Copy some files to ram:")
  (help @copyfiles-help)
  (source #install-disk1)
  (choices "LhA")
  (dest "ram:")
  (optional "nofail")
)

(complete 05) (ask-install)
(complete 10) (ask-dst-dir)
(complete 15) (if (IN #install-choice 02) (install-devs))
(complete 20) (if (IN #install-choice 00) (install-libs))
(complete 25) (if (IN #install-choice 03) (install-mcc))
(complete 35) (if (IN #install-choice 01) (install-docs))
(complete 50) (if (IN #install-choice 00) (install-genesis))
(complete 90)
(complete 100)

;; EOF
;;
 

Similar threads

D
  • Locked
Replies
9
Views
2K
Back
Top Bottom