[squeak-dev] Contributing to 4.0+

Keith Hodges keith_hodges at yahoo.co.uk
Sun Feb 15 15:44:29 UTC 2009


Dear All,

Andreas asked me to post some details of how people can contribute to
3.11, 4.0, 4.1+.

What version are we doing again?
========================

I don't know about you but I am a bit confused about what the plans are
for the next version of squeak. Essentially, the re-licensing effort has
been deemed by the board to have version 4.0. With a new "clean" v4
sources file. This version of squeak will be essentially the same,
feature-wise, as 3.10.2, it may have LPF, it may not. (LPF packages are
licence clean)

Following this 3.11 will be re-targeted to this 4.0 image and will
probably be released as 4.1 soon after.

How can I be involved in the re-licensing effort?
==================================

Start by joining the folks on irc #squeak and read matthews emails.
Matthew, Ken and others are thrashing out the details there.

The deliverable of the re-licence effort will be a series of changesets,
uploaded and discussed on mantis. So here is the clever thing:

*****
Installer squeaksource project: 'Installer'; installQuietly:
'Installer-Core'.
(Installer mantis bugsAll select: [ :bug | ((bug status = 'testing' or:
[ bug status = 'resolved']) and: [ bug fixedIn = '4.0' ] ]) do: #ensureFix.
*****

[ken - please could you add the 4.0 version to the available selection list]

The code above will (soon) load the current set of published re-licensed
code into your 3.10+ image, for you to test.

How do I contribute code to the re-licensing effort?
====================================

1) Pick/find something to work on in discussion with Matthew.
2) Post a mantis entry, describing your sub-task, soliciting discussion
there.
3) Make that entry a child of http://bugs.squeak.org/view.php?id=6989
 so that the list of relicencing tasks is managed together.
4) When you have a changeset to deliver, upload it to the mantis entry.
    note: please use files in the following naming convention:
M1234-SomeChangeSetName.1.cs
    having the bug number as a prefix is tidier. If you dont, dont
worry, Installer will name changesets according to this convention anyway.

5) Add a script in a note, as in this example
http://bugs.squeak.org/view.php?id=6988
4) Set the status to "testing" and the fixed in field to "4.0"

How do we test?
============
Using a 3.10.2 image, open a Transcript window and run the code snippet
marked ***** above. If you are blessed, this will give you a result we
shall call 4.0-test-alpha.

[an alternative version of ***** is provided for you, in Installer]

To update Installer.
Installer squeaksource project: 'Installer'; installQuietly:
'Installer-Core'.

To view list:

mantis := Installer mantis.

(mantis bugsTesting: '4.0') explore. "issues in status testing"
(mantis bugsRelease: '4.0') explore. "issues in status resolved i.e.
signed off having passed testing"

To install:
(mantis bugsTesting: '4.0') do: #ensureFix. "issues in testing"
(mantis bugsRelease: '4.0') do: #ensureFix. "issues in status resolved
i.e. signed off having passed testing"

The next step - Signing off?
====================
When a consensus is reached as to the effectiveness and validity of your
proposed changesets. Matthew will switch the status to "resolved", and
the issues marked as resolved may be loaded via:

(Installer mantis bugsRelease: '4.0') do: #ensureFix.

The release 4.0
===========
The release will be generated by loading the above fixes, and performing
a short script + SmalltalkImage current cleanUpAllExcept: #(ChangeSet)

=====
I hope you find these instructions clear, if not feel free to ask
questions, and join us in irc #squeak

best regards

Keith












More information about the Squeak-dev mailing list