[squeak-dev] 3.11 Contributions Workflow Example

Keith Hodges keith_hodges at yahoo.co.uk
Sun Dec 7 06:03:59 UTC 2008


TimJ,

hello, I will use your fix as an example of how to contribute fixes to 3.11

Step 1:
=====
Add an installer script to the bug report page, so that folks can easily
load your fix into any image.

to your report: http://bugs.squeak.org/view.php?id=7241

I added the following note:

"fix begin"
Installer bug: 7241 fix: 'BDFFontReader class.tcj.1.cs'.
"fix end"

Step 2:
=====
Load "LevelPlayingField" and "Tasks" package into an image of your choice.

HTTPSocket httpFileIn: 'installer.pbwiki.com/f/LPF.st'.
Installer install: 'Tasks'.

Find the class ReleaseAfterSqueak310 and find a suitable place for your
fix. You can add your own method for your own fixes, or you can adopt
one that is already provided. For example:


ReleaseAfterSqueak310-#fixesMotherOfFontIssues
     
    "Mother Page: http://bugs.squeak.org/view.php?id=6570 "

    ^ self dependingOn: {
   
        self fixIfUnstable: '7071: Key values from Input Method are not
converted correctly on new Unicode Windows VM'.

       "ADD YOUR FIX HERE"

       self fixIfUnstable: '7421 BDFFontReader doesn't call #initialize'.

    }

Explanation:

    #fixIfUnstable: is a task that will run when generating an unstable
(i.e. alpha release).
  
    Other options are:

        #fix: (for fixes that are to be added to the "stable"
test-candidate)
        #fixOneDay: (to register the existence of a fix, but is perhaps
not ready for any image yet)

Fixes are recorded as dependencies of a task. They may be set to depend
upon each other. Sake will automatically load fixes in the order
prescribed by the dependencies, and will not load one fix twice.

This means that different packages/modules can be worked upon
independently, and specifying dependencies can help in theory.

Step 3:
=====

Update your fix to include the "mother page" (6750) as its parent.

Step 4:
=====

Save the 'Tasks' package back to squeaksource, with a reasonable comment.

The packages at lists.squeakfoundation.org mailing list will be sent a mail
with your change highlighted for all interested to see and comment on.

The release mailing list for detailed discussion is
release at lists.squeakfoundation.org and of course there is the squeak irc
channel.

Step 5:
=====
Wait for "Bob the Builder" to automatically build an image for you to
download.

or:

If you want to manually generate the "a test candidate" image execute:

ReleaseAfterSqueak310Unstable taskGenerate run

Step 6
=====

You will find your fix, documented with the full mantis report on the
instance side of

ReleaseAfterSqueak310

Hope this makes some sense

best regards

Keith

















More information about the Squeak-dev mailing list