The FreePG GnuPG patchset is a common resource for GnuPG downstream packagers to track, maintain, and apply commonly-used patches for GnuPG that have been refused by upstream.
Find a file
2025-10-24 16:52:00 +00:00
freepg-tools use verbose 2025-09-17 22:30:53 +00:00
master-freepg remove NOPpy line from patch 0023 2025-10-24 16:52:00 +00:00
STABLE-BRANCH-2-2-freepg explicitly install gnupg in build toolchain 2025-03-28 17:34:32 +00:00
STABLE-BRANCH-2-4-freepg remove NOPpy line from patch 0023 2025-10-24 16:52:00 +00:00
.gitignore Use temporary branches when applying patchlogs 2025-03-04 23:09:48 +00:00
.gitlab-ci.yml Add CI 2024-08-28 13:54:37 +02:00
CONTRIBUTING.md Add CONTRIBUTING.md, make bugfixes an explicit goal 2025-01-08 19:05:08 +01:00
DIFF.md Fix verification of text Signatures over binary Literal Data Packets 2025-03-05 11:12:45 -05:00
MAINTENANCE.md Use temporary branches when applying patchlogs 2025-03-04 23:09:48 +00:00
README.md Add CONTRIBUTING.md, make bugfixes an explicit goal 2025-01-08 19:05:08 +01:00
SOURCES.md Add SOURCES.md 2024-08-23 12:36:21 +02:00

FreePG GnuPG patchset

The FreePG GnuPG patchset is a common resource for GnuPG downstream packagers to track, maintain, and apply commonly-used patches for GnuPG that have been refused by upstream.

Rationale

It is common for GnuPG downstream distributions to apply patches to change default policies and disable (or re-enable) support for various features. This results in duplication of effort, and an inconsistent experience for the end user. FreePG is intended to assist these downstreams to co-ordinate their patching efforts.

FreePG has the following goals:

  1. Minimise divergence from the IETF OpenPGP specification
  2. Support reading of LibrePGP artifacts for compatibility
  3. Fix security issues that remain unresolved upstream
  4. Support the maintenance needs of downstream distributions

See DIFF.md for a full list of current differences.

Usage

The FreePG project builds binaries for the purposes of testing, but does not distribute them or recommend their use in production. End users should consult their preferred downstream distribution for official binaries.

Branches

FreePG maintains a mirror of the GnuPG upstream stable and development branches, together with their patched equivalents:

Upstream branch Patched branch
master master-freepg
STABLE-BRANCH-2-4 STABLE-BRANCH-2-4-freepg
STABLE-BRANCH-2-2 STABLE-BRANCH-2-2-freepg

It is not recommended to use the master or master-freepg branches in a production environment.

All other branches, including the default branch main, are used to maintain the FreePG patchset.

Patches

Patches are sourced from various downstreams, see SOURCES.md for a (non-exhaustive) list. The applied patches are kept in the *-freepg subdirectories of this directory. These may differ from the downstream patches slightly due to merge conflict resolution, but are attributed to their original authors.

To contribute patches to FreePG, please follow the guidance in CONTRIBUTING.md .