[squeak-dev] Re: Waiting for 3.11 artifacts.

Keith Hodges keith_hodges at yahoo.co.uk
Tue Dec 9 12:00:33 UTC 2008

Hi Andreas,

Thanks for having a go!
> Obviously. We all have to make a living ;-) But in the meantime we
> should see if we can redistribute the work or adjust the goals to
> reflect the realities 
> we're encountering. One of the reasons why I have proposed in the past
> to only include work that was completed previously is to avoid
> situations where some individual needs to make adjustments to their
> situation. From what you say I can only guess that there are parts of
> the 3.11 proposal that critically depend on you and that you won't
> have the time to work on for the foreseeable time. Would it make sense
> to adjust the plan towards that end?
>> Nevertheless the goals were stated in the paper that Matthew presented
>> to the board, and those goals have been worked upon and stuff is in the
>> process of coming online.
> By "the paper" I presume you mean
> http://installer.pbwiki.com/Squeak311Proposal ?
>>> 2. What are the goals for 3.11? I have seen references to
>>> http://installer.pbwiki.com/311 - is this "the place" for it? (again
>>> yes/no/perhaps are all good answers, I just want to make sure we're
>>> using the same frame of reference)
>> "THE" place of reference is the 311-Proposal accessible from that page.
> I have found the following three pages:
>   http://installer.pbwiki.com/311
>   http://installer.pbwiki.com/Squeak311
>   http://installer.pbwiki.com/Squeak311Proposal
> Is this it or are there other places that I'm missing?
Thats it.
>> Matthew might update things in the next week or two.
>>> 3. Where are we in the process towards these goals? Both from a
>>> high-level perspective as well as the nitty-gritty details of things
>>> that don't work but need to be addressed for a release.
>> Many of the parts are in place. We are waiting for Bob to bring them all
>> together, Bob was waiting for Rio to support ftp seamlessly.
> Could you be a little more precise about which parts are in place? The
> above three pages list lots of stuff and it is very difficult to
> understand how much progress has been made where, what dependencies
> remain and where (on a percentage or similar base) we are in the process.
>From - http://installer.pbwiki.com/311

   1. Start with 3.10 LPF - [ works well ]
   2. Sake and Tasks - [ loading is now in Packages item 5 ]
   3. Do SetPreferences-Squeak3:10  [ is a roadmap task ] [background
color is set for image type tc/rc/u etc ]
   4. Add 311-KernelExtensions - as version managed Sake/Task [ Being
broken down into mantis fixes ]
   5. Packages [ working well - Matthew thinks we need a UI ]
   6. Do Reorganize-Squeak3:10 [ in progress ]

[ Manual Fixes - we have 80 or so in the system, as you pointed out
Installer is struggling with .gz extension
  but that is a trivial thing to fix ]

[ Plan to automate more of the fixing process - We have "Mantis" code
which reads Mantis periodically for Bob
  Mantis will generate tasks for applying fixes according to status. 
(1/2 day) ]

[ Mantis review - 1 week initially - then how long is a piece of string
- (850 unresolved issues to go) ]

   7. Do Latest
         1. MinorFixes-Squeak3:10 - as version managed SakeTask
         2. MajorFixes-Squeak3:10

         3. PackageUpgrades [ task present in road map - complete? ]

[ 8 Same as 7 only Unstable ]

   8. Optionally Do LatestUnstable
         1. MinorFixesUnstable-Squeak3:10
         2. MajorFixesUnstable-Squeak3:10
         3. PackageUpgradedUnstable

   9. DeprecatedMark-Squeak3:10 - mark deprecated
  10. DeprecatedClean-Squeak3:10 - remove stuff that was deprecated in
3.9/3.10 [done]
  11. Save Packages [done]
  12. Clean-Squeak3:10 - remove stuff that is old or can be reloaded [
Some done - sufficient to be an example ]
  13. Strip-Squeak3:10 - back to minimal [ Some done - sufficient to be
an example ]

>>> 4. How does one best track progress for 3.11? Is there an update
>>> stream? Are there Monticello releases? Mantis entries? Installer
>>> scripts? Alpha images? All of them?
>> 1. packages at lists.squeakfoundation.com - receives emails of all of the
>> monticello package commits for the components that contribute to 3.11
> I've briefly looked at it and I don't understand the purpose. There
> seem to be hundreds of commit messages about Monticello, Installer,
> Packages, Sake, Tasks etc. 
Given that our goal is to put in place a process for generating images
with Bob. Take for example the step of loading a workspace with a ReadMe
and an Introduction Release Notes etc. These steps have been done
manually for years, and there is no Monticello cabability for
collaboratively managing text files, and Workspace is hopeless at
saving/loading files


The Commit Messages you see are:

Monticello - Adding files support.
Installer - This is a brand new Installer implementation with the same
API (thanks to Matthew)
Tasks - thats what is specifying the build so adding a Packages beta
unload: 'Kernel-Tracer'. to a task is matched by.....
Packages - adding a PackagesBeta-#KernelTracer entry
> And zero about Kernel, System, Graphics etc. Which doesn't look like a
> 3.11 commit list but rather like a KPH-dev list ;-) (nothing wrong
> with that but in terms of tracking 3.11 progress I would expect to see
> just as much traffic in other areas) 
The fixes applied are not commited until the first step of the
taskRELEASECANDIDATE (see previous road map  email) and we havent been
there for a while.
>> 2. release at lists.squeakfoundation.com - discussion on the release
>> (though irc is our preferred means of communication)
> If you don't mind, can we have these discussions on Squeak-dev? I
> never liked the idea of "private" release lists too much - I think the
> release is the most important artifact produced here so why not
> discuss it out in the open so that people can follow along?
I do mind actually for various reasons (private mail)
>> 3. www.squeaksource.com/Tasks - has the actual build tasks, the roadmap
>> is embodied in this code. This is where you can contribute tasks, or
>> define your own personal test builds for Bob to build and test for you
> How does one read this? When I look at the code there is a
> taskRELEASECANDIDATE which (from what I can tell) unloads a bunch of
> packages, unloads the tests and that's it. No fixes, no loading of any
> of the new stuff you were referring to above? Or am I misreading this?
taskTESTCANDIDATE is run first this generates a version of 3.10 with
stuff added

taskRELEASECANDIDATE starts with the output of taskTESTCANDIDATE and
just tidies it up and updates the version number.
>> 4. www.squeaksource.com/Packages - loading and unloading packages, this
>> is where you can contribute knowledge about what works where, AND how to
>> unload things. e.g. "Castrait" (see previous mail) could be published
>> here, as could SqueakByExample. Recent addition include a Kernel-Tracer
>> unload, and a Null unload, a ProcessSpecific unload, AllTests (hunts
>> down tests for the loaded packages), and Tasks (loads tasks for this
>> version and the next)
> Again, I'm not sure what exactly I'm seeing here.
Most of the load/unload scripts are handled by the #defaultAction which
simply uses the data supplied in

self info url: 'http://host/project/package-author-1.mcz'.

Any lump of code that can be moved into a package is committed to
squeaksource.com/311 and gets an entry in Packages, probably in
PackagesDev, or PackagesBeta, so that it can be reloaded. If we would
rather keep that lump in the release, it gets an entry in Packages so
that it can be unloaded easily later.
>> 5. A Mantis revival is on the way. There will be some queries for you to
>> see progress on bug fixing very clearly.
> That would be very useful.
>> 6. Image build script is Installer installUrl:
>> 'http://installer.pbwiki.com/311'.  When it completes (it used to) we
>> will publish an image.
> Thanks, I'm running it now.
>>> 5. How does one best contribute to 3.11? (both, for more long-term
>>> continued development as well as the ten-minute scratch-an-itch kind
>>> of exercise)
>> a.  Small fixes and Additional Tests - ChangeSet on Mantis, AND an
>> Installer script on mantis.
>> b.  Bigger Kernel contributions add your task to ReleaseSqueak310, and
>> add it as a dependency, or step to one of the build steps.
>> c.  Kernel contributions can be made as a monticello package which is
>> merged into the kernel by a task.
>> d.  Unloading stuff - changeset on mantis, and unload script in Packages
>> e.  Knowledge of what loads where (basic dependencies -> Universes)
>> anything more Packages
>> f.  Tutorials/Readmes/Intrductions use the MC files feature to put the
>> files under monticello, and add a corresponding Packages entry for
>> load/unload
>> g. Build scripts for Bob, particularly the OneClick image
>>> I think that maybe one of our problems here is that we lost a little
>>> track of what exactly the goals for 3.11 are and where we're in the

The only goal left in that page to be completed is Bob, and underscores
in selectors.

The goals for 3.11 are fundamentally based around getting Bob working,
and to showcase a release being built with Bob.
The more work is done on the image stuff the less work is done on Bob.

[ Bob status - Bob is probably less than 1 perfect working day away from
release ].
>>> process relative to those and I think get some clarity on that might
>>> help for future steps.
>> hope that helps a bit
> It sure does.
> Cheers,
>   - Andreas
thanks for having a go.


More information about the Squeak-dev mailing list