home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 2000 April & May
/
AMIGA_2000_04.iso
/
patches
/
pfs3
/
pfs3_5153.lha..lha
/
Install
next >
Wrap
Text File
|
1999-11-21
|
8KB
|
416 lines
; 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
)