]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
kernel-install: clarify what is currently supported with --root and --image
authorAntonio Alvarez Feijoo <antonio.feijoo@suse.com>
Wed, 10 Jan 2024 10:56:36 +0000 (11:56 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Wed, 10 Jan 2024 12:40:35 +0000 (12:40 +0000)
`list` and `add-all` ignore `--root` or `--image`, working on the running
system instead.
Also improve the error message if `--image` is used.

src/kernel-install/kernel-install.c

index 1cf0fa28f454ae2a5c2c8b6f52a893199426b02a..d33a3ddf2f3e57e73839b7ed91d34ae6dee6f8d5 100644 (file)
@@ -1182,7 +1182,7 @@ static int verb_add(int argc, char *argv[], void *userdata) {
         assert(argv);
 
         if (arg_root)
-                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "'add' does not support --root=.");
+                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "'add' does not support --root= or --image=.");
 
         if (bypass())
                 return 0;
@@ -1221,6 +1221,9 @@ static int verb_add_all(int argc, char *argv[], void *userdata) {
 
         assert(argv);
 
+        if (arg_root)
+                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "'add-all' does not support --root= or --image=.");
+
         if (bypass())
                 return 0;
 
@@ -1309,7 +1312,7 @@ static int verb_remove(int argc, char *argv[], void *userdata) {
         assert(argv);
 
         if (arg_root)
-                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "'remove' does not support --root=.");
+                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "'remove' does not support --root= or --image=.");
 
         if (argc > 2)
                 log_debug("Too many arguments specified. 'kernel-install remove' takes only kernel version. "
@@ -1450,6 +1453,9 @@ static int verb_list(int argc, char *argv[], void *userdata) {
         _cleanup_close_ int fd = -EBADF;
         int r;
 
+        if (arg_root)
+                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "'list' does not support --root= or --image=.");
+
         fd = open("/usr/lib/modules", O_DIRECTORY|O_RDONLY|O_CLOEXEC);
         if (fd < 0)
                 return log_error_errno(fd, "Failed to open /usr/lib/modules/: %m");