diff options
author | Enrico Scholz <enrico.scholz@sigma-chemnitz.de> | 2013-04-24 13:37:21 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-04-29 14:43:49 +0100 |
commit | 443e75ee2c0e9a62df997aef24855bce54d39177 (patch) | |
tree | 21fd1648554510befb03851a7b297c802b41fa22 | |
parent | 12074bf5319c1086f86efd00f502c91fed344698 (diff) | |
download | openembedded-core-443e75ee2c0e9a62df997aef24855bce54d39177.tar.gz openembedded-core-443e75ee2c0e9a62df997aef24855bce54d39177.tar.bz2 openembedded-core-443e75ee2c0e9a62df997aef24855bce54d39177.zip |
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@sigma-chemnitz.de>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rwxr-xr-x | meta/recipes-core/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 d71c7eda8b..8abbdf6938 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" |