Let's consider changing how we track issues (was Re: [squeak-dev] Mantis usage rules du jour)

Frank Shearar frank.shearar at gmail.com
Mon Feb 25 14:31:40 UTC 2013


On 25 February 2013 14:20, Bert Freudenberg <bert at freudenbergs.de> wrote:
>
> On 2013-02-25, at 14:56, Tobias Pape <Das.Linux at gmx.de> wrote:
>
>> Am 25.02.2013 um 14:26 schrieb radoslav hodnicak <rh at 4096.sk>:
>>
>>> On Mon, Feb 25, 2013 at 1:14 PM, Tobias Pape <Das.Linux at gmx.de> wrote:
>>> PS: Off-topic but IMHO important. I started replying to this email
>>>    7:30 AM and got stuck at the installation instructions and now
>>>    I send this mail at 1 PM;
>>>      I, sadly, have to conclude: Installing a proper development
>>>    image for Seaside on Squeak is still a mess.
>>>      I was the one who provided the Squeak Seaside image for Squeak 4.3
>>>    but currently I see myself completely unable to set up Seaside for
>>>    Squeak 4.4.
>>>    Just some random notes to relieve me:
>>>    • Installing Seaside need Metacello.
>>>    • Then somehow trying to install Seaside: do it wrong and Boom: Zinc is missing
>>>      and completely unavailable for Squeak
>>>    • Bootstrapping metacello needs Omnibrowser basics
>>>    • The Omnibrowser verison for Squeak as in the ConfigurationOfOmnibrowser is
>>>      completely broken. Remember the not working buttons? still there.
>>>    • First installing OmniBrowser via Coiln’s script and then loading anything via
>>>      Metacello that depends on OB: boom
>>>    • First installing Omnibrowser via Metacello, then loading via Colin’s script:
>>>      no boom, but conflicting Classes. need to remove OB-Morphic manually...
>>>    • at _that_ point I gave up.
>>>
>>> I haven't tried this recently but Lukas' scripts for building images at https://github.com/renggli/builder/tree/master/scripts don't use Metacello and I have used this method to load Seaside in the past (replacing Gofer calls with Installer).
>>>
>>> rado
>>
>> Well, there is
>>       https://github.com/renggli/builder/blob/master/scripts/seaside3-metacello.st
>> which explicitely _does_ use Metacello and
>>       https://github.com/renggli/builder/blob/master/scripts/seaside3.st
>> which explicitely _does not_ use Metacello.
>>
>> If you were an “image distributor”, ie, someone who hands images to other developers,
>> which one would you take? Which resulting image is easier to update? Which script is easier
>> to maintain? (Sorry the many questions, not meant to be offensive :) )
>>
>> Best
>>       -Tobias
>
>
> Well, in the first one the complexity is just hidden, distributed over many packages in various repositories, which seems hard to control for an individual image builder. As you discovered, it drags in many unneeded pieces - Zinc, OB, really? So if you want to build a clean image right now then it seems indeed avoiding Metacello would make your live easier. I don't know how much effort it would take to sanitize all the various configs it loads? Since you gave up after several hours, I guess a lot of effort (although I would be delighted to be proven wrong). But it sounds like it might not have taken you several hours to adapt the second script to your needs.

Don't forget that Metacello is expressly designed to work _across
platforms_. If all you care about is only one of Pharo, or Squeak, or
Gemstone, or VW, then Metacello is overkill. However, if you try adapt
your script to support all of these, you'll have just reinvented
Metacello.

Metacello _does_ have issues, but "hiding complexity" is not one of them.

> I do see the chicken-and-egg problem here. Maybe distilling Lukas' script into a squeakmap loader would make it easier to install Seaside, which might in turn get more Squeakers to actively participate in its development, which might lead to properly maintained Metacello configurations. Or, since you mention Metacello bootstrapping problems, do we need to fix Metacello itself first? Depending on a particular browser does not sound right for a package installer.

Metacello doesn't depend on OmniBrowser. (It does depend on Gofer, but
otherwise it's just Collections, Compiler, Compression, Exceptions,
Files, HelpSystem-Core, Kernel, Monticello, PackageInfo-Base, SUnit
and System.).

What usually happens is that some particular package depends on OB
(for instance, Helvetia uses OBMorphicIcons), which is not Metacello's
fault at all.

frank

> - Bert -
>
>


More information about the Squeak-dev mailing list