mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 14:55:37 +03:00
Merge pull request #18245 from poettering/unit-file-install-fixes
minor unit file install fixes
This commit is contained in:
commit
d8434c523c
@ -262,7 +262,7 @@ int unit_file_build_name_map(
|
||||
* If yes, do nothing. */
|
||||
if (cache_timestamp_hash &&
|
||||
lookup_paths_timestamp_hash_same(lp, *cache_timestamp_hash, ×tamp_hash))
|
||||
return 0;
|
||||
return 0;
|
||||
|
||||
/* The timestamp hash is now set based on the mtimes from before when we start reading files.
|
||||
* If anything is modified concurrently, we'll consider the cache outdated. */
|
||||
@ -511,7 +511,7 @@ int unit_file_find_fragment(
|
||||
|
||||
r = unit_name_template(unit_name, &template);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to determine template name: %m");
|
||||
return log_debug_errno(r, "Failed to determine template name: %m");
|
||||
|
||||
r = unit_ids_map_get(unit_ids_map, template, &fragment);
|
||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENXIO))
|
||||
|
@ -439,12 +439,15 @@ int unit_find_paths(
|
||||
/**
|
||||
* Finds where the unit is defined on disk. Returns 0 if the unit is not found. Returns 1 if it is
|
||||
* found, and sets:
|
||||
*
|
||||
* - the path to the unit in *ret_frament_path, if it exists on disk,
|
||||
*
|
||||
* - and a strv of existing drop-ins in *ret_dropin_paths, if the arg is not NULL and any dropins
|
||||
* were found.
|
||||
*
|
||||
* Returns -ERFKILL if the unit is masked, and -EKEYREJECTED if the unit file could not be loaded for
|
||||
* some reason (the latter only applies if we are going through the service manager).
|
||||
* some reason (the latter only applies if we are going through the service manager). As special
|
||||
* exception it won't log for these two error cases.
|
||||
*/
|
||||
|
||||
assert(unit_name);
|
||||
@ -474,13 +477,13 @@ int unit_find_paths(
|
||||
return log_error_errno(r, "Failed to get LoadState: %s", bus_error_message(&error, r));
|
||||
|
||||
if (streq(load_state, "masked"))
|
||||
return -ERFKILL;
|
||||
return -ERFKILL; /* special case: no logging */
|
||||
if (streq(load_state, "not-found")) {
|
||||
r = 0;
|
||||
goto not_found;
|
||||
goto finish;
|
||||
}
|
||||
if (!STR_IN_SET(load_state, "loaded", "bad-setting"))
|
||||
return -EKEYREJECTED;
|
||||
return -EKEYREJECTED; /* special case: no logging */
|
||||
|
||||
r = sd_bus_get_property_string(
|
||||
bus,
|
||||
@ -517,7 +520,7 @@ int unit_find_paths(
|
||||
|
||||
r = unit_file_find_fragment(*cached_id_map, *cached_name_map, unit_name, &_path, &names);
|
||||
if (r < 0)
|
||||
return r;
|
||||
return log_error_errno(r, "Failed to find fragment for '%s': %m", unit_name);
|
||||
|
||||
if (_path) {
|
||||
path = strdup(_path);
|
||||
@ -534,6 +537,7 @@ int unit_find_paths(
|
||||
}
|
||||
}
|
||||
|
||||
finish:
|
||||
if (isempty(path)) {
|
||||
*ret_fragment_path = NULL;
|
||||
r = 0;
|
||||
@ -550,7 +554,6 @@ int unit_find_paths(
|
||||
*ret_dropin_paths = NULL;
|
||||
}
|
||||
|
||||
not_found:
|
||||
if (r == 0 && !arg_force)
|
||||
log_error("No files found for %s.", unit_name);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user