Anybody want to help us Guides fix a process bug? (was: Re:[Fwd: Package Loader version filtering ...

cg at cdegroot.com cg at cdegroot.com
Thu Feb 13 09:00:26 UTC 2003


Colin Putney <squeak-dev at lists.squeakfoundation.org> said:
>A slight variation on this, which I think would work even better, would 
>be to make "requires" refer to an update number rather than a release. 
>So you'd get 'base-5968'.
>
So how would you express, in this case, an incompatible release?
'base-5968' could only mean 'update 5968 from base stream or newer'.
'base-3' means 'anything tagged with major release 3 but not newer'. 

(of course, step two is to add operators: 'exact', 'at least', 'and',
'or', ...; so you could express 'major release 3 or major release 4 (but
not 1, 2, 5, 6, ...)'; 'major release 4 or anything newer', 'major
release 5 or older versions', etcetera; step three is to add
stuff like 'suggested', 'conflicts' to the 'requires' bit).

The good thing here is that responsibilities are clearly put where they
belong: the author of a providing package has the responsibility to
correctly tag functionality/interface compatibility; the author of a
requiring package has the responsibility to correctly state the
compatibility level required. The default - absence of requirements
specification - would indicate that the package would use some defined
subset (like ANSI Smalltalk) only. 

It really is a good idea to read up on how Debian solved this. I don't
know how many people here 'witnessed' the Debian package system in
operation, but it is awesome and personally I don't see *any*
differences between Squeak and Linux here: 
- Squeak VM = Linux kernel;
- Squeak core libs = Linux core libs;
- Squeak networking = Linux networking package (ifconfig, inetd,...);
etcetera. They've even been smart enough to have a package selection and
a package distribution system, separately. 'apt' distributes packages
(and distributes RPM's just as well as .deb's), 'dpkg' is responsible
for unpacking, installing, and configuring the results. A third program,
'dselect', provides a graphical front-end to this all. So, even here,
the analogy works. 

So, having a proven, working system for a project extremely similar to
what we do, I am adamantly opposed to the usual wheel reinvention stuff
that we're so good in over here :-).

-- 
Cees de Groot               http://www.cdegroot.com     <cg at cdegroot.com>
GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD  1986 F303 937F E098 9E8B
Cogito ergo evigilo



More information about the Squeak-dev mailing list