shared/install: rename UnitFileChange to InstallChange
It's shorter and more generic. The struct can contain info about changes to unit files, but also symlinks and errors.
This commit is contained in:
+71
-71
@@ -265,15 +265,15 @@ static const char* config_path_from_flags(const LookupPaths *lp, UnitFileFlags f
|
||||
return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? lp->runtime_config : lp->persistent_config;
|
||||
}
|
||||
|
||||
int unit_file_changes_add(
|
||||
UnitFileChange **changes,
|
||||
int install_changes_add(
|
||||
InstallChange **changes,
|
||||
size_t *n_changes,
|
||||
int type_or_errno, /* UNIT_FILE_SYMLINK, _UNLINK, _IS_MASKED, _IS_DANGLING if positive or errno if negative */
|
||||
const char *path,
|
||||
const char *source) {
|
||||
|
||||
_cleanup_free_ char *p = NULL, *s = NULL;
|
||||
UnitFileChange *c;
|
||||
InstallChange *c;
|
||||
|
||||
assert(!changes == !n_changes);
|
||||
|
||||
@@ -285,7 +285,7 @@ int unit_file_changes_add(
|
||||
if (!changes)
|
||||
return 0;
|
||||
|
||||
c = reallocarray(*changes, *n_changes + 1, sizeof(UnitFileChange));
|
||||
c = reallocarray(*changes, *n_changes + 1, sizeof(InstallChange));
|
||||
if (!c)
|
||||
return -ENOMEM;
|
||||
*changes = c;
|
||||
@@ -306,7 +306,7 @@ int unit_file_changes_add(
|
||||
path_simplify(s);
|
||||
}
|
||||
|
||||
c[(*n_changes)++] = (UnitFileChange) {
|
||||
c[(*n_changes)++] = (InstallChange) {
|
||||
.type_or_errno = type_or_errno,
|
||||
.path = TAKE_PTR(p),
|
||||
.source = TAKE_PTR(s),
|
||||
@@ -315,7 +315,7 @@ int unit_file_changes_add(
|
||||
return 0;
|
||||
}
|
||||
|
||||
void unit_file_changes_free(UnitFileChange *changes, size_t n_changes) {
|
||||
void install_changes_free(InstallChange *changes, size_t n_changes) {
|
||||
assert(changes || n_changes == 0);
|
||||
|
||||
for (size_t i = 0; i < n_changes; i++) {
|
||||
@@ -326,7 +326,7 @@ void unit_file_changes_free(UnitFileChange *changes, size_t n_changes) {
|
||||
free(changes);
|
||||
}
|
||||
|
||||
void unit_file_dump_changes(int r, const char *verb, const UnitFileChange *changes, size_t n_changes, bool quiet) {
|
||||
void install_changes_dump(int r, const char *verb, const InstallChange *changes, size_t n_changes, bool quiet) {
|
||||
int err = 0;
|
||||
|
||||
assert(changes || n_changes == 0);
|
||||
@@ -484,7 +484,7 @@ static int create_symlink(
|
||||
const char *old_path,
|
||||
const char *new_path,
|
||||
bool force,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_free_ char *dest = NULL;
|
||||
@@ -508,12 +508,12 @@ static int create_symlink(
|
||||
(void) mkdir_parents_label(new_path, 0755);
|
||||
|
||||
if (symlink(old_path, new_path) >= 0) {
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_SYMLINK, new_path, old_path);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_SYMLINK, new_path, old_path);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (errno != EEXIST) {
|
||||
unit_file_changes_add(changes, n_changes, -errno, new_path, NULL);
|
||||
install_changes_add(changes, n_changes, -errno, new_path, NULL);
|
||||
return -errno;
|
||||
}
|
||||
|
||||
@@ -523,7 +523,7 @@ static int create_symlink(
|
||||
if (r == -EINVAL)
|
||||
r = -EEXIST;
|
||||
|
||||
unit_file_changes_add(changes, n_changes, r, new_path, NULL);
|
||||
install_changes_add(changes, n_changes, r, new_path, NULL);
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -534,18 +534,18 @@ static int create_symlink(
|
||||
}
|
||||
|
||||
if (!force) {
|
||||
unit_file_changes_add(changes, n_changes, -EEXIST, new_path, dest);
|
||||
install_changes_add(changes, n_changes, -EEXIST, new_path, dest);
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
r = symlink_atomic(old_path, new_path);
|
||||
if (r < 0) {
|
||||
unit_file_changes_add(changes, n_changes, r, new_path, NULL);
|
||||
install_changes_add(changes, n_changes, r, new_path, NULL);
|
||||
return r;
|
||||
}
|
||||
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, new_path, NULL);
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_SYMLINK, new_path, old_path);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_UNLINK, new_path, NULL);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_SYMLINK, new_path, old_path);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -586,7 +586,7 @@ static int remove_marked_symlinks_fd(
|
||||
const LookupPaths *lp,
|
||||
bool dry_run,
|
||||
bool *restart,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_closedir_ DIR *d = NULL;
|
||||
@@ -671,7 +671,7 @@ static int remove_marked_symlinks_fd(
|
||||
continue;
|
||||
if (q < 0) {
|
||||
log_debug_errno(q, "Failed to resolve symlink \"%s\": %m", p);
|
||||
unit_file_changes_add(changes, n_changes, q, p, NULL);
|
||||
install_changes_add(changes, n_changes, q, p, NULL);
|
||||
|
||||
if (r == 0)
|
||||
r = q;
|
||||
@@ -691,14 +691,14 @@ static int remove_marked_symlinks_fd(
|
||||
if (unlinkat(fd, de->d_name, 0) < 0 && errno != ENOENT) {
|
||||
if (r == 0)
|
||||
r = -errno;
|
||||
unit_file_changes_add(changes, n_changes, -errno, p, NULL);
|
||||
install_changes_add(changes, n_changes, -errno, p, NULL);
|
||||
continue;
|
||||
}
|
||||
|
||||
(void) rmdir_parents(p, config_path);
|
||||
}
|
||||
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, p, NULL);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_UNLINK, p, NULL);
|
||||
|
||||
/* Now, remember the full path (but with the root prefix removed) of
|
||||
* the symlink we just removed, and remove any symlinks to it, too. */
|
||||
@@ -719,7 +719,7 @@ static int remove_marked_symlinks(
|
||||
const char *config_path,
|
||||
const LookupPaths *lp,
|
||||
bool dry_run,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
@@ -1076,7 +1076,7 @@ static UnitFileInstallInfo *install_info_find(InstallContext *ctx, const char *n
|
||||
static int install_info_may_process(
|
||||
const UnitFileInstallInfo *i,
|
||||
const LookupPaths *lp,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
assert(i);
|
||||
assert(lp);
|
||||
@@ -1085,12 +1085,12 @@ static int install_info_may_process(
|
||||
* transient or generated and thus not subject to enable/disable operations. */
|
||||
|
||||
if (i->type == UNIT_FILE_TYPE_MASKED) {
|
||||
unit_file_changes_add(changes, n_changes, -ERFKILL, i->path, NULL);
|
||||
install_changes_add(changes, n_changes, -ERFKILL, i->path, NULL);
|
||||
return -ERFKILL;
|
||||
}
|
||||
if (path_is_generator(lp, i->path) ||
|
||||
path_is_transient(lp, i->path)) {
|
||||
unit_file_changes_add(changes, n_changes, -EADDRNOTAVAIL, i->path, NULL);
|
||||
install_changes_add(changes, n_changes, -EADDRNOTAVAIL, i->path, NULL);
|
||||
return -EADDRNOTAVAIL;
|
||||
}
|
||||
|
||||
@@ -1731,7 +1731,7 @@ static int install_info_discover(
|
||||
const char *name_or_path,
|
||||
SearchFlags flags,
|
||||
UnitFileInstallInfo **ret,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
UnitFileInstallInfo *info;
|
||||
@@ -1746,7 +1746,7 @@ static int install_info_discover(
|
||||
r = install_info_traverse(ctx, lp, info, flags, ret);
|
||||
|
||||
if (r < 0)
|
||||
unit_file_changes_add(changes, n_changes, r, name_or_path, NULL);
|
||||
install_changes_add(changes, n_changes, r, name_or_path, NULL);
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -1756,7 +1756,7 @@ static int install_info_discover_and_check(
|
||||
const char *name_or_path,
|
||||
SearchFlags flags,
|
||||
UnitFileInstallInfo **ret,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
int r;
|
||||
@@ -1772,7 +1772,7 @@ int unit_file_verify_alias(
|
||||
const UnitFileInstallInfo *info,
|
||||
const char *dst,
|
||||
char **ret_dst,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_free_ char *dst_updated = NULL;
|
||||
@@ -1807,7 +1807,7 @@ int unit_file_verify_alias(
|
||||
if (!p)
|
||||
p = endswith(dir, ".requires");
|
||||
if (!p) {
|
||||
unit_file_changes_add(changes, n_changes, -EXDEV, dst, NULL);
|
||||
install_changes_add(changes, n_changes, -EXDEV, dst, NULL);
|
||||
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV), "Invalid path \"%s\" in alias.", dir);
|
||||
}
|
||||
|
||||
@@ -1815,7 +1815,7 @@ int unit_file_verify_alias(
|
||||
|
||||
UnitNameFlags type = unit_name_classify(dir);
|
||||
if (type < 0) {
|
||||
unit_file_changes_add(changes, n_changes, -EXDEV, dst, NULL);
|
||||
install_changes_add(changes, n_changes, -EXDEV, dst, NULL);
|
||||
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV),
|
||||
"Invalid unit name component \"%s\" in alias.", dir);
|
||||
}
|
||||
@@ -1827,7 +1827,7 @@ int unit_file_verify_alias(
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to verify alias validity: %m");
|
||||
if (r == 0) {
|
||||
unit_file_changes_add(changes, n_changes, -EXDEV, dst, info->name);
|
||||
install_changes_add(changes, n_changes, -EXDEV, dst, info->name);
|
||||
return log_debug_errno(SYNTHETIC_ERRNO(EXDEV),
|
||||
"Invalid unit \"%s\" symlink \"%s\".",
|
||||
info->name, dst);
|
||||
@@ -1841,7 +1841,7 @@ int unit_file_verify_alias(
|
||||
|
||||
UnitNameFlags type = unit_name_to_instance(info->name, &inst);
|
||||
if (type < 0) {
|
||||
unit_file_changes_add(changes, n_changes, -EUCLEAN, info->name, NULL);
|
||||
install_changes_add(changes, n_changes, -EUCLEAN, info->name, NULL);
|
||||
return log_debug_errno(type, "Failed to extract instance name from \"%s\": %m", info->name);
|
||||
}
|
||||
|
||||
@@ -1857,7 +1857,7 @@ int unit_file_verify_alias(
|
||||
if (r == -ELOOP) /* -ELOOP means self-alias, which we (quietly) ignore */
|
||||
return r;
|
||||
if (r < 0) {
|
||||
unit_file_changes_add(changes, n_changes,
|
||||
install_changes_add(changes, n_changes,
|
||||
r == -EINVAL ? -EXDEV : r,
|
||||
dst_updated ?: dst,
|
||||
info->name);
|
||||
@@ -1875,7 +1875,7 @@ static int install_info_symlink_alias(
|
||||
const LookupPaths *lp,
|
||||
const char *config_path,
|
||||
bool force,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
int r = 0, q;
|
||||
@@ -1889,7 +1889,7 @@ static int install_info_symlink_alias(
|
||||
|
||||
q = install_name_printf(scope, info, *s, &dst);
|
||||
if (q < 0) {
|
||||
unit_file_changes_add(changes, n_changes, q, *s, NULL);
|
||||
install_changes_add(changes, n_changes, q, *s, NULL);
|
||||
r = r < 0 ? r : q;
|
||||
continue;
|
||||
}
|
||||
@@ -1921,7 +1921,7 @@ static int install_info_symlink_wants(
|
||||
const char *config_path,
|
||||
char **list,
|
||||
const char *suffix,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_free_ char *buf = NULL;
|
||||
@@ -1960,7 +1960,7 @@ static int install_info_symlink_wants(
|
||||
path = TAKE_PTR(instance.path);
|
||||
|
||||
if (instance.type == UNIT_FILE_TYPE_MASKED) {
|
||||
unit_file_changes_add(changes, n_changes, -ERFKILL, path, NULL);
|
||||
install_changes_add(changes, n_changes, -ERFKILL, path, NULL);
|
||||
return -ERFKILL;
|
||||
}
|
||||
|
||||
@@ -1979,7 +1979,7 @@ static int install_info_symlink_wants(
|
||||
|
||||
q = install_name_printf(scope, info, *s, &dst);
|
||||
if (q < 0) {
|
||||
unit_file_changes_add(changes, n_changes, q, *s, NULL);
|
||||
install_changes_add(changes, n_changes, q, *s, NULL);
|
||||
return q;
|
||||
}
|
||||
|
||||
@@ -1995,10 +1995,10 @@ static int install_info_symlink_wants(
|
||||
continue;
|
||||
|
||||
if (unit_name_is_valid(dst, UNIT_NAME_ANY)) {
|
||||
unit_file_changes_add(changes, n_changes, -EIDRM, dst, n);
|
||||
install_changes_add(changes, n_changes, -EIDRM, dst, n);
|
||||
r = -EIDRM;
|
||||
} else {
|
||||
unit_file_changes_add(changes, n_changes, -EUCLEAN, dst, NULL);
|
||||
install_changes_add(changes, n_changes, -EUCLEAN, dst, NULL);
|
||||
r = -EUCLEAN;
|
||||
}
|
||||
|
||||
@@ -2014,7 +2014,7 @@ static int install_info_symlink_wants(
|
||||
r = q;
|
||||
|
||||
if (unit_file_exists(scope, lp, dst) == 0)
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_DESTINATION_NOT_PRESENT, dst, info->path);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_DESTINATION_NOT_PRESENT, dst, info->path);
|
||||
}
|
||||
|
||||
return r;
|
||||
@@ -2025,7 +2025,7 @@ static int install_info_symlink_link(
|
||||
const LookupPaths *lp,
|
||||
const char *config_path,
|
||||
bool force,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_free_ char *path = NULL;
|
||||
@@ -2055,7 +2055,7 @@ static int install_info_apply(
|
||||
UnitFileInstallInfo *info,
|
||||
const LookupPaths *lp,
|
||||
const char *config_path,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
int r, q;
|
||||
@@ -2095,7 +2095,7 @@ static int install_context_apply(
|
||||
UnitFileFlags file_flags,
|
||||
const char *config_path,
|
||||
SearchFlags flags,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
UnitFileInstallInfo *i;
|
||||
@@ -2123,20 +2123,20 @@ static int install_context_apply(
|
||||
q = install_info_traverse(ctx, lp, i, flags, NULL);
|
||||
if (q < 0) {
|
||||
if (i->auxiliary) {
|
||||
q = unit_file_changes_add(changes, n_changes, UNIT_FILE_AUXILIARY_FAILED, NULL, i->name);
|
||||
q = install_changes_add(changes, n_changes, UNIT_FILE_AUXILIARY_FAILED, NULL, i->name);
|
||||
if (q < 0)
|
||||
return q;
|
||||
continue;
|
||||
}
|
||||
|
||||
unit_file_changes_add(changes, n_changes, q, i->name, NULL);
|
||||
install_changes_add(changes, n_changes, q, i->name, NULL);
|
||||
return q;
|
||||
}
|
||||
|
||||
/* We can attempt to process a masked unit when a different unit
|
||||
* that we were processing specifies it in Also=. */
|
||||
if (i->type == UNIT_FILE_TYPE_MASKED) {
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_IS_MASKED, i->path, NULL);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_IS_MASKED, i->path, NULL);
|
||||
if (r >= 0)
|
||||
/* Assume that something *could* have been enabled here,
|
||||
* avoid "empty [Install] section" warning. */
|
||||
@@ -2164,7 +2164,7 @@ static int install_context_mark_for_removal(
|
||||
const LookupPaths *lp,
|
||||
Set **remove_symlinks_to,
|
||||
const char *config_path,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
UnitFileInstallInfo *i;
|
||||
@@ -2192,22 +2192,22 @@ static int install_context_mark_for_removal(
|
||||
r = install_info_traverse(ctx, lp, i, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, NULL);
|
||||
if (r == -ENOLINK) {
|
||||
log_debug_errno(r, "Name %s leads to a dangling symlink, removing name.", i->name);
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_IS_DANGLING, i->path ?: i->name, NULL);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_IS_DANGLING, i->path ?: i->name, NULL);
|
||||
} else if (r == -ENOENT) {
|
||||
|
||||
if (i->auxiliary) /* some unit specified in Also= or similar is missing */
|
||||
log_debug_errno(r, "Auxiliary unit of %s not found, removing name.", i->name);
|
||||
else {
|
||||
log_debug_errno(r, "Unit %s not found, removing name.", i->name);
|
||||
unit_file_changes_add(changes, n_changes, r, i->path ?: i->name, NULL);
|
||||
install_changes_add(changes, n_changes, r, i->path ?: i->name, NULL);
|
||||
}
|
||||
|
||||
} else if (r < 0) {
|
||||
log_debug_errno(r, "Failed to find unit %s, removing name: %m", i->name);
|
||||
unit_file_changes_add(changes, n_changes, r, i->path ?: i->name, NULL);
|
||||
install_changes_add(changes, n_changes, r, i->path ?: i->name, NULL);
|
||||
} else if (i->type == UNIT_FILE_TYPE_MASKED) {
|
||||
log_debug("Unit file %s is masked, ignoring.", i->name);
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_IS_MASKED, i->path ?: i->name, NULL);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_IS_MASKED, i->path ?: i->name, NULL);
|
||||
continue;
|
||||
} else if (i->type != UNIT_FILE_TYPE_REGULAR) {
|
||||
log_debug("Unit %s has type %s, ignoring.", i->name, unit_file_type_to_string(i->type) ?: "invalid");
|
||||
@@ -2227,7 +2227,7 @@ int unit_file_mask(
|
||||
UnitFileFlags flags,
|
||||
const char *root_dir,
|
||||
char **names,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(lookup_paths_free) LookupPaths lp = {};
|
||||
@@ -2272,7 +2272,7 @@ int unit_file_unmask(
|
||||
UnitFileFlags flags,
|
||||
const char *root_dir,
|
||||
char **names,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(lookup_paths_free) LookupPaths lp = {};
|
||||
@@ -2338,13 +2338,13 @@ int unit_file_unmask(
|
||||
if (errno != ENOENT) {
|
||||
if (r >= 0)
|
||||
r = -errno;
|
||||
unit_file_changes_add(changes, n_changes, -errno, path, NULL);
|
||||
install_changes_add(changes, n_changes, -errno, path, NULL);
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, path, NULL);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_UNLINK, path, NULL);
|
||||
|
||||
rp = skip_root(lp.root_dir, path);
|
||||
q = mark_symlink_for_removal(&remove_symlinks_to, rp ?: path);
|
||||
@@ -2364,7 +2364,7 @@ int unit_file_link(
|
||||
UnitFileFlags flags,
|
||||
const char *root_dir,
|
||||
char **files,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(lookup_paths_free) LookupPaths lp = {};
|
||||
@@ -2463,7 +2463,7 @@ int unit_file_revert(
|
||||
LookupScope scope,
|
||||
const char *root_dir,
|
||||
char **names,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
|
||||
@@ -2589,10 +2589,10 @@ int unit_file_revert(
|
||||
if (!t)
|
||||
return -ENOMEM;
|
||||
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, t, NULL);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_UNLINK, t, NULL);
|
||||
}
|
||||
|
||||
unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, *i, NULL);
|
||||
install_changes_add(changes, n_changes, UNIT_FILE_UNLINK, *i, NULL);
|
||||
|
||||
rp = skip_root(lp.root_dir, *i);
|
||||
q = mark_symlink_for_removal(&remove_symlinks_to, rp ?: *i);
|
||||
@@ -2618,7 +2618,7 @@ int unit_file_add_dependency(
|
||||
char **names,
|
||||
const char *target,
|
||||
UnitDependency dep,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(lookup_paths_free) LookupPaths lp = {};
|
||||
@@ -2688,7 +2688,7 @@ static int do_unit_file_enable(
|
||||
UnitFileFlags flags,
|
||||
const char *config_path,
|
||||
char **names_or_paths,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(install_context_done) InstallContext ctx = { .scope = scope };
|
||||
@@ -2719,7 +2719,7 @@ int unit_file_enable(
|
||||
UnitFileFlags flags,
|
||||
const char *root_dir,
|
||||
char **names_or_paths,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(lookup_paths_free) LookupPaths lp = {};
|
||||
@@ -2745,7 +2745,7 @@ static int do_unit_file_disable(
|
||||
UnitFileFlags flags,
|
||||
const char *config_path,
|
||||
char **names,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(install_context_done) InstallContext ctx = { .scope = scope };
|
||||
@@ -2774,7 +2774,7 @@ int unit_file_disable(
|
||||
UnitFileFlags flags,
|
||||
const char *root_dir,
|
||||
char **files,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(lookup_paths_free) LookupPaths lp = {};
|
||||
@@ -2857,7 +2857,7 @@ int unit_file_reenable(
|
||||
UnitFileFlags flags,
|
||||
const char *root_dir,
|
||||
char **names_or_paths,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(lookup_paths_free) LookupPaths lp = {};
|
||||
@@ -2893,7 +2893,7 @@ int unit_file_set_default(
|
||||
UnitFileFlags flags,
|
||||
const char *root_dir,
|
||||
const char *name,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(lookup_paths_free) LookupPaths lp = {};
|
||||
@@ -3349,7 +3349,7 @@ static int execute_preset(
|
||||
const char *config_path,
|
||||
char **files,
|
||||
UnitFilePresetMode mode,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
int r;
|
||||
@@ -3396,7 +3396,7 @@ static int preset_prepare_one(
|
||||
LookupPaths *lp,
|
||||
const char *name,
|
||||
const UnitFilePresets *presets,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(install_context_done) InstallContext tmp = { .scope = scope };
|
||||
@@ -3448,7 +3448,7 @@ int unit_file_preset(
|
||||
const char *root_dir,
|
||||
char **names,
|
||||
UnitFilePresetMode mode,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(install_context_done) InstallContext plus = {}, minus = {};
|
||||
@@ -3487,7 +3487,7 @@ int unit_file_preset_all(
|
||||
UnitFileFlags file_flags,
|
||||
const char *root_dir,
|
||||
UnitFilePresetMode mode,
|
||||
UnitFileChange **changes,
|
||||
InstallChange **changes,
|
||||
size_t *n_changes) {
|
||||
|
||||
_cleanup_(install_context_done) InstallContext plus = {}, minus = {};
|
||||
@@ -3535,7 +3535,7 @@ int unit_file_preset_all(
|
||||
if (r < 0 &&
|
||||
!IN_SET(r, -EEXIST, -ERFKILL, -EADDRNOTAVAIL, -EBADSLT, -EIDRM, -EUCLEAN, -ELOOP, -ENOENT, -EUNATCH, -EXDEV))
|
||||
/* Ignore generated/transient/missing/invalid units when applying preset, propagate other errors.
|
||||
* Coordinate with unit_file_dump_changes() above. */
|
||||
* Coordinate with install_changes_dump() above. */
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user