mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 00:14:32 +09:00
run0: Make --same-root-dir available for run0
This enables running something like "mkosi box -- run0 --empower --same-root-dir -E PATH" to get an empowered session as the current user within the "mkosi box" environment.
This commit is contained in:
@@ -302,6 +302,15 @@
|
||||
<xi:include href="version-info.xml" xpointer="v259"/></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--same-root-dir</option></term>
|
||||
|
||||
<listitem><para>Execute the <command>run0</command> session in the same root directory that the
|
||||
<command>run0</command> command is executed in.</para>
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v259"/></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--machine=</option></term>
|
||||
|
||||
|
||||
@@ -899,6 +899,7 @@ static int parse_argv_sudo_mode(int argc, char *argv[]) {
|
||||
ARG_AREA,
|
||||
ARG_VIA_SHELL,
|
||||
ARG_EMPOWER,
|
||||
ARG_SAME_ROOT_DIR,
|
||||
};
|
||||
|
||||
/* If invoked as "run0" binary, let's expose a more sudo-like interface. We add various extensions
|
||||
@@ -929,6 +930,7 @@ static int parse_argv_sudo_mode(int argc, char *argv[]) {
|
||||
{ "lightweight", required_argument, NULL, ARG_LIGHTWEIGHT },
|
||||
{ "area", required_argument, NULL, ARG_AREA },
|
||||
{ "empower", no_argument, NULL, ARG_EMPOWER },
|
||||
{ "same-root-dir", no_argument, NULL, ARG_SAME_ROOT_DIR },
|
||||
{},
|
||||
};
|
||||
|
||||
@@ -1072,6 +1074,13 @@ static int parse_argv_sudo_mode(int argc, char *argv[]) {
|
||||
arg_empower = true;
|
||||
break;
|
||||
|
||||
case ARG_SAME_ROOT_DIR:
|
||||
r = free_and_strdup_warn(&arg_root_directory, "/");
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
break;
|
||||
|
||||
case '?':
|
||||
return -EINVAL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user