Saturday, February 13, 2010

Fwd: Re: [squeak-dev] Cuis Development With Bazaar and LaunchPad

>New video tutorial/demo uploaded.
>
>http://www.vimeo.com/groups/squeak/videos/9392990
>
>Keith

Juan et al,

I have settled on the name "InstallSeries" rather than InstallStreams, for my multiple update streams implementation.

The latest release of my personal "InstallSeries" is, revno 5, and is available from:

bzr branch lp:~keithy/cuis/stable-kph

some documentation follows

Keith

===========
>revno: 5
>committer: Keith Hodges <keith_hodges@yahoo.co.uk>
>branch nick: stable-kph
>timestamp: Sat 2010-02-13 23:00:39 +0000
>message:
> remove #presumeSentMethods, Initial SourceFiles refactoring

Contains:

doc0001SystemStartUpLaunch
"
1) The StartupManager is available via 'environment startupManager'.

2) Classes may access startup arguments without creating a dependency upon
StartupManager because the startUp process calls #startUp: resuming with: startUpManager
on each class.

3) Classes may choose from alternative parameter interpreting methods.
The default being: #argAtKey: aKey ifAbsent: block
"
doc0002SystemStartUpShutDownProcess
"
The startUp and shutdownLists are compiled by looking at all implementors of:
#startUpPriority and #shutDownPriority

Priorities are: #first #earliest #earlier #early #normal #late #later #latest #last

#hasImageMoved is available to determine if the image has moved since it was last saved.
"

doc0003SystemSources
"
Initial Refactoring of Sources access to be managed in the package System-Sources.

The ./Contents/Resources directory of a vm packaged as a one-click image, is now on the search path for the sources file.
"
doc0004PresumeSentMethods
"
Adopt an implicit means for allowing a method to declare itself as a presumed sent selector using:

self flag: #presumeSentSelector

"

Fwd: [squeak-dev] Cuis Development With Bazaar and LaunchPad

New video tutorial/demo uploaded.

http://www.vimeo.com/groups/squeak/videos/9392990

Keith

Fwd: Re: [squeak-dev] [Cuis] LaunchPad to collaborate on Cuis2 development

[resend with updated information]

>I started 2 open groups on LaunchPad.net
>
><https://launchpad.net/>https://launchpad.net/~rodents For those interested in collaborating on Cuis and derived images.
><https://launchpad.net/>https://launchpad.net/~smalltalkers - For anyone else.
>

Launchpad uses Bazaar2.0, I liked git for 1 day, but github doesnt offer open repositories, or open team projects, so it is back to the old faithful bazaar! Launchpad.net is very cool though.

We have two projects so far

<https://code.launchpad.net/cuis>https://code.launchpad.net/cuis
<https://code.launchpad.net/cuis-packages>https://code.launchpad.net/cuis-packages

To use - begin by making yourself a local working directory...

# mkdir Cuis2.0_trunk
# cd Cuis2.0_trunk

Runtime and One-Click template
=========================
Checkout the vm runtime - this is also a one-click image template for you to branch from, or help improve.

# bzr branch lp:~rodents/cuis/Cuis2.0vm.app

Incremental Kernel Development
==========================
Checkout the current Cuis2.0 kernel development repositories - these are the starting image and InstallStreams for incrementally moving the kernel forwards.

# bzr checkout --lightweight lp:~rodents/cuis/base
# bzr branch lp:~rodents/cuis/release
# bzr branch lp:~rodents/cuis/stable
# bzr branch lp:~rodents/cuis/unstable

1) cuis/base - the starting image to build on using InstallStreams

To check out Juan's original official release, rather than the most recent.
# bzr checkout --lightweight -r tag:Cuis2.0-0393 lp:~rodents/cuis/base test

2) cuis/release - the released updates (included in the release image)
This is intended to track Juan's official updates, which are tagged.
It also tracks ./base/Cuis2.0.1,image showing what it contains.

3) cuis/stable - branch & contribute back your tested updates here
In anticipation that these may get incorporated in the release by Juan.

4) unstable - branch & contribute your "being-tested" updates here

Unstable patches are not built by default.

The default search for updates is only 2 directories deep. In the unstable repository each contributed set of updates is published in a containing folder, and is 3 levels deep, escaping the standard search

"To apply a specific unstable update execute:"
InstallStreams updatesInstall: 'unstable/InstallStreams-testing'.

"To apply all unstable updates execute"
InstallStreams updatesInstall: 'unstable'.

Optional Kernel Innovations Development
=================================
InstallStreams providing optional kernel innovations may go in their own repositories, rather than release,stable, or unstable.

i.e. when you are ready to show the world...
# bzr push lp:~rodents/cuis/simple-namespaces
# bzr push lp:~rodents/cuis/pragmas
# bzr push lp:~rodents/cuis/nano-traits
# bzr push lp:~rodents/cuis/logging

Packages - Loadable with InstallStream
===============================
There is a separate project for sharing loadable packages.
In your working directory make a sub-directory for non-installed packages,
and checkout/branch your chosen packages there.

# mkdir packages
# cd packages
# bzr checkout lp:~rodents/cuis-packages/Installer

To manually load an individual package
InstallStream packagesInstall: 'packages/Installer'

To manually install all the packages you have checked out into ./packages
InstallStream packagesInstall: 'packages'

Generating the build
================
Juan's original release of Cuis2.0 does not appear to support the execution of a script on start up. So I have provided a modified image for you to begin with, this is called: (I should have called it 2.0.1-build or something less official looking, however if Juan doesn't mind, I will leave it as it is)

Cuis2.0.1.image

A simple script is provided in ./stable/build.sh which copies the ./base directory into your working directory giving you a known starting point, and then launches the image with ./stable/build.st. (on mac only for the moment)

A second simple script is provided in ./unstable/build.sh which launches the image with ./unstable/build.st.

enjoy

Keith