diff --git a/.gitignore b/.gitignore index 8e643ab..382c22d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libsolv-0.7.17.tar.gz +SOURCES/libsolv-0.7.19.tar.gz diff --git a/.libsolv.metadata b/.libsolv.metadata index 5e952cb..70e2f6a 100644 --- a/.libsolv.metadata +++ b/.libsolv.metadata @@ -1 +1 @@ -ef94c30e9348a56caa140dd80b6b21bc997a5f0c SOURCES/libsolv-0.7.17.tar.gz +b4101632c56b00e0bd8f41d772a7998a3d000a74 SOURCES/libsolv-0.7.19.tar.gz diff --git a/SOURCES/0002-Fix-Memory-leaks-in-SWIG-generated-code-for-Python.patch b/SOURCES/0002-Fix-Memory-leaks-in-SWIG-generated-code-for-Python.patch new file mode 100644 index 0000000..8753b85 --- /dev/null +++ b/SOURCES/0002-Fix-Memory-leaks-in-SWIG-generated-code-for-Python.patch @@ -0,0 +1,30 @@ +From 8615575144e6fd3d708a30983ed2415db479ef4c Mon Sep 17 00:00:00 2001 +From: Jaroslav Rohel +Date: Thu, 8 Apr 2021 12:17:09 +0200 +Subject: [PATCH] Fix: Memory leaks in SWIG generated code (for Python) + +There were memory leaks in the `Chksum_from_bin`, `Chksum_add`, +`SolvFp_write` functions wrapper for Python. + +The problem was in "freearg" typemap argument defined in "solv.i". +Therefore, the typemap was not applied. +--- + bindings/solv.i | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bindings/solv.i b/bindings/solv.i +index 1882b13..3bbeca0 100644 +--- a/bindings/solv.i ++++ b/bindings/solv.i +@@ -63,7 +63,7 @@ typedef struct { + $2 = size; + } + +-%typemap(freearg,noblock=1,match="in") (const unsigned char *str, int len) { ++%typemap(freearg,noblock=1,match="in") (const unsigned char *str, size_t len) { + if (alloc$argnum == SWIG_NEWOBJ) %delete_array(buf$argnum); + } + +-- +libgit2 1.0.1 + diff --git a/SPECS/libsolv.spec b/SPECS/libsolv.spec index ce616f8..54b31b0 100644 --- a/SPECS/libsolv.spec +++ b/SPECS/libsolv.spec @@ -7,6 +7,7 @@ %bcond_without appdata # Creates special prefixed "group:", "category:" pseudo-packages %bcond_without comps +%bcond_without conda # For rich dependencies %bcond_without complex_deps %if 0%{?rhel} @@ -35,8 +36,8 @@ %define __cmake_switch(b:) %{expand:%%{?with_%{-b*}:ON}}%{expand:%%{!?with_%{-b*}:OFF}} Name: lib%{libname} -Version: 0.7.17 -Release: 2%{?commit:.git.%{commitnum}.%{?shortcommit}}%{?dist} +Version: 0.7.19 +Release: 1%{?commit:.git.%{commitnum}.%{?shortcommit}}%{?dist} Summary: Package dependency solver License: BSD @@ -48,6 +49,7 @@ Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz %endif # https://bugzilla.redhat.com/show_bug.cgi?id=1630300 Patch1: 0001-Add-support-for-computing-hashes-using-OpenSSL.patch +Patch2: 0002-Fix-Memory-leaks-in-SWIG-generated-code-for-Python.patch BuildRequires: cmake BuildRequires: gcc-c++ @@ -95,7 +97,7 @@ Development files for %{name}. Summary: Package dependency solver tools Requires: %{name}%{?_isa} = %{version}-%{release} # repo2solv dependencies. Used as execl() -Requires: %{_bindir}/find +Requires: /usr/bin/find %description tools Package dependency solver tools. @@ -104,8 +106,8 @@ Package dependency solver tools. Summary: Applications demoing the %{name} library Requires: %{name}%{?_isa} = %{version}-%{release} # solv dependencies. Used as execlp() and system() -Requires: %{_bindir}/curl -Requires: %{_bindir}/gpg2 +Requires: /usr/bin/curl +Requires: /usr/bin/gpg2 %description demo Applications demoing the %{name} library. @@ -176,6 +178,7 @@ Python 3 version. -DENABLE_ARCHREPO=%{__cmake_switch -b arch_repo} \ -DMULTI_SEMANTICS=%{__cmake_switch -b multi_semantics} \ -DENABLE_COMPLEX_DEPS=%{__cmake_switch -b complex_deps} \ + -DENABLE_CONDA=%{__cmake_switch -b conda} \ -DENABLE_PERL=%{__cmake_switch -b perl_bindings} \ -DENABLE_RUBY=%{__cmake_switch -b ruby_bindings} \ -DENABLE_PYTHON=%{__cmake_switch -b python_bindings} \ @@ -194,7 +197,7 @@ Python 3 version. # Python smoke test (not tested in %%ctest): export PYTHONPATH=%{buildroot}%{python3_sitearch} export LD_LIBRARY_PATH=%{buildroot}%{_libdir} -%{python3} -c 'import solv' +%python3 -c 'import solv' %files %license LICENSE* @@ -249,6 +252,9 @@ export LD_LIBRARY_PATH=%{buildroot}%{_libdir} %if %{with suse_repo} %solv_tool susetags2solv %endif +%if %{with conda} + %{_bindir}/conda2solv +%endif %files demo %solv_tool solv @@ -272,6 +278,13 @@ export LD_LIBRARY_PATH=%{buildroot}%{_libdir} %endif %changelog +* Tue Jul 27 2021 Pavla Kratochvilova - 0.7.19-1 +- Update to 0.7.19 +- repo_add_conda: add flag to skip v2 packages +- fix rare segfault in resolve_jobrules() that could happen if new rules are learnt +- fix error handling in solv_xfopen_fd() +- fix memory leaks + * Fri Apr 30 2021 Pavla Kratochvilova - 0.7.17-2 - Fix rpm dependency