From 9816b33914fb1abf2cc443547a98e4c51069cebe Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 17 Oct 2025 09:41:05 +0200 Subject: [PATCH] Rename mkosi.distributions to mkosi.distribution We have mkosi.installer, not mkosi.installers, so to keep things consistent let's use mkosi.distribution instead of mkosi.distributions. --- .github/workflows/ci.yml | 2 +- docs/distribution-policy.md | 2 +- mkosi/__init__.py | 2 +- mkosi/bootloader.py | 2 +- mkosi/config.py | 2 +- mkosi/{distributions => distribution}/__init__.py | 2 +- mkosi/{distributions => distribution}/alma.py | 2 +- mkosi/{distributions => distribution}/arch.py | 2 +- mkosi/{distributions => distribution}/azure.py | 2 +- mkosi/{distributions => distribution}/centos.py | 2 +- mkosi/{distributions => distribution}/custom.py | 2 +- mkosi/{distributions => distribution}/debian.py | 2 +- mkosi/{distributions => distribution}/fedora.py | 2 +- mkosi/{distributions => distribution}/kali.py | 2 +- mkosi/{distributions => distribution}/mageia.py | 2 +- mkosi/{distributions => distribution}/openmandriva.py | 2 +- mkosi/{distributions => distribution}/opensuse.py | 2 +- mkosi/{distributions => distribution}/postmarketos.py | 2 +- mkosi/{distributions => distribution}/rhel.py | 2 +- mkosi/{distributions => distribution}/rhel_ubi.py | 2 +- mkosi/{distributions => distribution}/rocky.py | 2 +- mkosi/{distributions => distribution}/ubuntu.py | 2 +- mkosi/installer/pacman.py | 2 +- mkosi/installer/rpm.py | 2 +- mkosi/manifest.py | 2 +- pyproject.toml | 2 +- tests/__init__.py | 2 +- tests/conftest.py | 2 +- tests/test_boot.py | 2 +- tests/test_config.py | 2 +- tests/test_json.py | 2 +- 31 files changed, 31 insertions(+), 31 deletions(-) rename mkosi/{distributions => distribution}/__init__.py (98%) rename mkosi/{distributions => distribution}/alma.py (95%) rename mkosi/{distributions => distribution}/arch.py (98%) rename mkosi/{distributions => distribution}/azure.py (99%) rename mkosi/{distributions => distribution}/centos.py (99%) rename mkosi/{distributions => distribution}/custom.py (91%) rename mkosi/{distributions => distribution}/debian.py (99%) rename mkosi/{distributions => distribution}/fedora.py (99%) rename mkosi/{distributions => distribution}/kali.py (97%) rename mkosi/{distributions => distribution}/mageia.py (97%) rename mkosi/{distributions => distribution}/openmandriva.py (96%) rename mkosi/{distributions => distribution}/opensuse.py (99%) rename mkosi/{distributions => distribution}/postmarketos.py (98%) rename mkosi/{distributions => distribution}/rhel.py (98%) rename mkosi/{distributions => distribution}/rhel_ubi.py (97%) rename mkosi/{distributions => distribution}/rocky.py (95%) rename mkosi/{distributions => distribution}/ubuntu.py (98%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2a3ff9c26..ff7343e4b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -215,7 +215,7 @@ jobs: EOF # TODO: Use $SYSTEMD_REPART_OVERRIDE_FSTYPE_ROOT once we drop support for Ubuntu Noble. - sed -i 's/return "btrfs"/return "ext4"/' mkosi/distributions/*.py + sed -i 's/return "btrfs"/return "ext4"/' mkosi/distribution/*.py # fail if the script already exists, to avoid hard to debug CI errors [[ -f mkosi.configure ]] && exit 1 diff --git a/docs/distribution-policy.md b/docs/distribution-policy.md index 07a678b63..4aca057c3 100644 --- a/docs/distribution-policy.md +++ b/docs/distribution-policy.md @@ -44,7 +44,7 @@ To actually implement a new distribution, the following checklist can be used: - Add the distribution to the `Distribution` enum -- Add the implementation of the distribution in `mkosi/distributions`. +- Add the implementation of the distribution in `mkosi/distribution`. If the distribution is a variant of an existing distribution, inherit from the existing distribution's installer class and only override the necessary methods. diff --git a/mkosi/__init__.py b/mkosi/__init__.py index f73b99c7f..8e6203c73 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -86,7 +86,7 @@ from mkosi.config import ( yes_no, ) from mkosi.context import Context -from mkosi.distributions import Distribution, detect_distribution +from mkosi.distribution import Distribution, detect_distribution from mkosi.documentation import show_docs from mkosi.installer import clean_package_manager_metadata from mkosi.kmod import ( diff --git a/mkosi/bootloader.py b/mkosi/bootloader.py index 14403bbbc..7d434bb47 100644 --- a/mkosi/bootloader.py +++ b/mkosi/bootloader.py @@ -28,7 +28,7 @@ from mkosi.config import ( systemd_tool_version, ) from mkosi.context import Context -from mkosi.distributions import Distribution +from mkosi.distribution import Distribution from mkosi.log import complete_step, die, log_step from mkosi.partition import Partition from mkosi.run import CompletedProcess, run, workdir diff --git a/mkosi/config.py b/mkosi/config.py index c5d75f6aa..01f02cba2 100644 --- a/mkosi/config.py +++ b/mkosi/config.py @@ -31,7 +31,7 @@ from contextlib import AbstractContextManager from pathlib import Path from typing import Any, Callable, ClassVar, Generic, Optional, Protocol, TypeVar, Union, cast -from mkosi.distributions import Distribution, detect_distribution +from mkosi.distribution import Distribution, detect_distribution from mkosi.log import ARG_DEBUG, ARG_DEBUG_SANDBOX, ARG_DEBUG_SHELL, complete_step, die from mkosi.pager import page from mkosi.run import SandboxProtocol, find_binary, nosandbox, run, sandbox_cmd, workdir diff --git a/mkosi/distributions/__init__.py b/mkosi/distribution/__init__.py similarity index 98% rename from mkosi/distributions/__init__.py rename to mkosi/distribution/__init__.py index b0435ca50..65753f325 100644 --- a/mkosi/distributions/__init__.py +++ b/mkosi/distribution/__init__.py @@ -71,7 +71,7 @@ class Distribution(StrEnum): @property def installer(self) -> type["DistributionInstaller"]: - importlib.import_module(f"mkosi.distributions.{self.name}") + importlib.import_module(f"mkosi.distribution.{self.name}") return DistributionInstaller.registry[self] diff --git a/mkosi/distributions/alma.py b/mkosi/distribution/alma.py similarity index 95% rename from mkosi/distributions/alma.py rename to mkosi/distribution/alma.py index 30ba0796d..0df6037ff 100644 --- a/mkosi/distributions/alma.py +++ b/mkosi/distribution/alma.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later from mkosi.context import Context -from mkosi.distributions import Distribution, centos, join_mirror +from mkosi.distribution import Distribution, centos, join_mirror from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey from mkosi.log import die diff --git a/mkosi/distributions/arch.py b/mkosi/distribution/arch.py similarity index 98% rename from mkosi/distributions/arch.py rename to mkosi/distribution/arch.py index 7fcc817ff..a01ea6636 100644 --- a/mkosi/distributions/arch.py +++ b/mkosi/distribution/arch.py @@ -9,7 +9,7 @@ from mkosi.archive import extract_tar from mkosi.config import Architecture, Config from mkosi.context import Context from mkosi.curl import curl -from mkosi.distributions import Distribution, DistributionInstaller, PackageType, join_mirror +from mkosi.distribution import Distribution, DistributionInstaller, PackageType, join_mirror from mkosi.installer.pacman import Pacman, PacmanRepository from mkosi.log import complete_step, die diff --git a/mkosi/distributions/azure.py b/mkosi/distribution/azure.py similarity index 99% rename from mkosi/distributions/azure.py rename to mkosi/distribution/azure.py index b21420150..4c036f143 100644 --- a/mkosi/distributions/azure.py +++ b/mkosi/distribution/azure.py @@ -4,7 +4,7 @@ from collections.abc import Iterable from mkosi.config import Architecture from mkosi.context import Context -from mkosi.distributions import ( +from mkosi.distribution import ( Distribution, fedora, join_mirror, diff --git a/mkosi/distributions/centos.py b/mkosi/distribution/centos.py similarity index 99% rename from mkosi/distributions/centos.py rename to mkosi/distribution/centos.py index c2827c07e..7c8e89652 100644 --- a/mkosi/distributions/centos.py +++ b/mkosi/distribution/centos.py @@ -5,7 +5,7 @@ from collections.abc import Iterable from mkosi.config import Architecture, Config from mkosi.context import Context from mkosi.curl import curl -from mkosi.distributions import ( +from mkosi.distribution import ( Distribution, DistributionInstaller, PackageType, diff --git a/mkosi/distributions/custom.py b/mkosi/distribution/custom.py similarity index 91% rename from mkosi/distributions/custom.py rename to mkosi/distribution/custom.py index 8684f8503..f61354e53 100644 --- a/mkosi/distributions/custom.py +++ b/mkosi/distribution/custom.py @@ -2,7 +2,7 @@ from mkosi.config import Architecture, Config from mkosi.context import Context -from mkosi.distributions import Distribution, DistributionInstaller +from mkosi.distribution import Distribution, DistributionInstaller from mkosi.installer import PackageManager diff --git a/mkosi/distributions/debian.py b/mkosi/distribution/debian.py similarity index 99% rename from mkosi/distributions/debian.py rename to mkosi/distribution/debian.py index 7520a91df..9d1e1a520 100644 --- a/mkosi/distributions/debian.py +++ b/mkosi/distribution/debian.py @@ -11,7 +11,7 @@ from mkosi.archive import extract_tar from mkosi.config import Architecture, Config from mkosi.context import Context from mkosi.curl import curl -from mkosi.distributions import Distribution, DistributionInstaller, PackageType, join_mirror +from mkosi.distribution import Distribution, DistributionInstaller, PackageType, join_mirror from mkosi.installer.apt import Apt, AptRepository from mkosi.log import die from mkosi.run import run, workdir diff --git a/mkosi/distributions/fedora.py b/mkosi/distribution/fedora.py similarity index 99% rename from mkosi/distributions/fedora.py rename to mkosi/distribution/fedora.py index ad7a34335..3574fe8ac 100644 --- a/mkosi/distributions/fedora.py +++ b/mkosi/distribution/fedora.py @@ -9,7 +9,7 @@ from pathlib import Path from mkosi.config import Architecture, Config from mkosi.context import Context from mkosi.curl import curl -from mkosi.distributions import ( +from mkosi.distribution import ( Distribution, DistributionInstaller, PackageType, diff --git a/mkosi/distributions/kali.py b/mkosi/distribution/kali.py similarity index 97% rename from mkosi/distributions/kali.py rename to mkosi/distribution/kali.py index bb204c91e..9de806d15 100644 --- a/mkosi/distributions/kali.py +++ b/mkosi/distribution/kali.py @@ -5,7 +5,7 @@ from pathlib import Path from mkosi.config import Architecture from mkosi.context import Context -from mkosi.distributions import Distribution, debian +from mkosi.distribution import Distribution, debian from mkosi.installer.apt import AptRepository from mkosi.log import die diff --git a/mkosi/distributions/mageia.py b/mkosi/distribution/mageia.py similarity index 97% rename from mkosi/distributions/mageia.py rename to mkosi/distribution/mageia.py index b41bb0745..43756bef7 100644 --- a/mkosi/distributions/mageia.py +++ b/mkosi/distribution/mageia.py @@ -4,7 +4,7 @@ from collections.abc import Iterable from mkosi.config import Architecture from mkosi.context import Context -from mkosi.distributions import Distribution, fedora, join_mirror +from mkosi.distribution import Distribution, fedora, join_mirror from mkosi.installer.dnf import Dnf from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey from mkosi.log import die diff --git a/mkosi/distributions/openmandriva.py b/mkosi/distribution/openmandriva.py similarity index 96% rename from mkosi/distributions/openmandriva.py rename to mkosi/distribution/openmandriva.py index 82c35174c..dd9661ed8 100644 --- a/mkosi/distributions/openmandriva.py +++ b/mkosi/distribution/openmandriva.py @@ -4,7 +4,7 @@ from collections.abc import Iterable from mkosi.config import Architecture from mkosi.context import Context -from mkosi.distributions import Distribution, fedora, join_mirror +from mkosi.distribution import Distribution, fedora, join_mirror from mkosi.installer.dnf import Dnf from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey from mkosi.log import die diff --git a/mkosi/distributions/opensuse.py b/mkosi/distribution/opensuse.py similarity index 99% rename from mkosi/distributions/opensuse.py rename to mkosi/distribution/opensuse.py index 9b1e29bca..58f96f9b1 100644 --- a/mkosi/distributions/opensuse.py +++ b/mkosi/distribution/opensuse.py @@ -9,7 +9,7 @@ from xml.etree import ElementTree from mkosi.config import Architecture, Config from mkosi.context import Context from mkosi.curl import curl -from mkosi.distributions import Distribution, DistributionInstaller, PackageType, join_mirror +from mkosi.distribution import Distribution, DistributionInstaller, PackageType, join_mirror from mkosi.installer.dnf import Dnf from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey, setup_rpm from mkosi.installer.zypper import Zypper diff --git a/mkosi/distributions/postmarketos.py b/mkosi/distribution/postmarketos.py similarity index 98% rename from mkosi/distributions/postmarketos.py rename to mkosi/distribution/postmarketos.py index a537246c8..267435dfc 100644 --- a/mkosi/distributions/postmarketos.py +++ b/mkosi/distribution/postmarketos.py @@ -5,7 +5,7 @@ from collections.abc import Iterable from mkosi.config import Architecture, Config from mkosi.context import Context -from mkosi.distributions import Distribution, DistributionInstaller, PackageType +from mkosi.distribution import Distribution, DistributionInstaller, PackageType from mkosi.installer import PackageManager from mkosi.installer.apk import Apk, ApkRepository from mkosi.log import complete_step, die diff --git a/mkosi/distributions/rhel.py b/mkosi/distribution/rhel.py similarity index 98% rename from mkosi/distributions/rhel.py rename to mkosi/distribution/rhel.py index d9fccc16d..cf7aa7fa4 100644 --- a/mkosi/distributions/rhel.py +++ b/mkosi/distribution/rhel.py @@ -5,7 +5,7 @@ from pathlib import Path from typing import Any, Optional from mkosi.context import Context -from mkosi.distributions import Distribution, centos, join_mirror +from mkosi.distribution import Distribution, centos, join_mirror from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey from mkosi.log import die from mkosi.run import exists_in_sandbox, glob_in_sandbox diff --git a/mkosi/distributions/rhel_ubi.py b/mkosi/distribution/rhel_ubi.py similarity index 97% rename from mkosi/distributions/rhel_ubi.py rename to mkosi/distribution/rhel_ubi.py index 8e0a9fe72..f03b64e49 100644 --- a/mkosi/distributions/rhel_ubi.py +++ b/mkosi/distribution/rhel_ubi.py @@ -3,7 +3,7 @@ from collections.abc import Iterable from mkosi.context import Context -from mkosi.distributions import Distribution, centos, join_mirror +from mkosi.distribution import Distribution, centos, join_mirror from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey from mkosi.log import die diff --git a/mkosi/distributions/rocky.py b/mkosi/distribution/rocky.py similarity index 95% rename from mkosi/distributions/rocky.py rename to mkosi/distribution/rocky.py index 6a4a7d650..deaa73c46 100644 --- a/mkosi/distributions/rocky.py +++ b/mkosi/distribution/rocky.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later from mkosi.context import Context -from mkosi.distributions import Distribution, centos, join_mirror +from mkosi.distribution import Distribution, centos, join_mirror from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey from mkosi.log import die diff --git a/mkosi/distributions/ubuntu.py b/mkosi/distribution/ubuntu.py similarity index 98% rename from mkosi/distributions/ubuntu.py rename to mkosi/distribution/ubuntu.py index db8cd88e9..c84e5fd04 100644 --- a/mkosi/distributions/ubuntu.py +++ b/mkosi/distribution/ubuntu.py @@ -8,7 +8,7 @@ from pathlib import Path from mkosi.config import Config from mkosi.context import Context from mkosi.curl import curl -from mkosi.distributions import Distribution, debian, join_mirror +from mkosi.distribution import Distribution, debian, join_mirror from mkosi.installer.apt import AptRepository from mkosi.log import die from mkosi.util import startswith diff --git a/mkosi/installer/pacman.py b/mkosi/installer/pacman.py index 4d0359b5c..4189c1f6a 100644 --- a/mkosi/installer/pacman.py +++ b/mkosi/installer/pacman.py @@ -9,7 +9,7 @@ from pathlib import Path from mkosi.config import Config from mkosi.context import Context -from mkosi.distributions import detect_distribution +from mkosi.distribution import detect_distribution from mkosi.installer import PackageManager from mkosi.log import complete_step from mkosi.run import CompletedProcess, run, workdir diff --git a/mkosi/installer/rpm.py b/mkosi/installer/rpm.py index 16a8bf756..a7929f1d6 100644 --- a/mkosi/installer/rpm.py +++ b/mkosi/installer/rpm.py @@ -6,7 +6,7 @@ from pathlib import Path from typing import Literal, Optional, overload from mkosi.context import Context -from mkosi.distributions import Distribution +from mkosi.distribution import Distribution from mkosi.log import die from mkosi.run import glob_in_sandbox from mkosi.util import PathString diff --git a/mkosi/manifest.py b/mkosi/manifest.py index 89a5028d4..df3639386 100644 --- a/mkosi/manifest.py +++ b/mkosi/manifest.py @@ -9,7 +9,7 @@ from typing import IO, Any, Optional from mkosi.config import ManifestFormat, OutputFormat from mkosi.context import Context -from mkosi.distributions import PackageType +from mkosi.distribution import PackageType from mkosi.installer.apt import Apt from mkosi.installer.pacman import Pacman from mkosi.log import complete_step diff --git a/pyproject.toml b/pyproject.toml index e0bc256b4..a8b9c4007 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ mkosi-addon = "mkosi.addon:main" [tool.setuptools] packages = [ "mkosi", - "mkosi.distributions", + "mkosi.distribution", "mkosi.installer", "mkosi.resources", ] diff --git a/tests/__init__.py b/tests/__init__.py index 3d7b3eb4c..3134a7a28 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -13,7 +13,7 @@ from typing import Any, Optional import pytest -from mkosi.distributions import Distribution +from mkosi.distribution import Distribution from mkosi.run import CompletedProcess, fork_and_wait, run from mkosi.sandbox import acquire_privileges from mkosi.tree import rmtree diff --git a/tests/conftest.py b/tests/conftest.py index 9b0c7f104..4e27610ad 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -7,7 +7,7 @@ import pytest import mkosi.resources from mkosi.config import parse_config -from mkosi.distributions import Distribution, detect_distribution +from mkosi.distribution import Distribution, detect_distribution from mkosi.log import log_setup from mkosi.util import resource_path diff --git a/tests/test_boot.py b/tests/test_boot.py index f55f79f3c..c13764f9d 100644 --- a/tests/test_boot.py +++ b/tests/test_boot.py @@ -6,7 +6,7 @@ import subprocess import pytest from mkosi.config import Bootloader, Firmware, OutputFormat -from mkosi.distributions import Distribution +from mkosi.distribution import Distribution from mkosi.qemu import find_virtiofsd from mkosi.run import find_binary, run from mkosi.sandbox import userns_has_single_user diff --git a/tests/test_config.py b/tests/test_config.py index 12dcf1f30..aa2a20cb1 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -25,7 +25,7 @@ from mkosi.config import ( parse_config, parse_ini, ) -from mkosi.distributions import Distribution, detect_distribution +from mkosi.distribution import Distribution, detect_distribution from mkosi.util import chdir, resource_path diff --git a/tests/test_json.py b/tests/test_json.py index c858d4eee..c43a5fe89 100644 --- a/tests/test_json.py +++ b/tests/test_json.py @@ -45,7 +45,7 @@ from mkosi.config import ( VsockCID, dump_json, ) -from mkosi.distributions import Distribution +from mkosi.distribution import Distribution @pytest.mark.parametrize("path", [None, "/baz/qux"]) -- 2.47.3