Sugar with sugar-jhbuild: Difference between revisions
(Add a build system category) |
m (→Build sugar base system and its dependencies: adding instructions on bypassing AM_PATH_PYTHON error) |
||
Line 28: | Line 28: | ||
./sugar-jhbuild build |
./sugar-jhbuild build |
||
=== Dealing with dependencies === |
|||
⚫ | |||
At some point during running ''sugar-jhbuild update'' or ''sugar-jhbuild build'' you may be interrupted by an error listing some dependencies you don't have. Here are some notes that may help you deal with this so you can build correctly. |
|||
⚫ | |||
* If you're given a list of packages that aren't installed, simply install them according to your distribution's package manager (yum, apt-get, etc.) and then try re-running the sugar-jhbuild command again. |
|||
⚫ | |||
⚫ | |||
* If you run into an error during ''sugar-jhbuild build'' that looks something like "aclocal: macro `AM_PATH_PYTHON' required but not defined" try installing or updating your packages for ''autoconf'' and ''automake'' and running ''sugar-jhbuild build'' again. (workedforme on Ubuntu Hardy) [[User:Mchua|Mchua]] 17:10, 15 May 2008 (EDT) |
|||
⚫ | |||
⚫ | |||
and also symlink build/share/icons/sugar to build/share/icons/hicolor. These two steps may not be necessary, but they made things work on my Ubuntu installation as of March 31, 2008. [[User:Blaketh|Blaketh]] 03:08, 31 March 2008 (EDT) |
and also symlink build/share/icons/sugar to build/share/icons/hicolor. These two steps may not be necessary, but they made things work on my Ubuntu installation as of March 31, 2008. [[User:Blaketh|Blaketh]] 03:08, 31 March 2008 (EDT) |
||
Revision as of 21:10, 15 May 2008
Developer's Setup |
Fedora |
Ubuntu |
Debian |
Gentoo |
Slackware |
Wiki Category |
modify |
One of the easiest ways to install Sugar is to use sugar-jhbuild.
Sugar-jhbuild will automatically download the latest of Sugar's dependencies as well as Sugar itself directly from their source repositories, rather than relying on source packages that may have become stale. Below are generic instructions on how to use sugar-jhbuild to get up and running with Sugar.
Compatible Platforms
sugar-jhbuild is quite demanding with regard to the packages and setup for the host Linux distribution. As a result there are only a few Linux Distributions which are known to work with it.
The installing Sugar wiki category collects the various articles which detail platform-specific considerations for installing Sugar.
Platform-specific issues are discussed under the platform (distribution) names in the navigation bar to the right. You should read these notes before beginning your Sugar installation.
Checkout sugar-jhbuild
In a suitable directory, execute
git-clone git://dev.laptop.org/sugar-jhbuild
Build sugar base system and its dependencies
Change directory and start the build.
cd sugar-jhbuild git-pull ./sugar-jhbuild update ./sugar-jhbuild build
Dealing with dependencies
At some point during running sugar-jhbuild update or sugar-jhbuild build you may be interrupted by an error listing some dependencies you don't have. Here are some notes that may help you deal with this so you can build correctly.
- If you're given a list of packages that aren't installed, simply install them according to your distribution's package manager (yum, apt-get, etc.) and then try re-running the sugar-jhbuild command again.
- For the base packages, you may be able to use the binary packages from your GNU distribution instead of building them from scratch. Check the Installing or Linux categories for specific distro info.
- If you run into an error during sugar-jhbuild build that looks something like "aclocal: macro `AM_PATH_PYTHON' required but not defined" try installing or updating your packages for autoconf and automake and running sugar-jhbuild build again. (workedforme on Ubuntu Hardy) Mchua 17:10, 15 May 2008 (EDT)
- You may have some issues with penguintv on ubuntu, just interrupt the pull with a CTRL+C, open a shell, repeat the command manually, and accept the certificate permanently.
- One other fix that I had to do was to export GTK2_RC_FILES=~/src/olpc/sugar-jhbuild/build/share/themes/sugar/gtk-2.0/gtkrc
and also symlink build/share/icons/sugar to build/share/icons/hicolor. These two steps may not be necessary, but they made things work on my Ubuntu installation as of March 31, 2008. Blaketh 03:08, 31 March 2008 (EDT)
Run Sugar
This command launches the Sugar emulator:
./sugar-jhbuild run
To exit the emulator, press Alt-Q.
Running multiple instances
To run multiple instances of sugar you can start it in the following way:
SUGAR_PROFILE=2 ./sugar-jhbuild run
Run an individual activity
Within the sugar shell (./sugar-jhbuild shell), this command launches an individual activity for testing (from the mailing list):
sugar-activity [bundle name]
Configure the mode and resolution of Sugar
You can make Sugar run in a window as well as specify a resolution. Within the /sugar-jhbuild/build/share/sugar/shell directory, backup, then edit the python program file emulator.py:
cp /sugar-jhbuild/build/share/sugar/shell/emulator.py /sugar-jhbuild/build/share/sugar/shell/emulator.py.backup nano build/share/sugar/shell/emulator.py
Find this piece of code:
cmd = [ 'Xephyr' ] cmd.append(':%d' % display) cmd.append('-ac') if gtk.gdk.screen_width() < 1200 or gtk.gdk.screen_height() < 900: cmd.append('-fullscreen') else: cmd.append('-screen') cmd.append('%dx%d' % (1200, 900))
Comment out the if and else instructions, and specify the screen resolution and mode you want (it's important to delete 4 spaces before the "cmd.append" lines):
cmd = [ 'Xephyr' ] cmd.append(':%d' % display) cmd.append('-ac') # if gtk.gdk.screen_width() < 1200 or gtk.gdk.screen_height() < 900: # cmd.append('-fullscreen') # else: cmd.append('-screen') cmd.append('%dx%d' % (800, 600))
Sugar will now run on a 800x600 window. This file may be replaced next time you update sugar-jhbuild, and you'll have to do this again. Also note that 800x600 is not an optimal resolution for the window, because the activity circle will be vertically off center. 1024x768 is a more useable resolution.
Other commands
JHBuild has several other commands that can be useful for development. You can get an overview with:
./sugar-jhbuild --help-commands
A useful sequence of commands for building Sugar, from the Sugar mailing list:
./sugar-jhbuild update ./sugar-jhbuild build ./sugar-jhbuild run
From Within Sugar
Once you have Sugar running, here are some useful commands:
- Alt+F makes the frame appear and disappear
- Alt+C quits an activity
- Alt+0 brings up the developer's console
- Alt+Q quits Sugar
- Alt+N switches applications within sugar (like alt-tab on the device)
Customize
To customize the build create a configuration file, named .olpc.jhbuildrc, in your home directory.
Write access to the repositories
If you have write access to the repositories you can add this (if your login name happens to be marco):
repos['gnome.org'] = ':ext:marco@cvs.gnome.org:/cvs/gnome' repos['mozilla.org'] = ':ext:marco%gnome.org@cvs.mozilla.org:/cvsroot' repos['dev.laptop.org'] = 'git+ssh://marco@dev.laptop.org/git/' repos['dev.laptop.org/projects'] = 'git+ssh://marco@dev.laptop.org/git/projects/'
Useful Internal Links
- Understanding Sugar Code
- Sugar Components
- Sugar Instructions -- how to actually use Sugar once you have it running
External links
- JHBuild manual
- Red Hat Magazine article: Introducing Sugar
- Tinderbox (see the "Sugar JHBuild" tab). The old sugar-jhbuild tinderbox.