[squeak-dev] Packages, Packages, Packages

Göran Krampe goran at krampe.se
Tue Dec 15 14:35:49 UTC 2009


Hi all!

Andreas Raab wrote:
> Folks -
> 
> Here is the long overdue post about packages and how to manage them.
[SNIP about MC]
> Our second candidate is Squeakmap. Of all the solutions, Squeakmap is 
> currently the only one that is indexable by Google; a major advantage. 
> However, Squeakmap doesn't have dependencies, rendering it difficult to 
> use for non-experts. Squeakmap also has the disadvantage that it's 
> pretty dated by now and has been in need of a serious face lift since 
> its inception :-) (that said I do like it and would rather like to see 
> it revived)

Yep. I have tons of gripes with SM but it did work at the time and then
evolution came along and created a jungle out there. :)

More on that below.

> The third candidate I'm aware of is Universes. Universes is the only 
> candidate here which has dependencies that actually work reasonably 
> well. In addition, universes can be used off-line so it would be 
> feasible to ship a "standard library" with Squeak for people to download 
> and install (a little bit like Python's site-packages). The downside of 

In fact, SM can also do this. SM uses a file cache locally on your box
and it can be zipped up and distributed. It even has a cache on the server.

> Universes is that they're not indexable and their user interface is by 
> far the most awful and unusable of all the proposals.
> 
> I think that's all the serious contenders at this point (if I'm missing 
> something please let me know). From my perspective, I don't care which 
> solution we choose as long as it fits the bill of:
> * Being indexable by Google
> * Reasonable dependency management
> * Having a usable UI
> Since none of the solutions above currently fits all the requirements 
> we'll have to fix some. That could mean adding dependencies to 
> SqueakMap; it could mean giving Universes a reasonable UI; it could mean 
> fixing dependencies in Monticello. I really don't care either way but I 
> think we'll have to figure something out here. Is anyone out there 
> interested in or perhaps even working on addressing any of these issues?

[SNIP of core/packages thoughts]

First a bunch of notes from reading through the thread:

- SM suffers from tons of issues like for example being centralized, 
sucky UI, no dependencies yaddayadda.

...BUT it did get a few things right. We should take what works.

- I really like what I see in Mason from Colin. Sounds great! Let's use 
it. :)

- I agree with Andreas points about weaknesses in Metacello. I think 
Dale  wrote it like he did with a very specific context in mind 
(Monticello). And that may be a bad choice. For example, what about MC2?

- I always felt that the dependency system used to build images from
packages should be separate from the SCM tools. We will never have a
single SCM tool which we ALL use. Sure, MC is dominant but hey, git is
knocking on the door (soon someone makes a new DVS-thingy on top of git 
I suspect), MC2 is out, Deltastreams may become used as a foundation for 
a new SCM etc etc.

- Kabungu was actually implemented by Michael Stark IIRC, a dependency 
thingy addon for SM. It never got fully integrated and deployed because 
the primary author had no real interest in helping me maintaining it 
IIRC. I intended to pick it up recently but... didn't get around to it.

Ok, so it seems to me we have ultra short term and slightly longer term:

Ultra short term:
	1. Add Kabungu to SM. Don't recall the exact details.
	2. Possibly fix a bug or two, throw some trivial CSS on map.squeak.org.
	3. Add polling/mirroring of versions from MC repos (!) into SM.

Notes: Kabungu works, IIRC. The idea with #3 is to make sure releases on 
SS are automirrored into SM. And possibly even mirroring Projects too. 
This would make SM much more useful.

And oh, btw, Universes is quite easily implemented "inside" SM. A 
specific Universe is basically "just" a list of specific package 
releases, cooperatively maintained by a group of people.

In longer term, write a new SM "lean fashion" that can replace SM/PU. I 
have some ideas on how to do that with minimal amount of effort, but 
will leave that for next post. :)

regards, Göran

PS. I still want to pursue DeltaStreams though. And since my time is 
super limited I have no idea how to make these things happen.




More information about the Squeak-dev mailing list