From: Daan De Meyer Date: Mon, 3 Apr 2023 08:41:47 +0000 (+0200) Subject: Print cmdline in run() before doing fspath() conversion X-Git-Tag: v15~268^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=701e3f451d1449e5d7f7b8d665f6238ea8750e6c;p=thirdparty%2Fmkosi.git Print cmdline in run() before doing fspath() conversion --- diff --git a/mkosi/run.py b/mkosi/run.py index d767f8fcc..248e3e327 100644 --- a/mkosi/run.py +++ b/mkosi/run.py @@ -11,7 +11,7 @@ import sys import traceback from pathlib import Path from types import TracebackType -from typing import Any, Callable, Iterable, Mapping, Optional, Sequence, Type, TypeVar +from typing import Any, Callable, Mapping, Optional, Sequence, Type, TypeVar from mkosi.backend import MkosiState from mkosi.log import ARG_DEBUG, MkosiPrinter, die @@ -87,7 +87,7 @@ def become_root() -> tuple[int, int]: SUBRANGE - 100, os.getuid(), 1, SUBRANGE - 100 + 1, subuid + SUBRANGE - 100 + 1, 99 ] - run((str(x) for x in newuidmap)) + run([str(x) for x in newuidmap]) newgidmap = [ "newgidmap", pid, @@ -95,7 +95,7 @@ def become_root() -> tuple[int, int]: SUBRANGE - 100, os.getgid(), 1, SUBRANGE - 100 + 1, subgid + SUBRANGE - 100 + 1, 99 ] - run(str(x) for x in newgidmap) + run([str(x) for x in newgidmap]) sys.stdout.flush() sys.stderr.flush() @@ -189,18 +189,18 @@ def fork_and_wait(target: Callable[[], T]) -> T: def run( - cmdline: Iterable[PathString], + cmdline: Sequence[PathString], check: bool = True, stdout: _FILE = None, stderr: _FILE = None, env: Mapping[str, PathString] = {}, **kwargs: Any, ) -> CompletedProcess: - cmdline = [os.fspath(x) for x in cmdline] - if "run" in ARG_DEBUG: MkosiPrinter.info(f"+ {shlex.join(str(s) for s in cmdline)}") + cmdline = [os.fspath(x) for x in cmdline] + if not stdout and not stderr: # Unless explicit redirection is done, print all subprocess # output on stderr, since we do so as well for mkosi's own