From 90b570f7adcac4d5d20f96a17898eae7756a99ec Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jan 31 2019 18:58:48 +0000 Subject: import libdnf-0.22.5-1.el7_6 --- diff --git a/.gitignore b/.gitignore index 26038c2..c67ed22 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libdnf-0.11.1.tar.gz +SOURCES/libdnf-0.22.5.tar.gz diff --git a/.libdnf.metadata b/.libdnf.metadata index 14df4d7..cecb49a 100644 --- a/.libdnf.metadata +++ b/.libdnf.metadata @@ -1 +1 @@ -460f7c454e61a6e3eb323fa64ff2e8b3058d8359 SOURCES/libdnf-0.11.1.tar.gz +d456a4e02426c4fb837d85bfcfb2645ecb4d0788 SOURCES/libdnf-0.22.5.tar.gz diff --git a/SOURCES/0001-Use-arch-from-spec-in-hy_subject_get_best_selector-RhBug1542307.patch b/SOURCES/0001-Use-arch-from-spec-in-hy_subject_get_best_selector-RhBug1542307.patch deleted file mode 100644 index 43ba1d7..0000000 --- a/SOURCES/0001-Use-arch-from-spec-in-hy_subject_get_best_selector-RhBug1542307.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 04cb64836deabf398ccdbf671be9a83837309c57 Mon Sep 17 00:00:00 2001 -From: Jaroslav Mracek -Date: Tue, 2 Oct 2018 16:59:32 +0200 -Subject: [PATCH] Use arch from spec in hy_subject_get_best_selector (RhBug:1542307) - ---- - libdnf/hy-subject.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/libdnf/hy-subject.c b/libdnf/hy-subject.c -index 488ee6a..b72f4b5 100644 ---- a/libdnf/hy-subject.c -+++ b/libdnf/hy-subject.c -@@ -382,6 +382,9 @@ nevra_to_selector(HyNevra nevra, DnfSack *sack) - hy_selector_set(selector, HY_PKG_EVR, HY_EQ, evrbuf->str); - } - } -+ const char * arch = hy_nevra_get_string(nevra, HY_NEVRA_ARCH); -+ if (arch) -+ hy_selector_set(selector, HY_PKG_ARCH, HY_EQ, arch); - } - - if (hy_selector_has_matches(selector)) { --- -libgit2 0.26.7 - diff --git a/SOURCES/queue_init_clone-const_cast.patch b/SOURCES/queue_init_clone-const_cast.patch new file mode 100644 index 0000000..92de8ec --- /dev/null +++ b/SOURCES/queue_init_clone-const_cast.patch @@ -0,0 +1,49 @@ +diff -Naur a/libdnf/goal/IdQueue.hpp b/libdnf/goal/IdQueue.hpp +--- a/libdnf/goal/IdQueue.hpp 2019-01-04 14:12:04.000000000 +0100 ++++ b/libdnf/goal/IdQueue.hpp 2019-01-08 09:54:45.858216988 +0100 +@@ -51,13 +51,13 @@ + }; + + inline IdQueue::IdQueue() { queue_init(&queue); } +-inline IdQueue::IdQueue(const IdQueue & src) { queue_init_clone(&queue, &src.queue); } ++inline IdQueue::IdQueue(const IdQueue & src) { queue_init_clone(&queue, const_cast(&src.queue)); } + inline IdQueue::IdQueue(IdQueue && src) + { + queue_init(&queue); + std::swap(queue, src.queue); + } +-inline IdQueue::IdQueue(const Queue & src) { queue_init_clone(&queue, &src); } ++inline IdQueue::IdQueue(const Queue & src) { queue_init_clone(&queue, const_cast(&src)); } + + inline IdQueue::~IdQueue() { queue_free(&queue); } + +diff -Naur a/libdnf/repo/solvable/DependencyContainer.cpp b/libdnf/repo/solvable/DependencyContainer.cpp +--- a/libdnf/repo/solvable/DependencyContainer.cpp 2019-01-04 14:12:04.000000000 +0100 ++++ b/libdnf/repo/solvable/DependencyContainer.cpp 2019-01-08 09:54:19.623031878 +0100 +@@ -32,7 +32,7 @@ + DependencyContainer::DependencyContainer(const DependencyContainer &src) + : sack(src.sack) + { +- queue_init_clone(&this->queue, &queue); ++ queue_init_clone(&this->queue, const_cast(&queue)); + } + + +@@ -45,7 +45,7 @@ + DependencyContainer::DependencyContainer(DnfSack *sack, Queue queue) + : sack(sack) + { +- queue_init_clone(&this->queue, &queue); ++ queue_init_clone(&this->queue, const_cast(&queue)); + } + + DependencyContainer::~DependencyContainer() +@@ -56,7 +56,7 @@ + DependencyContainer &DependencyContainer::operator=(DependencyContainer &&src) noexcept + { + sack = src.sack; +- queue_init_clone(&queue, &src.queue); ++ queue_init_clone(&queue, const_cast(&src.queue)); + return *this; + } + diff --git a/SPECS/libdnf.spec b/SPECS/libdnf.spec index 83e90ce..497d542 100644 --- a/SPECS/libdnf.spec +++ b/SPECS/libdnf.spec @@ -1,5 +1,7 @@ -%global libsolv_version 0.6.21-1 -%global dnf_conflict 2.7.2 +%global libsolv_version 0.6.34-1 +%global libmodulemd_version 1.6.1 +%global dnf_conflict 4.0.9.2 +%global swig_version 3.0.12 %bcond_with valgrind @@ -10,6 +12,13 @@ %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 @@ -21,16 +30,17 @@ %{nil} Name: libdnf -Version: 0.11.1 -Release: 4%{?dist} +Version: 0.22.5 +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-Use-arch-from-spec-in-hy_subject_get_best_selector-RhBug1542307.patch +Patch0: queue_init_clone-const_cast.patch BuildRequires: cmake BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: libsolv-devel >= %{libsolv_version} BuildRequires: pkgconfig(librepo) BuildRequires: pkgconfig(check) @@ -39,12 +49,20 @@ BuildRequires: valgrind %endif BuildRequires: pkgconfig(gio-unix-2.0) >= 2.46.0 BuildRequires: pkgconfig(gtk-doc) -BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: rpm-devel >= 4.11.0 %if %{with rhsm} -BuildRequires: pkgconfig(librhsm) +BuildRequires: pkgconfig(librhsm) >= 0.0.3 %endif - +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(json-c) +BuildRequires: pkgconfig(cppunit) +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(modulemd) >= %{libmodulemd_version} +BuildRequires: pkgconfig(smartcols) +BuildRequires: gettext +BuildRequires: gpgme-devel + +Requires: libmodulemd%{?_isa} >= %{libmodulemd_version} Requires: libsolv%{?_isa} >= %{libsolv_version} %description @@ -58,6 +76,38 @@ 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%{?rhel} == 7 +BuildRequires: python-sphinx +BuildRequires: swig3 >= %{swig_version} +%else +BuildRequires: python2-sphinx +BuildRequires: swig >= %{swig_version} +%endif + +%description -n python2-%{name} +Python 2 bindings for the libdnf library. +%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: 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} @@ -68,6 +118,7 @@ BuildRequires: python-nose BuildRequires: python2-nose %endif 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} @@ -75,6 +126,7 @@ Conflicts: python-dnf < %{dnf_conflict} %description -n python2-hawkey Python 2 bindings for the hawkey library. +%endif # with python2 %if %{with python3} %package -n python3-hawkey @@ -83,9 +135,11 @@ Summary: Python 3 bindings for the hawkey library BuildRequires: python3-devel BuildRequires: python3-nose 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 @@ -94,20 +148,24 @@ Python 3 bindings for the hawkey library. %prep %autosetup -p1 +%if %{with python2} mkdir build-py2 +%endif # with python2 %if %{with python3} mkdir build-py3 %endif %build +%if %{with python2} pushd build-py2 - %cmake -DWITH_MAN=OFF ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts} + %cmake -DPYTHON_DESIRED:FILEPATH=%{__python2} -DWITH_MAN=OFF ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts} %make_build popd +%endif # with python2 %if %{with python3} pushd build-py3 - %cmake -DPYTHON_DESIRED:str=3 -DWITH_GIR=0 -DWITH_MAN=0 -Dgtkdoc=0 ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts} + %cmake -DPYTHON_DESIRED:FILEPATH=%{__python3} -DWITH_GIR=0 -DWITH_MAN=0 -Dgtkdoc=0 ../ %{!?with_valgrind:-DDISABLE_VALGRIND=1} %{_cmake_opts} %make_build popd %endif @@ -120,9 +178,12 @@ 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 @@ -132,33 +193,52 @@ popd %endif %install +%if %{with python2} pushd build-py2 %make_install popd +%endif # with python2 %if %{with python3} pushd build-py3 %make_install popd %endif +%find_lang %{name} + +%if 0%{?rhel} && 0%{?rhel} <= 7 %post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%else +%ldconfig_scriptlets +%endif -%files +%files -f %{name}.lang %license COPYING -%doc README.md AUTHORS NEWS +%doc README.md AUTHORS %{_libdir}/%{name}.so.* -%{_libdir}/girepository-1.0/Dnf-*.typelib +%{_libdir}/libdnf/plugins/README %files devel %doc %{_datadir}/gtk-doc/html/%{name}/ %{_libdir}/%{name}.so %{_libdir}/pkgconfig/%{name}.pc %{_includedir}/%{name}/ -%{_datadir}/gir-1.0/Dnf-*.gir +%if %{with python2} +%files -n python2-%{name} +%{python2_sitearch}/%{name}/ +%endif # with python2 + +%if %{with python3} +%files -n python3-%{name} +%{python3_sitearch}/%{name}/ +%endif + +%if %{with python2} %files -n python2-hawkey %{python2_sitearch}/hawkey/ +%endif # with python2 %if %{with python3} %files -n python3-hawkey @@ -166,88 +246,21 @@ popd %endif %changelog -* Thu Nov 08 2018 Jaroslav Mracek - 0.11.1-4 -- Backport patch for RHBZ#1542307 from upstream libdnf-0.11.1 - -* Tue Nov 07 2017 Igor Gnatenko - 0.11.1-3 -- Use better Obsoletes for platform-python - -* Fri Nov 03 2017 Igor Gnatenko - 0.11.1-2 -- Remove platform-python subpackage - -* Mon Oct 16 2017 Jaroslav Mracek - 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 - 0.11.0-1 -- Update to 0.11.0 - -* Mon Oct 02 2017 Jaroslav Mracek - 0.10.1-2 -- Rerelease of 0.10.1-1 - -* Wed Sep 27 2017 Jaroslav Mracek - 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 - 0.9.3-8 -- Disable platform python on old releases - -* Tue Aug 15 2017 Lumír Balhar - 0.9.3-7 -- Add platform-python subpackage - -* Fri Aug 11 2017 Igor Gnatenko - 0.9.3-6 -- Rebuilt after RPM update (№ 3) - -* Thu Aug 10 2017 Igor Gnatenko - 0.9.3-5 -- Rebuilt for RPM soname bump - -* Thu Aug 10 2017 Igor Gnatenko - 0.9.3-4 -- Rebuilt for RPM soname bump - -* Thu Aug 03 2017 Fedora Release Engineering - 0.9.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 0.9.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Mon Jul 24 2017 Jaroslav Mracek - 0.9.3-1 -- Update to 0.9.3 - -* Sat Jul 01 2017 Igor Gnatenko - 0.9.2-1 -- Update to 0.9.2 - -* Mon Jun 12 2017 Jaroslav Mracek - 0.9.1-1 -- Update to 0.9.1 - -* Mon May 22 2017 Jaroslav Mracek - 0.9.0-1 -- Update to 0.9.0 - -* Tue May 02 2017 Jaroslav Mracek - 0.8.2-1 -- Update to 0.8.2 - -* Fri Mar 24 2017 Igor Gnatenko - 0.8.1-1 -- Update to 0.8.1 +* Tue Jan 08 2019 Daniel Mach - 0.22.5-1 +- Update to 0.22.5 +- queue_init_clone src argument const_cast for libsolv 0.6.34 compatibility -* Tue Mar 21 2017 Jaroslav Mracek - 0.8.0-1 -- Update to 0.8.0 +* Wed Jun 13 2018 Marek Blaha - 0.11.1-1 +- Update to 0.11.1 -* Mon Feb 20 2017 Igor Gnatenko - 0.7.4-1 -- Update to 0.7.4 +* Fri May 18 2018 Daniel Mach - 0.7.4-4 +- Rebuild on additional architectures -* Fri Feb 10 2017 Igor Gnatenko - 0.7.3-1 -- Update to 0.7.3 +* Thu Mar 23 2017 Igor Gnatenko - 0.7.4-3 +- Backport patch to find releasever in RPMDB -* Wed Feb 08 2017 Igor Gnatenko - 0.7.2-1 -- 0.7.2 +* Mon Feb 20 2017 Jan Silhan - 0.7.4-2 +- 0.7.4 * Fri Jan 06 2017 Igor Gnatenko - 0.7.1-1 - 0.7.1