[oe] [meta-oe 1/7] systemd-systemctl-native: add multiple services support
Otavio Salvador
otavio at ossystems.com.br
Sat Feb 11 13:05:41 UTC 2012
Acked-by: Otavio Salvador <otavio at ossystems.com.br>
On Fri, Feb 10, 2012 at 23:59, Andreas Müller
<schnitzeltony at googlemail.com>wrote:
> 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>
> ---
> .../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
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
--
Otavio Salvador O.S. Systems
E-mail: otavio at ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
More information about the Openembedded-devel
mailing list