diff options
author | Sascha Silbe <sascha@silbe.org> | 2010-01-11 16:51:15 (GMT) |
---|---|---|
committer | Sascha Silbe <sascha@silbe.org> | 2010-01-11 16:51:15 (GMT) |
commit | 1d8b1b98cb7da09caa9bdf2c1c8dd70e475d245e (patch) | |
tree | ea38ef2e0426200bdb3c5f017f63b8a914a84621 | |
parent | 709d44d6026702dcfc0e25e073190f46aa1d096c (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.py | 6 |
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', |