From 058cbd2aba360a933d07f674002257118dd2bf9e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 10 Jul 2026 10:53:12 +0200 Subject: [PATCH] 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. --- src/sysupdate/sysupdate.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/sysupdate/sysupdate.c b/src/sysupdate/sysupdate.c index fe39d31f6a..c31e711795 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.");