]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
pinentry: upgrade 1.3.1 -> 1.3.2
authorGyorgy Sarvari <skandigraun@gmail.com>
Wed, 3 Sep 2025 19:02:17 +0000 (21:02 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 8 Sep 2025 17:02:37 +0000 (18:02 +0100)
Shortlog:

-qt: Replace icons for dark mode with 16x16 icons
-qt,qt5: Ensure that input field is large enough for generated password
-qt5: Add dark mode icon variants and detection
-Make Show/Hide Password functionality accessible
-qt5: Make Show/Hide Password functionality accessible
-m4: Update libassuan.m4.
-build: Remove defining GPG_ERR_ENABLE_ERRNO_MACROS.
-build: Fix warning about obsolete pinentry-emacs.
-curses: Factor out dialog release to separate function.
-qt: Add dark mode icon variants and detection
-m4: Update gpg-error.m4 and libassuan.m4.

Also: Simplify patch to find gpg-error with pkg-config

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Cc: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/selftest/cases/oescripts.py
meta/recipes-support/pinentry/pinentry-1.3.1/gpg-error_pkconf.patch [deleted file]
meta/recipes-support/pinentry/pinentry/0001-find-gpg-error-with-pkg-config.patch [new file with mode: 0644]
meta/recipes-support/pinentry/pinentry/libassuan_pkgconf.patch [moved from meta/recipes-support/pinentry/pinentry-1.3.1/libassuan_pkgconf.patch with 87% similarity]
meta/recipes-support/pinentry/pinentry_1.3.2.bb [moved from meta/recipes-support/pinentry/pinentry_1.3.1.bb with 89% similarity]

index 3f9899b2894e87d96cbfe0d39ca7ba606a7afd44..64fb3f1a1db53849a8d8c7c4a0cd52207216700e 100644 (file)
@@ -151,7 +151,7 @@ class OEListPackageconfigTests(OESelftestTestCase):
     def test_packageconfig_flags_option_all(self):
         results = runCmd('%s/contrib/list-packageconfig-flags.py -a' % self.scripts_dir)
         expected_endlines = []
-        expected_endlines.append("pinentry-1.3.1")
+        expected_endlines.append("pinentry-1.3.2")
         expected_endlines.append("PACKAGECONFIG ncurses")
         expected_endlines.append("PACKAGECONFIG[qt] --enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase")
         expected_endlines.append("PACKAGECONFIG[gtk2] --enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0")
diff --git a/meta/recipes-support/pinentry/pinentry-1.3.1/gpg-error_pkconf.patch b/meta/recipes-support/pinentry/pinentry-1.3.1/gpg-error_pkconf.patch
deleted file mode 100644 (file)
index 863ba9e..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-From ccc3c6a8d469bbfa6717b970cfe70816c1fd545e Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster@mvista.com>
-Date: Fri, 2 Sep 2005 11:50:01 +0000
-Subject: [PATCH] Add gtk+, avahi, dbus-0.34 (.36 coming soon) and
-
-Convert to pkg-config support to match changes done to
-the gpg-error recipe for gpg-error.pc  generation.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
----
- m4/gpg-error.m4 | 184 ++----------------------------------------------
- 1 file changed, 5 insertions(+), 179 deletions(-)
-
-diff --git a/m4/gpg-error.m4 b/m4/gpg-error.m4
-index 7fa52b1..c0784ed 100644
---- a/m4/gpg-error.m4
-+++ b/m4/gpg-error.m4
-@@ -15,188 +15,18 @@
- dnl
- dnl Find gpg-error-config, for backward compatibility
- dnl
--dnl _AM_PATH_POSSIBLE_GPG_ERROR_CONFIG
--AC_DEFUN([_AM_PATH_POSSIBLE_GPG_ERROR_CONFIG],[dnl
--  gpg_error_config_prefix=""
--  dnl --with-libgpg-error-prefix=PFX is the preferred name for this option,
--  dnl since that is consistent with how our three siblings use the directory/
--  dnl package name in --with-$dir_name-prefix=PFX.
--  AC_ARG_WITH(libgpg-error-prefix,
--              AS_HELP_STRING([--with-libgpg-error-prefix=PFX],
--                             [prefix where GPG Error is installed (optional)]),
--              [gpg_error_config_prefix="$withval"])
--
--  dnl Accept --with-gpg-error-prefix and make it work the same as
--  dnl --with-libgpg-error-prefix above, for backwards compatibility,
--  dnl but do not document this old, inconsistently-named option.
--  AC_ARG_WITH(gpg-error-prefix,,
--              [gpg_error_config_prefix="$withval"])
--
--  if test x"${GPG_ERROR_CONFIG}" = x ; then
--     if test x"${gpg_error_config_prefix}" != x ; then
--        GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config"
--     else
--       case "${SYSROOT}" in
--         /*)
--           if test -x "${SYSROOT}/bin/gpg-error-config" ; then
--             GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config"
--           fi
--           ;;
--         '')
--           ;;
--          *)
--           AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.])
--           ;;
--       esac
--     fi
--  fi
--
--  AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no)
--])
--
--dnl
--dnl Find gpgrt-config, which uses .pc file
--dnl (minimum pkg-config functionality, supporting cross build)
--dnl
--dnl _AM_PATH_GPGRT_CONFIG
--AC_DEFUN([_AM_PATH_GPGRT_CONFIG],[dnl
--  AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no, [$prefix/bin:$PATH])
--  if test "$GPGRT_CONFIG" != "no"; then
--    # Determine gpgrt_libdir
--    #
--    # Get the prefix of gpgrt-config assuming it's something like:
--    #   <PREFIX>/bin/gpgrt-config
--    gpgrt_prefix=${GPGRT_CONFIG%/*/*}
--    possible_libdir1=${gpgrt_prefix}/lib
--    # Determine by using system libdir-format with CC, it's like:
--    #   Normal style: /usr/lib
--    #   GNU cross style: /usr/<triplet>/lib
--    #   Debian style: /usr/lib/<multiarch-name>
--    #   Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64
--    # It is assumed that CC is specified to the one of host on cross build.
--    if libdir_candidates=$(${CC:-cc} -print-search-dirs | \
--          sed -n -e "/^libraries/{s/libraries: =//;s/:/\\
--/g;p;}"); then
--      # From the output of -print-search-dirs, select valid pkgconfig dirs.
--      libdir_candidates=$(for dir in $libdir_candidates; do
--        if p=$(cd $dir 2>/dev/null && pwd); then
--          test -d "$p/pkgconfig" && echo $p;
--        fi
--      done)
--
--      for possible_libdir0 in $libdir_candidates; do
--        # possible_libdir0:
--        #   Fallback candidate, the one of system-installed (by $CC)
--        #   (/usr/<triplet>/lib, /usr/lib/<multiarch-name> or /usr/lib32)
--        # possible_libdir1:
--        #   Another candidate, user-locally-installed
--        #   (<gpgrt_prefix>/lib)
--        # possible_libdir2
--        #   Most preferred
--        #   (<gpgrt_prefix>/<triplet>/lib,
--        #    <gpgrt_prefix>/lib/<multiarch-name> or <gpgrt_prefix>/lib32)
--        if test "${possible_libdir0##*/}" = "lib"; then
--          possible_prefix0=${possible_libdir0%/lib}
--          possible_prefix0_triplet=${possible_prefix0##*/}
--          if test -z "$possible_prefix0_triplet"; then
--            continue
--          fi
--          possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib
--        else
--          possible_prefix0=${possible_libdir0%%/lib*}
--          possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0}
--        fi
--        if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then
--          gpgrt_libdir=${possible_libdir2}
--        elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then
--          gpgrt_libdir=${possible_libdir1}
--        elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then
--          gpgrt_libdir=${possible_libdir0}
--        fi
--        if test -n "$gpgrt_libdir"; then break; fi
--      done
--    fi
--    if test -z "$gpgrt_libdir"; then
--      # No valid pkgconfig dir in any of the system directories, fallback
--      gpgrt_libdir=${possible_libdir1}
--    fi
--  else
--    unset GPGRT_CONFIG
--  fi
--
--  if test -n "$gpgrt_libdir"; then
--    GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir"
--    if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then
--      GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error"
--      AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config])
--      gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion`
--    else
--      gpg_error_config_version=`$GPG_ERROR_CONFIG --version`
--      unset GPGRT_CONFIG
--    fi
--  elif test "$GPG_ERROR_CONFIG" != "no"; then
--    gpg_error_config_version=`$GPG_ERROR_CONFIG --version`
--    unset GPGRT_CONFIG
--  fi
--])
--
--dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION,
--dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
--dnl
--dnl Test for libgpg-error and define GPG_ERROR_CFLAGS, GPG_ERROR_LIBS,
--dnl GPG_ERROR_MT_CFLAGS, and GPG_ERROR_MT_LIBS.  The _MT_ variants are
--dnl used for programs requireing real multi thread support.
--dnl
- dnl If a prefix option is not used, the config script is first
- dnl searched in $SYSROOT/bin and then along $PATH.  If the used
- dnl config script does not match the host specification the script
- dnl is added to the gpg_config_script_warn variable.
- dnl
--AC_DEFUN([AM_PATH_GPG_ERROR],[dnl
--AC_REQUIRE([AC_CANONICAL_HOST])dnl
--AC_REQUIRE([_AM_PATH_POSSIBLE_GPG_ERROR_CONFIG])dnl
--AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl
--  min_gpg_error_version=ifelse([$1], ,1.33,$1)
--  ok=no
--  if test "$GPG_ERROR_CONFIG" != "no"; then
--    req_major=`echo $min_gpg_error_version | \
--               sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
--    req_minor=`echo $min_gpg_error_version | \
--               sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
--    major=`echo $gpg_error_config_version | \
--               sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
--    minor=`echo $gpg_error_config_version | \
--               sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
--    if test "$major" -gt "$req_major"; then
--        ok=yes
--    else
--        if test "$major" -eq "$req_major"; then
--            if test "$minor" -ge "$req_minor"; then
--               ok=yes
--            fi
--        fi
--    fi
--  fi
--  AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
-+AC_DEFUN([AM_PATH_GPG_ERROR],
-+[
-+  min_gpg_error_version=ifelse([$1], ,0.0,$1)
-+  PKG_CHECK_MODULES(GPG_ERROR, [gpg-error >= $min_gpg_error_version gpg-error], [ok=yes], [ok=no])
-   if test $ok = yes; then
--    GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags`
--    GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs`
--    if test -z "$GPGRT_CONFIG"; then
--      GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null`
--      GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null`
--    else
--      GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null`
--      GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS"
--      GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null`
--      GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS"
--    fi
--    AC_MSG_RESULT([yes ($gpg_error_config_version)])
-     ifelse([$2], , :, [$2])
--    if test -z "$GPGRT_CONFIG"; then
--      gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none`
--    else
--      gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none`
--    fi
-+    gpg_error_config_host=`$PKG_CONFIG --host gpg-error 2>/dev/null || echo none`
-     if test x"$gpg_error_config_host" != xnone ; then
-       if test x"$gpg_error_config_host" != x"$host" ; then
-   AC_MSG_WARN([[
-@@ -211,10 +41,6 @@ AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl
-       fi
-     fi
-   else
--    GPG_ERROR_CFLAGS=""
--    GPG_ERROR_LIBS=""
--    GPG_ERROR_MT_CFLAGS=""
--    GPG_ERROR_MT_LIBS=""
-     AC_MSG_RESULT(no)
-     ifelse([$3], , :, [$3])
-   fi
diff --git a/meta/recipes-support/pinentry/pinentry/0001-find-gpg-error-with-pkg-config.patch b/meta/recipes-support/pinentry/pinentry/0001-find-gpg-error-with-pkg-config.patch
new file mode 100644 (file)
index 0000000..54c8235
--- /dev/null
@@ -0,0 +1,40 @@
+From 2e90424eb1518083133a79f2737152c83289bc99 Mon Sep 17 00:00:00 2001
+From: Gyorgy Sarvari <skandigraun@gmail.com>
+Date: Wed, 3 Sep 2025 20:24:01 +0200
+Subject: [PATCH] find gpg-error with pkg-config
+
+This patch is a simplification of a previous patch, which
+added support to find gpg-error with pkg-config, adapted
+to the changes that are made to the gpg-error .pc file
+in its recipe.
+
+Instead of using upstream's custom solution from
+m4/gpg-error.m4 file, use just the standard pkg-config macro
+to see if gpg-error is present.
+
+This patch hasn't been submitted for upstream, due to their
+historical reluctance to accept such patches.[1]
+
+[1]: https://lists.gnupg.org/pipermail/gnupg-devel/2018-October/033985.html (whole thread)
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ec46162..2b2e16d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -238,8 +238,7 @@ dnl Checks for libgpg-error
+ NEED_GPG_ERROR_VERSION=1.16
+ have_gpg_error=no
+-AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION",
+-                  have_gpg_error=yes,have_gpg_error=no)
++PKG_CHECK_MODULES([GPG_ERROR], [gpg-error >= $NEED_GPG_ERROR_VERSION], [have_gpg_error=yes], [have_gpg_error=no])
+ COMMON_CFLAGS="$GPG_ERROR_CFLAGS $COMMON_CFLAGS"
+ COMMON_LIBS="$GPG_ERROR_LIBS $COMMON_LIBS"
similarity index 87%
rename from meta/recipes-support/pinentry/pinentry-1.3.1/libassuan_pkgconf.patch
rename to meta/recipes-support/pinentry/pinentry/libassuan_pkgconf.patch
index f2d50010c5c8cc0f439cb4ea44c2a4131e1f547b..fbd370d9fd629d824793e8fff08d2d59d3c56da5 100644 (file)
@@ -18,7 +18,7 @@ diff --git a/configure.ac b/configure.ac
 index 4944f7c..f03cbb7 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -264,8 +264,8 @@ if test "$have_libassuan" = "yes"; then
+@@ -261,8 +261,8 @@ if test "$have_libassuan" = "yes"; then
                       [version of the libassuan library])
  fi
  
@@ -33,12 +33,13 @@ diff --git a/m4/libassuan.m4 b/m4/libassuan.m4
 index a2eb5d9..897f407 100644
 --- a/m4/libassuan.m4
 +++ b/m4/libassuan.m4
-@@ -15,30 +15,8 @@ dnl
+@@ -100,31 +100,8 @@ dnl
  dnl Common code used for libassuan detection [internal]
  dnl Returns ok set to yes or no.
  dnl
 -AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
--[ AC_REQUIRE([AC_CANONICAL_HOST])
+-[ AC_REQUIRE([AC_CANONICAL_HOST])dnl
+-  AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl
 -  AC_ARG_WITH(libassuan-prefix,
 -              AS_HELP_STRING([--with-libassuan-prefix=PFX],
 -                             [prefix where LIBASSUAN is installed (optional)]),
@@ -66,7 +67,7 @@ index a2eb5d9..897f407 100644
    tmp=ifelse([$1], ,1:0.9.2,$1)
    if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
      req_libassuan_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
-@@ -48,59 +26,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
+@@ -134,59 +111,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
      min_libassuan_version="$tmp"
    fi
  
@@ -111,7 +112,7 @@ index a2eb5d9..897f407 100644
 -
 -  if test $ok = yes; then
 -    AC_MSG_RESULT([yes ($libassuan_config_version)])
--    AC_DEFINE(LIBASSUAN_API_REQUESTED, $req_libassuan_api, Requested API version for libassuan)
+-    AC_DEFINE_UNQUOTED(LIBASSUAN_API_REQUESTED, $req_libassuan_api, [Requested API version for libassuan])
 -  else
 -    AC_MSG_RESULT(no)
 -  fi
@@ -128,7 +129,7 @@ index a2eb5d9..897f407 100644
        if test "$tmp" -gt 0 ; then
          AC_MSG_CHECKING([LIBASSUAN API version])
          if test "$req_libassuan_api" -eq "$tmp" ; then
-@@ -117,11 +47,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
+@@ -203,11 +132,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
  
    if test $ok = yes; then
      if test x"$host" != x ; then
@@ -141,7 +142,7 @@ index a2eb5d9..897f407 100644
        if test x"$libassuan_config_host" != xnone ; then
          if test x"$libassuan_config_host" != x"$host" ; then
    AC_MSG_WARN([[
-@@ -144,7 +70,7 @@ dnl Test whether libassuan has at least MINIMUM-VERSION. This is
+@@ -230,7 +155,7 @@ dnl Test whether libassuan has at least MINIMUM-VERSION. This is
  dnl used to test for features only available in newer versions.
  dnl
  AC_DEFUN([AM_CHECK_LIBASSUAN],
@@ -150,21 +151,12 @@ index a2eb5d9..897f407 100644
    if test $ok = yes; then
      ifelse([$2], , :, [$2])
    else
-@@ -160,16 +86,10 @@ dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
+@@ -246,7 +171,7 @@ dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
  dnl Test for libassuan and define LIBASSUAN_CFLAGS and LIBASSUAN_LIBS
  dnl
  AC_DEFUN([AM_PATH_LIBASSUAN],
 -[ _AM_PATH_LIBASSUAN_COMMON($1)
 +[ AM_PATH_LIBASSUAN_COMMON($1)
    if test $ok = yes; then
--    LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags`
--    LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs`
-     ifelse([$2], , :, [$2])
-   else
--    LIBASSUAN_CFLAGS=""
--    LIBASSUAN_LIBS=""
-     ifelse([$3], , :, [$3])
-   fi
--  AC_SUBST(LIBASSUAN_CFLAGS)
--  AC_SUBST(LIBASSUAN_LIBS)
- ])
+     LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags`
+     LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs`
similarity index 89%
rename from meta/recipes-support/pinentry/pinentry_1.3.1.bb
rename to meta/recipes-support/pinentry/pinentry_1.3.2.bb
index 0fc652cdbac9d48b07a3e1cd5d363c5e14932192..a5c8d2258a6de737191f367084fb4b02767ed7e7 100644 (file)
@@ -13,10 +13,10 @@ DEPENDS = "gettext-native libassuan libgpg-error"
 UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
 SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://libassuan_pkgconf.patch \
-           file://gpg-error_pkconf.patch \
+           file://0001-find-gpg-error-with-pkg-config.patch \
 "
 
-SRC_URI[sha256sum] = "bc72ee27c7239007ab1896c3c2fae53b076e2c9bd2483dc2769a16902bce8c04"
+SRC_URI[sha256sum] = "8e986ed88561b4da6e9efe0c54fa4ca8923035c99264df0b0464497c5fb94e9e"
 
 inherit autotools pkgconfig