All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe 1/7] systemd-systemctl-native: add multiple services support
@ 2012-02-11  1:59 Andreas Müller
  2012-02-11  1:59 ` [meta-oe 2/7] systemd.bbclass: enhance checks for SYSTEMD_PACKAGES and SYSTEMD_SERVICE Andreas Müller
                   ` (6 more replies)
  0 siblings, 7 replies; 36+ messages in thread
From: Andreas Müller @ 2012-02-11  1:59 UTC (permalink / raw)
  To: openembedded-devel

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@googlemail.com>
---
 .../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
-- 
1.7.4.4




^ permalink raw reply related	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2012-02-15 21:08 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-11  1:59 [meta-oe 1/7] systemd-systemctl-native: add multiple services support Andreas Müller
2012-02-11  1:59 ` [meta-oe 2/7] systemd.bbclass: enhance checks for SYSTEMD_PACKAGES and SYSTEMD_SERVICE Andreas Müller
2012-02-11 13:09   ` Otavio Salvador
2012-02-12 21:51     ` Andreas Müller
2012-02-11  1:59 ` [meta-oe 3/7] systemd.bbclass: cosmetics Andreas Müller
2012-02-11 13:15   ` Otavio Salvador
2012-02-12 21:53     ` Andreas Müller
2012-02-11  2:00 ` [meta-oe 4/7] systemd.bbclass: automatically create packages set in SYSTEMD_PACKAGES Andreas Müller
2012-02-11 13:16   ` Otavio Salvador
2012-02-11  2:00 ` [meta-oe 5/7] automatically install all *.service and *.socket supplied in recipe's SRC_URI Andreas Müller
2012-02-11 13:17   ` Otavio Salvador
2012-02-11  2:00 ` [meta-oe 6/7] systemd.bbclass: automatically extend FILES_* for systemd packages Andreas Müller
2012-02-11 13:12   ` Otavio Salvador
2012-02-12 22:15     ` Andreas Müller
2012-02-13 10:42       ` Otavio Salvador
2012-02-13 12:05         ` Andreas Müller
2012-02-13 12:14           ` Otavio Salvador
2012-02-13 16:38             ` Andreas Müller
2012-02-13 17:09               ` Otavio Salvador
2012-02-14 12:42                 ` Andreas Müller
2012-02-14 12:51                   ` Otavio Salvador
2012-02-14 16:09                     ` Andreas Müller
2012-02-14 16:22                       ` Otavio Salvador
2012-02-15 12:31                         ` Andreas Müller
2012-02-15 12:36                           ` Otavio Salvador
2012-02-15 19:53                             ` Andreas Müller
2012-02-15 19:55                               ` Otavio Salvador
2012-02-15 20:05                                 ` Martin Jansa
2012-02-15 20:07                                 ` Andreas Müller
2012-02-15 20:18                                   ` Andreas Müller
2012-02-15 20:39                                     ` Andreas Müller
2012-02-15 21:00                                       ` Andreas Müller
2012-02-11  2:00 ` [meta-oe 7/7] systemd.bbclass: automatically extend RDEPENDS for *-systemd packages Andreas Müller
2012-02-11 13:19   ` Otavio Salvador
2012-02-12 22:16     ` Andreas Müller
2012-02-11 13:05 ` [meta-oe 1/7] systemd-systemctl-native: add multiple services support Otavio Salvador

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.