Merge branch 'master' of git://dev.laptop.org/sugar

This commit is contained in:
Tomeu Vizoso 2006-11-03 08:39:21 +01:00
commit c7dbfdb067
4 changed files with 21 additions and 5 deletions

View File

@ -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 -->

View File

@ -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)

View File

@ -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()

View File

@ -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