static const char* arg_format = NULL;
static sd_json_format_flags_t arg_json_format_flags = SD_JSON_FORMAT_OFF;
static ImageClass arg_image_class = _IMAGE_CLASS_INVALID;
+static RuntimeScope arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
#define PROGRESS_PREFIX "Total:"
" --no-ask-password Do not ask for system passwords\n"
" -H --host=[USER@]HOST Operate on remote host\n"
" -M --machine=CONTAINER Operate on local container\n"
+ " --system Connect to system machine manager\n"
+ " --user Connect to user machine manager\n"
" --read-only Create read-only image\n"
" -q --quiet Suppress output\n"
" --json=pretty|short|off Generate JSON output\n"
ARG_FORMAT,
ARG_CLASS,
ARG_KEEP_DOWNLOAD,
+ ARG_SYSTEM,
+ ARG_USER,
};
static const struct option options[] = {
{ "format", required_argument, NULL, ARG_FORMAT },
{ "class", required_argument, NULL, ARG_CLASS },
{ "keep-download", required_argument, NULL, ARG_KEEP_DOWNLOAD },
+ { "system", no_argument, NULL, ARG_SYSTEM },
+ { "user", no_argument, NULL, ARG_USER },
{}
};
arg_import_flags_mask |= IMPORT_PULL_KEEP_DOWNLOAD;
break;
+ case ARG_USER:
+ arg_runtime_scope = RUNTIME_SCOPE_USER;
+ break;
+
+ case ARG_SYSTEM:
+ arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
+ break;
+
case '?':
return -EINVAL;
if (r <= 0)
return r;
- r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, &bus);
+ r = bus_connect_transport(arg_transport, arg_host, arg_runtime_scope, &bus);
if (r < 0)
- return bus_log_connect_error(r, arg_transport, RUNTIME_SCOPE_SYSTEM);
+ return bus_log_connect_error(r, arg_transport, arg_runtime_scope);
(void) sd_bus_set_allow_interactive_authorization(bus, arg_ask_password);