mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-23 17:34:00 +03:00
core: allow services with no commands but SuccessAction set
This commit is contained in:
parent
469f76f170
commit
3f00d379fa
@ -538,8 +538,13 @@ static int service_verify(Service *s) {
|
||||
if (UNIT(s)->load_state != UNIT_LOADED)
|
||||
return 0;
|
||||
|
||||
if (!s->exec_command[SERVICE_EXEC_START] && !s->exec_command[SERVICE_EXEC_STOP]) {
|
||||
log_unit_error(UNIT(s), "Service lacks both ExecStart= and ExecStop= setting. Refusing.");
|
||||
if (!s->exec_command[SERVICE_EXEC_START] && !s->exec_command[SERVICE_EXEC_STOP]
|
||||
&& UNIT(s)->success_action == EMERGENCY_ACTION_NONE) {
|
||||
/* FailureAction= only makes sense if one of the start or stop commands is specified.
|
||||
* SuccessAction= will be executed unconditionally if no commands are specified. Hence,
|
||||
* either a command or SuccessAction= are required. */
|
||||
|
||||
log_unit_error(UNIT(s), "Service has no ExecStart=, ExecStop=, or SuccessAction=. Refusing.");
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
@ -548,8 +553,8 @@ static int service_verify(Service *s) {
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
if (!s->remain_after_exit && !s->exec_command[SERVICE_EXEC_START]) {
|
||||
log_unit_error(UNIT(s), "Service has no ExecStart= setting, which is only allowed for RemainAfterExit=yes services. Refusing.");
|
||||
if (!s->remain_after_exit && !s->exec_command[SERVICE_EXEC_START] && UNIT(s)->success_action == EMERGENCY_ACTION_NONE) {
|
||||
log_unit_error(UNIT(s), "Service has no ExecStart= and no SuccessAction= settings and does not have RemainAfterExit=yes set. Refusing.");
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user