]> code.ossystems Code Review - openembedded-core.git/commit
systemd: allow dots in arguments to template units
authorMartin Hundebøll <mnhu@prevas.dk>
Thu, 23 Nov 2017 12:24:10 +0000 (13:24 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 6 Jan 2018 10:11:42 +0000 (10:11 +0000)
commite6fcc7d31b9105e518cf8a69d04f60291b7dd8fb
tree2af381274f088209f0683911630e725db2e24b33
parentb3b0b2e7e710195245f58b4757059906d0cf284e
systemd: allow dots in arguments to template units

When installing systemd template units with an argument, the current code
removes characters between the '@' and the '.' from service names in
SYSTEMD_SERVICE_${PN}, e.g.:

  getty@tty1.service -> getty@.service

This fails for services with dots in the argument (which is perfectly
legal in systemd), since the code searches only until the first dot.
E.g.:

  vlan@eth0.1.service -> vlan@1.service

This is obviously wrong, and fails in systemd_populate_packages(), where
it fails to find the unit file.

Fix this by reworking the removal of the argument part of the service
name, so that parts before '@' and after teh last '.' are used as base
name.

Signed-off-by: Martin Hundebøll <mnhu@prevas.dk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 4704bd91458a728f28cbdc57dcf78f5d04cfd0cd)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/classes/systemd.bbclass