diff --git a/.gitignore b/.gitignore index 0afda40..15812a3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libsolv-0.6.20.tar.gz +SOURCES/libsolv-0.6.26.tar.gz diff --git a/.libsolv.metadata b/.libsolv.metadata index 8e96706..c2ba49b 100644 --- a/.libsolv.metadata +++ b/.libsolv.metadata @@ -1 +1 @@ -083e3ad09ecf52bc4beda22444b0ff8bce65414d SOURCES/libsolv-0.6.20.tar.gz +7699af00e648bf3e631246559c48ceb7f3f544b9 SOURCES/libsolv-0.6.26.tar.gz diff --git a/SOURCES/0001-Fix-order-of-solv_extend-arguments-in-repo_add_rpmmd.patch b/SOURCES/0001-Fix-order-of-solv_extend-arguments-in-repo_add_rpmmd.patch deleted file mode 100644 index 102c4a9..0000000 --- a/SOURCES/0001-Fix-order-of-solv_extend-arguments-in-repo_add_rpmmd.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 599c58bed474c2a68109ff0649f1effa7ff02c45 Mon Sep 17 00:00:00 2001 -From: Michael Schroeder -Date: Tue, 17 May 2016 11:22:56 +0200 -Subject: [PATCH] Fix order of solv_extend arguments in repo_add_rpmmd - -Fixes libsolv sometimes segfaulting since commit -d06562f7b70f6ceb7d52e717efd1963ce6e8ecf0 ---- - ext/repo_rpmmd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/repo_rpmmd.c b/ext/repo_rpmmd.c -index 78264cc..d280ba0 100644 ---- a/ext/repo_rpmmd.c -+++ b/ext/repo_rpmmd.c -@@ -657,7 +657,7 @@ put_in_cshash(struct parsedata *pd, const unsigned char *key, int keyl, Id id) - } - } - /* a new entry. put in csdata */ -- pd->csdata = solv_extend(pd->csdata, pd->ncsdata, 1, 1 + keyl + sizeof(Id), 4095); -+ pd->csdata = solv_extend(pd->csdata, pd->ncsdata, 1 + keyl + sizeof(Id), 1, 4095); - d = pd->csdata + pd->ncsdata; - d[0] = keyl - 1; - memcpy(d + 1, key, keyl); --- -2.7.4 - diff --git a/SOURCES/0001-Fix-supplements-handling-when-implicitobsoleteusesco.patch b/SOURCES/0001-Fix-supplements-handling-when-implicitobsoleteusesco.patch deleted file mode 100644 index 6619174..0000000 --- a/SOURCES/0001-Fix-supplements-handling-when-implicitobsoleteusesco.patch +++ /dev/null @@ -1,74 +0,0 @@ -From b1014a431541444bcd39c6ec83c1ec935c7f0aae Mon Sep 17 00:00:00 2001 -From: Michael Schroeder -Date: Tue, 17 May 2016 13:31:58 +0200 -Subject: [PATCH] Fix supplements handling when implicitobsoleteusescolors is - set - -This currently relys on the infarch lockstep handling a bit. Let's -see if this is enough or we need some better filtering code. ---- - src/solver.c | 20 ++++++++++++++++++++ - .../supplements_implicitobsoleteusescolors.t | 20 ++++++++++++++++++++ - 2 files changed, 40 insertions(+) - create mode 100644 test/testcases/weakdeps/supplements_implicitobsoleteusescolors.t - -diff --git a/src/solver.c b/src/solver.c -index 5da8529..4f849ec 100644 ---- a/src/solver.c -+++ b/src/solver.c -@@ -2636,6 +2636,26 @@ solver_run_sat(Solver *solv, int disablerules, int doweak) - dqs.count = j; - } - -+ /* implicitobsoleteusescolors doesn't mix well with supplements. -+ * filter supplemented packages where we already decided -+ * to install a different architecture */ -+ if (dqs.count && pool->implicitobsoleteusescolors) -+ { -+ for (i = j = 0; i < dqs.count; i++) -+ { -+ Id p2, pp2; -+ p = dqs.elements[i]; -+ s = pool->solvables + p; -+ FOR_PROVIDES(p2, pp2, s->name) -+ if (solv->decisionmap[p2] > 0 && pool->solvables[p2].name == s->name && pool->solvables[p2].arch != s->arch) -+ break; -+ if (p2) -+ continue; /* ignore this package */ -+ dqs.elements[j++] = p; -+ } -+ dqs.count = j; -+ } -+ - /* make dq contain both recommended and supplemented pkgs */ - if (dqs.count) - { -diff --git a/test/testcases/weakdeps/supplements_implicitobsoleteusescolors.t b/test/testcases/weakdeps/supplements_implicitobsoleteusescolors.t -new file mode 100644 -index 0000000..6de4544 ---- /dev/null -+++ b/test/testcases/weakdeps/supplements_implicitobsoleteusescolors.t -@@ -0,0 +1,20 @@ -+repo system 0 empty -+repo test 0 testtags -+#>=Ver: 2.0 -+#>=Pkg: A 1 1 noarch -+#>=Pkg: B 1 1 x86_64 -+#>=Sup: A -+#>=Pkg: B 1 1 i686 -+#>=Sup: A -+#>=Pkg: A2 1 1 noarch -+#>=Pkg: B2 1 1 x86_64 -+#>=Sup: A2 -+#>=Req: XX -+#>=Pkg: B2 1 1 i686 -+#>=Sup: A2 -+system x86_64 * system -+poolflags implicitobsoleteusescolors -+job install name A -+ -+nextjob -+job install name A2 --- -2.7.4 - diff --git a/SPECS/libsolv.spec b/SPECS/libsolv.spec index 6c625e2..43015c5 100644 --- a/SPECS/libsolv.spec +++ b/SPECS/libsolv.spec @@ -15,51 +15,37 @@ %bcond_without python3 %endif %endif -%bcond_with debian_repo -%bcond_with arch_repo -%bcond_with helix_repo # Creates special prefixed pseudo-packages from appdata metadata %bcond_with appdata # Creates special prefixed "group:", "category:" pseudo-packages %bcond_without comps # For rich dependencies %bcond_without complex_deps +%if 0%{?rhel} +%bcond_with helix_repo +%bcond_with suse_repo +%bcond_with debian_repo +%bcond_with arch_repo +# For handling deb + rpm at the same time +%bcond_with multi_semantics +%else +%bcond_without helix_repo +%bcond_without suse_repo +%bcond_without debian_repo +%bcond_without arch_repo # For handling deb + rpm at the same time -%bcond_with multi_symantics - -%global _cmake_opts \\\ - -DFEDORA=1 \\\ - -DENABLE_RPMDB=ON \\\ - -DENABLE_RPMDB_BYRPMHEADER=ON \\\ - -DENABLE_RPMMD=ON \\\ - %{?with_comps:-DENABLE_COMPS=ON} \\\ - %{?with_appdata:-DENABLE_APPDATA=ON} \\\ - -DUSE_VENDORDIRS=ON \\\ - -DENABLE_LZMA_COMPRESSION=ON \\\ - -DENABLE_BZIP2_COMPRESSION=ON \\\ - %{?with_debian_repo:-DENABLE_DEBIAN=ON} \\\ - %{?with_arch_repo:-DENABLE_ARCHREPO=ON} \\\ - %{?with_helix_repo:-DENABLE_HELIXREPO=ON} \\\ - %{?with_multi_symantics:-DMULTI_SYMANTICS=ON} \\\ - %{?with_complex_deps:-DENABLE_COMPLEX_DEPS=1} \\\ - %{nil} +%bcond_without multi_semantics +%endif Name: lib%{libname} -Version: 0.6.20 -Release: 5%{?dist} +Version: 0.6.26 +Release: 1%{?dist} Summary: Package dependency solver License: BSD URL: https://github.com/openSUSE/libsolv Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz -# https://bugzilla.redhat.com/show_bug.cgi?id=1318662 -# https://github.com/openSUSE/libsolv/commit/599c58bed474c2a68109ff0649f1effa7ff02c45 -Patch0: 0001-Fix-order-of-solv_extend-arguments-in-repo_add_rpmmd.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1325471 -# https://github.com/openSUSE/libsolv/commit/b1014a431541444bcd39c6ec83c1ec935c7f0aae -Patch1: 0001-Fix-supplements-handling-when-implicitobsoleteusesco.patch - BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: pkgconfig(rpm) @@ -96,12 +82,12 @@ Summary: Package dependency solver tools Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: %{name}-test < 0.6.11-2 # repo2solv dependencies. All of those are used in shell-script. -Requires: /usr/bin/gzip -Requires: /usr/bin/bzip2 -Requires: /usr/bin/lzma -Requires: /usr/bin/xz -Requires: /usr/bin/cat -Requires: /usr/bin/find +Requires: %{_bindir}/gzip +Requires: %{_bindir}/bzip2 +Requires: %{_bindir}/lzma +Requires: %{_bindir}/xz +Requires: %{_bindir}/cat +Requires: %{_bindir}/find %description tools Package dependency solver tools. @@ -110,8 +96,8 @@ Package dependency solver tools. Summary: Applications demoing the %{name} library Requires: %{name}%{?_isa} = %{version}-%{release} # solv dependencies. Used as execlp() and system() -Requires: /usr/bin/curl -Requires: /usr/bin/gpg2 +Requires: %{_bindir}/curl +Requires: %{_bindir}/gpg2 %description demo Applications demoing the %{name} library. @@ -121,6 +107,7 @@ Applications demoing the %{name} library. Summary: Perl bindings for the %{name} library BuildRequires: swig BuildRequires: perl-devel +BuildRequires: perl-generators Requires: %{name}%{?_isa} = %{version}-%{release} %description -n perl-%{libname} @@ -168,56 +155,43 @@ Python 3 version. %prep %autosetup -p1 -mkdir build build-py2 build-py3 +mkdir build %build pushd build - %cmake %_cmake_opts ../ \ - %{?with_perl_bindings:-DENABLE_PERL=ON} \ - %{?with_ruby_bindings:-DENABLE_RUBY=ON} \ - %{nil} - %make_build -popd - + %cmake \ + -DFEDORA=1 \ + -DENABLE_RPMDB=ON \ + -DENABLE_RPMDB_BYRPMHEADER=ON \ + -DENABLE_RPMMD=ON \ + %{?with_comps:-DENABLE_COMPS=ON} \ + %{?with_appdata:-DENABLE_APPDATA=ON} \ + -DUSE_VENDORDIRS=ON \ + -DENABLE_LZMA_COMPRESSION=ON \ + -DENABLE_BZIP2_COMPRESSION=ON \ + %{?with_helix_repo:-DENABLE_HELIXREPO=ON} \ + %{?with_suse_repo:-DENABLE_SUSEREPO=ON} \ + %{?with_debian_repo:-DENABLE_DEBIAN=ON} \ + %{?with_arch_repo:-DENABLE_ARCHREPO=ON} \ + %{?with_multi_semantics:-DMULTI_SEMANTICS=ON} \ + %{?with_complex_deps:-DENABLE_COMPLEX_DEPS=1} \ + %{?with_perl_bindings:-DENABLE_PERL=ON} \ + %{?with_ruby_bindings:-DENABLE_RUBY=ON} \ %if %{with python_bindings} -pushd build-py2 - %cmake %_cmake_opts ../ \ - -DENABLE_PYTHON=ON \ - -DPythonLibs_FIND_VERSION=2 \ - -DPythonLibs_FIND_VERSION_MAJOR=2 \ - %{nil} - make %{?_smp_mflags} bindings_python -popd - + -DENABLE_PYTHON=ON \ %if %{with python3} -pushd build-py3 - %cmake %_cmake_opts ../ \ - -DENABLE_PYTHON=ON \ - -DPythonLibs_FIND_VERSION=3 \ - -DPythonLibs_FIND_VERSION_MAJOR=3 \ - %{nil} - make %{?_smp_mflags} bindings_python -popd + -DENABLE_PYTHON3=ON \ %endif %endif + .. + %make_build +popd %install pushd build %make_install popd -%if %{with python_bindings} -pushd build-py2 - %make_install -popd - -%if %{with python3} -pushd build-py3 - %make_install -popd -%endif -%endif - mv %{buildroot}%{_bindir}/repo2solv.sh %{buildroot}%{_bindir}/repo2solv %check @@ -240,6 +214,7 @@ popd %{_libdir}/%{name}ext.so %{_includedir}/%{libname}/ %{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/pkgconfig/%{name}ext.pc # Own directory because we don't want to depend on cmake %dir %{_datadir}/cmake/Modules/ %{_datadir}/cmake/Modules/FindLibSolv.cmake @@ -277,6 +252,10 @@ popd %if %{with helix_repo} %solv_tool helix2solv %endif +%if %{with suse_repo} + %solv_tool susetags2solv +%endif + %{_bindir}/repo2solv %files demo @@ -307,6 +286,15 @@ popd %endif %changelog +* Sun Feb 19 2017 Igor Gnatenko - 0.6.26-1 +- Update to 0.6.26 + +* Tue Feb 07 2017 Igor Gnatenko - 0.6.25-1 +- Update to 0.6.25 + +* Fri Nov 11 2016 Igor Gnatenko - 0.6.24-1 +- Update to 0.6.24 + * Tue Jul 12 2016 Igor Gnatenko - 0.6.20-5 - Make obsoletes non-architecture dependent (RHBZ #1354479)