Matthew

could you sign the license agreement (MIT) of pharo?

Stef

On Oct 10, 2008, at 6:04 PM, Matthew Fulmer wrote:

On Fri, Oct 10, 2008 at 02:31:49PM +0200, St?phane Ducasse wrote:
I would like to be able to get rid of PLF for loading MC1.6 or friend.

There is a good reason that LPF exists. Monticello is by far
the flakiest package to load with Monticello. Unless you are
using an atomic loader, you are changing the code of Monticello
while running Monticello, and it can and does fail in
unpredictable ways. LPF uses a two-phase process, where
Monticello is loaded _twice_, first from file-outs, then from
.mcz's to make it work reliably. You can see the script
responsible for this bit of hackery at:

http://installer.pbwiki.org/LevelPlayingField-Monticello15

On top of that, Monticello, as of 3.9, depends on Traits, and so
Monticello does not work correctly in images outside the 3.9
tree. So LPF, in order to load MC into anything other than 3.9
and above, has a backport package whereby enough of Traits and
Pragma are stubbed out for Monticello to work in all other
images. There are two backports, one for Croquet, and one for
everything else:

http://installer.pbwiki.org/LevelPlayingField-Croquet1:0beta
http://installer.pbwiki.org/LevelPlayingField-Squeak3:8

Furthermore, LPF applies several bug fixes to things outside
Monticello and PackageInfo to make it work more reliably. You
can see which bugs are fixed by browsing the script:

http://installer.pbwiki.org/LevelPlayingField

If you look at that page, you can see that Monticello 1.5 is
supported on 15 different versions of Squeak, which, I think, is
quite a feat

Once you have bootstrapped MC1.6, LPF becomes unnecessary, since
you can now upgrade Monticello anytime, since the loader is
atomic.  MC1.5 has a non-atomic loader, so still requires LPF
for reliable upgrades.  so, once MC1.6 is in Pharo, you won't
need LPF anymore.

MC1.6 has made pretty good progress. It is very reliable, but I
still haven't made it work with Traits. I use MC1.6 exclusively.

MC1.6 is just MC1.5 with the non-atomic loader replaced with an
atomic loader dependent on SystemEditor. The atomic loader is
included with MC1.5, but is disabled. To load it, load
SystemEditor, then enable the preference
#useMonticelloAtomicLoader :

http://installer.pbwiki.org/Monticello16-Beta


Hopefully, that explains what LPF is all about. I realize you
may not like the way it is implemented, as scripts on a wiki
page. I'm working on that. I'm working on a build script that
could build Monticello-1.5.x.sar that includes most everything
in LPF, but with no dependency on Installer.

In the meantime, here are the precise steps in order to load
MC1.5 into Pharo, derived from LPF:

Recommended fix:
1. Install the fix for bug 7131

Required fix:
1. Install the fix for bug 7205

To install or upgrade MC1.5:
1. Load the latest PackageInfo-Base using either a file-out, or
  using MczInstaller, but *NOT* using Monticello
2. Load the latest Monticello.impl using a file-out, or using
  MczInstaller, but *NOT* using Monticello
3. Load the latest PackageInfo-Base again, this time using
  Monticello
4. Load the latest Monticello.impl again, this time using
  Monticello

After installing MC1.5 for the first time, clear all MC caches
of MC 1.0 leftovers:

(MCPackage named: 'Monticello') workingCopy unregister!
(MCPackage named: 'PackageInfo') workingCopy unregister!
MCMethodDefinition freeSomeSpace!
MCFileBasedRepository freeSomeSpace!
DataStream initialize!

To switch from MC1.5 to MC1.6:
1. Install the latest SystemEditor
2. Enable the preference #useMonticelloAtomicLoader

To upgrade MC1.6:
1. Install the latest SystemEditor
2. Install the latest PackageInfo-Base
3. Install the latest Monticello.impl

--
Matthew Fulmer -- http://mtfulmer.wordpress.com/

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to