Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar/activity/activityfactory.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/sugar/activity/activityfactory.py')
-rw-r--r--src/sugar/activity/activityfactory.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/sugar/activity/activityfactory.py b/src/sugar/activity/activityfactory.py
index ee0fd92..c195572 100644
--- a/src/sugar/activity/activityfactory.py
+++ b/src/sugar/activity/activityfactory.py
@@ -244,13 +244,17 @@ class ActivityCreationHandler(gobject.GObject):
self._handle.object_id,
self._handle.uri)
+ dev_null = file('/dev/null', 'w')
environment_dir = None
- if os.path.exists('/etc/olpc-security'):
+ rainbow_found = subprocess.call(['which', 'rainbow-run'],
+ stdout=dev_null, stderr=dev_null) == 0
+ use_rainbow = rainbow_found and os.path.exists('/etc/olpc-security')
+ if use_rainbow:
environment_dir = tempfile.mkdtemp()
- command = ['/usr/bin/sudo', '-E', '--',
- '/usr/bin/rainbow-run',
+ command = ['sudo', '-E', '--',
+ 'rainbow-run',
'-v', '-v',
- '-a', '/usr/bin/rainbow-sugarize',
+ '-a', 'rainbow-sugarize',
'-s', '/var/spool/rainbow/2',
'-f', '1',
'-f', '2',