[squeak-dev] Re: Monticello: loading multiple packages only mentions first package's name

Frank Shearar frank.shearar at gmail.com
Mon Dec 26 21:32:42 UTC 2011


On 26 December 2011 20:44, Frank Shearar <frank.shearar at gmail.com> wrote:
> I have a small Installer script called logic.st:
>
> Installer cache
>    install: 'AlgebraicDataType';
>    install: 'Unification';
>    install: 'Zippers'

If I rewrite the script thusly:

Installer cache
    install: 'AlgebraicDataType'.
Installer cache
    install: 'Unification'.
Installer cache
    install: 'UnificationTests'.
Installer cache
    install: 'Zippers'.

then all goes well.

> and I pass that in as the startup script when I start up my Squeak
> (whether a pre-4.3 or a 4.3 (yay!)), I see the usual progress bar. It
> says "Compiling AlgebraicDataType-fbs.nn" and then "Installing
> AlgebraicDataType-fbs.nn", as expected. And then it says the same
> thing again, talking about installing and compiling AlgebraicDataType
> instead of Unification, and then again when loading Zippers.
>
> The packages all load correctly: it's just the progress morph giving a
> misleading status message. Has anyone else seen this?

Further, the name of the ChangeSet into which the package loads gets
mangled to start with the first package loaded. That's because
MCPackageLoader>>basicLoad which has:

	"Obviously this isn't the package name but we don't have anything else
	to use here. ChangeSet current name will generally work since a CS is
	usually installed prior to installation."
	pkgName := ChangeSet current name.

If I read correctly, Installer eventually calls
InstallerMonticello>>basicInstall, which calls "self mcThing load".
Had that been "self mcThing loadWithName: <left as exercise to
reader>", I think things would be fine, and I'd see sensible changeset
names (and status messages during loading). Is it feasible to change
Installer to call a better loading method like #loadWithName: ?

frank



More information about the Squeak-dev mailing list