home *** CD-ROM | disk | FTP | other *** search
- ; Installer script for Professional File System 3
- ; (c) 1999 GREat Effects Development
- ;
-
- (transcript "Professional File System 3 to 3.3 Upgrade")
-
- (procedure update_tool #updatefile
- (set #current (tackon #tooldir #updatefile))
- (if (exists #current)
- ( (delete #current (optional "force"))
- (do_patch
- (tackon "patch" (cat #updatefile ".pch"))
- (tackon (tackon #sourceroot "tools") #updatefile)
- #current
- )
- )
- )
- )
-
- (procedure update_doc #updatefile
- (set #current (tackon #docdir #updatefile))
- (if (exists #current)
- ( (delete #current (optional "force"))
- (do_patch
- (tackon "patch" (tackon #language (cat #updatefile ".pch")))
- (tackon (tackon #sourcemain "docs") #updatefile)
- #current
- )
- )
- )
- )
-
- ; check upgrade
- (procedure pfs_upgrade
- (message "This is the PFS2 to PFS3 upgrade version of PFS3. To "
- "install this upgrade the PFS2 files need to be installed "
- "in the l: directory. If you no longer have these files, "
- "they can be recreated by running the install script on "
- "your PFS2 CD. This does not effect you current PFS3 "
- "installation. "
- "NOTE: just run install, do NOT edit your RDB or format "
- "any disks!"
- )
- (if (or (exists "l:pfs2")
- (or (exists "l:pfs2ds")
- (or (exists "l:mupfs2") (exists "l:mupfs2ds"))))
- (
- (while (= 0 (BITAND #licence 16))
- (set #cdkey2
- (asknumber
- (prompt "Upgrade: Please enter the PFS2 CD-key")
- (help (cat "The CD-Key is the number on the sticker on the front of the CD case."
- "The PFS2 key is expected here, not the PFS3 key")
- )
- (default 0)
- )
- )
- (set #licence
- (run "pfs3:c/getserial" #cdkey #cdkey2)
- )
- (if (= 0 (BITAND #licence 16))
- (message "Invalid CD-Key")
- )
- )
- )
- (abort "PFS2 is not installed"
- )
- )
- )
-
-
- (procedure install_fs #installfile #sourcefile #help
- (set #current (tackon "l:" #installfile))
- (if (exists #current)
- (delete #current (optional "force"))
- )
- (do_patch
- (cat (tackon "patch" (tackon #language #sourcefile)) ".pch")
- (tackon (tackon #sourcemain "fs") #sourcefile)
- #current
- )
-
- (protect #installfile 0)
-
- (set #ok 0)
- (while (= #ok 0)
- (set #rc
- (run "pfs3:c/getserial" #cdkey #cdkey2 (tackon "l:" #installfile) #username)
- )
-
- (if (= #rc 4)
- (pfs_upgrade)
- )
-
- (if (= #rc 3)
- (abort "Installation failed")
- )
-
- (if (= #rc 2)
- (set #ok 1)
- )
- )
- )
-
- (procedure do_patch #patchfile #source #dest
- (if (exists #source)
- ( (set #temp (tackon "t:" (fileonly #dest)))
- (if (= 0 (run "pfs3:c/spatch" (cat "-o" #temp) (cat "-p" #patchfile) #source
- (prompt "Patching " #source)))
- ( (copyfiles
- (prompt (cat "Upgrading " #dest))
- (source #temp)
- (dest (pathonly #dest))
- (newname (fileonly #dest))
- (optional "force")
- )
- (delete #temp (optional "force"))
- )
- (abort #dest " could not be patched. "
- )
- )
- )
- (abort (fileonly #source) " not found")
- )
- )
-
- ;-----------------------
- ; Welcome
- ;
- (welcome "Welcome to the Professional File System 3 Upgrade Installation"
- )
-
- ;-----------------------
- ; Get pfs3 disk
- ;
- (while (not (exists "pfs3:" (noreq)))
- (message "Please insert your original PFS3 CD"
- (all)
- )
- )
-
- ;-----------------------
- ; Ask for serial number
- ;
- (set #tmp @user-level)
- (set #licence 0)
- (set #cdkey2 0)
- (if (= @user-level 0)
- (user 1)
- )
- (while (= #licence 0)
- (set #username
- (askstring
- (prompt "Please enter your full name")
- (help "To register PFS3 your name is needed")
- )
- )
-
- (set #cdkey
- (asknumber
- (prompt "Please enter your CD-key")
- (help "The CD-Key is the number on the sticker at the back of the CD case.")
- (default 0)
- )
- )
-
- (set #licence
- (run "pfs3:c/getserial" #cdkey)
- )
-
- (if (= #licence 0)
- (message "Invalid CD-Key")
- )
- )
-
- ;--------------------------
- ; upgrade
- ;
- (if (<> 0 (BITAND #licence 8))
- (pfs_upgrade)
- )
-
- (set #langnr (BITAND #licence 7)
- )
-
- (set #language "eng"
- )
-
- (if (= #langnr 2)
- (
- (set #language "ger")
- (message "Key accepted. Installing German version"
- (all)
- )
- )
- )
-
- (if (= #langnr 3)
- (
- (set #language "fra")
- (message "Key accepted. Installing French version"
- (all)
- )
- )
- )
-
- (if (= #langnr 4)
- (
- (set #language "ita")
- (message "Key accepted. Installing Italian version"
- (all)
- )
- )
- )
-
- (if (= #langnr 1)
- (
- (set #language "eng")
-
- (if (> @user-level 1)
- (
- (set #langnr
- (askchoice
- (prompt "Which language do you prefer")
- (help @askchoice-help)
- (choices
- "English"
- "Italian"
- )
- (default 0)
- )
- )
- (if (= #langnr 1)
- (set #language "ita")
- )
- )
- )
- )
- )
-
- (user #tmp)
-
- ;--------------------------
- ; Some defaults
- ;
- (set #sourceroot "pfs3:")
- (set #sourcemain (tackon #sourceroot (tackon "data/" #language)))
-
- ;--------------------------
- ; Ask where V5 is installed
- ;
- (set #destdir "Workbench:tools/pfs3")
- (set #destdir
- (askdir
- (prompt "Select the directory where PFS3 5.0 "
- "documentation and tools are installed. ")
- (help @askdir-help)
- (default #destdir)
- )
- )
- (while (not (exists #destdir))
- (set #destdir
- (askdir
- (prompt "Select the directory where PFS2 5.0 "
- "documentation and tools are installed. ")
- (help @askdir-help)
- (default #destdir)
- )
- )
- )
-
- (set @default-dest #destdir)
-
- (set #docdir (tackon #destdir "doc"))
- (set #tooldir (tackon #destdir "tools"))
-
- ;--------------------------
- ; Get CPU
- ;
- (set cpu_any 0)
- (set cpu_68020 1)
- (set cpu_68040 2)
- (set cpu_68060 3)
- (set #cpu 0)
- (set #cputext (database "cpu"))
- (if (patmatch "68000|68010" #cputext) (set #cpu cpu_any))
- (if (patmatch "68020|68030" #cputext) (set #cpu cpu_68020))
- (if (patmatch "68040" #cputext) (set #cpu cpu_68040))
- (if (patmatch "68060" #cputext) (set #cpu cpu_68060))
-
- ; Ask expert user for CPU
- (if (> @user-level 1)
- (set #cpu
- (askchoice
- (prompt
- (cat "Select for which processor you would like to install: " #cputext))
- (help @askchoice-help)
- (choices
- "For 68000 Or 68010"
- "For 68020 Or 68030"
- "For 68040"
- "For 68060"
- )
- (default #cpu)
- )
- )
- )
-
- (set #cpuext "");
- (if (= #cpu cpu_68020) (set #cpuext "-020"))
- (if (= #cpu cpu_68040) (set #cpuext "-040"))
- (if (= #cpu cpu_68060) (set #cpuext "-060"))
-
- ;-------------------------
- ; Get filesystem options
- ;
- (set mask_normal 1)
- (set mask_ds 2)
- (set mask_multiuser 4)
- (set mask_dsmultiuser 8)
- (set #fs_options -1)
- (if (not (exists "libs:multiuser.library"))
- (set #fs_options
- (BITAND #fs_options (BITNOT (BITOR mask_multiuser mask_dsmultiuser)))
- )
- )
- (if (> @user-level 1)
- (set #fs_options
- (askoptions
- (prompt "Select which versions you would like to install:")
- (help @askoptions-help)
- (choices
- "Normal version"
- "DirectScsi version"
- "Multiuser version"
- "DirectScsi Multiuser version"
- )
- )
- )
- )
-
- ;-------------------------
- ; Install PFS3
- ;
- (if (<> 0 (BITAND #fs_options mask_normal))
- ( (install_fs
- "pfs3"
- (cat "PFS3" #cpuext)
- "Installation of default version"
- )
- )
- )
-
- ;-------------------------
- ; Install PFS3ds
- ;
- (if (<> 0 (BITAND #fs_options mask_ds))
- ( (install_fs
- "pfs3ds"
- (cat "PFS3" #cpuext "ds")
- "Installation of direct scsi version"
- )
- )
- )
-
-
- ;-------------------------
- ; Install muPFS3
- ;
- (if (<> 0 (BITAND #fs_options mask_multiuser))
- ( (install_fs
- "mupfs3"
- (cat "muPFS3" #cpuext)
- "Installation of multiuser version"
- )
- )
- )
-
- ;-------------------------
- ; Install muPFS2ds
- ;
- (if (<> 0 (BITAND #fs_options mask_dsmultiuser))
- ( (install_fs
- "mupfs3ds"
- (cat "muPFS3" #cpuext "ds")
- "Installation of direct scsi multiuser version"
- )
- )
- )
-
-
- ;-------------------------
- ; Update Tools
- ;
- (update_tool "pfsdoctor")
- ; (update_tool "diskvalid")
- ; (update_tool "makelink")
- ; (update_tool "makerollover")
- ; (update_tool "pfs2ls")
- ; (update_tool "removedirentry")
- ; (update_tool "setrollover")
-
- ;-------------------------
- ; Update docs
- ;
- ; (update_doc "diskvalid.guide")
- ; (update_doc "pfs2.guide")
- ; (update_doc "pfs2.h")
- ; (update_doc "pfs2ls.guide")
- ; (update_doc "pfs2packets.guide")
- ; (update_doc "pfs2tools.guide")
- ; (update_doc "Proginfo")
-
- (exit
- )
-