libdnf: upgrade 0.28.1 -> 0.47.0

Add a patch that avoids hardcoded sphinx dependency.

Switch off a couple of new features (zchunk, html docs for
hawkey library via sphinx) that both require new dependencies.

Move from modulemd 1.x to 2.x, drop upstreamed patches.

(From OE-Core rev: ce54462de6642935859421f2116e25ca5b2faa8c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2020-04-25 19:28:02 +02:00
committed by Richard Purdie
parent e1ab20ea5a
commit 7add0b8b4d
5 changed files with 54 additions and 147 deletions

View File

@@ -1,4 +1,4 @@
From e5a50db749b2b02e9e0cff9f7b639020e8ac76da Mon Sep 17 00:00:00 2001
From 56fa2bbdbd29377a6ef0d0b7aadbac8b5ea8c95b Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 6 Nov 2018 13:54:43 +0100
Subject: [PATCH] Add WITH_TESTS option
@@ -14,18 +14,18 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2 files changed, 5 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ce88b9e3..7a99320a 100644
index 881152a..965c992 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,6 +32,7 @@ option(WITH_HTML "Enables hawkey HTML generation" ON)
option(WITH_MAN "Enables hawkey man page generation" ON)
@@ -33,6 +33,7 @@ option(WITH_MAN "Enables hawkey man page generation" ON)
option(WITH_ZCHUNK "Build with zchunk support" ON)
option(ENABLE_RHSM_SUPPORT "Build with Red Hat Subscription Manager support?" OFF)
option(ENABLE_SOLV_URPMREORDER "Build with support for URPM-like solution reordering?" OFF)
+option(WITH_TESTS "Enables unit tests" ON)
# load pkg-config first; it's required by other modules
@@ -158,8 +159,10 @@ endif()
@@ -165,8 +166,10 @@ endif()
# build tests
@@ -37,7 +37,7 @@ index ce88b9e3..7a99320a 100644
add_subdirectory(python/hawkey)
endif()
diff --git a/python/hawkey/CMakeLists.txt b/python/hawkey/CMakeLists.txt
index d9645346..84d17204 100644
index d964534..84d1720 100644
--- a/python/hawkey/CMakeLists.txt
+++ b/python/hawkey/CMakeLists.txt
@@ -50,4 +50,6 @@ target_link_libraries(_hawkeymodule ${PYTHON_LIBRARY})

View File

@@ -0,0 +1,42 @@
From b570c7f8bd089deec7da2b108aa789a27025a473 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 19 Nov 2019 13:46:09 +0100
Subject: [PATCH] Look fo sphinx only if documentation is actually enabled
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
docs/hawkey/CMakeLists.txt | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/docs/hawkey/CMakeLists.txt b/docs/hawkey/CMakeLists.txt
index 52cc35c6..63c7672f 100644
--- a/docs/hawkey/CMakeLists.txt
+++ b/docs/hawkey/CMakeLists.txt
@@ -2,15 +2,17 @@
# tell sphinx-build to do them both in one go:
-find_program(SPHINX_PROGRAM NAMES "sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
-if(NOT EXISTS ${SPHINX_PROGRAM})
- find_program(SPHINX_PROGRAM NAMES sphinx-build-${PYTHON_VERSION_MAJOR})
-endif()
-if(NOT EXISTS ${SPHINX_PROGRAM})
- find_program(SPHINX_PROGRAM NAMES sphinx-build)
-endif()
-if(NOT EXISTS ${SPHINX_PROGRAM})
- message(FATAL_ERROR "Sphinx program not found." )
+if (WITH_HTML OR WITH_MAN)
+ find_program(SPHINX_PROGRAM NAMES "sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+ if(NOT EXISTS ${SPHINX_PROGRAM})
+ find_program(SPHINX_PROGRAM NAMES sphinx-build-${PYTHON_VERSION_MAJOR})
+ endif()
+ if(NOT EXISTS ${SPHINX_PROGRAM})
+ find_program(SPHINX_PROGRAM NAMES sphinx-build)
+ endif()
+ if(NOT EXISTS ${SPHINX_PROGRAM})
+ message(FATAL_ERROR "Sphinx program not found." )
+ endif()
endif()
if(WITH_HTML)

View File

@@ -1,65 +0,0 @@
From 5f8eee5040d7074710cd542fc50f7a40918321fc Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Dec 2019 14:30:22 -0800
Subject: [PATCH] include <stdexcept> for runtime_error
Fixes
error: class 'libdnf::ModulePackageContainer::Exception' does not have any field named 'runtime_error'
explicit Exception(const std::string &what) : runtime_error(what) {}
^~~~~~~~~~~~~
Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/867]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
libdnf/goal/Goal.hpp | 1 +
libdnf/module/ModulePackageContainer.hpp | 1 +
libdnf/repo/solvable/Dependency.cpp | 3 ++-
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/libdnf/goal/Goal.hpp b/libdnf/goal/Goal.hpp
index f33dfa24..7b8d822c 100644
--- a/libdnf/goal/Goal.hpp
+++ b/libdnf/goal/Goal.hpp
@@ -22,6 +22,7 @@
#define __GOAL_HPP
#include <memory>
+#include <stdexcept>
#include "../dnf-types.h"
#include "../hy-goal.h"
diff --git a/libdnf/module/ModulePackageContainer.hpp b/libdnf/module/ModulePackageContainer.hpp
index 1f815fda..37a8832d 100644
--- a/libdnf/module/ModulePackageContainer.hpp
+++ b/libdnf/module/ModulePackageContainer.hpp
@@ -30,6 +30,7 @@
#include <string>
#include <vector>
#include <set>
+#include <stdexcept>
//class ModulePackageContainer;
//typedef std::shared_ptr<ModulePackageContainer> ModulePackageContainerPtr;
diff --git a/libdnf/repo/solvable/Dependency.cpp b/libdnf/repo/solvable/Dependency.cpp
index 6682b729..0fc8b5cd 100644
--- a/libdnf/repo/solvable/Dependency.cpp
+++ b/libdnf/repo/solvable/Dependency.cpp
@@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <stdexcept>
#include "Dependency.hpp"
#include "libdnf/utils/utils.hpp"
#include "libdnf/repo/DependencySplitter.hpp"
@@ -106,4 +107,4 @@ Dependency::getReldepId(DnfSack *sack, const char * reldepStr)
}
}
-}
\ No newline at end of file
+}
--
2.24.1

View File

@@ -1,71 +0,0 @@
From 66d9b2ba3fbc7b04f2b5ad9d0e5371340c037b5f Mon Sep 17 00:00:00 2001
From: Marek Blaha <mblaha@redhat.com>
Date: Wed, 10 Jul 2019 10:11:01 +0200
Subject: [oe-core][PATCH 1/1] Fix Python 3.8 deprecation warning
(RhBug:1724244)
This deprecation warning was introduced in Python 3.8 by
https://bugs.python.org/issue36381:
/usr/lib/python3.8/site-packages/dnf/package.py:57: DeprecationWarning: PY_SSIZE_T_CLEAN will be required for '#' formats
return super(Package, self).chksum
https://bugzilla.redhat.com/show_bug.cgi?id=1724244
---
python/hawkey/package-py.cpp | 3 ++-
python/hawkey/packagedelta-py.cpp | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
---
Unchanged. Appears in version 0.35.2.
Upstream-Status: Backport [git://github.com/rpm-software-management/libdnf.git]
Signed-off-by: Joe Slater <joe.slater@windriver.com>
diff --git a/python/hawkey/package-py.cpp b/python/hawkey/package-py.cpp
index 5102bba..68e03cb 100644
--- a/python/hawkey/package-py.cpp
+++ b/python/hawkey/package-py.cpp
@@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#define PY_SSIZE_T_CLEAN
#include <Python.h>
#include <stdio.h>
@@ -251,7 +252,7 @@ get_chksum(_PackageObject *self, void *closure)
#if PY_MAJOR_VERSION < 3
res = Py_BuildValue("is#", type, cs, checksum_length);
#else
- res = Py_BuildValue("iy#", type, cs, checksum_length);
+ res = Py_BuildValue("iy#", type, cs, (Py_ssize_t)checksum_length);
#endif
return res;
diff --git a/python/hawkey/packagedelta-py.cpp b/python/hawkey/packagedelta-py.cpp
index ca1cb7d..1a64836 100644
--- a/python/hawkey/packagedelta-py.cpp
+++ b/python/hawkey/packagedelta-py.cpp
@@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#define PY_SSIZE_T_CLEAN
#include <Python.h>
// hawkey
@@ -92,7 +93,7 @@ get_chksum(_PackageDeltaObject *self, void *closure)
#if PY_MAJOR_VERSION < 3
res = Py_BuildValue("is#", type, cs, checksum_length);
#else
- res = Py_BuildValue("iy#", type, cs, checksum_length);
+ res = Py_BuildValue("iy#", type, cs, (Py_ssize_t)checksum_length);
#endif
return res;
--
2.7.4

View File

@@ -2,27 +2,28 @@ SUMMARY = "Library providing simplified C and Python API to libsolv"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "git://github.com/rpm-software-management/libdnf \
SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \
file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
file://0001-Add-WITH_TESTS-option.patch \
file://0001-include-stdexcept-for-runtime_error.patch \
file://fix-deprecation-warning.patch \
file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \
"
SRCREV = "751f89045b80d58c0d05800f74357cf78cdf7e77"
SRCREV = "8330eea6985c4e4b53796f858de5b6b38b1ddf5c"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd-v1 json-c swig-native"
DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native"
inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base
EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF -DPYTHON_DESIRED=3 \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \
-DWITH_TESTS=OFF \
-DWITH_ZCHUNK=OFF \
-DWITH_HTML=OFF \
"
EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF"
EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF"