[oe-commits] Andreas Müller : systemd-systemctl-native: add multiple services support
git at git.openembedded.org
git at git.openembedded.org
Thu Feb 23 17:02:31 UTC 2012
Module: meta-openembedded.git
Branch: master
Commit: 9d72ff10c51963513f33ce8dbf42822abf42f6b7
URL: http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=9d72ff10c51963513f33ce8dbf42822abf42f6b7
Author: Andreas Müller <schnitzeltony at googlemail.com>
Date: Thu Feb 16 02:02:55 2012 +0000
systemd-systemctl-native: add multiple services support
Thanks to Otavio Salvador for helping hint [1]
[1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-February/037856.html
Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
Acked-by: Otavio Salvador <otavio at ossystems.com.br>
Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
---
.../systemd/systemd-systemctl-native/systemctl | 75 +++++++++++---------
1 files changed, 42 insertions(+), 33 deletions(-)
diff --git a/meta-oe/recipes-core/systemd/systemd-systemctl-native/systemctl b/meta-oe/recipes-core/systemd/systemd-systemctl-native/systemctl
index 54c1a18..72b9da3 100755
--- a/meta-oe/recipes-core/systemd/systemd-systemctl-native/systemctl
+++ b/meta-oe/recipes-core/systemd/systemd-systemctl-native/systemctl
@@ -10,50 +10,59 @@ while [ $# != 0 ]; do
enable)
shift
- service="$1"
+ services="$1"
+ in_enable="1"
shift
;;
--root=*)
ROOT=${opt##--root=}
+ in_enable="0"
shift
;;
*)
- echo "'$opt' is an unkown option; exiting with error"
- exit 1
+ if [ "$in_enable" = "1" ]; then
+ services="$services $opt"
+ shift
+ else
+ echo "'$opt' is an unkown option; exiting with error"
+ exit 1
+ fi
;;
esac
done
-# find service file
-for p in $ROOT/etc/systemd/system \
- $ROOT/lib/systemd/system \
- $ROOT/usr/lib/systemd/system; do
- if [ -e $p/$service ]; then
- service_file=$p/$service
- service_file=${service_file##$ROOT}
+for service in "$services"; do
+ # find service file
+ for p in $ROOT/etc/systemd/system \
+ $ROOT/lib/systemd/system \
+ $ROOT/usr/lib/systemd/system; do
+ if [ -e $p/$service ]; then
+ service_file=$p/$service
+ service_file=${service_file##$ROOT}
+ fi
+ done
+ if [ -z "$service_file" ]; then
+ echo "'$service' couldn't be found; exiting with error"
+ exit 1
fi
-done
-if [ -z "$service_file" ]; then
- echo "'$service' couldn't be found; exiting with error"
- exit 1
-fi
-
-# create the required symbolic links
-wanted_by=$(grep WantedBy $ROOT/$service_file \
- | sed 's,WantedBy=,,g' \
- | tr ',' '\n' \
- | grep '\.target$')
-
-for r in $wanted_by; do
- mkdir -p $ROOT/etc/systemd/system/$r.wants
- ln -s $service_file $ROOT/etc/systemd/system/$r.wants
- echo "Enabled $service for $wanted_by."
-done
-# call us for the other required scripts
-also=$(grep Also $ROOT/$service_file \
- | sed 's,Also=,,g' \
- | tr ',' '\n')
-for a in $also; do
- $0 --root=$ROOT enable $a
+ # create the required symbolic links
+ wanted_by=$(grep WantedBy $ROOT/$service_file \
+ | sed 's,WantedBy=,,g' \
+ | tr ',' '\n' \
+ | grep '\.target$')
+
+ for r in $wanted_by; do
+ mkdir -p $ROOT/etc/systemd/system/$r.wants
+ ln -s $service_file $ROOT/etc/systemd/system/$r.wants
+ echo "Enabled $service for $wanted_by."
+ done
+
+ # call us for the other required scripts
+ also=$(grep Also $ROOT/$service_file \
+ | sed 's,Also=,,g' \
+ | tr ',' '\n')
+ for a in $also; do
+ $0 --root=$ROOT enable $a
+ done
done
More information about the Openembedded-commits
mailing list