On Sun, Aug 27, 2023 at 8:23 PM Abe Kohandel <[email protected]> wrote:
>
> Depending on the host gcc version, libdnf fails to compile due to
> missing cstdint inclusions. These issue have already been addressed
> upstream, add the patches to resolve this for older versions of the
> library.
>
> These commits are taken directly from the libdnf project at
> https://github.com/rpm-software-management/libdnf
>
> Signed-off-by: Abe Kohandel <[email protected]>
> ---
> v3: add 2 more patches from upstream that were missed as I incorrectly
> tested this by building libdnf instead of libdnf-native
> v2: change Upstream status to Backport as upstream pull is already
> merged
>  ...58-Don-t-assume-inclusion-of-cstdint.patch | 56 +++++++++++++++++++
>  ...onNumber.hpp-add-missing-cstdint-inc.patch | 33 +++++++++++
>  ...ite3-Sqlite3.hpp-add-missing-cstdint.patch | 36 ++++++++++++
>  meta/recipes-devtools/libdnf/libdnf_0.66.0.bb |  3 +
>  4 files changed, 128 insertions(+)
>  create mode 100644 
> meta/recipes-devtools/libdnf/libdnf/0001-Fix-1558-Don-t-assume-inclusion-of-cstdint.patch
>  create mode 100644 
> meta/recipes-devtools/libdnf/libdnf/0001-libdnf-conf-OptionNumber.hpp-add-missing-cstdint-inc.patch
>  create mode 100644 
> meta/recipes-devtools/libdnf/libdnf/0001-libdnf-utils-sqlite3-Sqlite3.hpp-add-missing-cstdint.patch
>
> diff --git 
> a/meta/recipes-devtools/libdnf/libdnf/0001-Fix-1558-Don-t-assume-inclusion-of-cstdint.patch
>  
> b/meta/recipes-devtools/libdnf/libdnf/0001-Fix-1558-Don-t-assume-inclusion-of-cstdint.patch
> new file mode 100644
> index 0000000000..788bdd1020
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/libdnf/libdnf/0001-Fix-1558-Don-t-assume-inclusion-of-cstdint.patch
> @@ -0,0 +1,56 @@
> +From 779ea105564b6d717300af2fcb02a399737a536f Mon Sep 17 00:00:00 2001
> +From: ctxnop <[email protected]>
> +Date: Mon, 15 May 2023 19:30:16 +0200
> +Subject: [PATCH] Fix #1558: Don't assume inclusion of cstdint
> +
> +With last versions of gcc, some headers don't include cstdint anymore,
> +but some sources assume that it is.
> +
> +Upstream-Status: Backport

Backport [URL to upstream commit]

this wlll make it easy for future porters when these patches have to
dropped on next version upgrade

> +Signed-off-by: ctxnop <[email protected]>
> +---
> + libdnf/conf/ConfigMain.hpp    | 1 +
> + libdnf/conf/ConfigRepo.hpp    | 1 +
> + libdnf/conf/OptionSeconds.hpp | 2 ++
> + 3 files changed, 4 insertions(+)
> +
> +diff --git a/libdnf/conf/ConfigMain.hpp b/libdnf/conf/ConfigMain.hpp
> +index 19395c71..59f65c48 100644
> +--- a/libdnf/conf/ConfigMain.hpp
> ++++ b/libdnf/conf/ConfigMain.hpp
> +@@ -32,6 +32,7 @@
> + #include "OptionString.hpp"
> + #include "OptionStringList.hpp"
> +
> ++#include <cstdint>
> + #include <memory>
> +
> + namespace libdnf {
> +diff --git a/libdnf/conf/ConfigRepo.hpp b/libdnf/conf/ConfigRepo.hpp
> +index 2b198441..84cafbad 100644
> +--- a/libdnf/conf/ConfigRepo.hpp
> ++++ b/libdnf/conf/ConfigRepo.hpp
> +@@ -26,6 +26,7 @@
> + #include "ConfigMain.hpp"
> + #include "OptionChild.hpp"
> +
> ++#include <cstdint>
> + #include <memory>
> +
> + namespace libdnf {
> +diff --git a/libdnf/conf/OptionSeconds.hpp b/libdnf/conf/OptionSeconds.hpp
> +index dc714b23..a80a973f 100644
> +--- a/libdnf/conf/OptionSeconds.hpp
> ++++ b/libdnf/conf/OptionSeconds.hpp
> +@@ -25,6 +25,8 @@
> +
> + #include "OptionNumber.hpp"
> +
> ++#include <cstdint>
> ++
> + namespace libdnf {
> +
> + /**
> +--
> +2.42.0
> +
> diff --git 
> a/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-conf-OptionNumber.hpp-add-missing-cstdint-inc.patch
>  
> b/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-conf-OptionNumber.hpp-add-missing-cstdint-inc.patch
> new file mode 100644
> index 0000000000..b5424b28ea
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-conf-OptionNumber.hpp-add-missing-cstdint-inc.patch
> @@ -0,0 +1,33 @@
> +From f8af6399c4f6a65a35d33ecc191bb14094dc9e18 Mon Sep 17 00:00:00 2001
> +From: Sergei Trofimovich <[email protected]>
> +Date: Fri, 27 May 2022 22:13:48 +0100
> +Subject: [PATCH] libdnf/conf/OptionNumber.hpp: add missing <cstdint> include
> +
> +Without the change libdnf build fails on this week's gcc-13 snapshot as:
> +
> +    In file included from /build/libdnf/libdnf/conf/ConfigMain.hpp:29,
> +                     from /build/libdnf/libdnf/conf/ConfigMain.cpp:21:
> +    /build/libdnf/libdnf/conf/OptionNumber.hpp:94:41: error: 'int32_t' is 
> not a member of 'std'; did you mean 'int32_t'?
> +       94 | extern template class OptionNumber<std::int32_t>;
> +          |                                         ^~~~~~~
> +
> +Upstream-Status: Backport
> +---
> + libdnf/conf/OptionNumber.hpp | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/libdnf/conf/OptionNumber.hpp b/libdnf/conf/OptionNumber.hpp
> +index f7a7b3d6..a3a4dea6 100644
> +--- a/libdnf/conf/OptionNumber.hpp
> ++++ b/libdnf/conf/OptionNumber.hpp
> +@@ -25,6 +25,7 @@
> +
> + #include "Option.hpp"
> +
> ++#include <cstdint>
> + #include <functional>
> +
> + namespace libdnf {
> +--
> +2.42.0
> +
> diff --git 
> a/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-utils-sqlite3-Sqlite3.hpp-add-missing-cstdint.patch
>  
> b/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-utils-sqlite3-Sqlite3.hpp-add-missing-cstdint.patch
> new file mode 100644
> index 0000000000..a75995b82e
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-utils-sqlite3-Sqlite3.hpp-add-missing-cstdint.patch
> @@ -0,0 +1,36 @@
> +From 24b5d7f154cac9e322dd3459f6d0a5016abbbb57 Mon Sep 17 00:00:00 2001
> +From: Sergei Trofimovich <[email protected]>
> +Date: Fri, 27 May 2022 22:12:07 +0100
> +Subject: [PATCH] libdnf/utils/sqlite3/Sqlite3.hpp: add missing <cstdint>
> + include
> +
> +Without the change libdnf build fails on this week's gcc-13 snapshot as:
> +
> +    In file included from 
> /build/libdnf/libdnf/sack/../transaction/Swdb.hpp:38,
> +                     from /build/libdnf/libdnf/sack/query.hpp:32,
> +                     from /build/libdnf/libdnf/dnf-sack-private.hpp:31,
> +                     from /build/libdnf/libdnf/hy-iutil.cpp:60:
> +    
> /build/libdnf/libdnf/sack/../transaction/../utils/sqlite3/Sqlite3.hpp:100:33: 
> error: 'std::int64_t' has not been declared
> +      100 |         void bind(int pos, std::int64_t val)
> +          |                                 ^~~~~~~
> +
> +Upstream-Status: Backport
> +---
> + libdnf/utils/sqlite3/Sqlite3.hpp | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/libdnf/utils/sqlite3/Sqlite3.hpp 
> b/libdnf/utils/sqlite3/Sqlite3.hpp
> +index 3a7da23c..0403bb33 100644
> +--- a/libdnf/utils/sqlite3/Sqlite3.hpp
> ++++ b/libdnf/utils/sqlite3/Sqlite3.hpp
> +@@ -27,6 +27,7 @@
> +
> + #include <sqlite3.h>
> +
> ++#include <cstdint>
> + #include <map>
> + #include <memory>
> + #include <stdexcept>
> +--
> +2.42.0
> +
> diff --git a/meta/recipes-devtools/libdnf/libdnf_0.66.0.bb 
> b/meta/recipes-devtools/libdnf/libdnf_0.66.0.bb
> index 2558f96851..bd06937ed8 100644
> --- a/meta/recipes-devtools/libdnf/libdnf_0.66.0.bb
> +++ b/meta/recipes-devtools/libdnf/libdnf_0.66.0.bb
> @@ -11,6 +11,9 @@ SRC_URI = 
> "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master;p
>             file://enable_test_data_dir_set.patch \
>             file://0001-drop-FindPythonInstDir.cmake.patch \
>             
> file://0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch \
> +           file://0001-Fix-1558-Don-t-assume-inclusion-of-cstdint.patch \
> +           
> file://0001-libdnf-utils-sqlite3-Sqlite3.hpp-add-missing-cstdint.patch \
> +           
> file://0001-libdnf-conf-OptionNumber.hpp-add-missing-cstdint-inc.patch \
>             "
>
>  SRCREV = "add5d5418b140a86d08667dd2b14793093984875"
> --
> 2.42.0
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#186813): 
https://lists.openembedded.org/g/openembedded-core/message/186813
Mute This Topic: https://lists.openembedded.org/mt/101003704/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to