Skip to content

gnupg: update to v2.5.19 (with libgpg-error 1.60 and libassuan 3.0.2)#29232

Draft
dscho wants to merge 3 commits intomsys2:masterfrom
dscho:gnupg-2.5.19
Draft

gnupg: update to v2.5.19 (with libgpg-error 1.60 and libassuan 3.0.2)#29232
dscho wants to merge 3 commits intomsys2:masterfrom
dscho:gnupg-2.5.19

Conversation

@dscho
Copy link
Copy Markdown
Contributor

@dscho dscho commented Apr 29, 2026

This upgrades GnuPG from v2.4.9 to v2.5.19, the current stable release, together with its dependencies libgpg-error (v1.60) and libassuan (v3.0.2).

Why now?

GnuPG v2.5 has been promoted from "development" to stable. The download page now labels v2.5.19 as "GnuPG (stable)" and v2.4.9 as "GnuPG (oldstable)".

Werner Koch's (i.e. the primary GnuPG maintainer's) release announcement for v2.5.19 is explicit:

Note that the old 2.4 series reaches end-of-life in just two months. Thus update to 2.5.19 in time.

The EOL date for v2.4 is 2026-06-30, i.e. about two months from now. A companion PR for the MSYS2 build of GnuPG has been opened at msys2/MSYS2-packages#6224.

Dependency bumps

GnuPG v2.5 requires newer versions of two core libraries that the v2.4 series did not need:

  • libgpg-error >= 1.56 (was 1.55, updated to 1.60)
  • libassuan >= 3.0.0 (was 2.5.7, updated to 3.0.2, a major API bump)

These are separate commits so they can be reviewed and merged independently.

Patch changes

libgpg-error: Version bump only. All existing patches apply cleanly against v1.60.

libassuan: Dropped 0001-fix-def-files.mingw.patch (the gpgcedev.def file no longer exists upstream, and libassuan.def already has EXPORTS in the right place in v3.0.2). Refreshed the remaining four patches for context drift.

gnupg:

  • Dropped 05-gnupg-include-winber.patch: upstream already includes winldap.h and winber.h in dirmngr/ks-engine-ldap.c since the v2.5 series.
  • Refreshed 02-mingw-sysconfigdir-under-prefix.patch and 04-dos-extra-defs.patch for shifted line numbers and a copyright year change in configure.ac.
  • Added 05-test-stringhelp-compare-filenames.patch: fixes a pre-existing test failure in common/t-stringhelp where make_filename_try tests compared tilde-expanded paths using strcmp. On Windows, change_slashes() converts forward slashes to backslashes when $HOME already contains backslashes, so the comparison must use
    compare_filenames() which treats both separators as equivalent.

dscho added 3 commits April 27, 2026 09:05
Assisted-by: Claude Opus 4.6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Assisted-by: Claude Opus 4.6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The version bump from 2.4.9 to 2.5.19 crosses into the development
branch of GnuPG. Patch 05-gnupg-include-winber.patch was dropped
because upstream already includes winldap.h and winber.h in
dirmngr/ks-engine-ldap.c since the 2.5.x series. Patches 02 and 04
were refreshed against the new source (shifted line numbers and a
copyright year change in configure.ac).

A new patch 05-test-stringhelp-compare-filenames.patch fixes a
pre-existing test failure in common/t-stringhelp where the
make_filename_try tests compared tilde-expanded paths using strcmp,
which fails on Windows because change_slashes() converts forward
slashes to backslashes when the home directory (from $HOME) already
contains backslashes. The fix uses compare_filenames() which treats
both separators as equivalent on DOSISH systems.

Assisted-by: Claude Opus 4.6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho marked this pull request as ready for review April 29, 2026 14:52
@dscho
Copy link
Copy Markdown
Contributor Author

dscho commented Apr 29, 2026

Note: the main/CLANGARM64 job is still running, which might be due to the increasingly-common issue with GitHub Actions runners where they "lost communication". The same job succeeded in my fork.

@lazka
Copy link
Copy Markdown
Member

lazka commented Apr 30, 2026

lgtm, we need rebuilds for pinentry and gpgme. I don't have permissions to push.

@dscho dscho marked this pull request as draft May 1, 2026 06:02
@dscho
Copy link
Copy Markdown
Contributor Author

dscho commented May 1, 2026

"Semi-retracted" after reading up about the self-inflicted backward-incompatibility: https://lwn.net/Articles/1055053/

@striezel
Copy link
Copy Markdown
Collaborator

striezel commented May 1, 2026

You've probably seen this already, but I split out the update for libgpg-error into a separate pull request: #29259 That is the part which should not contain any of this backwards-incompatible stuff and should therefore pass without much ado.

Edit: I merged the libgpg-error 1.60 update over there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants