Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac2
-rwxr-xr-xsugar/setup.py12
-rw-r--r--tools/Makefile.am1
-rw-r--r--tools/sugar-setup-activity.in10
6 files changed, 22 insertions, 7 deletions
diff --git a/.gitignore b/.gitignore
index c83d665..60a7497 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,5 +32,5 @@ po/POTFILES
po/stamp-it
po/sugar.pot
po/*.gmo
-
sugar/__installed__.py
+tools/sugar-setup-activity
diff --git a/Makefile.am b/Makefile.am
index 68fe6fa..d1b0640 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = activities shell sugar
+SUBDIRS = activities shell sugar tools
dbusconfdir = $(pkgdatadir)
dbusconf_DATA = dbus-installed.conf
diff --git a/configure.ac b/configure.ac
index 46598fd..bbb4394 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,4 +40,6 @@ sugar/p2p/Makefile
sugar/p2p/model/Makefile
sugar/presence/Makefile
po/Makefile.in
+tools/Makefile
+tools/sugar-setup-activity
])
diff --git a/sugar/setup.py b/sugar/setup.py
index b60112e..9803f2d 100755
--- a/sugar/setup.py
+++ b/sugar/setup.py
@@ -11,8 +11,9 @@ class ServiceParser(ConfigParser):
def optionxform(self, option):
return option
-def _install_activity(activity_dir, filename, dest_path, bin):
- source = os.path.join(activity_dir, filename)
+def setup_activity(source, dest_path, bin):
+ """Copy an activity to the destination path and setup it"""
+ filename = os.path.basename(source)
dest = os.path.join(dest_path, filename)
print 'Install ' + filename + ' ...'
shutil.copyfile(source, dest)
@@ -53,7 +54,7 @@ def _install_activity(activity_dir, filename, dest_path, bin):
service_cp.write(fileobject)
fileobject.close()
-def install_activities(source_path, dest_path, bin):
+def setup_activities(source_path, dest_path, bin):
"""Scan a directory for activities and install them."""
if os.path.isdir(source_path):
for filename in os.listdir(source_path):
@@ -61,7 +62,8 @@ def install_activities(source_path, dest_path, bin):
if os.path.isdir(activity_dir):
for filename in os.listdir(activity_dir):
if filename.endswith(".activity"):
- _install_activity(activity_dir, filename, dest_path, bin)
+ source = os.path.join(activity_dir, filename)
+ setup_activity(source, dest_path, bin)
if __name__=='__main__':
- install_activities(sys.argv[1], sys.argv[2], sys.argv[3])
+ setup_activities(sys.argv[1], sys.argv[2], sys.argv[3])
diff --git a/tools/Makefile.am b/tools/Makefile.am
new file mode 100644
index 0000000..c4cd3bb
--- /dev/null
+++ b/tools/Makefile.am
@@ -0,0 +1 @@
+bin_SCRIPTS = sugar-setup-activity
diff --git a/tools/sugar-setup-activity.in b/tools/sugar-setup-activity.in
new file mode 100644
index 0000000..6a3263e
--- /dev/null
+++ b/tools/sugar-setup-activity.in
@@ -0,0 +1,10 @@
+#!/usr/bin/python
+import sys
+
+from sugar import setup
+
+setup.setup_activity(sys.argv[1],
+ '@prefix@/share/sugar/activities',
+ '@prefix@/bin/sugar-activity-factory')
+
+print '%s installed.' % sys.argv[1]