[oe-commits] Randy Witt : systemctl: Support all unit types in the directives.
git at git.openembedded.org
git at git.openembedded.org
Tue Jun 25 16:38:02 UTC 2013
Module: openembedded-core.git
Branch: master
Commit: 374b9c37b3310cf2a3373633197ca7ba21f6d1bd
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=374b9c37b3310cf2a3373633197ca7ba21f6d1bd
Author: Randy Witt <rewitt at declaratino.com>
Date: Fri Jun 21 00:12:57 2013 -0400
systemctl: Support all unit types in the directives.
The Alias and WantedBy directives can accept all valid unit types when
using the systemctl from systemd. And since the systemctl script should
match the behavior of systemd as much as possible, add the current set
of unit types listed at
http://www.freedesktop.org/software/systemd/man/systemd.unit.html
to the Alias and WantedBy directives.
The deficiency was exposed when trying to use:
Alias=default.target
in a foo.target. No symlink was created by running
"systemctl enable foo.target" during the package's postinst.
Signed-off-by: Randy Witt <rewitt at declaratino.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>
---
.../systemd/systemd-systemctl/systemctl | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl b/meta/recipes-core/systemd/systemd-systemctl/systemctl
index 8abbdf6..f786656 100755
--- a/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -77,10 +77,14 @@ for service in $services; do
fi
echo "Found $service in $service_file"
+ # If any new unit types are added to systemd they should be added
+ # to this regular expression.
+ unit_types_re='\.\(service\|socket\|device\|mount\|automount\|swap\|target\|path\|timer\|snapshot\)$'
+
# create the required symbolic links
wanted_by=$(sed '/^WantedBy[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
| tr ',' '\n' \
- | grep '\(\.target$\)\|\(\.service$\)')
+ | grep "$unit_types_re")
for r in $wanted_by; do
echo "WantedBy=$r found in $service"
@@ -98,7 +102,7 @@ for service in $services; do
# create the required symbolic 'Alias' links
alias=$(sed '/^Alias[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
| tr ',' '\n' \
- | grep '\.service$')
+ | grep "$unit_types_re")
for r in $alias; do
if [ "$action" = "enable" ]; then
More information about the Openembedded-commits
mailing list