Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <sascha@silbe.org>2010-01-11 16:51:15 (GMT)
committer Sascha Silbe <sascha@silbe.org>2010-01-11 16:51:15 (GMT)
commit1d8b1b98cb7da09caa9bdf2c1c8dd70e475d245e (patch)
treeea38ef2e0426200bdb3c5f017f63b8a914a84621
parent709d44d6026702dcfc0e25e073190f46aa1d096c (diff)
don't use rainbow if it has been uninstalled, but the config file remains (#1317)
Some distros retain config files after removing packages, so /etc/olpc-security might exist even if rainbow is not installed. Signed-off-by: Sascha Silbe <sascha@silbe.org>
-rw-r--r--src/sugar/activity/activityfactory.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/sugar/activity/activityfactory.py b/src/sugar/activity/activityfactory.py
index ee0fd92..30fd14b 100644
--- a/src/sugar/activity/activityfactory.py
+++ b/src/sugar/activity/activityfactory.py
@@ -244,8 +244,12 @@ 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',