From aca3ae6c88eb56b4dd2f818928ecca5064669978 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Tue, 5 Feb 2008 01:02:33 +0100 Subject: [PATCH] Remove get_service_path and use the usual wrapper script approach. --- bin/.gitignore | 1 + bin/Makefile.am | 3 ++- bin/sugar-shell-service.in | 26 ++++++++++++++++++++ configure.ac | 1 + lib/sugar/env.py | 3 --- service/Makefile.am | 10 ++++---- service/{sugar-shell-service => main.py} | 30 ++++++++++-------------- 7 files changed, 47 insertions(+), 27 deletions(-) create mode 100644 bin/sugar-shell-service.in rename service/{sugar-shell-service => main.py} (69%) diff --git a/bin/.gitignore b/bin/.gitignore index 2a3ce74c..19d135d7 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,2 +1,3 @@ sugar-control-panel sugar-shell +sugar-shell-service diff --git a/bin/Makefile.am b/bin/Makefile.am index 327df30d..322576ad 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am @@ -5,7 +5,8 @@ bin_SCRIPTS = \ sugar-control-panel \ sugar-install-bundle \ sugar-launch \ - sugar-shell + sugar-shell \ + sugar-shell-service EXTRA_DIST = $(bin_SCRIPTS) sugar.in diff --git a/bin/sugar-shell-service.in b/bin/sugar-shell-service.in new file mode 100644 index 00000000..e88ea651 --- /dev/null +++ b/bin/sugar-shell-service.in @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# Copyright (C) 2008, Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +import sys + +sys.path.insert(0, '@prefix@/share/sugar/service') + +from main import main + +main() + + diff --git a/configure.ac b/configure.ac index 7e2202e1..a1f6c0ae 100644 --- a/configure.ac +++ b/configure.ac @@ -43,6 +43,7 @@ AC_CONFIG_FILES([ bin/sugar bin/sugar-control-panel bin/sugar-shell +bin/sugar-shell-service src/config.py ]) diff --git a/lib/sugar/env.py b/lib/sugar/env.py index 229b929c..cdc61ab7 100644 --- a/lib/sugar/env.py +++ b/lib/sugar/env.py @@ -77,8 +77,5 @@ def get_user_activities_path(): def get_user_library_path(): return os.path.expanduser('~/Library') -def get_service_path(name): - return _get_sugar_path('services', name) - def get_data_path(path=None): return _get_sugar_path('data', path) diff --git a/service/Makefile.am b/service/Makefile.am index 44496ff1..17ac9f79 100644 --- a/service/Makefile.am +++ b/service/Makefile.am @@ -17,18 +17,16 @@ org.laptop.Clipboard.service: org.laptop.Clipboard.service.in Makefile org.laptop.ObjectTypeRegistry.service: org.laptop.ObjectTypeRegistry.service.in Makefile @sed -e "s|\@bindir\@|$(bindir)|" $< > $@ -sugardir = $(pkgdatadir)/services/shell +sugardir = $(pkgdatadir)/service sugar_PYTHON = \ __init__.py \ activityregistryservice.py \ bundleregistry.py \ clipboardobject.py \ - clipboardservice.py - -bin_SCRIPTS = sugar-shell-service + clipboardservice.py \ + main.py DISTCLEANFILES = $(service_DATA) -EXTRA_DIST = $(service_in_files) $(bin_SCRIPTS) - +EXTRA_DIST = $(service_in_files) diff --git a/service/sugar-shell-service b/service/main.py similarity index 69% rename from service/sugar-shell-service rename to service/main.py index e5c6a7d0..679cc091 100755 --- a/service/sugar-shell-service +++ b/service/main.py @@ -1,6 +1,3 @@ -#!/usr/bin/env python -# vi: ts=4 ai noet -# # Copyright (C) 2006, Red Hat, Inc. # Copyright (C) 2007, One Laptop Per Child # @@ -28,23 +25,22 @@ import dbus.glib from sugar import logger from sugar import env -sys.path.append(env.get_service_path('shell')) - -import clipboardservice import activityregistryservice +import clipboardservice -logger.start('shellservice') -logging.info('Starting shell service.') +def main(): + logger.start('shellservice') + logging.info('Starting shell service.') -gobject.threads_init() -dbus.glib.threads_init() + gobject.threads_init() + dbus.glib.threads_init() -clipboard_service = clipboardservice.get_instance() -activity_registry = activityregistryservice.get_instance() + clipboard_service = clipboardservice.get_instance() + activity_registry = activityregistryservice.get_instance() -loop = gobject.MainLoop() -try: - loop.run() -except KeyboardInterrupt: - print 'Ctrl+C pressed, exiting...' + loop = gobject.MainLoop() + try: + loop.run() + except KeyboardInterrupt: + print 'Ctrl+C pressed, exiting...'