Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2012-05-07 15:47:29 (GMT)
committer Daniel Drake <dsd@laptop.org>2012-05-07 15:49:51 (GMT)
commitaf115819b08385e40b260ef465cbe8cab318677f (patch)
treed2e046c227514d79c9518c9c1fcd318d6a969780
parentbdabcfeacf6166f09aeb18b76ff47c5629f1f2fe (diff)
sugar_activities_extra: Support multiple activity installation directories
Requested by the project in Nicaragua. While building images for multiple laptop models it is useful to have a "shared activity" directory for activities that go in all images, and then some smaller image-specific activity directories to be included as well.
-rw-r--r--modules/sugar_activities_extra/README7
-rw-r--r--modules/sugar_activities_extra/kspost.60.nochroot.activities.sh14
2 files changed, 13 insertions, 8 deletions
diff --git a/modules/sugar_activities_extra/README b/modules/sugar_activities_extra/README
index a66948a..a4288ed 100644
--- a/modules/sugar_activities_extra/README
+++ b/modules/sugar_activities_extra/README
@@ -1,9 +1,11 @@
This module installs sugar activities (.xo) and content bundles (.xol) from
-a local directory. You must configure this directory.
+zero or more local directories. You must configure these directories with
+uniquely named options as follows:
Example:
[sugar_activities_extra]
-local_dir=/path/to/my/activity/collection
+local_dir_1=/path/to/my/activity/collection
+local_dir_2=/path/to/another/activity/collection
It can install activities from remote URLs too, with uniquely named options
@@ -12,4 +14,3 @@ beginning with "url_", e.g.:
[sugar_activities_extra]
url_1=http://foo.com/MyActivity-1.xo
url_2=http://foo.com/MyContent-3.xol
-
diff --git a/modules/sugar_activities_extra/kspost.60.nochroot.activities.sh b/modules/sugar_activities_extra/kspost.60.nochroot.activities.sh
index e9d3b50..246f8d2 100644
--- a/modules/sugar_activities_extra/kspost.60.nochroot.activities.sh
+++ b/modules/sugar_activities_extra/kspost.60.nochroot.activities.sh
@@ -15,12 +15,16 @@ for line in $(env); do
install_sugar_bundle $cache/$(basename "$aurl")
done
-IFS=$oIFS
-actpath=$(read_config sugar_activities_extra local_dir)
-if [ -n "$actpath" -a -d "$actpath" ]; then
+for line in $(env); do
+ [[ "${line:0:38}" == "CFG_sugar_activities_extra__local_dir=" || "${line:0:38}" == "CFG_sugar_activities_extra__local_dir_" ]] || continue
+ actpath=${line#*=}
+ [ -n "$actpath" -a -d "$actpath" ] || continue
+
+ IFS=$oIFS
for i in "$actpath"/*; do
install_sugar_bundle $i
done
-fi
-
+ IFS=$'\n'
+done
+IFS=$oIFS