Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-11-05 02:25:51 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-11-05 02:25:51 (GMT)
commit6d84d886e190264062eab75dfc2c96633944f351 (patch)
tree55d666e8caf8dacfe787caca90740b000127d9a8
parent137b8ddd230154208f0e05e24da126bfc39a5d3d (diff)
Fixup services path with the various installed/uninstalled 0.94/0.95 combinations. What a pain!
-rw-r--r--Makefile.am2
-rw-r--r--dbus-installed.conf.in3
-rw-r--r--dbus-uninstalled-094.conf25
-rw-r--r--dbus-uninstalled.conf2
-rw-r--r--services/presence/Makefile.am2
-rwxr-xr-xsugar-emulator10
-rw-r--r--sugar/__installed__.py.in3
-rw-r--r--sugar/__uninstalled__.py1
-rw-r--r--sugar/env.py3
9 files changed, 43 insertions, 8 deletions
diff --git a/Makefile.am b/Makefile.am
index adb34ab..d66d590 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,7 @@ bin_SCRIPTS = \
install-data-local:
$(top_srcdir)/sugar/setup.py \
$(top_srcdir)/activities \
- $(DESTDIR)$(pkgdatadir)/activities \
+ $(DESTDIR)$(datadir)/dbus-1/services \
$(bindir)/sugar-activity-factory
uninstall-local:
diff --git a/dbus-installed.conf.in b/dbus-installed.conf.in
index 7b6d607..ca0c208 100644
--- a/dbus-installed.conf.in
+++ b/dbus-installed.conf.in
@@ -10,8 +10,7 @@
<listen>unix:tmpdir=/tmp</listen>
- <servicedir>@prefix@/share/sugar/activities</servicedir>
- <servicedir>@prefix@/share/sugar/services</servicedir>
+ <servicedir>@prefix@/share/dbus-1/services</servicedir>
<servicedir>/tmp/sugar-services</servicedir>
<policy context="default">
diff --git a/dbus-uninstalled-094.conf b/dbus-uninstalled-094.conf
new file mode 100644
index 0000000..fbed2d6
--- /dev/null
+++ b/dbus-uninstalled-094.conf
@@ -0,0 +1,25 @@
+<!-- This configuration file controls the per-user-login-session message bus.
+ Add a session-local.conf and edit that rather than changing this
+ file directly. -->
+
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <!-- Our well-known bus type, don't change this -->
+ <type>session</type>
+
+ <listen>unix:tmpdir=/tmp</listen>
+
+ <servicedir>/tmp/sugar</servicedir>
+ <servicedir>/tmp/sugar-services</servicedir>
+
+ <policy context="default">
+ <!-- Allow everything to be sent -->
+ <allow send_destination="*"/>
+ <!-- Allow everything to be received -->
+ <allow eavesdrop="true"/>
+ <!-- Allow anyone to own anything -->
+ <allow own="*"/>
+ </policy>
+
+</busconfig>
diff --git a/dbus-uninstalled.conf b/dbus-uninstalled.conf
index fbed2d6..fa4e6f2 100644
--- a/dbus-uninstalled.conf
+++ b/dbus-uninstalled.conf
@@ -10,8 +10,8 @@
<listen>unix:tmpdir=/tmp</listen>
+ <standard_session_servicedirs />
<servicedir>/tmp/sugar</servicedir>
- <servicedir>/tmp/sugar-services</servicedir>
<policy context="default">
<!-- Allow everything to be sent -->
diff --git a/services/presence/Makefile.am b/services/presence/Makefile.am
index f64bc02..9b40ed3 100644
--- a/services/presence/Makefile.am
+++ b/services/presence/Makefile.am
@@ -1,4 +1,4 @@
-servicedir = $(datadir)/sugar/services
+servicedir = $(datadir)/dbus-1/services
service_in_files = org.laptop.Presence.service.in
service_DATA = $(service_in_files:.service.in=.service)
diff --git a/sugar-emulator b/sugar-emulator
index e9ba62c..11e606f 100755
--- a/sugar-emulator
+++ b/sugar-emulator
@@ -73,6 +73,12 @@ emulator.start()
if env.get_dbus_version() < '0.95':
if not os.path.isdir('/tmp/sugar-services'):
os.mkdir('/tmp/sugar-services')
+ dbus_config = env.get_dbus_config_094()
+else:
+ dbus_config = env.get_dbus_config()
-os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session',
- '--config-file=%s' % env.get_dbus_config(), program)
+if dbus_config:
+ os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session',
+ '--config-file=%s' % dbus_config, program)
+else:
+ os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session', program)
diff --git a/sugar/__installed__.py.in b/sugar/__installed__.py.in
index 832fca5..e1fdcfc 100644
--- a/sugar/__installed__.py.in
+++ b/sugar/__installed__.py.in
@@ -3,5 +3,6 @@ sugar_data_dir = '@prefix@/share/sugar'
sugar_activities_dir = '@prefix@/share/sugar/activities'
sugar_activity_info_dir = '@prefix@/share/sugar/activities'
sugar_services_dir = '@prefix@/share/sugar/services'
-sugar_dbus_config = '@prefix@/share/sugar/dbus-installed.conf'
+sugar_dbus_config = None
+sugar_dbus_config_094 = '@prefix@/share/sugar/dbus-installed.conf'
sugar_shell_bin_dir = '@prefix@/bin'
diff --git a/sugar/__uninstalled__.py b/sugar/__uninstalled__.py
index e0bfc29..121e050 100644
--- a/sugar/__uninstalled__.py
+++ b/sugar/__uninstalled__.py
@@ -9,4 +9,5 @@ sugar_services_dir = os.path.join(_sourcedir, 'services')
sugar_activity_info_dir = _tmpdir
sugar_activities_dir = os.path.join(_sourcedir, 'activities')
sugar_dbus_config = os.path.join(_sourcedir, 'dbus-uninstalled.conf')
+sugar_dbus_config_094 = os.path.join(_sourcedir, 'dbus-uninstalled-094.conf')
sugar_shell_bin_dir = os.path.join(_sourcedir, 'shell')
diff --git a/sugar/env.py b/sugar/env.py
index 3f958b2..209f346 100644
--- a/sugar/env.py
+++ b/sugar/env.py
@@ -54,6 +54,9 @@ def get_services_dir():
def get_dbus_config():
return sugar_dbus_config
+def get_dbus_config_094():
+ return sugar_dbus_config_094
+
def get_shell_bin_dir():
return sugar_shell_bin_dir