Difference between revisions of "Development Team/Jhbuild"
HoboPrimate (talk | contribs) (→Configure the mode and resolution of Sugar: next time you update sugar-jhbuild, file is replaced, need to re-do again) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 22: | Line 22: | ||
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 [[:Category:Installing Sugar|Installing]] or [[:Category:Linux distributions|Linux]] categories for specific distro info. | 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 [[:Category:Installing Sugar|Installing]] or [[:Category:Linux distributions|Linux]] categories for specific distro info. | ||
+ | |||
+ | You may have some issues with penguintv on ubuntu, just inturupt the pull with a CTRL+C, open a shell, repeat the command manualy, and accept the certificate permanently. | ||
==Run Sugar== | ==Run Sugar== | ||
Line 90: | Line 92: | ||
./sugar-jhbuild build | ./sugar-jhbuild build | ||
./sugar-jhbuild run | ./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 | ||
== Customize == | == Customize == | ||
Line 102: | Line 111: | ||
repos['dev.laptop.org'] = 'git+ssh://marco@dev.laptop.org/git/' | repos['dev.laptop.org'] = 'git+ssh://marco@dev.laptop.org/git/' | ||
repos['dev.laptop.org/projects'] = 'git+ssh://marco@dev.laptop.org/git/projects/' | repos['dev.laptop.org/projects'] = 'git+ssh://marco@dev.laptop.org/git/projects/' | ||
+ | |||
+ | ==Useful Internal Links== | ||
+ | * [[Understanding_sugar_code|Understanding Sugar Code]] | ||
+ | * [[Sugar_Components|Sugar Components]] | ||
==External links== | ==External links== |
Revision as of 15:59, 10 December 2007
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.
Note: Some Linux distributions may need or have special procedures; you can check the pages on installing Sugar to see if they are available.
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
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.
You may have some issues with penguintv on ubuntu, just inturupt the pull with a CTRL+C, open a shell, repeat the command manualy, and accept the certificate permanently.
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 directory, backup, then edit the python program file sugar-emulator:
cp build/bin/sugar-emulator build/bin/sugar-emulator.backup nano build/bin/sugar-emulator
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.
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
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:
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
External links
- JHBuild manual
- Red Hat Magazine article: Introducing Sugar
- Tinderbox (see the "Sugar JHBuild" tab). The old sugar-jhbuild tinderbox.