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
Andrew Gallagher 4de8f104c4
update DIFF.md
2026-03-01 12:31:25 +00:00
freepg-tools make ONTO case insensitive 2026-03-01 10:44:59 +00:00
master-freepg fix whitespace 2026-03-01 12:16:49 +00:00
STABLE-BRANCH-2-2-freepg fixup 0040 2026-03-01 11:39:01 +00:00
STABLE-BRANCH-2-4-freepg fixup 0040 2026-03-01 11:39:01 +00:00
.gitignore Use temporary branches when applying patchlogs 2025-03-04 23:09:48 +00:00
.gitlab-ci.yml Explicitly push all interesting branches 2025-12-16 23:43:11 +00:00
CONTRIBUTING.md Add CONTRIBUTING.md, make bugfixes an explicit goal 2025-01-08 19:05:08 +01:00
DIFF.md update DIFF.md 2026-03-01 12:31:25 +00: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 .