Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2006-11-03 07:39:21 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2006-11-03 07:39:21 (GMT)
commitc7dbfdb067d200903fe6805ab59ed6b7129b129a (patch)
treee9b53bacf279078afb4c202a92e2a60a3516b89c
parenta6503b8bd8092112323f06c5ab29337a01753597 (diff)
parent561169809b92e29cfd762c3cd673def881764dcc (diff)
Merge branch 'master' of git://dev.laptop.org/sugar
-rw-r--r--dbus-installed.conf.in1
-rwxr-xr-xsugar-emulator6
-rw-r--r--sugar/activity/bundleregistry.py7
-rw-r--r--sugar/env.py12
4 files changed, 21 insertions, 5 deletions
diff --git a/dbus-installed.conf.in b/dbus-installed.conf.in
index de7d01e..7b6d607 100644
--- a/dbus-installed.conf.in
+++ b/dbus-installed.conf.in
@@ -12,6 +12,7 @@
<servicedir>@prefix@/share/sugar/activities</servicedir>
<servicedir>@prefix@/share/sugar/services</servicedir>
+ <servicedir>/tmp/sugar-services</servicedir>
<policy context="default">
<!-- Allow everything to be sent -->
diff --git a/sugar-emulator b/sugar-emulator
index a042618..d8d1d63 100755
--- a/sugar-emulator
+++ b/sugar-emulator
@@ -76,9 +76,9 @@ for i in range(1, len(sys.argv)):
emulator = Emulator(fullscreen)
emulator.start()
-# FIXME temporary until dbus support services in home dir
-if not os.path.isdir('/tmp/sugar-services'):
- os.mkdir('/tmp/sugar-services')
+if env.get_dbus_version() < '0.95':
+ if not os.path.isdir('/tmp/sugar-services'):
+ os.mkdir('/tmp/sugar-services')
os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session',
'--config-file=%s' % env.get_dbus_config(), program)
diff --git a/sugar/activity/bundleregistry.py b/sugar/activity/bundleregistry.py
index 582c340..c6d0531 100644
--- a/sugar/activity/bundleregistry.py
+++ b/sugar/activity/bundleregistry.py
@@ -10,10 +10,13 @@ class _ServiceParser(ConfigParser):
class _ServiceManager(object):
def __init__(self):
- self._path = '/tmp/sugar-services'
+ if env.get_dbus_version() < '0.95':
+ self._path = '/tmp/sugar-services'
+ else:
+ self._path = os.path.expanduser('~/.local/share/dbus-1/services')
if not os.path.isdir(self._path):
- os.mkdir(self._path)
+ os.makedirs(self._path)
def add(self, bundle):
name = bundle.get_service_name()
diff --git a/sugar/env.py b/sugar/env.py
index f776865..3f958b2 100644
--- a/sugar/env.py
+++ b/sugar/env.py
@@ -56,3 +56,15 @@ def get_dbus_config():
def get_shell_bin_dir():
return sugar_shell_bin_dir
+
+_dbus_version = None
+def get_dbus_version():
+ global _dbus_version
+ if _dbus_version == None:
+ f = os.popen('dbus-daemon --version')
+ version_line = f.readline()
+ if version_line:
+ splitted_line = version_line.split()
+ _dbus_version = splitted_line[len(splitted_line) - 1]
+ f.close()
+ return _dbus_version