]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Remove mkosi.types to avoid conflict with standard library types.py
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 22 Jan 2025 11:27:52 +0000 (12:27 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 22 Jan 2025 11:41:58 +0000 (12:41 +0100)
The process related stuff is moved to run.py and the rest is moved
to util.py

25 files changed:
kernel-install/50-mkosi.install
kernel-install/51-mkosi-addon.install
mkosi/__init__.py
mkosi/addon.py
mkosi/archive.py
mkosi/bootloader.py
mkosi/config.py
mkosi/context.py
mkosi/initrd.py
mkosi/installer/__init__.py
mkosi/installer/apt.py
mkosi/installer/dnf.py
mkosi/installer/pacman.py
mkosi/installer/rpm.py
mkosi/installer/zypper.py
mkosi/mounts.py
mkosi/qemu.py
mkosi/run.py
mkosi/sysupdate.py
mkosi/tree.py
mkosi/types.py [deleted file]
mkosi/util.py
mkosi/vmspawn.py
tests/__init__.py
tests/test_initrd.py

index 865e6d5546fa9466e13abda1d557efc3dfbe7ba0..f35572e663a770f163425f3ba2a3961b161e1155 100755 (executable)
@@ -14,7 +14,7 @@ from mkosi.initrd import KernelInstallContext
 from mkosi.log import log_setup
 from mkosi.run import run, uncaught_exception_handler
 from mkosi.sandbox import umask
-from mkosi.types import PathString
+from mkosi.util import PathString
 
 
 def we_are_wanted(context: KernelInstallContext) -> bool:
index e889fea154e899ca0aab93b85db94d05930dcb0d..be017ef0ce274a193213dfd183d85f2a8f4ba089 100755 (executable)
@@ -8,7 +8,7 @@ from pathlib import Path
 from mkosi.initrd import KernelInstallContext
 from mkosi.log import log_setup
 from mkosi.run import run, uncaught_exception_handler
-from mkosi.types import PathString
+from mkosi.util import PathString
 
 
 @uncaught_exception_handler()
index 1233b44031cb0fac414e93526336b817f7c39570..e4ff8b0d8820e24b90c3bb6e41a9be22e1dbbc66 100644 (file)
@@ -126,9 +126,9 @@ from mkosi.sandbox import (
 )
 from mkosi.sysupdate import run_sysupdate
 from mkosi.tree import copy_tree, make_tree, move_tree, rmtree
-from mkosi.types import PathString
 from mkosi.user import INVOKING_USER
 from mkosi.util import (
+    PathString,
     current_home_dir,
     flatten,
     flock,
index 37d1d3d09be397b3a1c970bf7f82a4794e381070..9f2786bb82c047747d8d19919eda4cec3d9f9446 100644 (file)
@@ -12,8 +12,7 @@ from mkosi.documentation import show_docs
 from mkosi.initrd import include_system_config, initrd_common_args, initrd_finalize, process_crypttab
 from mkosi.log import log_setup
 from mkosi.run import run, uncaught_exception_handler
-from mkosi.types import PathString
-from mkosi.util import resource_path
+from mkosi.util import PathString, resource_path
 
 
 @uncaught_exception_handler()
index 7a42d9a9e958757083e9a83e3f7aab2cc00f879a..1ba28afc04182a7a07a4493fde905bee5c25211b 100644 (file)
@@ -8,8 +8,7 @@ from typing import Optional
 from mkosi.log import log_step
 from mkosi.run import SandboxProtocol, finalize_passwd_symlinks, nosandbox, run, workdir
 from mkosi.sandbox import umask
-from mkosi.types import PathString
-from mkosi.util import chdir
+from mkosi.util import PathString, chdir
 
 
 def tar_exclude_apivfs_tmp() -> list[str]:
index 68f56aabaea56ba11e3bdba8c379afd1616967cc..1fffa05a911b193e1b0b43b6a47583efcac92c89 100644 (file)
@@ -28,10 +28,9 @@ from mkosi.distributions import Distribution
 from mkosi.log import complete_step, die, log_step
 from mkosi.partition import Partition
 from mkosi.qemu import KernelType
-from mkosi.run import run, workdir
+from mkosi.run import CompletedProcess, run, workdir
 from mkosi.sandbox import umask
-from mkosi.types import _FILE, CompletedProcess, PathString
-from mkosi.util import flatten
+from mkosi.util import _FILE, PathString, flatten
 from mkosi.versioncomp import GenericVersion
 
 
index f77c34b2bc1c56fdd9296f40af2e1df574f40301..a1a24dca9e539aa940be72dcc1619eab9b0f4453 100644 (file)
@@ -35,10 +35,11 @@ from mkosi.log import ARG_DEBUG, ARG_DEBUG_SANDBOX, ARG_DEBUG_SHELL, Style, die
 from mkosi.pager import page
 from mkosi.run import SandboxProtocol, find_binary, nosandbox, run, sandbox_cmd, workdir
 from mkosi.sandbox import __version__
-from mkosi.types import PathString, SupportsRead
 from mkosi.user import INVOKING_USER
 from mkosi.util import (
+    PathString,
     StrEnum,
+    SupportsRead,
     chdir,
     flatten,
     is_power_of_2,
index 109cdc5564d292917ded9e30e659b712b85c1eea..cab9a0a9197eb499627380cec8f909398bfcf0a1 100644 (file)
@@ -6,7 +6,7 @@ from pathlib import Path
 from typing import Optional
 
 from mkosi.config import Args, Config
-from mkosi.types import PathString
+from mkosi.util import PathString
 
 
 class Context:
index d8f9abc0d62ed894ccae6bd162ccee3d7da168ec..f71f6e48e823a5fed751a8300b2d0f198688d883 100644 (file)
@@ -18,8 +18,7 @@ from mkosi.log import log_notice, log_setup
 from mkosi.run import find_binary, run, uncaught_exception_handler
 from mkosi.sandbox import __version__, umask
 from mkosi.tree import copy_tree
-from mkosi.types import PathString
-from mkosi.util import mandatory_variable, resource_path
+from mkosi.util import PathString, mandatory_variable, resource_path
 
 
 @dataclasses.dataclass(frozen=True)
index 50c659f84ab5477927f658681fe57cf415dc1367..0453d362bc4a23e675739c33936d5225cae7538d 100644 (file)
@@ -9,8 +9,7 @@ from mkosi.context import Context
 from mkosi.mounts import finalize_certificate_mounts
 from mkosi.run import apivfs_options, finalize_interpreter, finalize_passwd_symlinks, find_binary
 from mkosi.tree import rmtree
-from mkosi.types import PathString
-from mkosi.util import flatten, startswith
+from mkosi.util import PathString, flatten, startswith
 
 
 class PackageManager:
index 4c0ecafdf78a83b872826ba327b46c56c22f702a..f635dc69a2c9858fb89fcecb27af7c0168ac7704 100644 (file)
@@ -10,9 +10,9 @@ from mkosi.config import PACKAGE_GLOBS, Config, ConfigFeature
 from mkosi.context import Context
 from mkosi.installer import PackageManager
 from mkosi.log import die
-from mkosi.run import run, workdir
+from mkosi.run import CompletedProcess, run, workdir
 from mkosi.sandbox import umask
-from mkosi.types import _FILE, CompletedProcess, PathString
+from mkosi.util import _FILE, PathString
 
 
 @dataclasses.dataclass(frozen=True)
index b4ac8a62dd31168512053c27cef3864d9c377955..8115fb7fdf3f37695136515f933d52aacca2ec92 100644 (file)
@@ -9,8 +9,8 @@ from mkosi.context import Context
 from mkosi.installer import PackageManager
 from mkosi.installer.rpm import RpmRepository, rpm_cmd
 from mkosi.log import ARG_DEBUG
-from mkosi.run import run, workdir
-from mkosi.types import _FILE, CompletedProcess, PathString
+from mkosi.run import CompletedProcess, run, workdir
+from mkosi.util import _FILE, PathString
 
 
 class Dnf(PackageManager):
index 56e354f425e86f6e25a94c1fb830f1e3ab71b75b..76516fbffd02b4303e2730d26c906c1968fc96ca 100644 (file)
@@ -12,10 +12,10 @@ from mkosi.context import Context
 from mkosi.distributions import detect_distribution
 from mkosi.installer import PackageManager
 from mkosi.log import complete_step
-from mkosi.run import run, workdir
+from mkosi.run import CompletedProcess, run, workdir
 from mkosi.sandbox import umask
 from mkosi.tree import copy_tree
-from mkosi.types import _FILE, CompletedProcess, PathString
+from mkosi.util import _FILE, PathString
 from mkosi.versioncomp import GenericVersion
 
 
index d3f614af486bf5bacc536f16a937375525f4c796..b3347502a090603120fae45efbb4e09f3dbaaae5 100644 (file)
@@ -10,7 +10,7 @@ from mkosi.context import Context
 from mkosi.distributions import Distribution
 from mkosi.log import die
 from mkosi.run import run
-from mkosi.types import PathString
+from mkosi.util import PathString
 
 
 @dataclasses.dataclass(frozen=True)
index 1215aadbfaf02c491059c2f9735d45c07d9f2095..fc5625f76792515e5d2b6ba847092809239ef655 100644 (file)
@@ -8,8 +8,8 @@ from mkosi.config import Config, yes_no
 from mkosi.context import Context
 from mkosi.installer import PackageManager
 from mkosi.installer.rpm import RpmRepository, rpm_cmd
-from mkosi.run import run, workdir
-from mkosi.types import _FILE, CompletedProcess, PathString
+from mkosi.run import CompletedProcess, run, workdir
+from mkosi.util import _FILE, PathString
 
 
 class Zypper(PackageManager):
index 31eb9c7de540b1cd7fda11a38c266f49da73caa4..3b83d6e92caae9039db5ea8419b16b4fb97e4f4c 100644 (file)
@@ -10,8 +10,7 @@ from typing import Optional
 
 from mkosi.config import Config
 from mkosi.sandbox import OverlayOperation
-from mkosi.types import PathString
-from mkosi.util import flatten
+from mkosi.util import PathString, flatten
 
 
 def stat_is_whiteout(st: os.stat_result) -> bool:
index 5427fbbe08820fe0d0320a83071c894e49c82760..1d694e7729612ca205e3d6afd5d25d0dc919ebde 100644 (file)
@@ -45,9 +45,8 @@ from mkosi.log import ARG_DEBUG, die
 from mkosi.partition import finalize_root, find_partitions
 from mkosi.run import SD_LISTEN_FDS_START, AsyncioThread, find_binary, fork_and_wait, run, spawn, workdir
 from mkosi.tree import copy_tree, rmtree
-from mkosi.types import PathString
 from mkosi.user import INVOKING_USER, become_root_in_subuid_range, become_root_in_subuid_range_cmd
-from mkosi.util import StrEnum, current_home_dir, flock, flock_or_die, groupby, round_up, try_or
+from mkosi.util import PathString, StrEnum, current_home_dir, flock, flock_or_die, groupby, round_up, try_or
 from mkosi.versioncomp import GenericVersion
 
 QEMU_KVM_DEVICE_VERSION = GenericVersion("9.0")
index 1aa62b417a8eec97cdcb0940689b2505268c6f35..d54ec13c96e5cd7730cba03f4a507a2905a2cab2 100644 (file)
@@ -18,17 +18,27 @@ from collections.abc import Awaitable, Collection, Iterator, Mapping, Sequence
 from contextlib import AbstractContextManager
 from pathlib import Path
 from types import TracebackType
-from typing import Any, Callable, NoReturn, Optional, Protocol
+from typing import TYPE_CHECKING, Any, Callable, NoReturn, Optional, Protocol
 
 import mkosi.sandbox
 from mkosi.log import ARG_DEBUG, ARG_DEBUG_SANDBOX, ARG_DEBUG_SHELL, die
 from mkosi.sandbox import acquire_privileges, joinpath, umask
-from mkosi.types import _FILE, CompletedProcess, PathString, Popen
-from mkosi.util import current_home_dir, flatten, one_zero, unique
+from mkosi.util import _FILE, PathString, current_home_dir, flatten, one_zero, unique
 
 SD_LISTEN_FDS_START = 3
 
 
+# These types are only generic during type checking and not at runtime, leading
+# to a TypeError during compilation.
+# Let's be as strict as we can with the description for the usage we have.
+if TYPE_CHECKING:
+    CompletedProcess = subprocess.CompletedProcess[str]
+    Popen = subprocess.Popen[str]
+else:
+    CompletedProcess = subprocess.CompletedProcess
+    Popen = subprocess.Popen
+
+
 def make_foreground_process(*, new_process_group: bool = True) -> None:
     """
     If we're connected to a terminal, put the process in a new process group and make that the foreground
index 9b9a8a00bbff11dcff19a040bb991037c0a56d2e..514e7bbc6a1cf0fd06a6254a19002031f506344a 100644 (file)
@@ -9,7 +9,7 @@ from pathlib import Path
 from mkosi.config import Args, ArtifactOutput, Config
 from mkosi.log import die
 from mkosi.run import run
-from mkosi.types import PathString
+from mkosi.util import PathString
 
 
 def run_sysupdate(args: Args, config: Config) -> None:
index da6806776f82bd82a26c1ceb244eae41267ef576..b35867030c92bc722533ac6eb9efa61f31b04fca 100644 (file)
@@ -13,8 +13,7 @@ from mkosi.config import ConfigFeature
 from mkosi.log import ARG_DEBUG, die
 from mkosi.run import SandboxProtocol, nosandbox, run, workdir
 from mkosi.sandbox import BTRFS_SUPER_MAGIC, statfs
-from mkosi.types import PathString
-from mkosi.util import flatten
+from mkosi.util import PathString, flatten
 from mkosi.versioncomp import GenericVersion
 
 
diff --git a/mkosi/types.py b/mkosi/types.py
deleted file mode 100644 (file)
index 3b3b607..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-
-import subprocess
-from pathlib import Path
-from typing import IO, TYPE_CHECKING, Any, Protocol, TypeVar, Union
-
-# These types are only generic during type checking and not at runtime, leading
-# to a TypeError during compilation.
-# Let's be as strict as we can with the description for the usage we have.
-if TYPE_CHECKING:
-    CompletedProcess = subprocess.CompletedProcess[str]
-    Popen = subprocess.Popen[str]
-else:
-    CompletedProcess = subprocess.CompletedProcess
-    Popen = subprocess.Popen
-
-# Borrowed from https://github.com/python/typeshed/blob/3d14016085aed8bcf0cf67e9e5a70790ce1ad8ea/stdlib/3/subprocess.pyi#L24
-_FILE = Union[None, int, IO[Any]]
-PathString = Union[Path, str]
-
-# Borrowed from
-# https://github.com/python/typeshed/blob/ec52bf1adde1d3183d0595d2ba982589df48dff1/stdlib/_typeshed/__init__.pyi#L19
-# and
-# https://github.com/python/typeshed/blob/ec52bf1adde1d3183d0595d2ba982589df48dff1/stdlib/_typeshed/__init__.pyi#L224
-_T_co = TypeVar("_T_co", covariant=True)
-
-
-class SupportsRead(Protocol[_T_co]):
-    def read(self, __length: int = ...) -> _T_co: ...
index 2ce615aefbcdf4e1e166d1cbefa895e59b174493..b21ed689efa4d617e87d1ce3e37c697032cde41b 100644 (file)
@@ -20,16 +20,29 @@ import tempfile
 from collections.abc import Hashable, Iterable, Iterator, Mapping, Sequence
 from pathlib import Path
 from types import ModuleType
-from typing import Any, Callable, Optional, TypeVar
+from typing import IO, Any, Callable, Optional, Protocol, TypeVar, Union
 
 from mkosi.backport import as_file
 from mkosi.log import die
-from mkosi.types import PathString
 
 T = TypeVar("T")
 V = TypeVar("V")
 S = TypeVar("S", bound=Hashable)
 
+# Borrowed from https://github.com/python/typeshed/blob/3d14016085aed8bcf0cf67e9e5a70790ce1ad8ea/stdlib/3/subprocess.pyi#L24
+_FILE = Union[None, int, IO[Any]]
+PathString = Union[Path, str]
+
+# Borrowed from
+# https://github.com/python/typeshed/blob/ec52bf1adde1d3183d0595d2ba982589df48dff1/stdlib/_typeshed/__init__.pyi#L19
+# and
+# https://github.com/python/typeshed/blob/ec52bf1adde1d3183d0595d2ba982589df48dff1/stdlib/_typeshed/__init__.pyi#L224
+_T_co = TypeVar("_T_co", covariant=True)
+
+
+class SupportsRead(Protocol[_T_co]):
+    def read(self, __length: int = ...) -> _T_co: ...
+
 
 def dictify(f: Callable[..., Iterator[tuple[T, V]]]) -> Callable[..., dict[T, V]]:
     def wrapper(*args: Any, **kwargs: Any) -> dict[T, V]:
index 60a21b11d30fbfb5a4659a1d3cfcbaaa165598a2..9b3891c56f5cc5933140f626bb6d2512958e683a 100644 (file)
@@ -23,8 +23,7 @@ from mkosi.qemu import (
     finalize_register,
 )
 from mkosi.run import run
-from mkosi.types import PathString
-from mkosi.util import current_home_dir
+from mkosi.util import PathString, current_home_dir
 
 
 def run_vmspawn(args: Args, config: Config) -> None:
index 2923f5e9919e4b8369e1ed4c9c694a3ab17ee4d5..07438c3b4839ee5de491e2693e8da0c692bd2aa9 100644 (file)
@@ -14,10 +14,10 @@ from typing import Any, Optional
 import pytest
 
 from mkosi.distributions import Distribution
-from mkosi.run import fork_and_wait, run
+from mkosi.run import CompletedProcess, fork_and_wait, run
 from mkosi.sandbox import acquire_privileges
 from mkosi.tree import rmtree
-from mkosi.types import _FILE, CompletedProcess, PathString
+from mkosi.util import _FILE, PathString
 
 
 @dataclasses.dataclass(frozen=True)
index 7d7562a52b020f647223103a2da692b65f6991c4..1e03328acdbafc540a53015b47e2fe4630dd7510 100644 (file)
@@ -14,7 +14,7 @@ from mkosi.distributions import Distribution
 from mkosi.run import run
 from mkosi.sandbox import umask
 from mkosi.tree import copy_tree
-from mkosi.types import PathString
+from mkosi.util import PathString
 
 from . import Image, ImageConfig