Page is Work in Progress
Currently, Etoys are released for the following projects:
- Squeakland. (separate installers for: Windows and Apple OS X; Linux installers created by distros)
- Etoys-to-go (on USB. Works on Windows, Apple OS X and Linux. )
- Sugar OLPC
IF a release for the three projects were made on the same day, the images would be "almost" the same - they would differ in the configurations of fonts (sizes etc), default preferences, Navigator Bar buttons etc. These "project specific" differences are applied during the image preparation. On the high level, creating a new release consist of several steps:
- Step A: Obtaining a new image.
- Step B: Updating it with the latest changesets.
- Step C: Making the "project specific" modifications by running ReleaseBuilderSqueakland prepareReleaseImageForOLPC or prepareReleaseImageForSqueakland.
- Step D: Creating an installer, if aplicable for the project.
Steps A and B are the same for all projects, steps C and D differ. Step C is same for Squeakland and Etoys-to-go, uses prepareReleaseImageForSqueakland.. Step C for OLPC is different, as it uses prepareReleaseImageForOLPC.
While creating a release is a fairly rare occurance performed typically by the maintainers, developers and testers need to be aware of it, mainly because testing in specific areas , such as Navigator Bar, scaling, and overall look testing often requires to perform the "project specific" modifications described in 3 above before testing.
Preparing Etoys image which is then fed to the appropriate installer (Windows or OS X):
This is based on steps from Yoshiki and Bert. There are some updates to Yoshiki's steps in http://tracker.squeakland.org/browse/SQ-154#action_35982
TODO - I am so far unable to make at least the Windows Squeakland release repeating the steps below. But working on clarifying it...
- Create a directory where files needed for release will be checked out, for example $HOME/etoys-build.
- Fetch the SVN repository from laptop.org, which contains Etoys image, changes, sources, translations and related files. You will need a SVN client.
- cd $HOME/etoys-build
- svn checkout http://etoys.laptop.org/svn/trunk/etoys
- cd etoys
- Sidenote: There is also an Etoys repository on http://tinlizzie.org/olpc/. The contents of the etoys-dev-4.0.image there is same as that on laptop.org, except on laptop.org resolution is 800x600 and Pango disabled.
- Unzip and open etoys-dev-4.0.image downloaded in step 3.
- Set the Display size of the etoys-dev-4.0.image to 800x600 (manually). TODO - is there a better way?
- For Squeakland release or Etoys-to-go release: Perform the "project specific" changes for Squeakland. Open a workspace and type:
- Utilities updateFromServer.
- ReleaseBuilderSqueakland new prepareReleaseImageForSqueakland.
- ReleaseBuilderSqueakland new buildInitialScreenForSqueakland.
- highlight the 3 lines above and perform do it (Alt-d in Squeakland image).
- save image as name etoys.image and quit.
- For OLPC Release: Perform the "project specific" changes for OLPC. There are 2 scripts, obtained in step 1 from SVN, that need to be executed. These perform the equivalent of the manual steps done for Squeakland release above.
- $HOME/etoys-build/etoys/mkRelease.sh.
- $HOME/etoys-build/etoys/mkRelease.st.
The result of the above steps is an image and a directory structure that is fed to the appropriate platform installer (Windows, OS X)
*TODO What is the final directory structure that is given to the installer? Etoys.app/Contents/Resources/
(etoys.image, fonts, projects, etc)? *
Windows MSI installer for Squeakland:
- Execute exportAssetsFromToGo.sh TODO - where can I find this script?
- open olpc.nsi with NSIS.
OS X installer for Squeakland:
The Mac release and To-Go release Bert built on a Mac using the scripts that formerly resided at
http://svn.squeakland.org/installers/
There was buildImage.sh / buildImage.st that updated the image, and makeEtoysMac / makeEtoysToGo to create the app bundles. I ran the setVersion script between building the image and bundling the app to adjust the version numbers while avoiding manual errors when it was getting late.
To make the Etoys release for Sugar:
TODO
Bert provided a detail description of Sugar versions of the Etoys activity, see the link on Nappleand look for text below "updater looks in".
==========================
TODO: how do we get these files back?
Pasting this unformatted email from Yoshiki. TODO: Test a build and incorporate this into proper steps...
On December 23, 2009, Yoshiki Ohshima wrote:
> Hi, Milan,
>
> At Wed, 23 Dec 2009 23:21:06 -0500,
>
> Milan Zimmermann wrote:
> > > http://svn.squeakland.org/installers/
> > >
> > > (at http://svn.squeakland.org/installers/win32/olpc)
> >
> > I think it is not open externally:
>
> The old site has been shut down (on purpose) to avoid confusion
> with the new server. The new server seems to be taking some time to
> get up (I gather that there was a plan to hook the squeakland.org
> accounts to the SVN accounts, which I would think overkill).
>
> > But from your explanation it sounds like it is just doing some
> > manipulation (copying files and maybe running the
> > ReleaseBuilderSqueakland new prepareReleaseImageForSqueakland?)
>
> It copies files, and the image file is supposed to be already
> properly setup before running it, as we are supposed to have the
> latest deployable image on the SVN server.
>
> > So, anyway if it has something important
> > please attach it if possible, otherwise don't worry about it.
>
> See the snipped below at the end of this email.
>
> > I have a additional question. When creating the Windows Nullsoft
> > installer, what version of VM do you use, do you always go for the
> > latest, and also what plugins do you include, all plugins there are?
>
> The VM is basically the latest mainstream squeak VM that Andreas
> releases, but with the icon resource swapped by ResHack program (I do
> it manually, but you only need to do it every once a while). The
> plugins are just the ones that are the in the SVN directory. We now have:
>
> FT2Plugin.dll (comes with the stock VM)
> ImmWin32Plugin.dll
> KedamaPlugin.dll
> KedamaPlugin2.dll
> Mpeg3Plugin.dll
> OggPlugin.dll
> ScratchPlugin.dll
> localePlugin.dll
>
> Milan, thank you very much for taking on this!
>
> – Yoshiki
>
>
> — exportAssets.sh —
> #!/bin/sh -v
> cd assets
> rsync -rva --exclude=.svn/ --delete ../../../Etoys.app/ Etoys.app
> chmod -R +w Etoys.app
> find Etoys.app -name .svn | xargs rm -rf
> cat ../../../Etoys.app/Contents/Resources/LICENSE | sed 's/$/\r/' > LICENSE
> cat ../../../Etoys.app/Contents/Resources/NOTICE | sed 's/$/\r/' > NOTICE
> cat ../../../NEWS | sed 's/$/\r/' > NEWS
> cd Etoys.app
> rm -rf etoys.sh etoys.ini
> cd Contents
> rm -rf ._Info.plist Info.plist Linux-i686 Linux686 MacOS PkgInfo
> cd Resources
> rm -rf *.bundle *.icns
> cd locale
> mkdir ../tmp
> mv de el en es fa_AF fr ht it ja pt pt_BR si sv tr tr_utf8 ../tmp
> rm -rf ?? ??_*
> mv ../tmp/* .
> rmdir ../tmp
>
_______________________________________________
etoys-dev mailing list
etoys-dev@squeakland.org
http://lists.squeakland.org/mailman/listinfo/etoys-dev
==========================