]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Add stdout parameter to package manager invoke() functions
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 15 Feb 2024 10:28:42 +0000 (11:28 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 15 Feb 2024 18:57:56 +0000 (19:57 +0100)
Let's allow getting the output when we invoke the package managers.

mkosi/installer/apt.py
mkosi/installer/dnf.py
mkosi/installer/pacman.py
mkosi/installer/zypper.py

index 9b159a1e6f88465852fcf5ee4edf78a078393f0d..df0041ca624eea6721548b562dd95e0a627d2c54 100644 (file)
@@ -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
index a24d01bc090ccf4e78985de3365612e62bff4a82..c364ac7a0b69df09fc349ba9684bd81270f7b78b 100644 (file)
@@ -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
index 0ff183b0c3ef034e5b5902dee625772f094fc7ce..c945dced13bc5c78f6889481b9f1c297770bb8d6 100644 (file)
@@ -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
index 1db59df3f26f46b2160c863dc78aec548157dcf0..2ee27acd3f30189e84765434527d55026210b264 100644 (file)
@@ -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