[oe-commits] Enrico Scholz : systemd-systemctl: parse unit files more correctly
git at git.openembedded.org
git at git.openembedded.org
Mon Apr 29 13:40:30 UTC 2013
Module: openembedded-core.git
Branch: master
Commit: 443e75ee2c0e9a62df997aef24855bce54d39177
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=443e75ee2c0e9a62df997aef24855bce54d39177
Author: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
Date: Wed Apr 24 13:37:21 2013 +0200
systemd-systemctl: parse unit files more correctly
Old script failed to parse unit files containing comments like
| #Alias=some-alias
or whitespaces like
| WantedBy = foo
correctly. Patch changes script to interpret keywords only when they
are at the beginning of a line and ignores whitespaces before the '='.
Signed-off-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
Signed-off-by: Saul Wold <sgw at linux.intel.com>
---
.../systemd/systemd-systemctl/systemctl | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl b/meta/recipes-core/systemd/systemd-systemctl/systemctl
index d71c7ed..8abbdf6 100755
--- a/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -78,8 +78,7 @@ for service in $services; do
echo "Found $service in $service_file"
# create the required symbolic links
- wanted_by=$(grep WantedBy $ROOT/$service_file \
- | sed 's,WantedBy=,,g' \
+ wanted_by=$(sed '/^WantedBy[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
| tr ',' '\n' \
| grep '\(\.target$\)\|\(\.service$\)')
@@ -97,8 +96,7 @@ for service in $services; do
done
# create the required symbolic 'Alias' links
- alias=$(grep Alias $ROOT/$service_file \
- | sed 's,Alias=,,g' \
+ alias=$(sed '/^Alias[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
| tr ',' '\n' \
| grep '\.service$')
@@ -114,8 +112,7 @@ for service in $services; do
done
# call us for the other required scripts
- also=$(grep Also $ROOT/$service_file \
- | sed 's,Also=,,g' \
+ also=$(sed '/^Also[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
| tr ',' '\n')
for a in $also; do
echo "Also=$a found in $service"
More information about the Openembedded-commits
mailing list