[ENH] Squeak Installer
Hernan Tylim
htylim at yahoo.com.ar
Tue Oct 12 11:59:33 UTC 2004
Hi John,
I didn't look at your code but I wanted to ask you. Do your installer
requires internet connection to download the packages each time the
installer is run?
If it is so, may I suggest you to bundle all the packages in a SAR so
future installations will only need to install a SAR and not internet
availability?
Thanks, your work looks great. I also did something similar for my
personal use but I stoped working on it and I never released it. If you
want some code to make the SAR I can send it to you.
Regards,
Hernán
> -----Original Message-----
> From: squeak-dev-bounces at lists.squeakfoundation.org
> [mailto:squeak-dev-bounces at lists.squeakfoundation.org] On
> Behalf Of John Pierce
> Sent: Tuesday, October 12, 2004 8:16 AM
> To: The general-purpose Squeak developers list
> Subject: [ENH] Squeak Installer
>
>
> Change Set: SqueakInstaller
> Date: 11 October 2004
> Author: John Pierce
>
> Automates SqueakMap and Monticello package installations. Generally,
> this is designed to be used to setup a clean Squeak image with your
> favorite set of packages and settings. It requires the
> automate.user.inputs change set already posted on squeak-dev. Over
> time, I think I will extend this program to keep an image up-to-date
> and automate software updates, but for the time being I use it to
> build brand new images.
>
> In addition to installing SM and MCZ packages it is possible to
> configure optional pre-installation and post-installation blocks that
> you can run to configure your image. See SqueakInstaller
> class>>myStandardInstallation for a fairly complex example of how I
> use this on a routine basis to completely config clean images for my
> production use.
>
> The simplest format for providing packages to install is to list them
> using literal arrays. For example, to provide a set of SqueakMap
> packages to install use the list, #( (Monticello 20) (NetStrings 1) ).
> In this example, each item in the list is a pair, with the name of
> the SqueakMap package and the autoversion to install. Installations
> will be performed in order as they are specified in the list.
>
> Monticello packages to install are specified in similar format, but
> the second parameter is the URL (minus the trailing slash) for the
> directory on the net that contains the versioned files. In general,
> if you only provide two parameters for MCZ packages then the latest
> edition of the package will be installed. If you need to specify a
> specific version then provide a third parameter that contains the
> exact filename of the version file.
>
> Here's an example of MCZ files to install: #( (OmniBrowser
> 'monticello.wiresong.ca/ob' 'OmniBrowser-cwp.198.mcz') (GOODS
> 'beta4.com/mc/db') ). This will install a specific version of
> OmniBrowser and the latest edition of GOODS.
>
> You can setup two lists of MCZ packages to install. The only
> distinction between the two lists is that public MCZ packages will use
> empty strings for user / password. The personal MCZ packages will use
> the user / password requested by the installer up front (if you have
> any personal packages).
>
> Lastly, you will most likely need to provide a list of messages to
> suppress and/or answers for modal dialogs that the authors of various
> packages might popup on the screen. See the class side example for
> how to format these -- but, in general, you can automate a complete
> installation and configuration without human intervention.
>
> Oh yeah, I didn't make this a MCZ package because I wanted to keep it
> utterly simple for me to load / run my installation program in a clean
> Squeak image with only a couple of lines of code. Here's what my
> installation script looks (I paste the following code into a workspace
> of a new image, run it, walk away for 5 minutes, and then my image is
> completely built):
>
'http://www.saltypickle.com/Home/uploads/automate.3.user.inputs-jrp.cs'
asUrl retrieveContents contentStream fileIn.
'http://www.saltypickle.com/Home/uploads/squeakinstaller-jrp.2.cs' asUrl
retrieveContents contentStream fileIn.
SqueakInstaller myStandardInstallation install.
Pretty easy, eh? That's the point.
Regards,
John
PS - I posted this to the list as an enhancement. Maybe it is only a
[GOODIE] instead. I have no earthly idea if anyone wants to include
something like this in the base image.
I mostly don't care if it is not incorporated. I have the change set
and will use it that way for the conceivable future. In general I
provide this change set on the list here as others might find it
useful to build production images in an automated way. I am certainly
open to taking this utility in many different directions, but here you
go as a start.
--
If at first the idea is not absurd, then there is no hope for it. --
Albert Einstein
More information about the Squeak-dev
mailing list
|