systemctl: warning about missing install info for template units
The advice string didn't talk about template units at all. Extend it and print when trying to enable a template unit without install info. Fixes #2345.
This commit is contained in:
@@ -5527,15 +5527,18 @@ static int enable_unit(int argc, char *argv[], void *userdata) {
|
||||
}
|
||||
|
||||
if (carries_install_info == 0)
|
||||
log_warning("The unit files have no [Install] section. They are not meant to be enabled\n"
|
||||
"using systemctl.\n"
|
||||
log_warning("The unit files have no installation config (WantedBy, RequiredBy, Also, Alias\n"
|
||||
"settings in the [Install] section, and DefaultInstance for template units).\n"
|
||||
"This means they are not meant to be enabled using systemctl.\n"
|
||||
"Possible reasons for having this kind of units are:\n"
|
||||
"1) A unit may be statically enabled by being symlinked from another unit's\n"
|
||||
" .wants/ or .requires/ directory.\n"
|
||||
"2) A unit's purpose may be to act as a helper for some other unit which has\n"
|
||||
" a requirement dependency on it.\n"
|
||||
"3) A unit may be started when needed via activation (socket, path, timer,\n"
|
||||
" D-Bus, udev, scripted systemctl call, ...).\n");
|
||||
" D-Bus, udev, scripted systemctl call, ...).\n"
|
||||
"4) In case of template units, the unit is meant to be enabled with some\n"
|
||||
" instance name specified.");
|
||||
|
||||
if (arg_now && n_changes > 0 && STR_IN_SET(argv[0], "enable", "disable", "mask")) {
|
||||
char *new_args[n_changes + 2];
|
||||
|
||||
Reference in New Issue
Block a user