[squeak-dev] Re: Waiting for 3.11 artifacts.

Göran Krampe goran at krampe.se
Wed Dec 10 10:50:23 UTC 2008


Hi Andreas!

Andreas Raab wrote:
> Hi Göran -
> 
> I'm a big fan of builds in production systems but I'm a little at a loss 
> how exactly you are using Installer and how it helps you address 
> particular needs. At Qwaq, we use Monticello exclusively and the way 
> we're working is that we have our own versions of *all* the Monticello 
> packages we depend on that we modify when we have to. What it means is 
> that we have a consistent development process, don't rely on any 
> external servers and that (for example) integrating a fix is as simple 
> as loading it and committing to the repository which is consistent with 
> the rest of the development activities. We can do this both in our own 
> code as well as in the base code and we don't need to wait for anyone 
> before the next product build can go out.

Right, we do the same for a few packages - those that we needed to make 
changes to, and that were available in MC form more or less.

> In Gjallar, how do you deal with the same set of problems (making a 
> modification for the product, integrating some external modification) 
> using Installer? In particular how do you deal with issues like having 
> to rely on external servers (which might be on the other end of the 
> world, down and out etc), the ability to make some changes quickly for 
> the product to ship etc.

Right, we use a "mixed approach". We build new images - but not *that* 
often. So while we do depend on a few external servers, a build mostly 
goes through fine. But you wouldn't want to do that every day.

So we build a new image when we feel a need for it - or when we are 
about to make a new release. Then we all jump to the new image and carry on.

> I have never found a production setup which did not require to 
> ultimately have your own copies of the code on your own servers in which 
> case you're quickly getting to the point that a single homogeneous 
> environment is advantageous (like using MC+configs, or using an update 
> stream) and where a mix of these ultimately only gets you into trouble. 

We do have a mix, but most of the 3rd-party packages/fixes we load when 
we build a new image are not packages that we hack on generally. 98% of 
the day to day Gjallar coding is in the Gjallar MCs.

> The reason why I like DeltaStreams is that it sounds like an approach 
> that allows one to reconcile the (necessary) local mods with other 
> changes more easily than could be done by MC or updates.

Right, and I sure hope to get back to that project. Matthew did lots of 
work on it, and it is almost there - but I still want to make a "dual 
changesorter ripoff" UI for them and make sure they can work as full cs 
replacements. Matthew made a UI with a distinctly different view - and 
while useful I think personally it took a detour from what I want to end 
up with.

 > But I don't
> think Installer is quite that and so I'm not sure how it helps in the 
> process. An experience report would be most welcome.

Well, IMHO it helps in building images where you need to pluck stuff 
from a lot of different directions and formats. It can suck up "the 
latest Seaside MC made by Renggli on SS", the fix for bug 5689 on 
Mantis, the package X from SM, etc etc. It is not limited to MC.

It is not rocket science - you could do almost the same with SM - but 
that was limited to stuff only on SM (no SS, no Mantis etc) and it was 
not as "scripting friendly" in its API. Installer is made to be mainly 
"oneliners".

Also - LPF is a good effort. I just know that I use it and I hopefully 
get a working MC. :)

> The other question here is that I don't understand how Installer has 
> helped you moving between versions. Having moved Croquet from 3.2 to 3.4 
> to 3.6 to 3.8 I have found each version a completely unique challenge 
> and I cannot imagine that any particular tool would have helped me 
> getting this work done more efficiently than the (extremely painful) 
> process of loading, having it break, figure out where exactly that 
> interface went, rinse and repeat. Anything that could help with this 
> process would be hugely beneficial.

I am sorry if I made it sound like Installer helps with *that* problem. 
Sure, all API changes in base packages, 3rd-party packages etc etc needs 
to be dealt with one by one - no freebie there.

Possibly it helped by making it easy to throw away borked images and 
"start over from fresh" to make sure I wasn't hunting ghosts from 
previous mess-ups.

Deltas might on the other hand one day make this work slightly more 
enjoyable :)

> Cheers,
>   - Andreas

Cheers, Göran




More information about the Squeak-dev mailing list