home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #6
/
amigamamagazinepolishissue1998.iso
/
disks
/
misc
/
device-handler
/
install
< prev
next >
Wrap
Text File
|
1981-06-29
|
9KB
|
222 lines
;
; $VER: install 34.1 (10 Jun 1995)
;
; Installer script for device-handler package.
;
; (C) Copyright 1995 Marius Gröger
; All Rights Reserved.
;
; $HISTORY:
;
; 10 Jun 1995 : 034.001 : initial
;
(set cpu (database "cpu"))
(set level @user-level)
(set #handler "device-handler")
(set #handler-mount "DEV")
(set #helpfile "Device-Handler.guide")
; (The installer documentation says not to use this call inside
; distribtions, but I know no way to let the next decision
; popping up in novice mode. If you do, please mail to
; mag@sysgo.de. Thanks.)
(user 2)
(set mode
(askchoice
(prompt @app-name)
(choices "Install" "Remove")
(help (cat " Select here wether to install or to remove the " #app-name " package."
"\n\n The installation procedure will copy the handler file, a DOSDriver "
"and an AmigaGuide® on-line documentation, requesting your confirmation "
"for each file."
"\n\n The removal procedure will try to delete any files from your system "
"which are related to the package. However, due to the high flexibility "
"of AmigaOS, it may not find them all if some are at unusual places. "
"If this is the case, though, you will be experienced enough to remove "
"them yourself."))
)
)
(user level)
; get handler dir
(set handlerdir
(askdir
(prompt "Please locate the directory for handlers:")
(help @askdir-help)
(default "L:")
)
)
; get permanent dosdriver dir
(set dosdir_perm
(askdir
(prompt "Please locate the directory for permanently mounted DOS-drivers:")
(help (cat " Select here the directory, where you keep those DOS-drivers "\
"that you want to have automatically mounted on system startup. "\
"This is DEVS:DOSDrivers directory unless you have modified the 'Mount' "\
"statement in your startup-sequence.\n\n"
@askdir-help
)
)
(default "DEVS:DOSDrivers")
)
)
; get storage dosdriver dir
(set dosdir_stor
(askdir
(prompt "Please locate the directory for rarely used DOS-drivers:")
(help (cat " Select here the directory, where you keep those DOS-drivers "\
"that you want to use more rarely, mounting them explicitely "\
"from the AmigaShell or Workbench. This is the SYS:Storage/DOSDrivers "\
"directory for standard Amiga systems.\n\n"
@askdir-help
)
)
(default "SYS:Storage/DOSDrivers")
)
)
(user 2)
(if (= mode 0)
(
(set perm
(askchoice (prompt "Do you want to have the DEV: device mounted always, or do you rather "\
"like to mount it explicitely from AmigaShell or Workbench ?")
(choices "Mount it always" "Only on demand")
(help (cat " Select here wether to copy the DEV DOS-driver into the "\
"system drawer that holds the permanent DOS-drivers or "
"the one keeping those drivers you can activate using "
"the 'Mount' command from AmigaShell or a double-click "\
"from Workbench.\n\n"\
" Note that the DEV icon has set the tooltype 'ACTIVATE' "\
"set to 0, which tells AmigaDOS to defer the actual loading "\
"of the handler-code until the first usage. Therefore "\
"you only loose some memory for the AmigaDOS-internal "\
"representation of the DOS-driver, if you don't use it.\n\n"
@askchoice-help
)
)
)
)
(set perm (- 1 perm)) ; invert value to make usage more intuitive
)
)
(user level)
; get dosdriver dir
(set helpdir
(askdir
(prompt "Please locate the directory for AmigaGuide®-Documents:")
(help (cat " Select here the directory where you keep your "\
"AmigaGuide® online documents.\n\n"
@askdir-help
)
)
(default "HELP:")
)
)
; now do install or remove
(if mode
; Remove
(
; Show what we are doing
(working "Removing " @app-name)
; Remove the non-standard pieces
(set delfile (tackon handlerdir #handler))
(if (exists delfile) (delete delfile))
(set delfile (tackon "L:" #handler))
(if (exists delfile) (delete delfile))
(set delfile (tackon dosdir_perm #handler-mount))
(if (exists delfile) (delete delfile (cat delfile ".info")))
(set delfile (tackon "DEVS:DOSDrivers" #handler-mount))
(if (exists delfile) (delete delfile (cat delfile ".info")))
(set delfile (tackon "SYS:Storage/DOSDrivers" #handler-mount))
(if (exists delfile) (delete delfile (cat delfile ".info")))
(set delfile (tackon helpdir #helpfile))
(if (exists delfile) (delete delfile (cat delfile ".info")))
(set delfile (tackon "HELP:" #helpfile))
(if (exists delfile) (delete delfile (cat delfile ".info")))
; Don't want to use the confusing "Installation Complete" message
; when what we really did was remove things...
(message "The \"" @app-name "\" package has been removed")
(exit (quiet))
)
; Install
(
(working "Installing " @app-name)
; choose cpu type
(set proc
(askchoice
(prompt (cat "There are diffent versions of \"" #handler "\", each one optimized "
"for a specific CPU type. Please select one: "))
(choices "MC68000" "MC68020" "MC68040")
(help (cat " Select here the CPU type that is installed in your system. "
"\n\n Currently, this is a MC" cpu ".\n\n If you select a certain CPU type "
"in the choice box, the \"" #handler "\" will run on any CPU which "
"type is higher or equal to the selection. However, it won't "
"run on a system equipped with a lower type.\n\n"
@askchoice-help)
)
(default 0)
)
)
(copylib
(prompt (cat "Copying the handler"))
(help @copylib-help)
(source (cat (tackon "l" #handler)
(if (= 0 proc) ".000")
(if (= 1 proc) ".020")
(if (= 2 proc) ".040")
))
(dest handlerdir)
(newname #handler)
(confirm)
)
(run (cat "delete >NIL: t:" #handler))
; Install the descriptors
(copyfiles
(prompt "Copying the DOS-driver")
(help @copyfiles-help)
(source "devs/DOSDrivers")
(dest (if perm dosdir_perm dosdir_stor))
(pattern (cat #handler-mount "(%|.info)"))
(confirm)
)
; install AmigaGuide file
(copyfiles
(prompt "Copying AmigaGuide file")
(help @copyfiles-help)
(source "help")
(dest helpdir)
(pattern (cat #helpfile "(%|.info)"))
(confirm)
)
; The standard "Installation Complete" message isn't very appropriate
; for the installation of a handler.
(message "The \"" @app-name "\" package has been installed.\n\n"
"Depending on where you installed it, type \"mount DEV:\", "
"or reboot the system, or double-click on the icon "
"in order to use the new device-handler"
)
(exit (quiet))
)
)