[Seaside-dev] Detecting installed Seaside versions?

Lukas Renggli renggli at gmail.com
Wed Nov 25 23:13:48 UTC 2009


> This is bad for many reasons, but I think the worst effect is to introduce
> coupling between the users' installation process and the developers'
> development process. All these scripts rely on knowing how the source code
> of the project is organized, where it's stored, and perhaps even the social
> dynamics of the development team. If I decide to start using Monticello 2 to
> develop OmniBrowser, or even move my repository to another host, it's going
> to break all those installation scripts that people have put together.

This is why I maintain my own read-only repository for the various
tools that I always use (OB, Shout, eCompletion, Refactoring Engine).
Like this I can select the package versions that work for me (I don't
necessarily want the latest code all the time, but a version that I
trust to work) and I can even patch some packages to my likings (for
example, I use a custom color scheme for Shout). This allows me to
load the "latest" code from my repository and I can be sure that
everything works as expected, even when the original repository
disappears, moves or changes. The Gofer script figures out the right
load order and can even update existing images, so loading and
updating becomes a matter of dragging the load script over an image.

> I'd like to find a better way to distribute Squeak applications, and for my
> own projects I'm trying to break that coupling between installation and
> development. For example, I've started releasing OB, MC2 and Filesystem
> using SAR archives rather than mcz files. This removes the need for users to
> have Monticello installed, and if my FSReleaseInfo experiment pans out, will
> make it possible to upgrade to future SAR-based releases easily, again
> without using Monticello.

For me SAR archives are too cumbersome to create and load. There is no
notion of dependencies (typically they are just a self-contained list
of package versions) and there is no notion of the latest
distribution.

With my setup updating to the latest OB is very easy. I take any of my
images, merge the latest code from the official repository, test it
and then commit/copy the package to my private repository. Whenever I
re-run the Gofer script in another image it gets updated to the latest
known tools.

Lukas

-- 
Lukas Renggli
http://www.lukas-renggli.ch


More information about the seaside-dev mailing list