From c2f4eb5352a67035755cb7ecc7240a0c61b74337 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Fri, 25 Nov 2022 10:28:26 +0000 Subject: [PATCH] Add patch from Luca Bruno to fix FTBFS with current gpgme Debian packages --- ...onfig-with-newer-gpgme-and-gpg-error.patch | 90 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 91 insertions(+) create mode 100644 debian/patches/configure-use-pkg-config-with-newer-gpgme-and-gpg-error.patch diff --git a/debian/patches/configure-use-pkg-config-with-newer-gpgme-and-gpg-error.patch b/debian/patches/configure-use-pkg-config-with-newer-gpgme-and-gpg-error.patch new file mode 100644 index 00000000..8e757d2b --- /dev/null +++ b/debian/patches/configure-use-pkg-config-with-newer-gpgme-and-gpg-error.patch @@ -0,0 +1,90 @@ +From: Luca BRUNO +Date: Thu, 24 Nov 2022 16:39:35 +0000 +Subject: configure: use pkg-config with newer gpgme and gpg-error + +This tweaks autoconf logic in order to use pkg-config for gpgme +and gpg-error when available. +Recent versions of gpgme directly provide threaded support, and +gpg-error started shipping a .pc file. Thus on recent distributions +it is possible to directly use pkg-config for both. On older +environments, the legacy logic is kept in place. + +Forwarded: https://github.com/ostreedev/ostree/pull/2789 +--- + configure.ac | 25 +++++++++++++++++++------ + src/libostree/ostree-repo.c | 2 ++ + 2 files changed, 21 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 84c02b2..60d68c3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -211,18 +211,25 @@ m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [ + ]) + AM_CONDITIONAL(BUILDOPT_INTROSPECTION, test "x$found_introspection" = xyes) + +-LIBGPGME_DEPENDENCY="1.1.8" ++LIBGPGME_DEPENDENCY="1.8.0" ++LIBGPGME_PTHREAD_DEPENDENCY="1.1.8" + AC_ARG_WITH(gpgme, + AS_HELP_STRING([--with-gpgme], [Use gpgme @<:@default=yes@:>@]), + [], [with_gpgme=yes]) + AS_IF([test x$with_gpgme != xno], [ +- PKG_CHECK_MODULES(OT_DEP_GPGME, gpgme-pthread >= $LIBGPGME_DEPENDENCY, have_gpgme=yes, [ ++ have_gpgme=yes ++ PKG_CHECK_MODULES([OT_DEP_GPGME], gpgme >= $LIBGPGME_DEPENDENCY, [], have_gpgme=no) ++ PKG_CHECK_MODULES([OT_DEP_GPG_ERROR], [gpg-error], [], have_gpgme=no) ++ ] ++) ++AS_IF([test x$with_gpgme != xno -a x$have_gpgme != xyes], [ ++ PKG_CHECK_MODULES(OT_DEP_GPGME, gpgme-pthread >= $LIBGPGME_PTHREAD_DEPENDENCY, have_gpgme=yes, [ + m4_ifdef([AM_PATH_GPGME_PTHREAD], [ +- AM_PATH_GPGME_PTHREAD($LIBGPGME_DEPENDENCY, have_gpgme=yes, have_gpgme=no) ++ AM_PATH_GPGME_PTHREAD($LIBGPGME_PTHREAD_DEPENDENCY, have_gpgme=yes, have_gpgme=no) + ],[ have_gpgme=no ]) + ]) + AS_IF([ test x$have_gpgme = xno ], [ +- AC_MSG_ERROR([Need GPGME_PTHREAD version $LIBGPGME_DEPENDENCY or later]) ++ AC_MSG_ERROR([Need GPGME_PTHREAD version $LIBGPGME_PTHREAD_DEPENDENCY or later]) + ]) + OSTREE_FEATURES="$OSTREE_FEATURES gpgme" + PKG_CHECK_MODULES(OT_DEP_GPG_ERROR, [gpg-error], [], [ +@@ -234,10 +241,16 @@ dnl to link to it directly. + ]) + OT_DEP_GPGME_CFLAGS="${OT_DEP_GPGME_CFLAGS} ${OT_DEP_GPG_ERROR_CFLAGS}" + OT_DEP_GPGME_LIBS="${OT_DEP_GPGME_LIBS} ${OT_DEP_GPG_ERROR_LIBS}" +- ], ++ ] ++) ++AS_IF([test x$with_gpgme != xno -a x$have_gpgme != xyes], ++ [AC_MSG_ERROR([Need GPGME_PTHREAD and GPG_ERROR])] ++) ++AS_IF([test x$have_gpgme = xyes], ++ [ OSTREE_FEATURES="$OSTREE_FEATURES gpgme" ], + [ + AC_DEFINE([OSTREE_DISABLE_GPGME], 1, [Define to disable internal GPGME support]) +- with_gpgme=no ++ have_gpgme=no + ] + ) + AM_CONDITIONAL(USE_GPGME, test "x$have_gpgme" = xyes) +diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c +index 7bdb3c4..f3a3e03 100644 +--- a/src/libostree/ostree-repo.c ++++ b/src/libostree/ostree-repo.c +@@ -2528,6 +2528,7 @@ out: + #endif /* OSTREE_DISABLE_GPGME */ + } + ++#ifndef OSTREE_DISABLE_GPGME + static gboolean + _ostree_repo_gpg_prepare_verifier (OstreeRepo *self, + const gchar *remote_name, +@@ -2537,6 +2538,7 @@ _ostree_repo_gpg_prepare_verifier (OstreeRepo *self, + OstreeGpgVerifier **out_verifier, + GCancellable *cancellable, + GError **error); ++#endif /* OSTREE_DISABLE_GPGME */ + + /** + * ostree_repo_remote_get_gpg_keys: diff --git a/debian/patches/series b/debian/patches/series index b73e566a..82f25e2b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ debian/Skip-test-pull-repeated-during-CI.patch +configure-use-pkg-config-with-newer-gpgme-and-gpg-error.patch