Add design spec for pungi autopatching #20

Merged
soksanichenko merged 2 commits from autopatch-design into master 2026-09-29 20:27:08 +00:00

Summary

This PR adds a design spec for automating how AlmaLinux maintains its pungi fork. It is a design document only; no code changes.

Today the fork mixes the upstream code, the Fedora spec, and AlmaLinux changes in one tree, and updates are cherry-picked by hand. The spec proposes:

  • Code patches: AlmaLinux code changes live on a patch-queue branch alma/<Version> (the upstream tag plus one commit per patch) and are exported with git format-patch.
  • Spec changes: they are described declaratively in a config.yaml for autopatch-tool, kept in a new autopatch/pungi repository.
  • Pipeline: a Forgejo Actions pipeline reacts to changes in Fedora rpms/pungi main. It rebases the patches, applies the spec changes, runs rpmbuild -ba on EL8/9/10, and opens a single PR against a new rpms/pungi dist-git repository.
  • Failures: they are reported as deduplicated issues. Upstream tags that Fedora has not packaged also raise an informational issue.
  • Migration: the existing fork changes are condensed into 11 patches on top of pungi-4.10.1. Acceptance is an empty code diff against the current master.

Also noted: upstream moved from pagure.io to forge.fedoraproject.org/pungi/pungi in 4.14.0.

Out of scope for this stage: building in ALBS, runner provisioning, and reviewing the AlmaLinux modifications.

Spec: docs/superpowers/specs/2026-09-29-pungi-autopatch-design.md

🤖 Generated with Claude Code

## Summary This PR adds a design spec for automating how AlmaLinux maintains its pungi fork. It is a design document only; no code changes. Today the fork mixes the upstream code, the Fedora spec, and AlmaLinux changes in one tree, and updates are cherry-picked by hand. The spec proposes: - **Code patches:** AlmaLinux code changes live on a patch-queue branch `alma/<Version>` (the upstream tag plus one commit per patch) and are exported with `git format-patch`. - **Spec changes:** they are described declaratively in a `config.yaml` for [autopatch-tool](https://github.com/AlmaLinux/autopatch-tool), kept in a new `autopatch/pungi` repository. - **Pipeline:** a Forgejo Actions pipeline reacts to changes in Fedora `rpms/pungi` `main`. It rebases the patches, applies the spec changes, runs `rpmbuild -ba` on EL8/9/10, and opens a single PR against a new `rpms/pungi` dist-git repository. - **Failures:** they are reported as deduplicated issues. Upstream tags that Fedora has not packaged also raise an informational issue. - **Migration:** the existing fork changes are condensed into 11 patches on top of `pungi-4.10.1`. Acceptance is an empty code diff against the current `master`. Also noted: upstream moved from pagure.io to `forge.fedoraproject.org/pungi/pungi` in 4.14.0. Out of scope for this stage: building in ALBS, runner provisioning, and reviewing the AlmaLinux modifications. Spec: `docs/superpowers/specs/2026-09-29-pungi-autopatch-design.md` 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Describe how AlmaLinux changes to pungi move from a mixed fork tree to
a patch-queue branch plus a declarative autopatch-tool config, and how
a Forgejo Actions pipeline turns Fedora dist-git updates into verified
pull requests against rpms/pungi.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add the implementation plan for migrating the AlmaLinux pungi changes
to a patch-queue branch and an autopatch-tool config.

Update the design with findings from test builds: merge the AlmaLinux
changelog by date, resolve dynamic build requirements in a loop, build
with the ALBS repositories on EL9 and EL10 only, use the autopatch-tool
library for auto_increment, and pin the Fedora base to 4.10.1-3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
almalinux/pungi!20
No description provided.