67 lines
2.6 KiB
Diff
67 lines
2.6 KiB
Diff
--- tmt-1.24.1/tmt/steps/prepare/install.py.old 2023-06-22 11:57:06.633409186 +0200
|
|
+++ tmt-1.24.1/tmt/steps/prepare/install.py 2023-06-22 11:57:45.239501579 +0200
|
|
@@ -273,6 +273,7 @@ class InstallDnf(InstallBase):
|
|
|
|
package_manager = "dnf"
|
|
copr_plugin = "dnf-plugins-core"
|
|
+ skip_missing_option = "--skip-broken"
|
|
|
|
def prepare_command(self) -> Tuple[Command, Command]:
|
|
""" Prepare installation command """
|
|
@@ -290,7 +291,7 @@ class InstallDnf(InstallBase):
|
|
command += Command(self.package_manager)
|
|
|
|
if self.skip_missing:
|
|
- command += Command('--skip-broken')
|
|
+ options += Command(self.skip_missing_option)
|
|
|
|
return (command, options)
|
|
|
|
@@ -356,6 +357,14 @@ class InstallDnf(InstallBase):
|
|
self.guest.execute(command)
|
|
|
|
|
|
+class InstallDnf5(InstallDnf):
|
|
+ """ Install packages using dnf5 """
|
|
+
|
|
+ package_manager = "dnf5"
|
|
+ copr_plugin = "dnf5-plugins"
|
|
+ skip_missing_option = "--skip-unavailable"
|
|
+
|
|
+
|
|
class InstallYum(InstallDnf):
|
|
""" Install packages using yum """
|
|
|
|
@@ -592,6 +601,9 @@ class PrepareInstall(tmt.steps.prepare.P
|
|
elif guest.facts.package_manager == GuestPackageManager.DNF:
|
|
installer = InstallDnf(logger=logger, parent=self, guest=guest)
|
|
|
|
+ elif guest.facts.package_manager == GuestPackageManager.DNF5:
|
|
+ installer = InstallDnf5(logger=logger, parent=self, guest=guest)
|
|
+
|
|
elif guest.facts.package_manager == GuestPackageManager.YUM:
|
|
installer = InstallYum(logger=logger, parent=self, guest=guest)
|
|
|
|
--- tmt-1.24.1/tmt/steps/provision/__init__.py.old 2023-06-22 11:56:50.556370700 +0200
|
|
+++ tmt-1.24.1/tmt/steps/provision/__init__.py 2023-06-22 11:58:00.472538032 +0200
|
|
@@ -64,6 +64,7 @@ class CheckRsyncOutcome(enum.Enum):
|
|
|
|
class GuestPackageManager(enum.Enum):
|
|
DNF = 'dnf'
|
|
+ DNF5 = 'dnf5'
|
|
YUM = 'yum'
|
|
RPM_OSTREE = 'rpm-ostree'
|
|
|
|
@@ -274,8 +275,9 @@ class GuestFacts(tmt.utils.SerializableC
|
|
guest,
|
|
[
|
|
(Command('stat', '/run/ostree-booted'), GuestPackageManager.RPM_OSTREE),
|
|
- (Command('rpm', '-q', 'dnf'), GuestPackageManager.DNF),
|
|
- (Command('rpm', '-q', 'yum'), GuestPackageManager.YUM),
|
|
+ (Command('dnf5', '--version'), GuestPackageManager.DNF5),
|
|
+ (Command('dnf', '--version'), GuestPackageManager.DNF),
|
|
+ (Command('yum', '--version'), GuestPackageManager.YUM),
|
|
# And, one day, we'd follow up on this with...
|
|
# (Command('dpkg', '-l', 'apt'), 'apt')
|
|
])
|