import libdnf-0.65.0-5.el9_0
This commit is contained in:
commit
b35c2792c9
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/libdnf-0.65.0.tar.gz
|
1
.libdnf.metadata
Normal file
1
.libdnf.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
95bd8ed682ca9c1b20913afba767c5e91fa3da13 SOURCES/libdnf-0.65.0.tar.gz
|
@ -0,0 +1,383 @@
|
|||||||
|
From 5fbecb9533a5584d20a2b76f5816e58c2ffbb6f6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Rohel <jrohel@redhat.com>
|
||||||
|
Date: Wed, 2 Feb 2022 08:45:36 +0100
|
||||||
|
Subject: [PATCH 1/2] Use `rpmdbCookie` from librpm, remove
|
||||||
|
`hawkey.Sack._rpmdb_version`
|
||||||
|
|
||||||
|
`dnf_sack_get_rpmdb_version` function that computed the hash of installed
|
||||||
|
packages was removed. `rpmdbCookie` function from librpm is used in context
|
||||||
|
part of libdnf instead.
|
||||||
|
|
||||||
|
The private Python function `hawkey.Sack._rpmdb_version()` was removed too.
|
||||||
|
It was used by DNF. The new version of DNF uses
|
||||||
|
`rpm.TransactionSet.dbCookie()` function from librpm, which wraps
|
||||||
|
the `rpmdbCookie` function. So the same librpm function will be used
|
||||||
|
in context part of libdnf (e.g. by microdnf) and in the DNF.
|
||||||
|
|
||||||
|
`rpmdbCookie` funkcion is safer. It also detect reinstalation of package
|
||||||
|
as a change. That will be needed in the future to determining if the libsolv
|
||||||
|
cache is still valid.
|
||||||
|
It also solves the libdnf problem with SHA1 in FIPS mode.
|
||||||
|
|
||||||
|
= changelog =
|
||||||
|
msg: Use `rpmdbCookie` from librpm, remove `hawkey.Sack._rpmdb_version`
|
||||||
|
type: bugfix
|
||||||
|
related: https://bugzilla.redhat.com/show_bug.cgi?id=2043476
|
||||||
|
---
|
||||||
|
libdnf/dnf-sack-private.hpp | 15 ------------
|
||||||
|
libdnf/dnf-sack.cpp | 40 -------------------------------
|
||||||
|
libdnf/dnf-transaction.cpp | 48 +++++++++++++++++++++----------------
|
||||||
|
python/hawkey/sack-py.cpp | 8 -------
|
||||||
|
4 files changed, 27 insertions(+), 84 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libdnf/dnf-sack-private.hpp b/libdnf/dnf-sack-private.hpp
|
||||||
|
index 89873534..2db96320 100644
|
||||||
|
--- a/libdnf/dnf-sack-private.hpp
|
||||||
|
+++ b/libdnf/dnf-sack-private.hpp
|
||||||
|
@@ -81,19 +81,4 @@ std::pair<std::vector<std::vector<std::string>>, libdnf::ModulePackageContainer:
|
||||||
|
|
||||||
|
std::vector<libdnf::ModulePackage *> requiresModuleEnablement(DnfSack * sack, const libdnf::PackageSet * installSet);
|
||||||
|
|
||||||
|
-/**
|
||||||
|
- * @brief Return fingerprint of installed RPMs.
|
||||||
|
- * The format is <count>:<hash>.
|
||||||
|
- * <count> is a count of installed RPMs.
|
||||||
|
- * <hash> is a sha1 hash of sorted sha1hdr hashes of installed RPMs.
|
||||||
|
- *
|
||||||
|
- * The count can be computed from the command line by running:
|
||||||
|
- * rpm -qa --qf='%{name}\n' | grep -v '^gpg-pubkey$' | wc -l
|
||||||
|
- *
|
||||||
|
- * The hash can be computed from the command line by running:
|
||||||
|
- * rpm -qa --qf='%{name} %{sha1header}\n' | grep -v '^gpg-pubkey ' \
|
||||||
|
- * | cut -d ' ' -f 2 | LC_ALL=C sort | tr -d '\n' | sha1sum
|
||||||
|
- */
|
||||||
|
-std::string dnf_sack_get_rpmdb_version(DnfSack *sack);
|
||||||
|
-
|
||||||
|
#endif // HY_SACK_INTERNAL_H
|
||||||
|
diff --git a/libdnf/dnf-sack.cpp b/libdnf/dnf-sack.cpp
|
||||||
|
index a88e8a1c..13977730 100644
|
||||||
|
--- a/libdnf/dnf-sack.cpp
|
||||||
|
+++ b/libdnf/dnf-sack.cpp
|
||||||
|
@@ -80,7 +80,6 @@ extern "C" {
|
||||||
|
#include "module/ModulePackage.hpp"
|
||||||
|
#include "repo/Repo-private.hpp"
|
||||||
|
#include "repo/solvable/DependencyContainer.hpp"
|
||||||
|
-#include "utils/crypto/sha1.hpp"
|
||||||
|
#include "utils/File.hpp"
|
||||||
|
#include "utils/utils.hpp"
|
||||||
|
#include "log.hpp"
|
||||||
|
@@ -2535,42 +2534,3 @@ std::pair<std::vector<std::vector<std::string>>, libdnf::ModulePackageContainer:
|
||||||
|
setModuleExcludes(sack, hotfixRepos, *moduleContainer);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
-std::string dnf_sack_get_rpmdb_version(DnfSack *sack) {
|
||||||
|
- // collect all sha1hdr checksums
|
||||||
|
- // they are sufficiently unique IDs that represent installed RPMs
|
||||||
|
- std::vector<std::string> checksums;
|
||||||
|
-
|
||||||
|
- // iterate all @System repo RPMs (rpmdb records)
|
||||||
|
- libdnf::Query query{sack, libdnf::Query::ExcludeFlags::IGNORE_EXCLUDES};
|
||||||
|
- query.installed();
|
||||||
|
-
|
||||||
|
- auto pset = query.getResultPset();
|
||||||
|
- Id id = -1;
|
||||||
|
- while(true) {
|
||||||
|
- id = pset->next(id);
|
||||||
|
- if (id == -1) {
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- DnfPackage *pkg = dnf_package_new(sack, id);
|
||||||
|
- // store pkgid (equals to sha1hdr)
|
||||||
|
- checksums.push_back(libdnf::string::fromCstring(dnf_package_get_pkgid(pkg)));
|
||||||
|
- g_object_unref(pkg);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // sort checksums to compute the output checksum always the same
|
||||||
|
- std::sort(checksums.begin(), checksums.end());
|
||||||
|
-
|
||||||
|
- SHA1Hash h;
|
||||||
|
- for (auto & checksum : checksums) {
|
||||||
|
- h.update(checksum.c_str());
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // build <count>:<hash> output
|
||||||
|
- std::ostringstream result;
|
||||||
|
- result << checksums.size();
|
||||||
|
- result << ":";
|
||||||
|
- result << h.hexdigest();
|
||||||
|
-
|
||||||
|
- return result.str();
|
||||||
|
-}
|
||||||
|
diff --git a/libdnf/dnf-transaction.cpp b/libdnf/dnf-transaction.cpp
|
||||||
|
index e0966582..d93c5ec6 100644
|
||||||
|
--- a/libdnf/dnf-transaction.cpp
|
||||||
|
+++ b/libdnf/dnf-transaction.cpp
|
||||||
|
@@ -28,6 +28,7 @@
|
||||||
|
* This object represents an RPM transaction.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <rpm/rpmdb.h>
|
||||||
|
#include <rpm/rpmlib.h>
|
||||||
|
#include <rpm/rpmlog.h>
|
||||||
|
#include <rpm/rpmts.h>
|
||||||
|
@@ -53,6 +54,7 @@
|
||||||
|
#include "transaction/Swdb.hpp"
|
||||||
|
#include "transaction/Transformer.hpp"
|
||||||
|
#include "utils/bgettext/bgettext-lib.h"
|
||||||
|
+#include "utils/utils.hpp"
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
DNF_TRANSACTION_STEP_STARTED,
|
||||||
|
@@ -1136,9 +1138,8 @@ dnf_transaction_commit(DnfTransaction *transaction, HyGoal goal, DnfState *state
|
||||||
|
libdnf::Swdb *swdb = priv->swdb;
|
||||||
|
PluginHookContextTransactionData data{PLUGIN_HOOK_ID_CONTEXT_PRE_TRANSACTION, transaction, goal, state};
|
||||||
|
DnfSack * sack = hy_goal_get_sack(goal);
|
||||||
|
- DnfSack * rpmdb_version_sack = NULL;
|
||||||
|
- std::string rpmdb_begin;
|
||||||
|
- std::string rpmdb_end;
|
||||||
|
+ std::unique_ptr<char, decltype(free)*> rpmdb_cookie_uptr{nullptr, free};
|
||||||
|
+ std::string rpmdb_cookie;
|
||||||
|
|
||||||
|
/* take lock */
|
||||||
|
ret = dnf_state_take_lock(state, DNF_LOCK_TYPE_RPMDB, DNF_LOCK_MODE_PROCESS, error);
|
||||||
|
@@ -1431,17 +1432,24 @@ dnf_transaction_commit(DnfTransaction *transaction, HyGoal goal, DnfState *state
|
||||||
|
if (!dnf_context_plugin_hook(priv->context, PLUGIN_HOOK_ID_CONTEXT_PRE_TRANSACTION, &data, nullptr))
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
- // FIXME get commandline
|
||||||
|
- if (sack) {
|
||||||
|
- rpmdb_begin = dnf_sack_get_rpmdb_version(sack);
|
||||||
|
- } else {
|
||||||
|
- // if sack is not available, create a custom instance
|
||||||
|
- rpmdb_version_sack = dnf_sack_new();
|
||||||
|
- dnf_sack_load_system_repo(rpmdb_version_sack, nullptr, DNF_SACK_LOAD_FLAG_NONE, nullptr);
|
||||||
|
- rpmdb_begin = dnf_sack_get_rpmdb_version(rpmdb_version_sack);
|
||||||
|
- g_object_unref(rpmdb_version_sack);
|
||||||
|
+ // Open rpm database if it is not already open
|
||||||
|
+ if (!rpmtsGetRdb(priv->ts)) {
|
||||||
|
+ rc = rpmtsOpenDB(priv->ts, rpmtsGetDBMode(priv->ts));
|
||||||
|
+ if (rc != 0) {
|
||||||
|
+ ret = FALSE;
|
||||||
|
+ g_set_error(
|
||||||
|
+ error, DNF_ERROR, DNF_ERROR_INTERNAL_ERROR, _("Error %i opening rpm database"), rc);
|
||||||
|
+ goto out;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
- swdb->beginTransaction(_get_current_time(), rpmdb_begin, "", priv->uid);
|
||||||
|
+
|
||||||
|
+ rpmdb_cookie_uptr.reset(rpmdbCookie(rpmtsGetRdb(priv->ts)));
|
||||||
|
+ rpmdb_cookie = libdnf::string::fromCstring(rpmdb_cookie_uptr.get());
|
||||||
|
+ if (rpmdb_cookie.empty()) {
|
||||||
|
+ g_critical(_("The rpmdbCookie() function did not return cookie of rpm database."));
|
||||||
|
+ }
|
||||||
|
+ // FIXME get commandline
|
||||||
|
+ swdb->beginTransaction(_get_current_time(), rpmdb_cookie, "", priv->uid);
|
||||||
|
|
||||||
|
/* run the transaction */
|
||||||
|
priv->state = dnf_state_get_child(state);
|
||||||
|
@@ -1481,14 +1489,12 @@ dnf_transaction_commit(DnfTransaction *transaction, HyGoal goal, DnfState *state
|
||||||
|
if (!ret)
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
- // finalize swdb transaction
|
||||||
|
- // always load a new sack with rpmdb state after the transaction
|
||||||
|
- rpmdb_version_sack = dnf_sack_new();
|
||||||
|
- dnf_sack_load_system_repo(rpmdb_version_sack, nullptr, DNF_SACK_LOAD_FLAG_NONE, nullptr);
|
||||||
|
- rpmdb_end = dnf_sack_get_rpmdb_version(rpmdb_version_sack);
|
||||||
|
- g_object_unref(rpmdb_version_sack);
|
||||||
|
-
|
||||||
|
- swdb->endTransaction(_get_current_time(), rpmdb_end.c_str(), libdnf::TransactionState::DONE);
|
||||||
|
+ rpmdb_cookie_uptr.reset(rpmdbCookie(rpmtsGetRdb(priv->ts)));
|
||||||
|
+ rpmdb_cookie = libdnf::string::fromCstring(rpmdb_cookie_uptr.get());
|
||||||
|
+ if (rpmdb_cookie.empty()) {
|
||||||
|
+ g_critical(_("The rpmdbCookie() function did not return cookie of rpm database."));
|
||||||
|
+ }
|
||||||
|
+ swdb->endTransaction(_get_current_time(), rpmdb_cookie, libdnf::TransactionState::DONE);
|
||||||
|
swdb->closeTransaction();
|
||||||
|
|
||||||
|
data.hookId = PLUGIN_HOOK_ID_CONTEXT_TRANSACTION;
|
||||||
|
diff --git a/python/hawkey/sack-py.cpp b/python/hawkey/sack-py.cpp
|
||||||
|
index 4de499cb..fcb5cd61 100644
|
||||||
|
--- a/python/hawkey/sack-py.cpp
|
||||||
|
+++ b/python/hawkey/sack-py.cpp
|
||||||
|
@@ -783,13 +783,6 @@ load_repo(_SackObject *self, PyObject *args, PyObject *kwds) try
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
} CATCH_TO_PYTHON
|
||||||
|
|
||||||
|
-static PyObject *
|
||||||
|
-rpmdb_version(_SackObject *self, PyObject *unused) try
|
||||||
|
-{
|
||||||
|
- auto result = dnf_sack_get_rpmdb_version(self->sack);
|
||||||
|
- return PyString_FromString(result.c_str());
|
||||||
|
-} CATCH_TO_PYTHON
|
||||||
|
-
|
||||||
|
static Py_ssize_t
|
||||||
|
len(_SackObject *self) try
|
||||||
|
{
|
||||||
|
@@ -858,7 +851,6 @@ PyMethodDef sack_methods[] = {
|
||||||
|
METH_VARARGS | METH_KEYWORDS, NULL},
|
||||||
|
{"load_repo", (PyCFunction)load_repo, METH_VARARGS | METH_KEYWORDS,
|
||||||
|
NULL},
|
||||||
|
- {"_rpmdb_version", (PyCFunction)rpmdb_version, METH_VARARGS | METH_KEYWORDS, NULL},
|
||||||
|
{NULL} /* sentinel */
|
||||||
|
};
|
||||||
|
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
||||||
|
|
||||||
|
From 3dae1fd8754ec9521e16e2e11a7c4bf2c81bbb02 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Rohel <jrohel@redhat.com>
|
||||||
|
Date: Wed, 2 Feb 2022 18:00:39 +0100
|
||||||
|
Subject: [PATCH 2/2] Remove class `SHA1Hash`, which is no longer used, remove
|
||||||
|
OpenSSL require
|
||||||
|
|
||||||
|
The class was used by the `dnf_sack_get_rpmdb_version` function, which was
|
||||||
|
removed. The `rpmdbCookie` function from librpm is used instead.
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 1 -
|
||||||
|
libdnf.spec | 1 -
|
||||||
|
libdnf/CMakeLists.txt | 1 -
|
||||||
|
libdnf/utils/CMakeLists.txt | 1 -
|
||||||
|
libdnf/utils/crypto/CMakeLists.txt | 5 -----
|
||||||
|
libdnf/utils/crypto/sha1.cpp | 36 ------------------------------
|
||||||
|
libdnf/utils/crypto/sha1.hpp | 25 ---------------------
|
||||||
|
7 files changed, 70 deletions(-)
|
||||||
|
delete mode 100644 libdnf/utils/crypto/CMakeLists.txt
|
||||||
|
delete mode 100644 libdnf/utils/crypto/sha1.cpp
|
||||||
|
delete mode 100644 libdnf/utils/crypto/sha1.hpp
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 60cf1b8c..7149b9e6 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -52,7 +52,6 @@ endif()
|
||||||
|
# build dependencies
|
||||||
|
find_package(Gpgme REQUIRED)
|
||||||
|
find_package(LibSolv 0.6.30 REQUIRED COMPONENTS ext)
|
||||||
|
-find_package(OpenSSL REQUIRED)
|
||||||
|
|
||||||
|
|
||||||
|
# build dependencies via pkg-config
|
||||||
|
diff --git a/libdnf.spec b/libdnf.spec
|
||||||
|
index 697911f0..89d2fb40 100644
|
||||||
|
--- a/libdnf.spec
|
||||||
|
+++ b/libdnf.spec
|
||||||
|
@@ -83,7 +83,6 @@ BuildRequires: pkgconfig(zck) >= 0.9.11
|
||||||
|
BuildRequires: pkgconfig(sqlite3)
|
||||||
|
BuildRequires: pkgconfig(json-c)
|
||||||
|
BuildRequires: pkgconfig(cppunit)
|
||||||
|
-BuildRequires: pkgconfig(libcrypto)
|
||||||
|
BuildRequires: pkgconfig(modulemd-2.0) >= %{libmodulemd_version}
|
||||||
|
BuildRequires: pkgconfig(smartcols)
|
||||||
|
BuildRequires: gettext
|
||||||
|
diff --git a/libdnf/CMakeLists.txt b/libdnf/CMakeLists.txt
|
||||||
|
index 998a6f94..9e71d139 100644
|
||||||
|
--- a/libdnf/CMakeLists.txt
|
||||||
|
+++ b/libdnf/CMakeLists.txt
|
||||||
|
@@ -75,7 +75,6 @@ target_link_libraries(libdnf
|
||||||
|
${GLIB_GIO_UNIX_LIBRARIES}
|
||||||
|
${LIBSOLV_LIBRARY}
|
||||||
|
${LIBSOLV_EXT_LIBRARY}
|
||||||
|
- ${OPENSSL_CRYPTO_LIBRARY}
|
||||||
|
${RPM_LIBRARIES}
|
||||||
|
${SCOLS_LIBRARIES}
|
||||||
|
${SQLite3_LIBRARIES}
|
||||||
|
diff --git a/libdnf/utils/CMakeLists.txt b/libdnf/utils/CMakeLists.txt
|
||||||
|
index 71a1042c..4ec456ef 100644
|
||||||
|
--- a/libdnf/utils/CMakeLists.txt
|
||||||
|
+++ b/libdnf/utils/CMakeLists.txt
|
||||||
|
@@ -1,5 +1,4 @@
|
||||||
|
add_subdirectory(bgettext)
|
||||||
|
-add_subdirectory(crypto)
|
||||||
|
add_subdirectory(iniparser)
|
||||||
|
add_subdirectory(regex)
|
||||||
|
add_subdirectory(sqlite3)
|
||||||
|
diff --git a/libdnf/utils/crypto/CMakeLists.txt b/libdnf/utils/crypto/CMakeLists.txt
|
||||||
|
deleted file mode 100644
|
||||||
|
index 149d100c..00000000
|
||||||
|
--- a/libdnf/utils/crypto/CMakeLists.txt
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,5 +0,0 @@
|
||||||
|
-set(UTILS_SOURCES
|
||||||
|
- ${UTILS_SOURCES}
|
||||||
|
- ${CMAKE_CURRENT_SOURCE_DIR}/sha1.cpp
|
||||||
|
- PARENT_SCOPE
|
||||||
|
-)
|
||||||
|
diff --git a/libdnf/utils/crypto/sha1.cpp b/libdnf/utils/crypto/sha1.cpp
|
||||||
|
deleted file mode 100644
|
||||||
|
index 1533ee6b..00000000
|
||||||
|
--- a/libdnf/utils/crypto/sha1.cpp
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,36 +0,0 @@
|
||||||
|
-#include <cstring>
|
||||||
|
-
|
||||||
|
-#include <iomanip>
|
||||||
|
-#include <sstream>
|
||||||
|
-
|
||||||
|
-#include "sha1.hpp"
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-SHA1Hash::SHA1Hash()
|
||||||
|
-{
|
||||||
|
- md_ctx = EVP_MD_CTX_new();
|
||||||
|
- EVP_DigestInit_ex(md_ctx, EVP_sha1(), NULL);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-void
|
||||||
|
-SHA1Hash::update(const char * data)
|
||||||
|
-{
|
||||||
|
- EVP_DigestUpdate(md_ctx, data, strlen(data));
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-std::string
|
||||||
|
-SHA1Hash::hexdigest()
|
||||||
|
-{
|
||||||
|
- unsigned char md[digestLength];
|
||||||
|
- EVP_DigestFinal_ex(md_ctx, md, NULL);
|
||||||
|
-
|
||||||
|
- std::stringstream ss;
|
||||||
|
- for(int i=0; i<digestLength; i++) {
|
||||||
|
- ss << std::setfill('0') << std::setw(2) << std::hex << static_cast<int>(md[i]);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- EVP_MD_CTX_free(md_ctx);
|
||||||
|
- return ss.str();
|
||||||
|
-}
|
||||||
|
diff --git a/libdnf/utils/crypto/sha1.hpp b/libdnf/utils/crypto/sha1.hpp
|
||||||
|
deleted file mode 100644
|
||||||
|
index 9f1dfdeb..00000000
|
||||||
|
--- a/libdnf/utils/crypto/sha1.hpp
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,25 +0,0 @@
|
||||||
|
-#include <string>
|
||||||
|
-#include <openssl/sha.h>
|
||||||
|
-#include <openssl/evp.h>
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-/*
|
||||||
|
-USAGE:
|
||||||
|
-
|
||||||
|
-SHA1Hash h;
|
||||||
|
-h.update("foo");
|
||||||
|
-h.update("bar");
|
||||||
|
-std::cout << h.hexdigest() << std::endl;
|
||||||
|
-*/
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-class SHA1Hash {
|
||||||
|
-public:
|
||||||
|
- SHA1Hash();
|
||||||
|
- void update(const char *data);
|
||||||
|
- std::string hexdigest();
|
||||||
|
- static constexpr int digestLength = SHA_DIGEST_LENGTH;
|
||||||
|
-
|
||||||
|
-private:
|
||||||
|
- EVP_MD_CTX *md_ctx;
|
||||||
|
-};
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
@ -0,0 +1,70 @@
|
|||||||
|
From 025d477f63baf3df2f6da3b10a21f00d4a339073 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Mracek <jmracek@redhat.com>
|
||||||
|
Date: Tue, 8 Feb 2022 09:30:03 +0100
|
||||||
|
Subject: [PATCH] Skip rich deps for autodetection of unmet dependencies (RhBug:2033130, 2048394)
|
||||||
|
|
||||||
|
Rich dependencies are difficult to properly evaluate because we do not
|
||||||
|
have enough information about past and only libsolv is capable to
|
||||||
|
evaluate it in comparison to present state of the system.
|
||||||
|
|
||||||
|
Additionally - rich deps are used for langpacks therefore disabling
|
||||||
|
unmet rich deps will have a negative impact on UX.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=2048394
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=2033130
|
||||||
|
---
|
||||||
|
libdnf/goal/Goal.cpp | 22 +++++++++++++++++++---
|
||||||
|
1 file changed, 19 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libdnf/goal/Goal.cpp b/libdnf/goal/Goal.cpp
|
||||||
|
index 2b698f7..ebe2fbd 100644
|
||||||
|
--- a/libdnf/goal/Goal.cpp
|
||||||
|
+++ b/libdnf/goal/Goal.cpp
|
||||||
|
@@ -835,8 +835,12 @@ Goal::exclude_from_weak_autodetect()
|
||||||
|
installed_names.push_back(dnf_package_get_name(pkg));
|
||||||
|
std::unique_ptr<libdnf::DependencyContainer> recommends(dnf_package_get_recommends(pkg));
|
||||||
|
for (int i = 0; i < recommends->count(); ++i) {
|
||||||
|
- Query query(base_query);
|
||||||
|
std::unique_ptr<libdnf::Dependency> dep(recommends->getPtr(i));
|
||||||
|
+ const char * dep_string = dep->toString();
|
||||||
|
+ if (dep_string[0] == '(') {
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ Query query(base_query);
|
||||||
|
const char * version = dep->getVersion();
|
||||||
|
// There can be installed provider in different version or upgraded packed can recommend a different version
|
||||||
|
// Ignore version and search only by reldep name
|
||||||
|
@@ -858,7 +862,7 @@ Goal::exclude_from_weak_autodetect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- // Invesigate supplements of only available packages with a different name to installed packages
|
||||||
|
+ // Investigate supplements of only available packages with a different name to installed packages
|
||||||
|
installed_names.push_back(nullptr);
|
||||||
|
base_query.addFilter(HY_PKG_NAME, HY_NEQ, installed_names.data());
|
||||||
|
auto * available_pset = base_query.getResultPset();
|
||||||
|
@@ -870,8 +874,20 @@ Goal::exclude_from_weak_autodetect()
|
||||||
|
if (supplements->count() == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
+ libdnf::DependencyContainer supplements_without_rich(getSack());
|
||||||
|
+ for (int i = 0; i < supplements->count(); ++i) {
|
||||||
|
+ std::unique_ptr<libdnf::Dependency> dep(supplements->getPtr(i));
|
||||||
|
+ const char * dep_string = dep->toString();
|
||||||
|
+ if (dep_string[0] == '(') {
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ supplements_without_rich.add(dep.get());
|
||||||
|
+ }
|
||||||
|
+ if (supplements_without_rich.count() == 0) {
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
Query query(installed_query);
|
||||||
|
- query.addFilter(HY_PKG_PROVIDES, supplements.get());
|
||||||
|
+ query.addFilter(HY_PKG_PROVIDES, &supplements_without_rich);
|
||||||
|
// When supplemented package already installed, exclude_from_weak available package
|
||||||
|
if (!query.empty()) {
|
||||||
|
add_exclude_from_weak(pkg);
|
||||||
|
--
|
||||||
|
libgit2 1.1.0
|
||||||
|
|
4689
SOURCES/0003-Update-translations-RhBug-2017349.patch
Normal file
4689
SOURCES/0003-Update-translations-RhBug-2017349.patch
Normal file
File diff suppressed because it is too large
Load Diff
941
SPECS/libdnf.spec
Normal file
941
SPECS/libdnf.spec
Normal file
@ -0,0 +1,941 @@
|
|||||||
|
%global libsolv_version 0.7.20
|
||||||
|
%global libmodulemd_version 2.13.0
|
||||||
|
%global librepo_version 1.13.1
|
||||||
|
%global dnf_conflict 4.10.0-4
|
||||||
|
%global swig_version 3.0.12
|
||||||
|
%global libdnf_major_version 0
|
||||||
|
%global libdnf_minor_version 65
|
||||||
|
%global libdnf_micro_version 0
|
||||||
|
|
||||||
|
%define __cmake_in_source_build 1
|
||||||
|
|
||||||
|
# set sphinx package name according to distro
|
||||||
|
%global requires_python2_sphinx python2-sphinx
|
||||||
|
%global requires_python3_sphinx python3-sphinx
|
||||||
|
%if 0%{?rhel} == 7
|
||||||
|
%global requires_python2_sphinx python-sphinx
|
||||||
|
%endif
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
%global requires_python2_sphinx python2-Sphinx
|
||||||
|
%global requires_python3_sphinx python3-Sphinx
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%bcond_with valgrind
|
||||||
|
|
||||||
|
# Do not build bindings for python3 for RHEL <= 7
|
||||||
|
%if 0%{?rhel} && 0%{?rhel} <= 7
|
||||||
|
%bcond_with python3
|
||||||
|
%else
|
||||||
|
%bcond_without python3
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?rhel} > 7 || 0%{?fedora} > 29
|
||||||
|
# Disable python2 build by default
|
||||||
|
%bcond_with python2
|
||||||
|
%else
|
||||||
|
%bcond_without python2
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?rhel} && ! 0%{?centos}
|
||||||
|
%bcond_without rhsm
|
||||||
|
%else
|
||||||
|
%bcond_with rhsm
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%bcond_with zchunk
|
||||||
|
%else
|
||||||
|
%bcond_without zchunk
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%bcond_with sanitizers
|
||||||
|
|
||||||
|
%global _cmake_opts \\\
|
||||||
|
-DENABLE_RHSM_SUPPORT=%{?with_rhsm:ON}%{!?with_rhsm:OFF} \\\
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
Name: libdnf
|
||||||
|
Version: %{libdnf_major_version}.%{libdnf_minor_version}.%{libdnf_micro_version}
|
||||||
|
Release: 5%{?dist}
|
||||||
|
Summary: Library providing simplified C and Python API to libsolv
|
||||||
|
License: LGPLv2+
|
||||||
|
URL: https://github.com/rpm-software-management/libdnf
|
||||||
|
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Patch1: 0001-Use-rpmdbCookie-from-librpm-remove-hawkey.Sack._rpmd.patch
|
||||||
|
Patch2: 0002-Skip-rich-deps-for-autodetection-of-unmet-dependencies-RhBug2033130-2048394.patch
|
||||||
|
Patch3: 0003-Update-translations-RhBug-2017349.patch
|
||||||
|
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: libsolv-devel >= %{libsolv_version}
|
||||||
|
BuildRequires: pkgconfig(librepo) >= %{librepo_version}
|
||||||
|
BuildRequires: pkgconfig(check)
|
||||||
|
%if %{with valgrind}
|
||||||
|
BuildRequires: valgrind
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.46.0
|
||||||
|
BuildRequires: pkgconfig(gtk-doc)
|
||||||
|
BuildRequires: rpm-devel >= 4.11.0
|
||||||
|
%if %{with rhsm}
|
||||||
|
BuildRequires: pkgconfig(librhsm) >= 0.0.3
|
||||||
|
%endif
|
||||||
|
%if %{with zchunk}
|
||||||
|
BuildRequires: pkgconfig(zck) >= 0.9.11
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(sqlite3)
|
||||||
|
BuildRequires: pkgconfig(json-c)
|
||||||
|
BuildRequires: pkgconfig(cppunit)
|
||||||
|
BuildRequires: pkgconfig(modulemd-2.0) >= %{libmodulemd_version}
|
||||||
|
BuildRequires: pkgconfig(smartcols)
|
||||||
|
BuildRequires: gettext
|
||||||
|
BuildRequires: gpgme-devel
|
||||||
|
|
||||||
|
%if %{with sanitizers}
|
||||||
|
BuildRequires: libasan
|
||||||
|
BuildRequires: liblsan
|
||||||
|
BuildRequires: libubsan
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Requires: libmodulemd%{?_isa} >= %{libmodulemd_version}
|
||||||
|
Requires: libsolv%{?_isa} >= %{libsolv_version}
|
||||||
|
Requires: librepo%{?_isa} >= %{librepo_version}
|
||||||
|
|
||||||
|
%if %{without python2}
|
||||||
|
# Obsoleted from here so we can track the fast growing version easily.
|
||||||
|
# We intentionally only obsolete and not provide, this is a broken upgrade
|
||||||
|
# prevention, not providing the removed functionality.
|
||||||
|
Obsoletes: python2-%{name} < %{version}-%{release}
|
||||||
|
Obsoletes: python2-hawkey < %{version}-%{release}
|
||||||
|
Obsoletes: python2-hawkey-debuginfo < %{version}-%{release}
|
||||||
|
Obsoletes: python2-libdnf-debuginfo < %{version}-%{release}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
A Library providing simplified C and Python API to libsolv.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: libsolv-devel%{?_isa} >= %{libsolv_version}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Development files for %{name}.
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
|
%package -n python2-%{name}
|
||||||
|
%{?python_provide:%python_provide python2-%{name}}
|
||||||
|
Summary: Python 2 bindings for the libdnf library.
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
BuildRequires: python2-devel
|
||||||
|
%if !0%{?mageia}
|
||||||
|
BuildRequires: %{requires_python2_sphinx}
|
||||||
|
%endif
|
||||||
|
%if 0%{?rhel} == 7
|
||||||
|
BuildRequires: swig3 >= %{swig_version}
|
||||||
|
%else
|
||||||
|
BuildRequires: swig >= %{swig_version}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description -n python2-%{name}
|
||||||
|
Python 2 bindings for the libdnf library.
|
||||||
|
%endif
|
||||||
|
# endif with python2
|
||||||
|
|
||||||
|
%if %{with python3}
|
||||||
|
%package -n python3-%{name}
|
||||||
|
%{?python_provide:%python_provide python3-%{name}}
|
||||||
|
Summary: Python 3 bindings for the libdnf library.
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: %{requires_python3_sphinx}
|
||||||
|
BuildRequires: swig >= %{swig_version}
|
||||||
|
|
||||||
|
%description -n python3-%{name}
|
||||||
|
Python 3 bindings for the libdnf library.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
|
%package -n python2-hawkey
|
||||||
|
Summary: Python 2 bindings for the hawkey library
|
||||||
|
%{?python_provide:%python_provide python2-hawkey}
|
||||||
|
BuildRequires: python2-devel
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: python2-%{name} = %{version}-%{release}
|
||||||
|
# Fix problem with hawkey - dnf version incompatibility
|
||||||
|
# Can be deleted for distros where only python2-dnf >= 2.0.0
|
||||||
|
Conflicts: python2-dnf < %{dnf_conflict}
|
||||||
|
Conflicts: python-dnf < %{dnf_conflict}
|
||||||
|
|
||||||
|
%description -n python2-hawkey
|
||||||
|
Python 2 bindings for the hawkey library.
|
||||||
|
%endif
|
||||||
|
# endif with python2
|
||||||
|
|
||||||
|
%if %{with python3}
|
||||||
|
%package -n python3-hawkey
|
||||||
|
Summary: Python 3 bindings for the hawkey library
|
||||||
|
%{?python_provide:%python_provide python3-hawkey}
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: python3-%{name} = %{version}-%{release}
|
||||||
|
# Fix problem with hawkey - dnf version incompatibility
|
||||||
|
# Can be deleted for distros where only python3-dnf >= 2.0.0
|
||||||
|
Conflicts: python3-dnf < %{dnf_conflict}
|
||||||
|
# Obsoletes F27 packages
|
||||||
|
Obsoletes: platform-python-hawkey < %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python3-hawkey
|
||||||
|
Python 3 bindings for the hawkey library.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
%if %{with python2}
|
||||||
|
mkdir build-py2
|
||||||
|
%endif
|
||||||
|
%if %{with python3}
|
||||||
|
mkdir build-py3
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%build
|
||||||
|
%if %{with python2}
|
||||||
|
pushd build-py2
|
||||||
|
%if 0%{?mageia} || 0%{?suse_version}
|
||||||
|
cd ..
|
||||||
|
%define _cmake_builddir build-py2
|
||||||
|
%define __builddir build-py2
|
||||||
|
%endif
|
||||||
|
%cmake -DPYTHON_DESIRED:FILEPATH=%{__python2} -DWITH_MAN=OFF ../ %{!?with_zchunk:-DWITH_ZCHUNK=OFF} %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts} -DLIBDNF_MAJOR_VERSION=%{libdnf_major_version} -DLIBDNF_MINOR_VERSION=%{libdnf_minor_version} -DLIBDNF_MICRO_VERSION=%{libdnf_micro_version} \
|
||||||
|
-DWITH_SANITIZERS=%{?with_sanitizers:ON}%{!?with_sanitizers:OFF}
|
||||||
|
%make_build
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
# endif with python2
|
||||||
|
|
||||||
|
%if %{with python3}
|
||||||
|
pushd build-py3
|
||||||
|
%if 0%{?mageia} || 0%{?suse_version}
|
||||||
|
cd ..
|
||||||
|
%define _cmake_builddir build-py3
|
||||||
|
%define __builddir build-py3
|
||||||
|
%endif
|
||||||
|
%cmake -DPYTHON_DESIRED:FILEPATH=%{__python3} -DWITH_GIR=0 -DWITH_MAN=0 -Dgtkdoc=0 ../ %{!?with_zchunk:-DWITH_ZCHUNK=OFF} %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts} -DLIBDNF_MAJOR_VERSION=%{libdnf_major_version} -DLIBDNF_MINOR_VERSION=%{libdnf_minor_version} -DLIBDNF_MICRO_VERSION=%{libdnf_micro_version} \
|
||||||
|
-DWITH_SANITIZERS=%{?with_sanitizers:ON}%{!?with_sanitizers:OFF}
|
||||||
|
%make_build
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%check
|
||||||
|
%if %{with python2}
|
||||||
|
pushd build-py2
|
||||||
|
make ARGS="-V" test
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
%if %{with python3}
|
||||||
|
# If we didn't run the general tests yet, do it now.
|
||||||
|
%if %{without python2}
|
||||||
|
pushd build-py3
|
||||||
|
make ARGS="-V" test
|
||||||
|
popd
|
||||||
|
%else
|
||||||
|
# Otherwise, run just the Python tests, not all of
|
||||||
|
# them, since we have coverage of the core from the
|
||||||
|
# first build
|
||||||
|
pushd build-py3/python/hawkey/tests
|
||||||
|
make ARGS="-V" test
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%install
|
||||||
|
%if %{with python2}
|
||||||
|
pushd build-py2
|
||||||
|
%make_install
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
%if %{with python3}
|
||||||
|
pushd build-py3
|
||||||
|
%make_install
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%find_lang %{name}
|
||||||
|
|
||||||
|
%if (0%{?rhel} && 0%{?rhel} <= 7) || 0%{?suse_version}
|
||||||
|
%post -p /sbin/ldconfig
|
||||||
|
%postun -p /sbin/ldconfig
|
||||||
|
%else
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files -f %{name}.lang
|
||||||
|
%license COPYING
|
||||||
|
%doc README.md AUTHORS
|
||||||
|
%{_libdir}/%{name}.so.*
|
||||||
|
%dir %{_libdir}/libdnf/
|
||||||
|
%dir %{_libdir}/libdnf/plugins/
|
||||||
|
%{_libdir}/libdnf/plugins/README
|
||||||
|
%if %{with sanitizers}
|
||||||
|
%{_sysconfdir}/profile.d/dnf-sanitizers.sh
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc %{_datadir}/gtk-doc/html/%{name}/
|
||||||
|
%{_libdir}/%{name}.so
|
||||||
|
%{_libdir}/pkgconfig/%{name}.pc
|
||||||
|
%{_includedir}/%{name}/
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
|
%files -n python2-%{name}
|
||||||
|
%{python2_sitearch}/%{name}/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with python3}
|
||||||
|
%files -n python3-%{name}
|
||||||
|
%{python3_sitearch}/%{name}/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
|
%files -n python2-hawkey
|
||||||
|
%{python2_sitearch}/hawkey/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with python3}
|
||||||
|
%files -n python3-hawkey
|
||||||
|
%{python3_sitearch}/hawkey/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Mar 21 2022 Marek Blaha <mblaha@redhat.com> - 0.65.0-5
|
||||||
|
- Update translations
|
||||||
|
|
||||||
|
* Fri Mar 11 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 0.65.0-4
|
||||||
|
- Skip rich deps for autodetection of unmet dependencies (RhBug:2048394)
|
||||||
|
|
||||||
|
* Mon Feb 07 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 0.65.0-3
|
||||||
|
- Use `rpmdbCookie` from librpm, remove `hawkey.Sack._rpmdb_version`
|
||||||
|
|
||||||
|
* Thu Dec 09 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 0.65.0-2
|
||||||
|
- Rebuilt with json-c-0.14-11.el9 (RhBug:2023320)
|
||||||
|
|
||||||
|
* Mon Oct 25 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 0.65.0-1
|
||||||
|
- Update to 0.65.0
|
||||||
|
- Implement logic for demodularization of modular rpms (RhBug:1805260)
|
||||||
|
- DnfContext: fix handling of default module profiles
|
||||||
|
- ModuleMetadata: gracefully handle modules with no defaults
|
||||||
|
- Remove failovermethod config option (RhBug:1961083)
|
||||||
|
- Add support for excluding packages to be installed as weak dependencies
|
||||||
|
- Add support for autodetecting packages to be excluded from being installed as weak dependencies
|
||||||
|
- Turn off strict validation of modulemd documents (RhBug:2004853,2007166,2007167)
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.63.0-4
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Tue Jul 27 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 0.63.0-3
|
||||||
|
- Fix some covscan warnings
|
||||||
|
|
||||||
|
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.63.0-2
|
||||||
|
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
||||||
|
Related: rhbz#1971065
|
||||||
|
|
||||||
|
* Wed Jun 02 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 0.63.0-1
|
||||||
|
- Fix: Fully set ssl in newHandle function
|
||||||
|
- [conf] Add options for working with certificates used with proxy
|
||||||
|
- lock: Switch return-if-fail to assert to quiet gcc -fanalyzer
|
||||||
|
- Modify module NSVCA parsing - context definition (RhBug:1926771)
|
||||||
|
- [context] Fix: dnf_package_is_installonly (RhBug:1928056)
|
||||||
|
- Add getApplicablePackages to advisory and isApplicable to advisorymodule
|
||||||
|
- Keep isAdvisoryApplicable to preserve API
|
||||||
|
- Run ModulePackageContainerTest tests in tmpdir, merge interdependent
|
||||||
|
- [context] Support config file option "proxy_auth_method", defaults "any"
|
||||||
|
- Hardening: add signature check with rpmcliVerifySignatures (RhBug:1932079)
|
||||||
|
- Do not allow 1 as installonly_limit value (RhBug:1926261)
|
||||||
|
- Add a config option to check TLS certificate revocation status (using OCSP stapling), defaults to false (RhBug:1814383)
|
||||||
|
- ModuleProfile: add isDefault()
|
||||||
|
- ModulePackage: add getDefaultProfile()
|
||||||
|
- Add new dnf_context_module_install() C API
|
||||||
|
- Fix a crash when [media] section in .treeinfo is missing for bootable media (RhBug:1946024)
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.60.0-2
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Tue Mar 02 2021 Nicola Sella <nsella@redhat.com> - 0.60.0-1
|
||||||
|
- Update to 0.60.0
|
||||||
|
- Fix repo.fresh() implementation
|
||||||
|
- build-sys: Add ENABLE_STATIC option
|
||||||
|
- Fix: Fully set ssl in newHandle function
|
||||||
|
- [conf] Add options for working with certificates used with proxy
|
||||||
|
- Apply proxy certificate options
|
||||||
|
- lock: Switch return-if-fail to assert to quiet gcc -fanalyzer
|
||||||
|
- build-sys: Clean up message about Python bindings
|
||||||
|
- Modify module NSVCA parsing - context definition (RhBug:1926771)
|
||||||
|
- [context] Fix: dnf_package_is_installonly (RhBug:1928056)
|
||||||
|
- Fix problematic language
|
||||||
|
- Add getApplicablePackages to advisory and isApplicable to advisorymodule
|
||||||
|
- Keep isAdvisoryApplicable to preserve API
|
||||||
|
- Run ModulePackageContainerTest tests in tmpdir, merge interdependent
|
||||||
|
- [context] Support config file option "proxy_auth_method", defaults "any"
|
||||||
|
- Support main config file option "installonlypkgs".
|
||||||
|
- Support main config file option "protected_packages".
|
||||||
|
- Properly handle multiple collections in updateinfo.xml (RhBug:1804234)
|
||||||
|
|
||||||
|
* Thu Jan 28 2021 Nicola Sella <nsella@redhat.com> - 0.58.0-1
|
||||||
|
- Update to 0.58.0
|
||||||
|
- Option: Add reset() method
|
||||||
|
- Add OptionBinds::getOption() method
|
||||||
|
- [context] Add dnf_repo_conf_from_gkeyfile() and dnf_repo_conf_reset()
|
||||||
|
- [context] Add support for options: minrate, throttle, bandwidth, timeout
|
||||||
|
- [context] Remove g_key_file_get_string() from dnf_repo_set_keyfile_data()
|
||||||
|
- Allow loading ext metadata even if only cache (solv) is present
|
||||||
|
- Add ASAN_OPTIONS for test_libdnf_main
|
||||||
|
- [context,API] Functions for accessing main/global configuration options
|
||||||
|
- [context,API] Function for adding setopt
|
||||||
|
- Add getter for modular obsoletes from ModuleMetadata
|
||||||
|
- Add ModulePackage.getStaticContext() and getRequires()
|
||||||
|
- Add compatible layer for MdDocuments v2
|
||||||
|
- Fix modular queries with the new solver
|
||||||
|
- Improve formatting of error string for modules
|
||||||
|
- Change mechanism of module conflicts
|
||||||
|
- Fix load/update FailSafe
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.55.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Dec 02 2020 Nicola Sella <nsella@redhat.com> - 0.55.2-1
|
||||||
|
- Update to 0.55.2
|
||||||
|
- Improve performance of query installed() and available()
|
||||||
|
- Swdb: Add a method to get the current transaction
|
||||||
|
- [modules] Add special handling for src artifacts (RhBug:1809314)
|
||||||
|
- Better msgs if "basecachedir" or "proxy_password" isn't set (RhBug:1888946)
|
||||||
|
- Add new options module_stream_switch
|
||||||
|
- Support allow_vendor_change setting in dnf context API
|
||||||
|
- Fix couple of sanitizer builds in specfile
|
||||||
|
|
||||||
|
* Mon Nov 23 2020 Nicola Sella <nsella@redhat.com> - 0.55.0-1
|
||||||
|
- Update to 0.55.0
|
||||||
|
- Add vendor to dnf API (RhBug:1876561)
|
||||||
|
- Add formatting function for solver error
|
||||||
|
- Add error types in ModulePackageContainer
|
||||||
|
- Implement module enable for context part
|
||||||
|
- Improve string formatting for translation
|
||||||
|
- Remove redundant printf and change logging info to notice (RhBug:1827424)
|
||||||
|
- Add allow_vendor_change option (RhBug:1788371) (RhBug:1788371)
|
||||||
|
|
||||||
|
* Thu Oct 29 2020 Adam Williamson <awilliam@redhat.com> - 0.54.2-3
|
||||||
|
- Rebuild to keep NVR ahead of Fedora 32
|
||||||
|
|
||||||
|
* Tue Oct 13 2020 Ales Matej <amatej@redhat.com> - 0.54.2-2
|
||||||
|
- Increase needed conflicting dnf version
|
||||||
|
|
||||||
|
* Wed Oct 07 2020 Nicola Sella <nsella@redhat.com> - 0.54.2-1
|
||||||
|
- Update to 0.54.2
|
||||||
|
- history: Fix dnf history rollback when a package was removed (RhBug:1683134)
|
||||||
|
- Add support for HY_GT, HY_LT in query nevra_strict
|
||||||
|
- Fix parsing empty lines in config files
|
||||||
|
- Accept '==' as an operator in reldeps (RhBug:1847946)
|
||||||
|
- Add log file level main config option (RhBug:1802074)
|
||||||
|
- Add protect_running_kernel configuration option (RhBug:1698145)
|
||||||
|
- Context part of libdnf cannot assume zchunk is on (RhBug:1851841,1779104)
|
||||||
|
- Fix memory leak of resultingModuleIndex and handle g_object refs
|
||||||
|
- Redirect librepo logs to libdnf logs with different source
|
||||||
|
- Introduce changelog metadata in commit messages
|
||||||
|
- Add hy_goal_lock
|
||||||
|
- Update Copr targets for packit and use alias
|
||||||
|
- Enum/String conversions for Transaction Store/Replay
|
||||||
|
- utils: Add a method to decode URLs
|
||||||
|
- Unify hawkey.log line format with the rest of the logs
|
||||||
|
|
||||||
|
* Mon Aug 10 2020 Nicola Sella <nsella@redhat.com> - 0.48.0-4
|
||||||
|
- spec: Fix building with new cmake macros
|
||||||
|
- tests: Fix incorrect usage of the fail_unless macros
|
||||||
|
|
||||||
|
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.48.0-3
|
||||||
|
- Second attempt - Rebuilt for
|
||||||
|
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.48.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jun 02 2020 Nicola Sella <nsella@redhat.com> - 0.48.0-1
|
||||||
|
- Update to 0.48.0
|
||||||
|
- swdb: Catch only SQLite3 exceptions and simplify the messages
|
||||||
|
- MergedTransaction list multiple comments (RhBug:1773679)
|
||||||
|
- Modify CMake to pull *.po files from weblate
|
||||||
|
- Optimize DependencyContainer creation from an existing queue
|
||||||
|
- fix a memory leak in dnf_package_get_requires()
|
||||||
|
- Fix memory leaks on g_build_filename()
|
||||||
|
- Fix memory leak in dnf_context_setup()
|
||||||
|
- Add `hy_goal_favor` and `hy_goal_disfavor`
|
||||||
|
- Define a cleanup function for `DnfPackageSet`
|
||||||
|
- dnf-repo: fix dnf_repo_get_public_keys double-free
|
||||||
|
- Do not cache RPMDB
|
||||||
|
- Use single-quotes around string literals used in SQL statements
|
||||||
|
- SQLite3: Do not close the database if it wasn't opened (RhBug:1761976)
|
||||||
|
- Don't create a new history DB connection for in-memory DB
|
||||||
|
- transaction/Swdb: Use a single logger variable in constructor
|
||||||
|
- utils: Add a safe version of pathExists()
|
||||||
|
- swdb: Handle the case when pathExists() fails on e.g. permission
|
||||||
|
- Repo: prepend "file://" if a local path is used as baseurl
|
||||||
|
- Move urlEncode() to utils
|
||||||
|
- utils: Add 'exclude' argument to urlEncode()
|
||||||
|
- Encode package URL for downloading through librepo (RhBug:1817130)
|
||||||
|
- Replace std::runtime_error with libdnf::RepoError
|
||||||
|
- Fixes and error handling improvements of the File class
|
||||||
|
- [context] Use ConfigRepo for gpgkey and baseurl (RhBug:1807864)
|
||||||
|
- [context] support "priority" option in .repo config file (RhBug:1797265)
|
||||||
|
|
||||||
|
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 0.47.0-3
|
||||||
|
- Rebuilt for Python 3.9
|
||||||
|
|
||||||
|
* Tue Apr 21 2020 Björn Esser <besser82@fedoraproject.org> - 0.47.0-2
|
||||||
|
- Rebuild (json-c)
|
||||||
|
|
||||||
|
* Wed Apr 01 2020 Ales Matej <amatej@redhat.com> - 0.47.0-1
|
||||||
|
- Update to 0.47.0
|
||||||
|
- Add prereq_ignoreinst & regular_requires properties for pkg (RhBug:1543449)
|
||||||
|
- Reset active modules when no module enabled or default (RhBug:1767351)
|
||||||
|
- Add comment option to transaction (RhBug:1773679)
|
||||||
|
- Failing to get module defauls is a recoverable error
|
||||||
|
- Baseurl is not exclusive with mirrorlist/metalink (RhBug: 1775184)
|
||||||
|
- Add new function to reset all modules in C API (dnf_context_reset_all_modules)
|
||||||
|
- [context] Fix to preserve additionalMetadata content (RhBug:1808677)
|
||||||
|
- Fix filtering of DepSolvables with source rpms (RhBug:1812596)
|
||||||
|
- Add setter for running kernel protection setting
|
||||||
|
- Handle situation when an unprivileged user cannot create history database (RhBug:1634385)
|
||||||
|
- Add query filter: latest by priority
|
||||||
|
- Add DNF_NO_PROTECTED flag to allow empty list of protected packages
|
||||||
|
- Remove 'dim' option from terminal colors to make them more readable (RhBug:1807774,1814563)
|
||||||
|
- [context] Error when main config file can't be opened (RhBug:1794864)
|
||||||
|
- [context] Add function function dnf_context_is_set_config_file_path
|
||||||
|
|
||||||
|
* Mon Feb 24 2020 Ales Matej <amatej@redhat.com> - 0.45.0-1
|
||||||
|
- Config options: only first empty value clears existing (RhBug:1788154)
|
||||||
|
- Make parsing of reldeps more strict (RhBug:1788107)
|
||||||
|
- [context] Support repositories defined in main configuration file
|
||||||
|
- Fix filtering packages by advisory when more versions and arches are available (RhBug:1770125)
|
||||||
|
- Add expanding solvable provides for dependency matching (RhBug:1534123)
|
||||||
|
- DnfRepo: fix module_hotfixes keyfile priority level
|
||||||
|
- Add custom exceptions to libdnf interface
|
||||||
|
- [conf] Set useful default colors when color is enabled
|
||||||
|
- Port to libmodulemd-2 API (RhBug:1693683)
|
||||||
|
|
||||||
|
* Tue Feb 04 2020 Adam Williamson <adamwill@fedoraproject.org> - 0.43.1-3
|
||||||
|
- [context] Create new repo instead of reusing old one (RhBug:1795004)
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.43.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 15 2020 Ales Matej <amatej@redhat.com> - 0.43.1-1
|
||||||
|
- Allow excluding packages with "excludepkgs" and globs
|
||||||
|
- Add two new query filters: obsoletes_by_priority, upgrades_by_priority
|
||||||
|
- [context] Use installonly_limit from global config (RhBug:1256108)
|
||||||
|
- [context] Add API to get/set "install_weak_deps"
|
||||||
|
- [context] Add wildcard support for repo_id in dnf_context_repo_enable/disable (RhBug:1781420)
|
||||||
|
- [context] Adds support for includepkgs in repository configuration.
|
||||||
|
- [context] Adds support for excludepkgs, exclude, includepkgs, and disable_excludes in main configuration.
|
||||||
|
- [context] Added function dnf_transaction_set_dont_solve_goal
|
||||||
|
- [context] Added functions dnf_context_get/set_config_file_path
|
||||||
|
- [context] Respect "plugins" global conf value
|
||||||
|
- [context] Add API to disable/enable plugins
|
||||||
|
|
||||||
|
* Fri Nov 29 2019 Ales Matej <amatej@redhat.com> - 0.39.1-1
|
||||||
|
- Update to 0.39.1
|
||||||
|
- Report reason how package was excluded (RhBug:1649754)
|
||||||
|
- Additional Arm detection improvements (RhBug:1691430)
|
||||||
|
- Set skip_if_unavailable for media repos to skip their update (RhBug:1716067)
|
||||||
|
- Add support of xml:base for remote and local url in context (RhBug:1734350, 1717865)
|
||||||
|
- Handle NoModuleException in dnf_context_reset_modules (RhBug:1767453)
|
||||||
|
- Add missing C function hy_nevra_free() for HyNevra deallocation
|
||||||
|
- Context part of libdnf now uses metadata_expire from global configuration
|
||||||
|
|
||||||
|
* Wed Nov 13 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.37.2-2
|
||||||
|
- Fix accidental code removal from hy_subject_get_best_solution()
|
||||||
|
|
||||||
|
* Wed Nov 06 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.37.2-1
|
||||||
|
- Update to 0.37.2
|
||||||
|
- Use more descriptive message when failed to retrieve GPG key (RhBug:1605117)
|
||||||
|
- Add removeMetadataTypeFromDownload function to the API
|
||||||
|
- Context part of libdnf can now read vars (urlvars) from dirs and environment
|
||||||
|
- Throw exception immediately if file cannot be opened
|
||||||
|
- Add test when there is no primary metadata in compatible format (RhBug:1744960)
|
||||||
|
- Various improvements to countme features
|
||||||
|
- Don't abort on rpmdb checksum calculation failure
|
||||||
|
- Enable module dependency trees when using set_modules_enabled_by_pkgset() (RhBug:1762314)
|
||||||
|
- New method "Query::filterSubject()", replaces Solution::getBestSolution()
|
||||||
|
- The Solution class was removed
|
||||||
|
- Add query argument into get_best_query and get_best_solution
|
||||||
|
- Add module reset function into dnf_context
|
||||||
|
- Add method to get all repository metadata locations
|
||||||
|
- Catch NoModuleException in case of not existent value was used in persistor (RhBug:1761773)
|
||||||
|
|
||||||
|
* Wed Oct 23 2019 Peter Robinson <pbrobinson@fedoraproject.org> 0.35.5-5
|
||||||
|
- Fixes for some issues on Arm platforms (rhbz 1691430)
|
||||||
|
|
||||||
|
* Tue Oct 22 2019 Ales Matej <amatej@redhat.com> - 0.35.5-4
|
||||||
|
- Fix leaking log handlers in Sack that can cause a crash (RhBug:1758737)
|
||||||
|
|
||||||
|
* Mon Oct 14 2019 Jaroslav Mracek <jmracek@redhat.com> - 0.35.5-3
|
||||||
|
- Add POOL_FLAG_WHATPROVIDESWITHDISABLED flag into pool.
|
||||||
|
- Resolves: 1737469
|
||||||
|
|
||||||
|
* Tue Oct 01 2019 Ales Matej <amatej@redhat.com> - 0.35.5-2
|
||||||
|
- Fix dnf-conflict version
|
||||||
|
|
||||||
|
* Tue Oct 01 2019 Ales Matej <amatej@redhat.com> - 0.35.5-1
|
||||||
|
- Update to 0.35.5
|
||||||
|
- Fix crash in PackageKit (RhBug:1636803)
|
||||||
|
- Do not create @System.solv files (RhBug:1707995)
|
||||||
|
- Set LRO_CACHEDIR so zchunk works again (RhBug:1739867)
|
||||||
|
- Don't reinstall modified packages with the same NEVRA (RhBug:1644241)
|
||||||
|
- Fix bug when moving temporary repository metadata after download (RhBug:1700341)
|
||||||
|
- Improve detection of extras packages by comparing (name, arch) pair instead of full NEVRA (RhBuh:1684517)
|
||||||
|
- Improve handling multilib packages in the history command (RhBug:1728637)
|
||||||
|
- Repo download: use full error description into the exception text (RhBug:1741442)
|
||||||
|
- Properly close hawkey.log (RhBug:1594016)
|
||||||
|
- Fix dnf updateinfo --update to not list advisories for packages updatable only from non-enabled modules
|
||||||
|
- Apply modular filtering by package name (RhBug:1702729)
|
||||||
|
- Fully enable the modular fail safe mechanism (RhBug:1616167)
|
||||||
|
|
||||||
|
* Sat Sep 14 2019 Jonathan Dieter <jdieter@gmail.com> - 0.35.3-5
|
||||||
|
- Set LRO_CACHEDIR so zchunk works again
|
||||||
|
|
||||||
|
* Wed Sep 11 2019 Jaroslav Mracek <jmracek@redhat.com> - 0.35.3-4
|
||||||
|
- Backport patch to fix reinstalling packages with a different buildtime - part II
|
||||||
|
|
||||||
|
* Tue Sep 10 2019 Jaroslav Mracek <jmracek@redhat.com> - 0.35.3-3
|
||||||
|
- Backport patch to fix reinstalling packages with a different buildtime
|
||||||
|
|
||||||
|
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 0.35.3-2
|
||||||
|
- Rebuilt for Python 3.8
|
||||||
|
|
||||||
|
* Tue Aug 13 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.3-1
|
||||||
|
- Update to 0.35.3
|
||||||
|
- Make libdnf own its plugin directory (RhBug:1714265)
|
||||||
|
- Don't disable nonexistent but required repositories (RhBug:1689331)
|
||||||
|
- Set priority of dnf.conf.d drop-ins
|
||||||
|
- Fix toString() to not insert [] (RhBug:1584442)
|
||||||
|
- Ignore trailing blank lines in config (RhBug:1722493)
|
||||||
|
- Fix handling large number of filenames on input (RhBug:1690915)
|
||||||
|
- Detect armv7 with crypto extension only on arm version >= 8
|
||||||
|
- A new standardized User-Agent field consisting of the libdnf and OS version
|
||||||
|
(including the variant) (RhBug:1156007)
|
||||||
|
- Add basic countme support (RhBug:1647454)
|
||||||
|
|
||||||
|
* Mon Jul 29 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.1-4
|
||||||
|
- Rebuilt for librepo 1.10.5
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.35.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 22 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.1-2
|
||||||
|
- Backport patch to fix attaching and detaching of libsolvRepo and
|
||||||
|
repo_internalize_trigger() (RhBug:1727343,1727424)
|
||||||
|
|
||||||
|
* Thu Jul 04 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.1-1
|
||||||
|
- Update to 0.35.1
|
||||||
|
- Enhance logging handling
|
||||||
|
- Do not log DEBUG messages by default
|
||||||
|
- Also add subkeys when adding GPG keys
|
||||||
|
- [module] Fix swig binding for getModuleDependencies()
|
||||||
|
- Skip invalid key files in "/etc/pki/rpm-gpg" with warning (RhBug:1644040)
|
||||||
|
- Enable timestamp preserving for downloaded data (RhBug:1688537)
|
||||||
|
- Set default to skip_if_unavailable=false (RhBug:1679509)
|
||||||
|
- Add configuration option skip_if_unavailable (RhBug:1689931)
|
||||||
|
- Fix 'database is locked' error (RhBug:1631533)
|
||||||
|
- Replace the 'Failed to synchronize cache' message (RhBug:1712055)
|
||||||
|
- Fix 'no such table: main.trans_cmdline' error (RhBug:1596540)
|
||||||
|
- Add support of modular FailSafe (RhBug:1623128) (temporarily with warnings
|
||||||
|
instead of errors when installing modular RPMs without modular metadata)
|
||||||
|
- Add support of DNF main config file in context; used by PackageKit and
|
||||||
|
microdnf (RhBug:1689331)
|
||||||
|
- Exit gpg-agent after repokey import (RhBug:1650266)
|
||||||
|
|
||||||
|
* Mon Jun 10 22:13:19 CET 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.31.0-5
|
||||||
|
- Rebuild for RPM 4.15
|
||||||
|
|
||||||
|
* Mon Jun 10 15:42:02 CET 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.31.0-4
|
||||||
|
- Rebuild for RPM 4.15
|
||||||
|
|
||||||
|
* Fri May 03 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.31.0-3
|
||||||
|
- Backport patches to reintroduce hawkeyRepo
|
||||||
|
|
||||||
|
* Thu Apr 25 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.31.0-1
|
||||||
|
- Update to 0.31.0
|
||||||
|
- Installroot now requires absolute path
|
||||||
|
- Support "_none_" value for repo option "proxy" (RhBug:1680272)
|
||||||
|
- Add support for Module advisories
|
||||||
|
- Add support for xml:base attribute from primary.xml (RhBug:1691315)
|
||||||
|
- Improve detection of Platform ID (RhBug:1688462)
|
||||||
|
|
||||||
|
* Wed Mar 27 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.28.1-1
|
||||||
|
- Update to 0.28.1
|
||||||
|
- Return empty query if incorrect reldep (RhBug:1687135)
|
||||||
|
- ConfigParser: Improve compatibility with Python ConfigParser and dnf-plugin-spacewalk (RhBug:1692044)
|
||||||
|
- ConfigParser: Unify default set of string represenation of boolean values
|
||||||
|
- Fix segfault when interrupting dnf process (RhBug:1610456)
|
||||||
|
|
||||||
|
* Mon Mar 11 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.28.0-1
|
||||||
|
- Update to 0.28.0
|
||||||
|
- Exclude module pkgs that have conflict
|
||||||
|
- Enhance config parser to preserve order of data, and keep comments and format
|
||||||
|
- Improve ARM detection
|
||||||
|
- Add support for SHA-384
|
||||||
|
|
||||||
|
* Tue Feb 19 2019 Jaroslav Mracek <jmracek@redhat.com> - 0.26.0-2
|
||||||
|
- Backport patches for zchunk
|
||||||
|
|
||||||
|
* Wed Feb 13 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.26.0-1
|
||||||
|
- Update to 0.26.0-1
|
||||||
|
- Enhance modular solver to handle enabled and default module streams differently (RhBug:1648839)
|
||||||
|
- Add support of wild cards for modules (RhBug:1644588)
|
||||||
|
- Revert commit that adds best as default behavior
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.24.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Dec 12 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.24.1-1
|
||||||
|
- Update to 0.24.1
|
||||||
|
- Add support for zchunk
|
||||||
|
- Enhance LIBDNF plugins support
|
||||||
|
- Enhance sorting for module list (RhBug:1590358)
|
||||||
|
- [repo] Check whether metadata cache is expired (RhBug:1539620,1648274)
|
||||||
|
- [DnfRepo] Add methods for alternative repository metadata type and download (RhBug:1656314)
|
||||||
|
- Remove installed profile on module enable or disable (RhBug:1653623)
|
||||||
|
- [sack] Implement dnf_sack_get_rpmdb_version()
|
||||||
|
|
||||||
|
* Thu Nov 22 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.22.3-1
|
||||||
|
- Permanently disable Python2 build for Fedora 30+
|
||||||
|
- Update to 0.22.3
|
||||||
|
- Modify solver_describe_decision to report cleaned (RhBug:1486749)
|
||||||
|
- [swdb] create persistent WAL files (RhBug:1640235)
|
||||||
|
- Relocate ModuleContainer save hook (RhBug:1632518)
|
||||||
|
- [transaction] Fix transaction item lookup for obsoleted packages (RhBug: 1642796)
|
||||||
|
- Fix memory leaks and memory allocations
|
||||||
|
- [repo] Possibility to extend downloaded repository metadata
|
||||||
|
|
||||||
|
* Wed Nov 07 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.22.0-8
|
||||||
|
- Backport fixes for RHBZ#1642796 from upstream master
|
||||||
|
|
||||||
|
* Tue Oct 30 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.22.0-7
|
||||||
|
- Rebuild for libsolv 0.7
|
||||||
|
|
||||||
|
* Tue Oct 23 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.22.0-6
|
||||||
|
- Add patch Relocate-ModuleContainer-save-hook-RhBug1632518
|
||||||
|
- Add patch Test-if-sack-is-present-and-run-save-module-persistor-RhBug1632518
|
||||||
|
|
||||||
|
* Sat Oct 20 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.22.0-5
|
||||||
|
- remove problematic patch Relocate-ModuleContainer-save-hook-RhBug1632518
|
||||||
|
|
||||||
|
* Fri Oct 19 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.22.0-4
|
||||||
|
- backport Relocate-ModuleContainer-save-hook-RhBug1632518
|
||||||
|
|
||||||
|
* Thu Oct 18 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.22.0-3
|
||||||
|
- bacport swdb-create-persistent-WAL-files-RhBug1640235
|
||||||
|
|
||||||
|
* Wed Oct 17 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.22.0-2
|
||||||
|
- backport Modify-solver_describe_decision-to-report-cleaned-RhBug1486749
|
||||||
|
- backport history-Fix-crash-in-TransactionItemaddReplacedBy
|
||||||
|
|
||||||
|
* Mon Oct 15 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.22.0-1
|
||||||
|
- Update to 0.22.0
|
||||||
|
- Fix segfault in repo_internalize_trigger (RhBug:1375895)
|
||||||
|
- Change sorting of installonly packages (RhBug:1627685)
|
||||||
|
- [swdb] Fixed pattern searching in history db (RhBug:1635542)
|
||||||
|
- Check correctly gpg for repomd when refresh is used (RhBug:1636743)
|
||||||
|
- [conf] Provide additional VectorString methods for compatibility with Python list.
|
||||||
|
- [plugins] add plugin loading and hooks into libdnf
|
||||||
|
|
||||||
|
* Sat Sep 29 2018 Kevin Fenzi <kevin@scrye.com> - 0.20.0-2
|
||||||
|
- Temp re-enable python2 subpackages to get rawhide composing again.
|
||||||
|
|
||||||
|
* Tue Sep 25 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.20.0-1
|
||||||
|
- [module] Report module solver errors
|
||||||
|
- [module] Enhance module commands and errors
|
||||||
|
- [transaction] Fixed several problems with SWDB
|
||||||
|
- Remove unneeded regex URL tests (RhBug:1598336)
|
||||||
|
- Allow quoted values in ini files (RhBug:1624056)
|
||||||
|
- Filter out not unique set of solver problems (RhBug:1564369)
|
||||||
|
- Disable python2 build for Fedora 30+
|
||||||
|
|
||||||
|
* Tue Sep 18 2018 Adam Williamson <awilliam@redhat.com> - 0.19.1-3
|
||||||
|
- Backport PR #585 for an update crash bug (#1629340)
|
||||||
|
|
||||||
|
* Fri Sep 14 2018 Kalev Lember <klember@redhat.com> - 0.19.1-2
|
||||||
|
- Backport a fix for a packagekit crasher / F29 Beta blocker (#1626851)
|
||||||
|
|
||||||
|
* Mon Sep 10 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.19.1-1
|
||||||
|
- Fix compilation errors on gcc-4.8.5
|
||||||
|
- [module] Allow module queries on disabled modules
|
||||||
|
|
||||||
|
* Fri Sep 07 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.19.0-1
|
||||||
|
- [query] Reldeps can contain a space char (RhBug:1612462)
|
||||||
|
- [transaction] Avoid adding duplicates via Transaction::addItem()
|
||||||
|
- Fix compilation errors on gcc-4.8.5
|
||||||
|
- [module] Make available ModuleProfile using SWIG
|
||||||
|
- [module] Redesign module disable and reset
|
||||||
|
|
||||||
|
* Mon Aug 13 2018 Daniel Mach <dmach@redhat.com> - 0.17.2-1
|
||||||
|
- [sqlite3] Change db locking mode to DEFAULT.
|
||||||
|
- [doc] Add libsmartcols-devel to devel deps.
|
||||||
|
|
||||||
|
* Mon Aug 13 2018 Daniel Mach <dmach@redhat.com> - 0.17.1-1
|
||||||
|
- [module] Solve a problem in python constructor of NSVCAP if no version.
|
||||||
|
- [translations] Update translations from zanata.
|
||||||
|
- [transaction] Fix crash after using dnf.comps.CompsQuery and forking the process in Anaconda.
|
||||||
|
- [module] Support for resetting module state.
|
||||||
|
- [output] Introduce wrapper for smartcols.
|
||||||
|
|
||||||
|
* Fri Aug 10 2018 Adam Williamson <awilliam@redhat.com> - 0.17.0-2
|
||||||
|
- Backport fix that prevented anaconda running dnf in a subprocess (#546)
|
||||||
|
|
||||||
|
* Tue Aug 07 2018 Daniel Mach <dmach@redhat.com> - 0.17.0-1
|
||||||
|
- [conf] Add module_platform_id option.
|
||||||
|
- [module] Add ModulePackageContainer class.
|
||||||
|
- [module] Add ModulePersistor class.
|
||||||
|
- [sack] Module filtering made available in python API
|
||||||
|
- [sack] Module auto-enabling according to installed packages
|
||||||
|
|
||||||
|
* Fri Jul 27 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.16.1-3
|
||||||
|
- Rebuild for new binutils
|
||||||
|
|
||||||
|
* Fri Jul 27 2018 Daniel Mach <dmach@redhat.com> - 0.16.1-2
|
||||||
|
- [module] Implement 'module_hotfixes' conf option to skip filtering RPMs from hotfix repos.
|
||||||
|
- [goal] Fix distupgrade filter, allow downgrades.
|
||||||
|
- [context] Allow to set module platform in context.
|
||||||
|
- [module] Introduce proper modular dependency solving.
|
||||||
|
- [module] Platform pseudo-module based on /etc/os-release.
|
||||||
|
- [goal] Add Goal::listSuggested().
|
||||||
|
- [l10n] Support for translations, add gettext build dependency.
|
||||||
|
|
||||||
|
* Sun Jul 22 2018 Daniel Mach <dmach@redhat.com> - 0.16.0-1
|
||||||
|
- Fix RHSM plugin
|
||||||
|
- Add support for logging
|
||||||
|
- Bump minimal libmodulemd version to 1.6.1
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 29 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.15.2-1
|
||||||
|
- Update to 0.15.1
|
||||||
|
- Resolves: rhbz#1595487
|
||||||
|
|
||||||
|
* Fri Jun 29 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.15.1-2
|
||||||
|
- Restore proper ldconfig_scriptlets
|
||||||
|
|
||||||
|
* Tue Jun 26 2018 Jaroslav Mracek <jmracek@redhat.com> - 0.15.1-1
|
||||||
|
- Update to 0.15.1
|
||||||
|
|
||||||
|
* Fri Jun 15 2018 Miro Hrončok <mhroncok@redhat.com> - 0.11.1-6
|
||||||
|
- Rebuilt for Python 3.7
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 30 2018 Igor Gnatenko <ignatenko@redhat.com> - 0.11.1-4
|
||||||
|
- Switch to %%ldconfig_scriptlets
|
||||||
|
|
||||||
|
* Tue Nov 07 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.11.1-3
|
||||||
|
- Use better Obsoletes for platform-python
|
||||||
|
|
||||||
|
* Fri Nov 03 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.11.1-2
|
||||||
|
- Remove platform-python subpackage
|
||||||
|
|
||||||
|
* Mon Oct 16 2017 Jaroslav Mracek <jmracek@redhat.com> - 0.11.1-1
|
||||||
|
- Rerelease of 0.11.1-1
|
||||||
|
- Improvement query performance
|
||||||
|
- Run file query in hy_subject_get_best_solution only for files (arguments that start with ``/`` or
|
||||||
|
``*/``)
|
||||||
|
- Resolves: rhbz#1498207 - DNF crash during upgrade installation F26 -> F27
|
||||||
|
|
||||||
|
* Tue Oct 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.11.0-1
|
||||||
|
- Update to 0.11.0
|
||||||
|
|
||||||
|
* Mon Oct 02 2017 Jaroslav Mracek <jmracek@redhat.com> - 0.10.1-2
|
||||||
|
- Rerelease of 0.10.1-1
|
||||||
|
|
||||||
|
* Wed Sep 27 2017 Jaroslav Mracek <jmracek@redhat.com> - 0.10.1-1
|
||||||
|
- Update to 0.10.1
|
||||||
|
- It improves query performance with name and arch filters. Also nevra filter will now
|
||||||
|
handle string with or without epoch.
|
||||||
|
- Additionally for python bindings it renames NEVRA._has_just_name() to NEVRA.has_just_name() due
|
||||||
|
to movement of code into c part of library.
|
||||||
|
- Resolves: rhbz#1260242 - --exclude does not affect dnf remove's removal of requirements
|
||||||
|
- Resolves: rhbz#1485881 - DNF claims it cannot install package, which have been already installed
|
||||||
|
- Resolves: rhbz#1361187 - [abrt] python-ipython-console: filter_updown(): python3.5 killed by SIGABRT
|
||||||
|
|
||||||
|
* Fri Sep 15 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.9.3-8
|
||||||
|
- Disable platform python on old releases
|
||||||
|
|
||||||
|
* Tue Aug 15 2017 Lumír Balhar <lbalhar@redhat.com> - 0.9.3-7
|
||||||
|
- Add platform-python subpackage
|
||||||
|
|
||||||
|
* Fri Aug 11 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.9.3-6
|
||||||
|
- Rebuilt after RPM update (№ 3)
|
||||||
|
|
||||||
|
* Thu Aug 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.9.3-5
|
||||||
|
- Rebuilt for RPM soname bump
|
||||||
|
|
||||||
|
* Thu Aug 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.9.3-4
|
||||||
|
- Rebuilt for RPM soname bump
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 24 2017 Jaroslav Mracek <jmracek@redhat.com> - 0.9.3-1
|
||||||
|
- Update to 0.9.3
|
||||||
|
|
||||||
|
* Sat Jul 01 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.9.2-1
|
||||||
|
- Update to 0.9.2
|
||||||
|
|
||||||
|
* Mon Jun 12 2017 Jaroslav Mracek <jmracek@redhat.com> - 0.9.1-1
|
||||||
|
- Update to 0.9.1
|
||||||
|
|
||||||
|
* Mon May 22 2017 Jaroslav Mracek <jmracek@redhat.com> - 0.9.0-1
|
||||||
|
- Update to 0.9.0
|
||||||
|
|
||||||
|
* Tue May 02 2017 Jaroslav Mracek <jmracek@redhat.com> - 0.8.2-1
|
||||||
|
- Update to 0.8.2
|
||||||
|
|
||||||
|
* Fri Mar 24 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.8.1-1
|
||||||
|
- Update to 0.8.1
|
||||||
|
|
||||||
|
* Tue Mar 21 2017 Jaroslav Mracek <jmracek@redhat.com> - 0.8.0-1
|
||||||
|
- Update to 0.8.0
|
||||||
|
|
||||||
|
* Mon Feb 20 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.7.4-1
|
||||||
|
- Update to 0.7.4
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.7.3-1
|
||||||
|
- Update to 0.7.3
|
||||||
|
|
||||||
|
* Wed Feb 08 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.7.2-1
|
||||||
|
- 0.7.2
|
||||||
|
|
||||||
|
* Fri Jan 06 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.7.1-1
|
||||||
|
- 0.7.1
|
||||||
|
|
||||||
|
* Wed Dec 21 2016 Peter Robinson <pbrobinson@fedoraproject.org> 0.7.0-0.7gitf9b798c
|
||||||
|
- Rebuild for Python 3.6
|
||||||
|
|
||||||
|
* Mon Dec 19 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.7.0-0.6gitf9b798c
|
||||||
|
- Use new upstream URL
|
||||||
|
|
||||||
|
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 0.7.0-0.5gitf9b798c
|
||||||
|
- Rebuild for Python 3.6
|
||||||
|
|
||||||
|
* Tue Dec 06 2016 Martin Hatina <mhatina@redhat.com> - 0.7.0-0.4gitf9b798c
|
||||||
|
- Increase conflict version of dnf
|
||||||
|
|
||||||
|
* Thu Dec 01 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.7.0-0.3gitf9b798c
|
||||||
|
- Update to latest snapshot
|
||||||
|
|
||||||
|
* Fri Nov 04 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.7.0-0.2git8bd77f8
|
||||||
|
- Update to latest snapshot
|
||||||
|
|
||||||
|
* Thu Sep 29 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.7.0-0.1git179c0a6
|
||||||
|
- Initial package
|
Loading…
Reference in New Issue
Block a user