mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-29 21:55:25 +03:00
shared/install: avoid prematurely rejecting "missing" units
f7101b7368
copied some logic to prevent enabling masked units, but also added a check which causes attempts to enable templated units to fail. Since we know the logic beyond this check will properly handle units which truly do not exist, we can rely on the unit file state comparison to suffice for expressing the intent off7101b7368
. ref: https://bugs.archlinux.org/task/42616
This commit is contained in:
parent
6bcf0cf60c
commit
0ffce503cd
@ -1620,12 +1620,10 @@ int unit_file_enable(
|
|||||||
STRV_FOREACH(i, files) {
|
STRV_FOREACH(i, files) {
|
||||||
UnitFileState state;
|
UnitFileState state;
|
||||||
|
|
||||||
|
/* We only want to know if this unit is masked, so we ignore
|
||||||
|
* errors from unit_file_get_state, deferring other checks.
|
||||||
|
* This allows templated units to be enabled on the fly. */
|
||||||
state = unit_file_get_state(scope, root_dir, *i);
|
state = unit_file_get_state(scope, root_dir, *i);
|
||||||
if (state < 0) {
|
|
||||||
log_error("Failed to get unit file state for %s: %s", *i, strerror(-state));
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) {
|
if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) {
|
||||||
log_error("Failed to enable unit: Unit %s is masked", *i);
|
log_error("Failed to enable unit: Unit %s is masked", *i);
|
||||||
return -ENOTSUP;
|
return -ENOTSUP;
|
||||||
|
Loading…
Reference in New Issue
Block a user