From: Lennart Poettering Date: Fri, 10 Jul 2026 08:53:12 +0000 (+0200) Subject: sysupdate: explicitly refuse --root=/--image= in conjunction with --definitions= X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=058cbd2aba360a933d07f674002257118dd2bf9e;p=thirdparty%2Fsystemd.git sysupdate: explicitly refuse --root=/--image= in conjunction with --definitions= This is currently effectively not supported (as we sometimes prefix the definitions path with root and sometimes not), let's make this official for now and refuse it. We could in theory support the combination but I don't see the big benefit of it for now, hence let's just refuse it. --- diff --git a/src/sysupdate/sysupdate.c b/src/sysupdate/sysupdate.c index fe39d31f6a9..c31e7117956 100644 --- a/src/sysupdate/sysupdate.c +++ b/src/sysupdate/sysupdate.c @@ -2636,8 +2636,13 @@ static int parse_argv(int argc, char *argv[], char ***remaining_args) { if (arg_image && arg_root) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Please specify either --root= or --image=, the combination of both is not supported."); - if ((arg_image || arg_root) && arg_reboot) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "The --reboot switch may not be combined with --root= or --image=."); + if (arg_image || arg_root) { + if (arg_reboot) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "The --reboot switch may not be combined with --root= or --image=."); + + if (arg_definitions) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "The --definitions= switch may not be combined with --root= or --image=."); + } if (arg_reboot && arg_component) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "The --reboot switch may not be combined with --component=, as automatic reboots only apply to the booted OS version.");