From: Yuta Hayama Date: Wed, 5 Jul 2023 06:06:35 +0000 (+0900) Subject: systemd-systemctl: fix errors in instance name expansion X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~413 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d18b939fb08b37380ce95934da38e6522392621c;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git systemd-systemctl: fix errors in instance name expansion If the instance name indicated by %i begins with a number, the meaning of the replacement string "\\1{}".format(instance) is ambiguous. To indicate group number 1 regardless of the instance name, use "\g<1>". Signed-off-by: Yuta Hayama Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl b/meta/recipes-core/systemd/systemd-systemctl/systemctl index 514f747fe60..7fe751b397c 100755 --- a/meta/recipes-core/systemd/systemd-systemctl/systemctl +++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl @@ -202,7 +202,7 @@ class SystemdUnit(): try: for dependent in config.get('Install', prop): # expand any %i to instance (ignoring escape sequence %%) - dependent = re.sub("([^%](%%)*)%i", "\\1{}".format(instance), dependent) + dependent = re.sub("([^%](%%)*)%i", "\\g<1>{}".format(instance), dependent) wants = systemdir / "{}.{}".format(dependent, dirstem) / service add_link(wants, target)