debian/control: add libgnutls30t64 to Conflicts/Replaces/Provides#82
Open
MarkAtwood wants to merge 1 commit into
Open
debian/control: add libgnutls30t64 to Conflicts/Replaces/Provides#82MarkAtwood wants to merge 1 commit into
MarkAtwood wants to merge 1 commit into
Conversation
Debian Trixie and Ubuntu Noble underwent the t64 transition (time_t becomes 64-bit on 32-bit archs), which renamed libgnutls30 to libgnutls30t64. The upstream libgnutls30t64 binary package declares 'Provides: libgnutls30' as a transition stub so most consumers continue to work transparently. But this gnutls-wolfssl source package's drop-in-replacement clauses list only libgnutls30. On a fresh Trixie host (which has libgnutls30t64 installed providing virtual libgnutls30), apt refuses to install gnutls-wolfssl: gnutls-wolfssl conflicts with libgnutls30; libgnutls30t64 provides libgnutls30 and is present and installed. Standard Debian t64 transition pattern is to extend the lists to include both names. This is what Debian's own openssl source package did (libssl3 -> libssl3t64). The change is unconditional and safe across suites: - On Bookworm and pre-t64 systems, there's no libgnutls30t64 to match against, so the t64-specific clauses are inert. No behavior change. - On Trixie and post-t64 systems, the t64 clauses let apt resolve the drop-in replacement correctly and install gnutls-wolfssl cleanly over the system's libgnutls30t64. Discovered while building gnutls-wolfssl for Debian Trixie/amd64 on 2026-05-24 in the wolfSSL FIPS-eval channel pipeline. The FIPS-eval build harness has been sed-patching debian/control at build time as a workaround; this commit lands the fix upstream so the workaround can be removed from downstream pipelines. Refs: https://wiki.debian.org/ArmHfPort/64bit_time_t (t64 transition background)
There was a problem hiding this comment.
Pull request overview
This PR updates the Debian packaging metadata so gnutls-wolfssl remains a drop-in replacement for the system GnuTLS runtime library across Debian/Ubuntu suites that have renamed libgnutls30 to libgnutls30t64 during the t64 transition.
Changes:
- Extend
Providesto include bothlibgnutls30andlibgnutls30t64with the same provided version. - Extend
ConflictsandReplacesto include bothlibgnutls30andlibgnutls30t64, avoiding install failures on t64-based distributions.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends
debian/control's drop-in-replacement clauses forgnutls-wolfsslto cover bothlibgnutls30ANDlibgnutls30t64, so the package installs cleanly on Debian Trixie and Ubuntu Noble (which underwent the t64 transition renaminglibgnutls30→libgnutls30t64).Problem
On a fresh Trixie host,
apt install gnutls-wolfssl(built from this source as-is) fails:The upstream
libgnutls30t64declaresProvides: libgnutls30as a transition stub so most consumers continue to work transparently. But this source'sConflicts: libgnutls30clause matches the virtuallibgnutls30provided bylibgnutls30t64, so dpkg refuses to install.Fix
Standard Debian t64 transition pattern: extend
Conflicts,Replaces, andProvidesto list both names. This is what Debian's own openssl source package did (libssl3→libssl3t64).Safety
The change is unconditional and safe across suites:
libgnutls30t64to match against, so the t64-specific clauses are inert. No behavior change.gnutls-wolfsslcleanly over the system'slibgnutls30t64.Discovery
Found while building
gnutls-wolfsslfor Debian Trixie in the wolfSSL FIPS-eval channel pipeline on 2026-05-24. The downstream pipeline has been sed-patchingdebian/controlat build time as a workaround; this PR lands the fix upstream so the workaround can be removed.Background