Update to 0.37.2
This commit is contained in:
parent
769107e1a6
commit
ba1a75e45d
1
.gitignore
vendored
1
.gitignore
vendored
@ -37,3 +37,4 @@
|
||||
/libdnf-0.35.2.tar.gz
|
||||
/libdnf-0.35.3.tar.gz
|
||||
/libdnf-0.35.5.tar.gz
|
||||
/libdnf-0.37.2.tar.gz
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 56286de885cfa5721a5d74b873df49238f324029 Mon Sep 17 00:00:00 2001
|
||||
From: Pavla Kratochvilova <pkratoch@redhat.com>
|
||||
Date: Wed, 13 Feb 2019 12:39:30 +0100
|
||||
Subject: [PATCH] Revert: 9309e92332241ff1113433057c969cebf127734e
|
||||
|
||||
---
|
||||
libdnf/conf/ConfigMain.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libdnf/conf/ConfigMain.cpp b/libdnf/conf/ConfigMain.cpp
|
||||
index fc4ff01..50c640c 100644
|
||||
--- a/libdnf/conf/ConfigMain.cpp
|
||||
+++ b/libdnf/conf/ConfigMain.cpp
|
||||
@@ -210,7 +210,7 @@ class ConfigMain::Impl {
|
||||
OptionSeconds metadata_timer_sync{60 * 60 * 3}; // 3 hours
|
||||
OptionStringList disable_excludes{std::vector<std::string>{}};
|
||||
OptionEnum<std::string> multilib_policy{"best", {"best", "all"}}; // :api
|
||||
- OptionBool best{true}; // :api
|
||||
+ OptionBool best{false}; // :api
|
||||
OptionBool install_weak_deps{true};
|
||||
OptionString bugtracker_url{BUGTRACKER};
|
||||
OptionBool zchunk{true};
|
||||
--
|
||||
libgit2 0.27.7
|
||||
|
@ -1,46 +0,0 @@
|
||||
From 97d0afa11b44d295e49c67b978f786f7870f09e3 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Mracek <jmracek@redhat.com>
|
||||
Date: Fri, 11 Oct 2019 15:16:34 +0200
|
||||
Subject: [PATCH] Use POOL_FLAG_WHATPROVIDESWITHDISABLED
|
||||
|
||||
It resolves the problem with --best and search in provides.
|
||||
The patch requires libsolv-0.7.7.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1737469
|
||||
|
||||
Requires for 100% functionality (build, run-time):
|
||||
https://github.com/openSUSE/libsolv/commit/954862319e32e97b20afd0f598cd461ece320e4f
|
||||
https://github.com/openSUSE/libsolv/commit/bfdc347fdfc350a9b290543fac905cb21f9a71a8
|
||||
|
||||
Tests:
|
||||
https://github.com/openSUSE/libsolv/commit/7477a28ca57c9fd2df73e24a36d2a0f0734662ef
|
||||
---
|
||||
libdnf.spec | 2 +-
|
||||
libdnf/dnf-sack.cpp | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libdnf.spec b/libdnf.spec
|
||||
index 42205d0..a2bf2a2 100644
|
||||
--- a/libdnf.spec
|
||||
+++ b/libdnf.spec
|
||||
@@ -1,4 +1,4 @@
|
||||
-%global libsolv_version 0.7.4-1
|
||||
+%global libsolv_version 0.7.7
|
||||
%global libmodulemd_version 1.6.1
|
||||
%global librepo_version 1.10.0
|
||||
%global dnf_conflict 4.2.11
|
||||
diff --git a/libdnf/dnf-sack.cpp b/libdnf/dnf-sack.cpp
|
||||
index 8848aab..57839a3 100644
|
||||
--- a/libdnf/dnf-sack.cpp
|
||||
+++ b/libdnf/dnf-sack.cpp
|
||||
@@ -183,6 +183,7 @@ dnf_sack_init(DnfSack *sack)
|
||||
{
|
||||
DnfSackPrivate *priv = GET_PRIVATE(sack);
|
||||
priv->pool = pool_create();
|
||||
+ pool_set_flag(priv->pool, POOL_FLAG_WHATPROVIDESWITHDISABLED, 1);
|
||||
priv->running_kernel_id = -1;
|
||||
priv->running_kernel_fn = running_kernel;
|
||||
priv->considered_uptodate = TRUE;
|
||||
--
|
||||
libgit2 0.28.2
|
||||
|
@ -1,92 +0,0 @@
|
||||
From 4503d8c017b1c625d65b22279a7e136ec962984c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hr=C3=A1zk=C3=BD?= <lhrazky@redhat.com>
|
||||
Date: Mon, 7 Oct 2019 16:33:48 +0200
|
||||
Subject: [PATCH] Fix leaking log handlers in Sack (RhBug:1758737)
|
||||
|
||||
Stores the log handler ids in the sack and uses g_log_remove_handler()
|
||||
in the sack destructor to remove the handlers.
|
||||
|
||||
The mechanism is a bit complex and is explained in a code comment.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1758737
|
||||
---
|
||||
python/hawkey/sack-py.cpp | 35 ++++++++++++++++++++++++++++-------
|
||||
1 file changed, 28 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/python/hawkey/sack-py.cpp b/python/hawkey/sack-py.cpp
|
||||
index 5e39dda69..5a1c10d1a 100644
|
||||
--- a/python/hawkey/sack-py.cpp
|
||||
+++ b/python/hawkey/sack-py.cpp
|
||||
@@ -52,6 +52,22 @@ typedef struct {
|
||||
PyObject *custom_package_class;
|
||||
PyObject *custom_package_val;
|
||||
PyObject * ModulePackageContainerPy;
|
||||
+
|
||||
+ // g_log handler IDs
|
||||
+ // Multiple sacks can be created during a run of an application and each
|
||||
+ // sack opens a log file and registers two g_log handlers. To avoid dangling
|
||||
+ // handlers with invalid FILE pointers (we close them when destroying the
|
||||
+ // sack), we need to keep track of the handlers so that we can also remove
|
||||
+ // them.
|
||||
+ //
|
||||
+ // g_log is clever about adding log handlers. It does store all handlers
|
||||
+ // registered for a given domain, but only the one that was registered last
|
||||
+ // is used. If you remove the last registered one, the next in line will be
|
||||
+ // used. That means stacking sacks is ok, the handler from the last
|
||||
+ // undeleted sack will be the one that is used.
|
||||
+ guint default_log_handler_id;
|
||||
+ guint libdnf_log_handler_id;
|
||||
+
|
||||
FILE *log_out;
|
||||
} _SackObject;
|
||||
|
||||
@@ -131,8 +147,13 @@ sack_dealloc(_SackObject *o)
|
||||
}
|
||||
g_object_unref(o->sack);
|
||||
}
|
||||
- if (o->log_out)
|
||||
+
|
||||
+ if (o->log_out) {
|
||||
+ g_log_remove_handler(nullptr, o->default_log_handler_id);
|
||||
+ g_log_remove_handler("libdnf", o->libdnf_log_handler_id);
|
||||
fclose(o->log_out);
|
||||
+ }
|
||||
+
|
||||
Py_TYPE(o)->tp_free(o);
|
||||
}
|
||||
|
||||
@@ -194,11 +215,11 @@ log_handler_noop(const gchar *, GLogLevelFlags, const gchar *, gpointer)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
-set_logfile(const gchar *path, FILE ** log_out, bool debug)
|
||||
+sack_set_logfile(_SackObject *self, const gchar *path, bool debug)
|
||||
{
|
||||
- *log_out = fopen(path, "a");
|
||||
+ self->log_out = fopen(path, "a");
|
||||
|
||||
- if (!(*log_out))
|
||||
+ if (!self->log_out)
|
||||
return FALSE;
|
||||
|
||||
// The default log handler prints messages that weren't handled by any
|
||||
@@ -213,8 +234,8 @@ set_logfile(const gchar *path, FILE ** log_out, bool debug)
|
||||
G_LOG_LEVEL_ERROR);
|
||||
|
||||
// set the handler for the default domain as well as "libdnf"
|
||||
- g_log_set_handler(nullptr, log_mask, log_handler, *log_out);
|
||||
- g_log_set_handler("libdnf", log_mask, log_handler, *log_out);
|
||||
+ self->default_log_handler_id = g_log_set_handler(nullptr, log_mask, log_handler, self->log_out);
|
||||
+ self->libdnf_log_handler_id = g_log_set_handler("libdnf", log_mask, log_handler, self->log_out);
|
||||
|
||||
g_info("=== Started libdnf-%d.%d.%d ===", LIBDNF_MAJOR_VERSION,
|
||||
LIBDNF_MINOR_VERSION, LIBDNF_MICRO_VERSION);
|
||||
@@ -273,7 +294,7 @@ sack_init(_SackObject *self, PyObject *args, PyObject *kwds)
|
||||
PycompString logfile(logfile_py);
|
||||
if (!logfile.getCString())
|
||||
return -1;
|
||||
- if (!set_logfile(logfile.getCString(), &self->log_out, debug)) {
|
||||
+ if (!sack_set_logfile(self, logfile.getCString(), debug)) {
|
||||
PyErr_Format(PyExc_IOError, "Failed to open log file: %s", logfile.getCString());
|
||||
return -1;
|
||||
}
|
81
libdnf.spec
81
libdnf.spec
@ -1,9 +1,20 @@
|
||||
%global libsolv_version 0.7.6-3
|
||||
%global libsolv_version 0.7.7
|
||||
%global libmodulemd_version 1.6.1
|
||||
%global librepo_version 1.10.0
|
||||
%global dnf_conflict 4.2.11
|
||||
%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
|
||||
@ -13,12 +24,6 @@
|
||||
%bcond_without python3
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel}
|
||||
%global rpm_version 4.14.2
|
||||
%else
|
||||
%global rpm_version 4.14.2.1-4
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} > 7 || 0%{?fedora} > 29
|
||||
# Disable python2 build by default
|
||||
%bcond_with python2
|
||||
@ -43,18 +48,14 @@
|
||||
%{nil}
|
||||
|
||||
Name: libdnf
|
||||
Version: 0.35.5
|
||||
Release: 5%{?dist}
|
||||
Version: 0.37.2
|
||||
Release: 1%{?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-Revert-9309e92332241ff1113433057c969cebf127734e.patch
|
||||
Patch0002: 0001-Use-POOL_FLAG_WHATPROVIDESWITHDISABLED.patch
|
||||
Patch0003: 0003-Fix-leaking-log-handlers-in-Sack.patch
|
||||
|
||||
Patch0005: 0001-Revert-hy_detect_arch-detect-crypto-only-on-arm-vers.patch
|
||||
Patch0006: 0002-Fix-Arm-detection-improvements.patch
|
||||
Patch0001: 0001-Revert-hy_detect_arch-detect-crypto-only-on-arm-vers.patch
|
||||
Patch0002: 0002-Fix-Arm-detection-improvements.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
@ -67,7 +68,7 @@ BuildRequires: valgrind
|
||||
%endif
|
||||
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.46.0
|
||||
BuildRequires: pkgconfig(gtk-doc)
|
||||
BuildRequires: rpm-devel >= %{rpm_version}
|
||||
BuildRequires: rpm-devel >= 4.11.0
|
||||
%if %{with rhsm}
|
||||
BuildRequires: pkgconfig(librhsm) >= 0.0.3
|
||||
%endif
|
||||
@ -114,11 +115,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
|
||||
|
||||
@ -132,7 +134,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}
|
||||
@ -190,6 +192,11 @@ mkdir build-py3
|
||||
%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}
|
||||
%make_build
|
||||
popd
|
||||
@ -197,20 +204,17 @@ popd
|
||||
|
||||
%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}
|
||||
%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
|
||||
@ -246,7 +250,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
|
||||
@ -288,6 +292,23 @@ popd
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* 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)
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (libdnf-0.35.5.tar.gz) = 4b9ec3a527ebcffd96c9b5b7c92db867e5e4b9b8cc07e057aaceae7cd447f67a23dbc821527d1db1bef5630d17301c08293708b383b5d04db6989ae5c9d9b3ef
|
||||
SHA512 (libdnf-0.37.2.tar.gz) = ca1db4670ba5571ae0f310ebf9cbe0a4734b85527498336e57e47fd894ac99d5a8bc310c88632bd4f6615f58d0b98b08087c361e6334f884725bdebc968ed740
|
||||
|
Loading…
Reference in New Issue
Block a user