install: when enabling a template unit without DefaultInstance= nor specified instance don't do anything

Previously, we'd link the unit file into /etc in this case, but that
should only be done if the unit file is not in the search path anyway,
and this is already done implicitly anyway for all enabled unit files,
hence no reason to duplicate this here.

Fixes: #10253
This commit is contained in:
Lennart Poettering 2018-11-27 13:50:37 +01:00
parent d23aeead14
commit e4086ae0b3

View file

@ -1752,12 +1752,16 @@ static int install_info_symlink_wants(
if (strv_isempty(list))
return 0;
if (unit_name_is_valid(i->name, UNIT_NAME_TEMPLATE) && i->default_instance) {
if (unit_name_is_valid(i->name, UNIT_NAME_TEMPLATE)) {
UnitFileInstallInfo instance = {
.type = _UNIT_FILE_TYPE_INVALID,
};
_cleanup_free_ char *path = NULL;
/* If this is a template, and we have no instance, don't do anything */
if (!i->default_instance)
return 1;
r = unit_name_replace_instance(i->name, i->default_instance, &buf);
if (r < 0)
return r;