Path: utzoo!attcan!uunet!super!udel!rochester!cornell!mailrus!ames!oliveb!sun!pepper!cmcmanis From: cmcmanis%pepper@Sun.COM (Chuck McManis) Newsgroups: comp.sys.amiga.tech Subject: Re: Amiga Roadblocks to User Friendliness Message-ID: <81201@sun.uucp> Date: 12 Dec 88 21:56:26 GMT References: <9407@gryphon.COM> <13943@oberon.USC.EDU> Sender: news@sun.uucp Reply-To: cmcmanis@sun.UUCP (Chuck McManis) Organization: Sun Microsystems, Mountain View Lines: 79 About program installation ... My startup sequence has a callout that runs the execute file called "utility-setup". This consists of entries that look like ; PRODUCT : ; ; ; if EXISTS echo "Setting up " ASSIGN ASSIGN1: ... Path Add Endif In the case of Lattice C this looks something like : ; PRODUCT : LATTICE C ; ; Set up for Lattice C 5.0 ; if EXISTS sys:lc echo "Setting up Lattice C 5.0" Assign LC: sys:lc/c Assign INCLUDE: SYS:lc/include Assign LIB: SYS:lc/lib Assign QUAD: RAM: path LC: add Endif Now to install something into the startup sequence I do two things, one remove the old product definition. This can be accomplished with an edit script that searches for the PRODUCT line and deletes lines from there to the first "Endif" it encounters that starts in column one. Then diddle around with the product definition stuff and assignments and create a new temporary file PRODUCT.e and then use the AmigaDOS Join command to tack this onto the end of my "utility-setup" file. Next time I reboot it does the assignments. As far as convention goes, I execute this just before I execute the loadwb. Future Directions ... Of course as anyone will tell you I have a zillion utilities and applications that are on my system. And yet, everyone of them only requires that there be "assignments" and path additions in the setup mode. (With the exception of Manx which uses 'set'). This suggests to me that a utility "Mount" command may be the ticket to save a lot of disk grinding on assigns and such like. Using a format that is something like a cross between a mountlist and a makefile, possibly like this: # # Comment and delimiter of entry are the "#" marks. # Product Lattice C 5.0 Installed sys:lc Assigns LC: $(INSTALL)/c INLCUDE: $(INSTALL)/include LIB: $(INSTALL)/lib QUAD: ram: Addpath LC: Environment EditorFlags "a,b" ; An example only not needed for Lattice # <- end of entry mark This utility would read this entry and "setup" the application for you with only "two" disk reads, one for the entry and one for the initial setup utility loading. --Chuck McManis uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@sun.com These opinions are my own and no one elses, but you knew that didn't you.