diff options
author | Daniel Drake <dsd@laptop.org> | 2012-05-07 15:47:29 (GMT) |
---|---|---|
committer | Daniel Drake <dsd@laptop.org> | 2012-05-07 15:49:51 (GMT) |
commit | af115819b08385e40b260ef465cbe8cab318677f (patch) | |
tree | d2e046c227514d79c9518c9c1fcd318d6a969780 | |
parent | bdabcfeacf6166f09aeb18b76ff47c5629f1f2fe (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/README | 7 | ||||
-rw-r--r-- | modules/sugar_activities_extra/kspost.60.nochroot.activities.sh | 14 |
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 |