]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sysext: fix `--root=` support
authorMathieu Tortuyaux <mtortuyaux@microsoft.com>
Tue, 29 Aug 2023 11:42:16 +0000 (13:42 +0200)
committerMathieu Tortuyaux <mtortuyaux@microsoft.com>
Tue, 29 Aug 2023 11:55:09 +0000 (13:55 +0200)
when provided `--root=` was failing for `status`:
```
$ systemd-sysext --root=/mnt status
Failed to open '/usr/.systemd-sysext/extensions': No such file or directory
```

path was not relative to the given `--root` - same goes for the `need_reload`
as it was inspired from the `verb_status` section.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
src/sysext/sysext.c

index fbb6bcdc83ca2a569ad859c5728e648d2634a896..e7e2478d1e39307f4abf16ece99d713d22849e90 100644 (file)
@@ -180,7 +180,7 @@ static int need_reload(void) {
                 if (!r)
                         continue;
 
-                f = path_join(*p, image_class_info[arg_image_class].dot_directory_name, image_class_info[arg_image_class].short_identifier_plural);
+                f = path_join(resolved, image_class_info[arg_image_class].dot_directory_name, image_class_info[arg_image_class].short_identifier_plural);
                 if (!f)
                         return log_oom();
 
@@ -348,7 +348,7 @@ static int verb_status(int argc, char **argv, void *userdata) {
                         continue;
                 }
 
-                f = path_join(*p, image_class_info[arg_image_class].dot_directory_name, image_class_info[arg_image_class].short_identifier_plural);
+                f = path_join(resolved, image_class_info[arg_image_class].dot_directory_name, image_class_info[arg_image_class].short_identifier_plural);
                 if (!f)
                         return log_oom();