from mkosi.context import Context
from mkosi.curl import curl
from mkosi.distributions import DistributionInstaller, PackageType
-from mkosi.installer import PackageManager
from mkosi.installer.pacman import Pacman, PacmanRepository
from mkosi.log import complete_step, die
return "rolling"
@classmethod
- def package_manager(cls, config: "Config") -> type[PackageManager]:
+ def package_manager(cls, config: "Config") -> type[Pacman]:
return Pacman
@classmethod
PackageType,
join_mirror,
)
-from mkosi.installer import PackageManager
from mkosi.installer.dnf import Dnf
from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey, setup_rpm
from mkosi.log import die
return config.release.partition(".")[0]
@classmethod
- def package_manager(cls, config: "Config") -> type[PackageManager]:
+ def package_manager(cls, config: "Config") -> type[Dnf]:
return Dnf
@classmethod
from mkosi.config import Architecture, Config
from mkosi.context import Context
from mkosi.distributions import DistributionInstaller, PackageType
-from mkosi.installer import PackageManager
from mkosi.installer.apt import Apt, AptRepository
from mkosi.log import die
from mkosi.run import run, workdir
return "testing"
@classmethod
- def package_manager(cls, config: Config) -> type[PackageManager]:
+ def package_manager(cls, config: Config) -> type[Apt]:
return Apt
@classmethod
PackageType,
join_mirror,
)
-from mkosi.installer import PackageManager
from mkosi.installer.dnf import Dnf
from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey, setup_rpm
from mkosi.log import die
return "grub2"
@classmethod
- def package_manager(cls, config: Config) -> type[PackageManager]:
+ def package_manager(cls, config: Config) -> type[Dnf]:
return Dnf
@classmethod
import tempfile
from collections.abc import Iterable
from pathlib import Path
+from typing import Union
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 DistributionInstaller, PackageType, join_mirror
-from mkosi.installer import PackageManager
from mkosi.installer.dnf import Dnf
from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey, setup_rpm
from mkosi.installer.zypper import Zypper
return "grub2"
@classmethod
- def package_manager(cls, config: Config) -> type[PackageManager]:
+ def package_manager(cls, config: Config) -> Union[type[Dnf], type[Zypper]]:
if config.find_binary("zypper"):
return Zypper
else:
@classmethod
def setup(cls, context: Context) -> None:
setup_rpm(context, dbbackend="ndb")
-
- zypper = context.config.find_binary("zypper")
- if zypper:
- Zypper.setup(context, list(cls.repositories(context)))
- else:
- Dnf.setup(context, list(cls.repositories(context)))
+ cls.package_manager(context.config).setup(context, list(cls.repositories(context)))
@classmethod
def install(cls, context: Context) -> None:
yield RpmRepository(id="local-mirror", url=f"baseurl={context.config.local_mirror}", gpgurls=())
return
- zypper = context.config.find_binary("zypper")
+ zypper = cls.package_manager(context.config) is Zypper
mirror = context.config.mirror or "https://download.opensuse.org"
if context.config.release == "tumbleweed" or context.config.release.isdigit():