1
0
mirror of https://github.com/systemd/systemd synced 2025-09-28 08:14:46 +02:00

Compare commits

..

7 Commits

Author SHA1 Message Date
Daan De Meyer
e2ebc406ac mkosi: Only reset file permissions when $SRCDIR is not a mountpoint
If $SRCDIR is mounted into the build image (via mkosi overrides),
let's not reset the permissions fo the source tree so as to not
modify the original files on the host.
2021-01-14 20:08:20 +01:00
Luca Boccassi
d8434c523c
Merge pull request #18245 from poettering/unit-file-install-fixes
minor unit file install fixes
2021-01-14 18:46:48 +00:00
Lennart Poettering
b420e6f0ce systemctl: unit_file_find_fragment() doesn't log about errors, hence do it in the caller 2021-01-14 15:03:57 +01:00
Lennart Poettering
1842c1b2ab systemctl: explicitly comment two cases where we don't log on error cases, on purpose 2021-01-14 15:02:27 +01:00
Lennart Poettering
d5427dd297 systemctl: properly initialize return params in all success cases 2021-01-14 15:01:55 +01:00
Lennart Poettering
98fac96c10 unit-file: downgrade log message to debug
In the other error paths unit_file_find_fragment() doesn't log beyond
debug level, i.e. is of the non-logging library-like kind. Make sure
this error path is handled the same, so that the caller can log.
2021-01-14 15:00:48 +01:00
Lennart Poettering
f60671860e unit-file: fix indentation 2021-01-14 15:00:29 +01:00
3 changed files with 15 additions and 10 deletions

View File

@ -9,8 +9,10 @@ set -e
# so the files keep those permissions, otherwise details of what umask
# was set at the time the git tree was cloned will leak all the way
# through. Also set umask explicitly during the build.
chmod -R u+w,go-w,a+rX .
umask 022
if ! mountpoint -q "$SRCDIR"; then
chmod -R u+w,go-w,a+rX .
umask 022
fi
# If mkosi.builddir/ exists mkosi will set $BUILDDIR to it, let's then use it
# as out-of-tree build dir. Otherwise, let's make up our own builddir.

View File

@ -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))

View File

@ -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);