Taste the Rainbow:0.7.0: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 19: Line 19:
|
|
|--- rainbow : source code
|--- rainbow : source code
| |--- permissions : a stub based on the secure installation work that marcopg and
| |--- util
| | neuralis did together a few weeks ago
| |--- stages
| |--- util : functions wrapping frequently used idioms or useful syscalls
| |--- targets
| \--- service.py
| |--- stages : logic implementing activity launching
| |--- targets : control flow describing how to call activity-launching code
| \--- service.py : dbus service entry-point
|
|
|--- rainbow.spec.in : spec-file template for building RPMS
|--- rainbow.spec.in : spec-file template for building RPMS
Line 29: Line 31:
internal releases, prior to pushing to Fedora
internal releases, prior to pushing to Fedora


== Features ==
== Activity Launching ==

=== Activity Installation ===

permissions is a stub that I hope to fill out this weekend based on the secure installation work that marcopg and neuralis did together a few weeks ago

=== Activity Launching ===


The key functions for launching activities are
The key functions for launching activities are

Revision as of 20:42, 3 November 2007

This page is a guided tour of the source code of the rainbow-0.7.0 release.

Source Code Overview

Please start in my security tree.

 rainbow
  |--- README : Standard boilerplate about where work gets done; somewhat dated in this release.
  |--- conf : installation-time configuration files
  |     \--- session-olpc.conf : applies some unusual dbus rules to allow many uids
  |                              to use the same session bus and enables OLPC-specific 
  |                              dbus access checks. When /etc/olpc-security exists, 
  |                              session-olpc.conf is loaded by /usr/bin/sugar 
  | 
  |--- docs : explanations & notes
  |     \--- DESIGN : A discussion of how the predecessor to the current architecture arose.
  |     \--- NOTES : various problems I have encountered and thoughts on how to solve them.
  |     *--- rainbow.txt : a sketch & justification of the current design
  |
  |--- rainbow : source code
  |     |--- permissions : a stub based on the secure installation work that marcopg and 
  |     |                  neuralis did together a few weeks ago
  |     |--- util : functions wrapping frequently used idioms or useful syscalls
  |     |--- stages : logic implementing activity launching
  |     |--- targets : control flow describing how to call activity-launching code
  |     \--- service.py : dbus service entry-point
  |
  |--- rainbow.spec.in : spec-file template for building RPMS
  \--- Makefile.package : package-specific variables for use in ../Makefile.fedora
  *--- ../Makefile.fedora : rules for making local snapshot builds and 
                            internal releases, prior to pushing to Fedora

Activity Launching

The key functions for launching activities are

These functions are called in the order listed from

which are, in turn, called from

These six functions (and the relatively simple helpers they call) exhaust the functionality provided by rainbow-0.7.0.