install: allow specifiers in WantedBy/RequiredBy/Alias

This allows one templated unit to refer to another templated unit
at installation time.

Examples:

> grep WantedBy ~/.config/systemd/user/mpop@.timer
WantedBy=services@%i.target

> srv disable mpop@iit.timer
rm '/home/alxchk/.config/systemd/user/services@iit.target.wants/mpop@iit.timer'
> srv enable mpop@iit.timer
ln -s '/home/alxchk/.config/systemd/user/mpop@.timer' '/home/alxchk/.config/systemd/user/services@iit.target.wants/mpop@iit.timer'

Based-on-patch-by: Oleksii Shevchuk <alxchk@gmail.com>
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2013-01-29 19:01:41 -05:00
parent 0591220f33
commit 7584d236ea
7 changed files with 162 additions and 25 deletions
+2 -2
View File
@@ -250,12 +250,13 @@ char *unit_full_printf(Unit *u, const char *format) {
* %r root cgroup path of this systemd instance (e.g. "/user/lennart/shared/systemd-4711")
* %R parent of root cgroup path (e.g. "/usr/lennart/shared")
* %t the runtime directory to place sockets in (e.g. "/run" or $XDG_RUNTIME_DIR)
* %U the UID of the configured user or running user
* %u the username of the configured user or running user
* %h the homedir of the configured user or running user
* %s the shell of the configured user or running user
* %m the machine ID of the running system
* %b the boot ID of the running system
* %H the host name of the running system
* %b the boot ID of the running system
*/
const Specifier table[] = {
@@ -282,7 +283,6 @@ char *unit_full_printf(Unit *u, const char *format) {
{ 0, NULL, NULL }
};
assert(u);
assert(format);
return specifier_printf(format, table, u);