From 5923a9cc15b9fe541e71a9ef4bb550b6ddc481fc Mon Sep 17 00:00:00 2001 From: Jaroslav Rohel Date: Wed, 12 Jun 2019 13:22:31 +0200 Subject: [PATCH] [context] Fix: Don't disable nonexistent but required repositories (RhBug:1689331) The nonexistent local/media repositories were automatically disabled during check (in function dnf_repo_check_internal). So application (the Packagekit daemon) that reuses the deactivated repository object then silently skip the repository as disabled. We should not to disable repositories which are required (skip_if_unavailable=0). Fix for https://bugzilla.redhat.com/show_bug.cgi?id=1689331 --- libdnf/dnf-repo.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libdnf/dnf-repo.cpp b/libdnf/dnf-repo.cpp index d49c306..a358356 100644 --- a/libdnf/dnf-repo.cpp +++ b/libdnf/dnf-repo.cpp @@ -1312,7 +1312,8 @@ dnf_repo_check_internal(DnfRepo *repo, /* has the media repo vanished? */ if (priv->kind == DNF_REPO_KIND_MEDIA && !g_file_test(priv->location, G_FILE_TEST_EXISTS)) { - priv->enabled = DNF_REPO_ENABLED_NONE; + if (!dnf_repo_get_required(repo)) + priv->enabled = DNF_REPO_ENABLED_NONE; g_set_error(error, DNF_ERROR, DNF_ERROR_REPO_NOT_AVAILABLE, @@ -1323,7 +1324,8 @@ dnf_repo_check_internal(DnfRepo *repo, /* has the local repo vanished? */ if (priv->kind == DNF_REPO_KIND_LOCAL && !g_file_test(priv->location, G_FILE_TEST_EXISTS)) { - priv->enabled = DNF_REPO_ENABLED_NONE; + if (!dnf_repo_get_required(repo)) + priv->enabled = DNF_REPO_ENABLED_NONE; g_set_error(error, DNF_ERROR, DNF_ERROR_REPO_NOT_AVAILABLE, -- libgit2 0.28.2