Page MenuHomeFreeBSD

articles/releng: Add emergency procedure for broken ports tags
Needs ReviewPublic

Authored by vladlen on Sat, May 30, 5:22 PM.
Tags
Referenced Files
Unknown Object (File)
Sun, Jun 7, 9:44 PM
Unknown Object (File)
Sun, Jun 7, 8:33 PM
Unknown Object (File)
Sun, Jun 7, 12:21 AM
Unknown Object (File)
Fri, Jun 5, 10:00 PM
Unknown Object (File)
Fri, Jun 5, 9:54 PM
Unknown Object (File)
Fri, Jun 5, 9:14 PM
Unknown Object (File)
Fri, Jun 5, 1:22 PM
Unknown Object (File)
Fri, Jun 5, 10:54 AM
Subscribers
None

Details

Reviewers
cperciva
ziaee
Group Reviewers
releng
portmgr
clusteradm
Summary

During the FreeBSD 15.1-RC2 cycle, the port lang/python311 broke because GitHub
changed the output of a patch file fetched via PATCHFILES (and PATCH_SITES),
altering its size and checksum. GitHub does not guarantee that the contents of
a dynamically generated file will remain bitwise identical over time.
This incident demonstrated how fragile such external dependencies can be,
as DISTFILES retrieved via USE_GITHUB can also be affected by GitHub’s
non‑static archival behaviour (compression algorithm are changed from time
to time).

To restore the release builds, the Release Engineering team, in coordination
with portmgr and clusteradm, created an additional ports tag containing
only the necessary cherry‑picked fix. After testing and obtaining the required
approval (Approved by: portmgr), the new tag was pushed, and the release
builds were successfully restarted.

Because external hosting services offer no long‑term stability guarantees,
the same class of problem can recur with any port at any time.
Therefore, the entire incident and its resolution have been documented
in thisx patch as a standard procedure in the Release Engineering guide.
This way, when a similar breakage happens again, all three
teams (releng, portmgr, and clusteradm) can follow a clear,
pre‑defined workflow instead of reinventing the wheel,
allowing them to respond quickly and with minimal disruption.

Diff Detail

Repository
R9 FreeBSD doc repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

vladlen created this revision.