import libdnf-0.39.1-2.el8

This commit is contained in:
CentOS Sources 2020-01-21 11:51:28 -05:00 committed by Stepan Oksanichenko
parent ed660b7388
commit bee9b9d50e
6 changed files with 291 additions and 153 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/libdnf-0.33.0.tar.gz
SOURCES/libdnf-0.39.1.tar.gz

View File

@ -1 +1 @@
50ede2a9751bb06bc2ccb2d42a30fefc0d443191 SOURCES/libdnf-0.33.0.tar.gz
a74a37b029439749298705ff3c1ccfbd0f0fd821 SOURCES/libdnf-0.39.1.tar.gz

View File

@ -1,39 +0,0 @@
From c04e8362708bbb7d14b7d9a9bdc8fd212af53c59 Mon Sep 17 00:00:00 2001
From: Jaroslav Mracek <jmracek@redhat.com>
Date: Fri, 15 Mar 2019 14:02:23 +0100
Subject: [PATCH] Set default to skip_if_unavailable=false (RhBug:1679509)
---
libdnf/conf/ConfigRepo.cpp | 2 +-
libdnf/dnf-repo.cpp | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/libdnf/conf/ConfigRepo.cpp b/libdnf/conf/ConfigRepo.cpp
index e684940..43fe56b 100644
--- a/libdnf/conf/ConfigRepo.cpp
+++ b/libdnf/conf/ConfigRepo.cpp
@@ -71,7 +71,7 @@ class ConfigRepo::Impl {
OptionChild<OptionString> sslclientkey{masterConfig.sslclientkey()};
OptionChild<OptionBool> deltarpm{masterConfig.deltarpm()};
OptionChild<OptionNumber<std::uint32_t> > deltarpm_percentage{masterConfig.deltarpm_percentage()};
- OptionBool skip_if_unavailable{true};
+ OptionBool skip_if_unavailable{false};
OptionString enabled_metadata{""};
OptionEnum<std::string> failovermethod{"priority", {"priority", "roundrobin"}};
};
diff --git a/libdnf/dnf-repo.cpp b/libdnf/dnf-repo.cpp
index dfe161d..34bbc8f 100644
--- a/libdnf/dnf-repo.cpp
+++ b/libdnf/dnf-repo.cpp
@@ -966,6 +966,8 @@ dnf_repo_set_keyfile_data(DnfRepo *repo, GError **error)
priv->required = FALSE;
else
priv->required = TRUE;
+ } else {
+ priv->required = TRUE;
}
/* cost is optional */
--
libgit2 0.27.7

View File

@ -0,0 +1,131 @@
From 1dffef87fc2f07763f64eeabc1ea891e68d23541 Mon Sep 17 00:00:00 2001
From: Michal Domonkos <mdomonko@redhat.com>
Date: Tue, 26 Nov 2019 13:05:49 +0100
Subject: [PATCH] [user-agent] Drop the whitelist
- Stop checking os-release(5) data against a hard-coded whitelist and
just use them as they are, to avoid a maintenance burden in the
future (see [1] for details)
- Clean up the getUserAgent() function a bit
Note that, by removing the whitelist, there's a risk of leaking a
"unique" value from the os-release file now, but a rather small one.
[1] https://github.com/rpm-software-management/libdnf/pull/851
---
libdnf/utils/os-release.cpp | 58 ++++++++++++++++++++--------------------------------------
libdnf/utils/os-release.hpp | 7 ++-----
2 files changed, 22 insertions(+), 43 deletions(-)
diff --git a/libdnf/utils/os-release.cpp b/libdnf/utils/os-release.cpp
index 57be110..1d8a95b 100644
--- a/libdnf/utils/os-release.cpp
+++ b/libdnf/utils/os-release.cpp
@@ -36,17 +36,8 @@
namespace libdnf {
// sorted by precedence (see os-release(5) for details)
-static const std::array<const std::string, 2> paths = {"/etc/os-release", "/usr/lib/os-release"};
-// whitelists used for sanity-checking the os-release data when constructing a
-// User-Agent string (to avoid reporting rare systems or platforms that could
-// be tracked)
-static const std::map<std::string, std::vector<std::string>> distros = {
- // taken from the {fedora,generic}-release.spec files
- { "Fedora", { "cinnamon", "cloud", "container", "coreos", "generic", "iot",
- "kde", "matecompiz", "server", "silverblue", "snappy", "soas",
- "workstation", "xfce" } },
-};
-std::array<const std::string, 1> canons = { "Linux" };
+static const std::array<const std::string, 2>
+paths = {"/etc/os-release", "/usr/lib/os-release"};
std::map<std::string, std::string> getOsReleaseData()
{
@@ -118,47 +109,38 @@ std::string getUserAgent(const std::map<std::string, std::string> & osReleaseDat
{
std::ostringstream oss;
auto logger(Log::getLogger());
- std::string msg = "os-release: falling back to basic User-Agent";
- // start with the basic libdnf string
oss << USER_AGENT;
+ std::string fallback = oss.str();
- // mandatory OS data (bail out if missing or unknown)
if (!osReleaseData.count("NAME") || !osReleaseData.count("VERSION_ID")) {
- logger->debug(tfm::format("%s: missing NAME or VERSION_ID", msg));
- return oss.str();
+ logger->debug(tfm::format(
+ "User-Agent: falling back to '%s': missing NAME or VERSION_ID",
+ fallback
+ ));
+ return fallback;
}
std::string name = osReleaseData.at("NAME");
std::string version = osReleaseData.at("VERSION_ID");
- if (!distros.count(name)) {
- logger->debug(tfm::format("%s: distro %s not whitelisted", msg, name));
- return oss.str();
- }
+ std::string variant = "generic";
+ if (osReleaseData.count("VARIANT_ID"))
+ variant = osReleaseData.at("VARIANT_ID");
- // mandatory platform data from RPM (bail out if missing or unknown)
std::string canon = getCanonOs();
std::string arch = getBaseArch();
- if (canon.empty() || arch.empty()
- || std::find(canons.begin(), canons.end(), canon) == canons.end()) {
- logger->debug(tfm::format("%s: could not detect canonical OS or basearch", msg));
- return oss.str();
- }
-
- // optional OS data (use fallback values if missing or unknown)
- std::string variant = "generic";
- auto list = distros.at(name);
- if (osReleaseData.count("VARIANT_ID")) {
- std::string value = osReleaseData.at("VARIANT_ID");
- if (std::find(list.begin(), list.end(), value) != list.end())
- variant = value;
+ if (canon.empty() || arch.empty()) {
+ logger->debug(tfm::format(
+ "User-Agent: falling back to '%s': could not detect OS or basearch",
+ fallback
+ ));
+ return fallback;
}
- // good to go!
- oss << " (" << name << " " << version << "; " << variant << "; "
- << canon << "." << arch << ")";
+ oss << " (" << name << " " << version << "; " << variant << "; " << canon
+ << "." << arch << ")";
std::string result = oss.str();
- logger->debug(tfm::format("os-release: User-Agent constructed: %s", result));
+ logger->debug(tfm::format("User-Agent: constructed: '%s'", result));
return result;
}
diff --git a/libdnf/utils/os-release.hpp b/libdnf/utils/os-release.hpp
index ef4d14f..e7b24a7 100644
--- a/libdnf/utils/os-release.hpp
+++ b/libdnf/utils/os-release.hpp
@@ -50,11 +50,8 @@ getOsReleaseData();
* libdnf (NAME VERSION_ID; VARIANT_ID; OS.BASEARCH)
*
* where NAME, VERSION_ID and VARIANT_ID are OS identifiers read from the
- * passed os-release data, and OS and BASEARCH (if found) are the canonical OS
- * name and base architecture, respectively, detected using RPM.
- *
- * Note that the OS part (enclosed in parentheses) will only be included for
- * whitelisted values.
+ * passed os-release data, and OS and BASEARCH are the canonical OS name and
+ * base architecture, respectively, detected using RPM.
*
* @param osReleaseData a map containing os-release data (will be loaded from
* disk if not specified)
--
libgit2 0.28.2

View File

@ -1,89 +0,0 @@
From 7e8a01dc9408cc48700f3d2a75cff67b3364d0c5 Mon Sep 17 00:00:00 2001
From: Jaroslav Mracek <jmracek@redhat.com>
Date: Wed, 20 Mar 2019 09:06:15 +0100
Subject: [PATCH] Add configuration option skip_if_unavailable (RhBug:1689931)
---
libdnf/conf/ConfigMain.cpp | 3 +++
libdnf/conf/ConfigMain.hpp | 1 +
libdnf/conf/ConfigRepo.cpp | 4 ++--
libdnf/conf/ConfigRepo.hpp | 2 +-
4 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/libdnf/conf/ConfigMain.cpp b/libdnf/conf/ConfigMain.cpp
index 2fc1f11..39cf8ab 100644
--- a/libdnf/conf/ConfigMain.cpp
+++ b/libdnf/conf/ConfigMain.cpp
@@ -333,6 +333,7 @@ class ConfigMain::Impl {
OptionString sslclientkey{""};
OptionBool deltarpm{true};
OptionNumber<std::uint32_t> deltarpm_percentage{75};
+ OptionBool skip_if_unavailable{false};
};
ConfigMain::Impl::Impl(Config & owner)
@@ -469,6 +470,7 @@ ConfigMain::Impl::Impl(Config & owner)
owner.optBinds().add("sslclientkey", sslclientkey);
owner.optBinds().add("deltarpm", deltarpm);
owner.optBinds().add("deltarpm_percentage", deltarpm_percentage);
+ owner.optBinds().add("skip_if_unavailable", skip_if_unavailable);
}
ConfigMain::ConfigMain() { pImpl = std::unique_ptr<Impl>(new Impl(*this)); }
@@ -572,5 +574,6 @@ OptionString & ConfigMain::sslclientcert() { return pImpl->sslclientcert; }
OptionString & ConfigMain::sslclientkey() { return pImpl->sslclientkey; }
OptionBool & ConfigMain::deltarpm() { return pImpl->deltarpm; }
OptionNumber<std::uint32_t> & ConfigMain::deltarpm_percentage() { return pImpl->deltarpm_percentage; }
+OptionBool & ConfigMain::skip_if_unavailable() { return pImpl->skip_if_unavailable; }
}
diff --git a/libdnf/conf/ConfigMain.hpp b/libdnf/conf/ConfigMain.hpp
index 331cdec..c2ead25 100644
--- a/libdnf/conf/ConfigMain.hpp
+++ b/libdnf/conf/ConfigMain.hpp
@@ -151,6 +151,7 @@ public:
OptionString & sslclientkey();
OptionBool & deltarpm();
OptionNumber<std::uint32_t> & deltarpm_percentage();
+ OptionBool & skip_if_unavailable();
private:
class Impl;
diff --git a/libdnf/conf/ConfigRepo.cpp b/libdnf/conf/ConfigRepo.cpp
index 43fe56b..e86cdff 100644
--- a/libdnf/conf/ConfigRepo.cpp
+++ b/libdnf/conf/ConfigRepo.cpp
@@ -71,7 +71,7 @@ class ConfigRepo::Impl {
OptionChild<OptionString> sslclientkey{masterConfig.sslclientkey()};
OptionChild<OptionBool> deltarpm{masterConfig.deltarpm()};
OptionChild<OptionNumber<std::uint32_t> > deltarpm_percentage{masterConfig.deltarpm_percentage()};
- OptionBool skip_if_unavailable{false};
+ OptionChild<OptionBool> skip_if_unavailable{masterConfig.skip_if_unavailable()};
OptionString enabled_metadata{""};
OptionEnum<std::string> failovermethod{"priority", {"priority", "roundrobin"}};
};
@@ -195,7 +195,7 @@ OptionChild<OptionString> & ConfigRepo::sslclientcert() { return pImpl->sslclien
OptionChild<OptionString> & ConfigRepo::sslclientkey() { return pImpl->sslclientkey; }
OptionChild<OptionBool> & ConfigRepo::deltarpm() { return pImpl->deltarpm; }
OptionChild<OptionNumber<std::uint32_t> > & ConfigRepo::deltarpm_percentage() { return pImpl->deltarpm_percentage; }
-OptionBool & ConfigRepo::skip_if_unavailable() { return pImpl->skip_if_unavailable; }
+OptionChild<OptionBool> & ConfigRepo::skip_if_unavailable() { return pImpl->skip_if_unavailable; }
OptionString & ConfigRepo::enabled_metadata() { return pImpl->enabled_metadata; }
OptionEnum<std::string> & ConfigRepo::failovermethod() { return pImpl->failovermethod; }
diff --git a/libdnf/conf/ConfigRepo.hpp b/libdnf/conf/ConfigRepo.hpp
index c3e992b..a47030b 100644
--- a/libdnf/conf/ConfigRepo.hpp
+++ b/libdnf/conf/ConfigRepo.hpp
@@ -85,7 +85,7 @@ public:
OptionChild<OptionString> & sslclientkey();
OptionChild<OptionBool> & deltarpm();
OptionChild<OptionNumber<std::uint32_t> > & deltarpm_percentage();
- OptionBool & skip_if_unavailable();
+ OptionChild<OptionBool> & skip_if_unavailable();
// option recognized by other tools, e.g. gnome-software, but unused in dnf
OptionString & enabled_metadata();
// yum compatibility options
--
libgit2 0.27.7

View File

@ -1,9 +1,20 @@
%global libsolv_version 0.7.4-1
%global libsolv_version 0.7.7
%global libmodulemd_version 1.6.1
%global librepo_version 1.9.5
%global dnf_conflict 4.2.5
%global librepo_version 1.11.0
%global dnf_conflict 4.2.13
%global swig_version 3.0.12
# 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
@ -26,19 +37,24 @@
%bcond_with rhsm
%endif
%if 0%{?rhel}
%bcond_with zchunk
%else
%bcond_without zchunk
%endif
%global _cmake_opts \\\
-DENABLE_RHSM_SUPPORT=%{?with_rhsm:ON}%{!?with_rhsm:OFF} \\\
%{nil}
Name: libdnf
Version: 0.33.0
Release: 1%{?dist}
Version: 0.39.1
Release: 2%{?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
Patch0001: 0001-Set-default-to-skip_if_unavailablefalse-RhBug1679509.patch
Patch0002: 0002-Add-configuration-option-skip_if_unavailable-RhBug1689931.patch
Patch1: 0001-user-agent-Drop-the-whitelist.patch
BuildRequires: cmake
BuildRequires: gcc
@ -55,6 +71,9 @@ 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)
@ -68,6 +87,16 @@ 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.
@ -85,11 +114,12 @@ Development files for %{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: python-sphinx
BuildRequires: swig3 >= %{swig_version}
%else
BuildRequires: python2-sphinx
BuildRequires: swig >= %{swig_version}
%endif
@ -103,7 +133,7 @@ Python 2 bindings for the libdnf library.
Summary: Python 3 bindings for the libdnf library.
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: python3-devel
BuildRequires: python3-sphinx
BuildRequires: %{requires_python3_sphinx}
BuildRequires: swig >= %{swig_version}
%description -n python3-%{name}
@ -161,39 +191,49 @@ mkdir build-py3
%build
%if %{with python2}
pushd build-py2
%cmake -DPYTHON_DESIRED:FILEPATH=%{__python2} -DWITH_MAN=OFF ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts}
%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}
%make_build
popd
%endif # with python2
%if %{with python3}
pushd build-py3
%cmake -DPYTHON_DESIRED:FILEPATH=%{__python3} -DWITH_GIR=0 -DWITH_MAN=0 -Dgtkdoc=0 ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts}
%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}
%make_build
popd
%endif
%check
if [ "$(id -u)" == "0" ] ; then
cat <<ERROR 1>&2
Package tests cannot be run under superuser account.
Please build the package as non-root user.
ERROR
exit 1
fi
%if %{with python2}
pushd build-py2
make ARGS="-V" test
popd
%endif # with python2
%if %{with python3}
# Run just the Python tests, not all of them, since
# we have coverage of the core from the first build
# 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}
@ -209,7 +249,7 @@ popd
%find_lang %{name}
%if 0%{?rhel} && 0%{?rhel} <= 7
%if (0%{?rhel} && 0%{?rhel} <= 7) || 0%{?suse_version}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%else
@ -220,6 +260,8 @@ popd
%license COPYING
%doc README.md AUTHORS
%{_libdir}/%{name}.so.*
%dir %{_libdir}/libdnf/
%dir %{_libdir}/libdnf/plugins/
%{_libdir}/libdnf/plugins/README
%files devel
@ -249,6 +291,99 @@ popd
%endif
%changelog
* Thu Dec 12 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.39.1-2
- [user-agent] Stop checking os-release(5) data against a hard-coded whitelist (RhBug:1777255)
* Mon Nov 25 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)
* Wed Nov 13 2019 Ales Matej <amatej@redhat.com> - 0.38.1-1
- Update to 0.38.1
- Change the best option default to false
- 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)
- Resolve problem with --best and search in provides (RhBug:1737469)
- 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)
* Tue Oct 22 2019 Ales Matej <amatej@redhat.com> - 0.35.5-1
- Update to 0.35.5
- Make libdnf own its plugin directory (RhBug:1714265)
- Set priority of dnf.conf.d drop-ins
- Fix toString() to not insert [] (RhBug:1584442)
- 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)
- Fix crash in PackageKit (RhBug:1636803)
- Do not create @System.solv files (RhBug:1707995)
- Set LRO_CACHEDIR so zchunk works again (RhBug:1739867)
- 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)
* Wed Oct 16 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.1-9
- Prevent reinstalling modified packages with same NEVRA (RhBug:1728252,1644241,1760825)
* Fri Sep 06 2019 Marek Blaha <mblaha@redhat.com> - 0.35.1-8
- Enhanced fix of moving directories in minimal container (RhBug:1700341)
* Thu Sep 05 2019 Jaroslav Mracek <jmracek@redhat.com> - 0.35.1-7
- Remove patch to not fail when installing modular RPMs without modular metadata
* Thu Sep 05 2019 Marek Blaha <mblaha@redhat.com> - 0.35.1-6
- Fix moving directories in minimal container (RhBug:1700341)
* Tue Aug 06 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.1-5
- Add suport for query sequence conversions
* Thu Aug 01 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.1-4
- Fix typo in error message (RhBug:1726661)
- Update localizations from zanata (RhBug:1689991)
- Don't disable nonexistent but required repositories (RhBug:1689331)
- Ignore trailing blank lines of multiline value (RhBug:1722493)
- Re-size includes map before re-computation (RhBug:1725213)
* Tue Jul 16 2019 Marek Blaha <mblaha@redhat.com> - 0.35.1-3
- Fix attaching and detaching of libsolvRepo and repo_internalize_trigger()
(RhBug:1730224)
* Thu Jul 04 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.1-2
- Add patch to not fail when installing modular RPMs without modular metadata
* Tue Jun 11 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.35.1-1
- Update to 0.35.1
- Skip invalid key files in "/etc/pki/rpm-gpg" with warning (RhBug:1644040)
- Enable timestamp preserving for downloaded data (RhBug:1688537)
- 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)
- Fix: skip_if_unavailable=true for local repositories (RhBug:1716313)
- Add support of modular FailSafe (RhBug:1623128)
- 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 May 13 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.33.0-1
- Update to 0.33.0
- Enhance sorting for module list (RhBug:1590358)