From: Daan De Meyer Date: Thu, 15 Feb 2024 10:28:42 +0000 (+0100) Subject: Add stdout parameter to package manager invoke() functions X-Git-Tag: v21~50^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4e82ad8cbbf94401ebc223c83d2f7e0b63a752d;p=thirdparty%2Fmkosi.git Add stdout parameter to package manager invoke() functions Let's allow getting the output when we invoke the package managers. --- diff --git a/mkosi/installer/apt.py b/mkosi/installer/apt.py index 9b159a1e6..df0041ca6 100644 --- a/mkosi/installer/apt.py +++ b/mkosi/installer/apt.py @@ -11,7 +11,7 @@ from mkosi.log import die from mkosi.mounts import finalize_ephemeral_source_mounts from mkosi.run import find_binary, run from mkosi.sandbox import apivfs_cmd -from mkosi.types import CompletedProcess, PathString +from mkosi.types import _FILE, CompletedProcess, PathString from mkosi.util import umask @@ -172,6 +172,7 @@ class Apt(PackageManager): *, apivfs: bool = False, mounts: Sequence[PathString] = (), + stdout: _FILE = None, ) -> CompletedProcess: with finalize_ephemeral_source_mounts(context.config) as sources: return run( @@ -189,6 +190,7 @@ class Apt(PackageManager): ) + (apivfs_cmd(context.root) if apivfs else []) ), env=context.config.environment, + stdout=stdout, ) @classmethod diff --git a/mkosi/installer/dnf.py b/mkosi/installer/dnf.py index a24d01bc0..c364ac7a0 100644 --- a/mkosi/installer/dnf.py +++ b/mkosi/installer/dnf.py @@ -11,7 +11,7 @@ from mkosi.log import ARG_DEBUG from mkosi.mounts import finalize_ephemeral_source_mounts from mkosi.run import find_binary, run from mkosi.sandbox import apivfs_cmd -from mkosi.types import CompletedProcess, PathString +from mkosi.types import _FILE, CompletedProcess, PathString class Dnf(PackageManager): @@ -157,6 +157,7 @@ class Dnf(PackageManager): arguments: Sequence[str] = (), *, apivfs: bool = False, + stdout: _FILE = None, ) -> CompletedProcess: try: with finalize_ephemeral_source_mounts(context.config) as sources: @@ -174,6 +175,7 @@ class Dnf(PackageManager): ) + (apivfs_cmd(context.root) if apivfs else []) ), env=context.config.environment, + stdout=stdout, ) finally: # dnf interprets the log directory relative to the install root so there's nothing we can do but to remove diff --git a/mkosi/installer/pacman.py b/mkosi/installer/pacman.py index 0ff183b0c..c945dced1 100644 --- a/mkosi/installer/pacman.py +++ b/mkosi/installer/pacman.py @@ -11,7 +11,7 @@ from mkosi.installer import PackageManager from mkosi.mounts import finalize_ephemeral_source_mounts from mkosi.run import run from mkosi.sandbox import apivfs_cmd -from mkosi.types import CompletedProcess, PathString +from mkosi.types import _FILE, CompletedProcess, PathString from mkosi.util import umask from mkosi.versioncomp import GenericVersion @@ -148,6 +148,7 @@ class Pacman(PackageManager): arguments: Sequence[str] = (), *, apivfs: bool = False, + stdout: _FILE = None, ) -> CompletedProcess: with finalize_ephemeral_source_mounts(context.config) as sources: return run( @@ -164,6 +165,7 @@ class Pacman(PackageManager): ) + (apivfs_cmd(context.root) if apivfs else []) ), env=context.config.environment, + stdout=stdout, ) @classmethod diff --git a/mkosi/installer/zypper.py b/mkosi/installer/zypper.py index 1db59df3f..2ee27acd3 100644 --- a/mkosi/installer/zypper.py +++ b/mkosi/installer/zypper.py @@ -11,7 +11,7 @@ from mkosi.installer.rpm import RpmRepository, rpm_cmd, setup_rpm from mkosi.mounts import finalize_ephemeral_source_mounts from mkosi.run import run from mkosi.sandbox import apivfs_cmd -from mkosi.types import CompletedProcess, PathString +from mkosi.types import _FILE, CompletedProcess, PathString class Zypper(PackageManager): @@ -117,6 +117,7 @@ class Zypper(PackageManager): arguments: Sequence[str] = (), *, apivfs: bool = False, + stdout: _FILE = None, ) -> CompletedProcess: with finalize_ephemeral_source_mounts(context.config) as sources: return run( @@ -133,6 +134,7 @@ class Zypper(PackageManager): ) + (apivfs_cmd(context.root) if apivfs else []) ), env=context.config.environment, + stdout=stdout, ) @classmethod