)
from .backend import (
- _FILE,
ARG_DEBUG,
Distribution,
ManifestFormat,
die("Container/VM address not found")
-def run_command_image(args: MkosiArgs, commands: Sequence[str], timeout: int, check: bool, stdout: _FILE = sys.stdout, stderr: _FILE = sys.stderr) -> CompletedProcess:
- if args.verb == Verb.qemu:
- return run_ssh(args, commands, check, stdout, stderr, timeout)
- elif args.verb == Verb.boot:
- cmdline = ["systemd-run", "--quiet", "--wait", "--pipe", "-M", machine_name(args), "/usr/bin/env", *commands]
- return run(cmdline, check=check, stdout=stdout, stderr=stderr, text=True, timeout=timeout)
- else:
- return run(run_shell_cmdline(args, pipe=True, commands=commands), check=check, stdout=stdout, stderr=stderr, text=True, timeout=timeout)
+def run_systemd_cmdline(args: MkosiArgs, commands: Sequence[str]) -> List[str]:
+ return ["systemd-run", "--quiet", "--wait", "--pipe", "-M", machine_name(args), "/usr/bin/env", *commands]
def run_ssh_cmdline(args: MkosiArgs, commands: Optional[Sequence[str]] = None) -> Sequence[str]:
return cmd
-def run_ssh(
- args: MkosiArgs,
- commands: Optional[Sequence[str]] = None,
- check: bool = True,
- stdout: _FILE = sys.stdout,
- stderr: _FILE = sys.stderr,
- timeout: Optional[int] = None,
-) -> CompletedProcess:
- return run(run_ssh_cmdline(args, commands), check=check, stdout=stdout, stderr=stderr, text=True, timeout=timeout)
+def run_ssh(args: MkosiArgs) -> CompletedProcess:
+ return run(run_ssh_cmdline(args), stdout=sys.stdout, stderr=sys.stderr)
def run_serve(args: MkosiArgs) -> None:
parse_args,
parse_boolean,
prepend_to_environ_path,
- run_command_image,
run_qemu_cmdline,
run_shell_cmdline,
+ run_ssh_cmdline,
+ run_systemd_cmdline,
unlink_output,
)
-from .backend import MkosiArgs, MkosiNotSupportedException, Verb, die
+from .backend import MkosiArgs, MkosiNotSupportedException, Verb, die, run
class LogfileAdapter:
stdout: Union[int, TextIO] = subprocess.PIPE if capture_output else sys.stdout
stderr: Union[int, TextIO] = subprocess.PIPE if capture_output else sys.stderr
- return run_command_image(self.args, commands, timeout, check, stdout, stderr)
+ if self.args.verb == Verb.qemu:
+ cmdline = run_ssh_cmdline(self.args, commands)
+ elif self.args.verb == Verb.boot:
+ cmdline = run_systemd_cmdline(self.args, commands)
+ else:
+ cmdline = run_shell_cmdline(self.args, pipe=True, commands=commands)
+
+ return run(cmdline, check=check, stdout=stdout, stderr=stderr, text=True, timeout=timeout)
def kill(self) -> None:
self.__exit__(None, None, None)