Etoys RPM and XO bundle: Difference between revisions
RafaelOrtiz (talk | contribs) m (Reverted edits by 209.99.227.70 (Talk); changed back to last version by Propella) |
(→Etoys: Replaced svn with scp) |
||
Line 60: | Line 60: | ||
to create the source tarball, to setup environment variables and create the etoys rpm. |
to create the source tarball, to setup environment variables and create the etoys rpm. |
||
I then do "make etoys-release" which |
I then do "make etoys-release" which copies the rpm to [http://etoys.laptop.org/rpms laptop.org] and [http://tinlizzie.org/olpc/sugar/rpm/ tinlizzie] using scp. |
||
To setup svn repositories. |
|||
svn co http://tinlizzie.org/olpc/sugar/rpm/ |
|||
svn co http://tinlizzie.org/olpc/sugar/yum/ |
|||
==Etoys XO bundle== |
==Etoys XO bundle== |
||
Line 71: | Line 67: | ||
to setup environment variables and make the xo bundle. |
to setup environment variables and make the xo bundle. |
||
After that, "make xo-release" which uploads the bundle to [http://etoys.laptop.org/rpms laptop.org] using scp. |
|||
To setup svn repositories. |
|||
svn co http://tinlizzie.org/olpc/sugar/xo/ |
|||
=Getting the release into the build= |
=Getting the release into the build= |
Revision as of 13:53, 1 October 2007
The Etoys activity comes as an Etoys XO bundle containing the Sugar glue code, an Etoys RPM containing the image and essential projects, and the Squeak RPM containing the Squeak virtual machine. The "image" contains the basic Squeak libraries plus the actual Etoys layer. The VM and image are separated out as RPMs so that multiple Squeak-based activities can share these, rather than including their own copy.
Prerequisites
For building RPMs you will need need to use sugar-jhbuild on Fedora 7.
Squeak VM
In sugar-jhbuild:
./sugar-jhbuild buildone squeak
This will checkout the squeak VM sources from SVN to sugar-jhbuild/source/squeak, then configure and build. Afterwards you can also simply do it by hand:
cd sugar-jhbuild/source/squeak make install
which installs into the sugar-jhbuild/build directory (was given as --prefix to autogen.sh which passed it to configure).
Squeak RPM
You will first need to edit the "squeak-vm.spec" RPM spec file. At least update the release number and add a changelog entry. Then to build the rpm do this:
cd sugar-jhbuild/source/squeak ./makerpm
Building RPMs requires sudo, it will aks for your user password. When asked to commit to svn press Ctrl-C to abort, this wants to upload built rpms to tinlizzie.
The RPM will be in /usr/src/redhat/rpms/i386
Etoys
In sugar-jhbuild:
./sugar-jhbuild buildone etoys
This will checkout the etoys activity sources from GIT to sugar-jhbuild/source/etoys, then configure and build. The make step will checkout the Content directory as given in the Content.revision text file. Afterwards you can also simply do it by hand:
cd sugar-jhbuild/source/squeak make install
which installs into the sugar-jhbuild/build directory (was given as --prefix to autogen.sh which passed it to configure).
Preparing a release
- Check the new image and projects into SVN.
- "svn update" in the Content folder. "svn info" to note the SVN version
- edit "Content.revision" to reflect the new SVN version
- do "make ChangeLog" to update the change log, this will download all the latest changesets and extract the preambles.
- verify the top ChangeLog entry matches the latest update in the image.
- edit "etoys.spec": change the version number at top to reflect the latest update number, add a new entry to the changelog section (this is essential, XO bundles are numbered by the count of changelog section in the spec). Use the formatting as the other entries, add a line for each new changeset.
- do "make NEWS" which extracts the changelog entries from etoys.spec and puts it into the NEWS file to be included in XO bundle
Now everything should be in place. Use "git diff" to verify all the changes are sensible. To make the new version available to other jhbuild users, do "git commit -a", put in a nice changelog entry (I copyedit the one from etoys.spec), and then "git push" to upload.
For pushing you will have to edit .git/config, the remote must be git+ssh://dev.laptop.org/git/projects/etoys
Etoys RPM
make etoys-src ../../sugar-jhbuild shell sudo make etoys-rpm
to create the source tarball, to setup environment variables and create the etoys rpm.
I then do "make etoys-release" which copies the rpm to laptop.org and tinlizzie using scp.
Etoys XO bundle
../../sugar-jhbuild shell make xo
to setup environment variables and make the xo bundle.
After that, "make xo-release" which uploads the bundle to laptop.org using scp.
Getting the release into the build
Once everything has been uploaded to tinlizzie, I login to dev.laptop.org and copy the rpms and xo file over:
ssh dev.laptop.org cd /var/www/etoys ./mirror
Then open a new ticket assigned to J5 requesting the XO and RPM to be included in the build. Add the URLs and copy the changelog entry to the ticket, too. Example: #2482