dcavalca / rpms / libdnf

Forked from rpms/libdnf 2 years ago
Clone
Blob Blame History Raw
From 15a06ef27466f42a8dc39823385f0ca655e80b12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
Date: Sun, 25 Apr 2021 19:47:53 +0200
Subject: [PATCH 06/19] Revert "Add additional fallback for module resolve"

This reverts commit fc98ce725181a77bbe0ab157d40443467612c0c0.
---
 libdnf/module/ModulePackageContainer.cpp | 32 ++++++++----------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git a/libdnf/module/ModulePackageContainer.cpp b/libdnf/module/ModulePackageContainer.cpp
index ee90056c..e19db08b 100644
--- a/libdnf/module/ModulePackageContainer.cpp
+++ b/libdnf/module/ModulePackageContainer.cpp
@@ -702,33 +702,23 @@ ModulePackageContainer::Impl::moduleSolve(const std::vector<ModulePackage *> & m
     std::vector<std::vector<std::string>> problems;
     auto problemType = ModulePackageContainer::ModuleErrorType::NO_ERROR;
     if (ret) {
-        // Goal run ignor problem in defaults
         problems = goal.describeAllProblemRules(false);
         ret = goal.run(DNF_FORCE_BEST);
         if (ret) {
-            // Goal run ignor problem in defaults and in latest
-            ret = goal.run(DNF_NONE);
+            // Conflicting modules has to be removed otherwice it could result than one of them will
+            // be active
+            auto conflictingPkgs = goal.listConflictPkgs(DNF_PACKAGE_STATE_AVAILABLE);
+            dnf_sack_add_excludes(moduleSack, conflictingPkgs.get());
+            ret = goalWeak.run(DNF_NONE);
             if (ret) {
-                // Conflicting modules has to be removed otherwice it could result than one of them will
-                // be active
-                auto conflictingPkgs = goal.listConflictPkgs(DNF_PACKAGE_STATE_AVAILABLE);
-                dnf_sack_add_excludes(moduleSack, conflictingPkgs.get());
-                ret = goalWeak.run(DNF_NONE);
-                if (ret) {
-                    auto logger(Log::getLogger());
-                    logger->critical("Modularity filtering totally broken\n");
-                    problemType = ModulePackageContainer::ModuleErrorType::CANNOT_RESOLVE_MODULES;
-                    activatedModules.reset();
-                } else {
-                    problemType = ModulePackageContainer::ModuleErrorType::ERROR;
-                    Query query(moduleSack, Query::ExcludeFlags::IGNORE_EXCLUDES);
-                    goal2name_query(goalWeak, query);
-                    activatedModules.reset(new PackageSet(*query.runSet()));
-                }
+                auto logger(Log::getLogger());
+                logger->critical("Modularity filtering totally broken\n");
+                problemType = ModulePackageContainer::ModuleErrorType::CANNOT_RESOLVE_MODULES;
+                activatedModules.reset();
             } else {
-                problemType = ModulePackageContainer::ModuleErrorType::ERROR_IN_DEFAULTS;
+                problemType = ModulePackageContainer::ModuleErrorType::ERROR;
                 Query query(moduleSack, Query::ExcludeFlags::IGNORE_EXCLUDES);
-                goal2name_query(goal, query);
+                goal2name_query(goalWeak, query);
                 activatedModules.reset(new PackageSet(*query.runSet()));
             }
         } else {
-- 
2.31.1