import textwrap
from collections.abc import Sequence
from pathlib import Path
-from typing import Optional
+from typing import Final, Optional
from mkosi.config import PACKAGE_GLOBS, Config, ConfigFeature
from mkosi.context import Context
class Apt(PackageManager):
- documentation_exclude_globs = [
+ documentation_exclude_globs: Final[list[str]] = [
"usr/share/doc/*",
"usr/share/man/*",
"usr/share/groff/*",
import os
import sys
from collections.abc import Iterator
-from typing import Any, NoReturn, Optional
+from typing import Any, Final, NoReturn, Optional
# This global should be initialized after parsing arguments
ARG_DEBUG = contextvars.ContextVar("debug", default=False)
class Style:
- bold = "\033[0;1;39m" if sys.stderr.isatty() else ""
- blue = "\033[0;1;34m" if sys.stderr.isatty() else ""
- gray = "\033[0;38;5;245m" if sys.stderr.isatty() else ""
- red = "\033[31;1m" if sys.stderr.isatty() else ""
- yellow = "\033[33;1m" if sys.stderr.isatty() else ""
- reset = "\033[0m" if sys.stderr.isatty() else ""
+ bold: Final[str] = "\033[0;1;39m" if sys.stderr.isatty() else ""
+ blue: Final[str] = "\033[0;1;34m" if sys.stderr.isatty() else ""
+ gray: Final[str] = "\033[0;38;5;245m" if sys.stderr.isatty() else ""
+ red: Final[str] = "\033[31;1m" if sys.stderr.isatty() else ""
+ yellow: Final[str] = "\033[33;1m" if sys.stderr.isatty() else ""
+ reset: Final[str] = "\033[0m" if sys.stderr.isatty() else ""
def die(message: str,
import subprocess
from collections.abc import Mapping, Sequence
from pathlib import Path
-from typing import Any, Optional
+from typing import Any, Final, Optional
from mkosi.log import die
from mkosi.run import SandboxProtocol, nosandbox, run
roothash=dict.get("roothash"),
)
- GRUB_BOOT_PARTITION_UUID = "21686148-6449-6e6f-744e-656564454649"
+ GRUB_BOOT_PARTITION_UUID: Final[str] = "21686148-6449-6e6f-744e-656564454649"
def find_partitions(image: Path, *, sandbox: SandboxProtocol = nosandbox) -> list[Partition]:
import functools
import itertools
import string
+from typing import Final
@functools.total_ordering
# These constants follow the convention of the return value of rpmdev-vercmp that are followe
# by systemd-analyze compare-versions when called with only two arguments (without a comparison
# operator), recreated in the compare_versions method.
- _EQUAL = 0
- _RIGHT_SMALLER = 1
- _LEFT_SMALLER = -1
+ _EQUAL: Final[int] = 0
+ _RIGHT_SMALLER: Final[int] = 1
+ _LEFT_SMALLER: Final[int] = -1
def __init__(self, version: str):
self._version = version