mirror of
https://github.com/systemd/systemd
synced 2024-10-01 13:55:20 +00:00
Merge pull request #33408 from poettering/install-change-fix
install: some follow-up fixes to #33254
This commit is contained in:
commit
5ab6845036
|
@ -1810,7 +1810,8 @@ static int install_info_discover(
|
||||||
r = install_info_traverse(ctx, lp, info, flags, ret);
|
r = install_info_traverse(ctx, lp, info, flags, ret);
|
||||||
|
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
install_changes_add(changes, n_changes, r, name_or_path, NULL);
|
return install_changes_add(changes, n_changes, r, name_or_path, NULL);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1871,7 +1872,10 @@ int unit_file_verify_alias(
|
||||||
if (!p)
|
if (!p)
|
||||||
p = endswith(dir, ".requires");
|
p = endswith(dir, ".requires");
|
||||||
if (!p) {
|
if (!p) {
|
||||||
install_changes_add(changes, n_changes, -EXDEV, dst, NULL);
|
r = install_changes_add(changes, n_changes, -EXDEV, dst, NULL);
|
||||||
|
if (r != -EXDEV)
|
||||||
|
return r;
|
||||||
|
|
||||||
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV), "Invalid path \"%s\" in alias.", dir);
|
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV), "Invalid path \"%s\" in alias.", dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1879,7 +1883,9 @@ int unit_file_verify_alias(
|
||||||
|
|
||||||
UnitNameFlags type = unit_name_classify(dir);
|
UnitNameFlags type = unit_name_classify(dir);
|
||||||
if (type < 0) {
|
if (type < 0) {
|
||||||
install_changes_add(changes, n_changes, -EXDEV, dst, NULL);
|
r = install_changes_add(changes, n_changes, -EXDEV, dst, NULL);
|
||||||
|
if (r != -EXDEV)
|
||||||
|
return r;
|
||||||
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV),
|
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV),
|
||||||
"Invalid unit name component \"%s\" in alias.", dir);
|
"Invalid unit name component \"%s\" in alias.", dir);
|
||||||
}
|
}
|
||||||
|
@ -1891,7 +1897,10 @@ int unit_file_verify_alias(
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_error_errno(r, "Failed to verify alias validity: %m");
|
return log_error_errno(r, "Failed to verify alias validity: %m");
|
||||||
if (r == 0) {
|
if (r == 0) {
|
||||||
install_changes_add(changes, n_changes, -EXDEV, dst, info->name);
|
r = install_changes_add(changes, n_changes, -EXDEV, dst, info->name);
|
||||||
|
if (r != -EXDEV)
|
||||||
|
return r;
|
||||||
|
|
||||||
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV),
|
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV),
|
||||||
"Invalid unit \"%s\" symlink \"%s\".",
|
"Invalid unit \"%s\" symlink \"%s\".",
|
||||||
info->name, dst);
|
info->name, dst);
|
||||||
|
@ -1905,7 +1914,9 @@ int unit_file_verify_alias(
|
||||||
|
|
||||||
UnitNameFlags type = unit_name_to_instance(info->name, &inst);
|
UnitNameFlags type = unit_name_to_instance(info->name, &inst);
|
||||||
if (type < 0) {
|
if (type < 0) {
|
||||||
install_changes_add(changes, n_changes, -EUCLEAN, info->name, NULL);
|
r = install_changes_add(changes, n_changes, -EUCLEAN, info->name, NULL);
|
||||||
|
if (r != -EUCLEAN)
|
||||||
|
return r;
|
||||||
return log_debug_errno(type, "Failed to extract instance name from \"%s\": %m", info->name);
|
return log_debug_errno(type, "Failed to extract instance name from \"%s\": %m", info->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2288,10 +2299,14 @@ static int install_context_mark_for_removal(
|
||||||
}
|
}
|
||||||
} else if (r < 0) {
|
} else if (r < 0) {
|
||||||
log_debug_errno(r, "Failed to find unit %s, removing name: %m", i->name);
|
log_debug_errno(r, "Failed to find unit %s, removing name: %m", i->name);
|
||||||
install_changes_add(changes, n_changes, r, i->path ?: i->name, NULL);
|
int k = install_changes_add(changes, n_changes, r, i->path ?: i->name, NULL);
|
||||||
|
if (k != r)
|
||||||
|
return k;
|
||||||
} else if (i->install_mode == INSTALL_MODE_MASKED) {
|
} else if (i->install_mode == INSTALL_MODE_MASKED) {
|
||||||
log_debug("Unit file %s is masked, ignoring.", i->name);
|
log_debug("Unit file %s is masked, ignoring.", i->name);
|
||||||
install_changes_add(changes, n_changes, INSTALL_CHANGE_IS_MASKED, i->path ?: i->name, NULL);
|
r = install_changes_add(changes, n_changes, INSTALL_CHANGE_IS_MASKED, i->path ?: i->name, NULL);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
continue;
|
continue;
|
||||||
} else if (i->install_mode != INSTALL_MODE_REGULAR) {
|
} else if (i->install_mode != INSTALL_MODE_REGULAR) {
|
||||||
log_debug("Unit %s has install mode %s, ignoring.",
|
log_debug("Unit %s has install mode %s, ignoring.",
|
||||||
|
@ -2439,10 +2454,8 @@ int unit_file_unmask(
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
if (!dry_run && unlink(path) < 0) {
|
if (!dry_run && unlink(path) < 0) {
|
||||||
if (errno != ENOENT) {
|
if (errno != ENOENT)
|
||||||
RET_GATHER(r, -errno);
|
RET_GATHER(r, install_changes_add(changes, n_changes, -errno, path, NULL));
|
||||||
install_changes_add(changes, n_changes, -errno, path, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue