feat: update RPM packaging for core-only complyctl after provider split#485
Open
marcusburghardt wants to merge 4 commits intocomplytime:mainfrom
Open
feat: update RPM packaging for core-only complyctl after provider split#485marcusburghardt wants to merge 4 commits intocomplytime:mainfrom
marcusburghardt wants to merge 4 commits intocomplytime:mainfrom
Conversation
T038: replace directive removed in complytime-providers PR complytime#4 T051: complyctl e2e-test passes on main post-merge T052: binary discovery confirmed via CI (e2e passes with provider from complytime-providers) T054: complyctl CI pipeline passes cleanly on main with no provider source dirs Issues closed: complytime#483 (plugins removed), complytime#457 (both repos working) Assisted-by: OpenCode (claude-sonnet-4-6@default) Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
Add complete specification, implementation plan, research decisions, data model, packaging contracts, and task breakdown for restoring Fedora RPM packaging after the provider repository split (spec 004). Covers complyctl spec simplification, new complytime-providers spec with two sub-packages, Packit CI/CD automation, Testing Farm integration, and release process updates. Assisted-by: OpenCode (claude-opus-4-6) Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
Rewrite complyctl.spec to remove the openscap-provider sub-package
and simplify for core-only delivery:
- Build only cmd/complyctl (not cmd/...)
- Add complyctl.1 man page to the RPM
- Add vendor/modules.txt for automatic bundled provides generation
- Add %doc README.md
- Retain owned provider directories for provider sub-packages
- Change Release tag to standard 1%{?dist}
Update .goreleaser.yaml to remove the openscap-plugin build entry
that references the removed cmd/openscap-plugin directory.
Update docs/RELEASE_PROCESS.md to document the independent release
cycles for complyctl and complytime-providers Fedora packages.
Update docs/man/complyctl.md to fix broken URL and remove stale
provider man page reference in SEE ALSO section.
Both rpmlint and packit validate pass with zero errors.
Assisted-by: OpenCode (claude-opus-4-6)
Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
Remove c2p-openscap-manifest.md and c2p-openscap-manifest.5 which are provider-specific documentation that belongs in the complytime-providers repository. Clean up Makefile man target to only generate complyctl.1. Assisted-by: OpenCode (claude-opus-4-6) Signed-off-by: Marcus Burghardt <maburgha@redhat.com>
Contributor
Author
|
@jpower432 and @gvauter , the spec here was very specific, so I proceed with the implementation already. I expect some other changes around release and packit when working with integration tests. |
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
Restore Fedora RPM packaging for complyctl after the provider repository split (spec 004). The complyctl RPM spec is simplified to deliver only the core CLI binary, man page, and owned provider directories. The openscap-provider sub-package and all provider-specific man pages are removed since providers are now distributed via the
complytime-providersrepository.Changes in this PR (complyctl repo):
cmd/complyctl, adds man page (complyctl.1), addsvendor/modules.txtfor automatic bundled provides, adds%doc README.md, changes Release to1%{?dist}openscap-pluginbuild entry (references removedcmd/openscap-plugin/)make manCompanion PR needed (complytime-providers repo):
A separate PR will be submitted to
complytime-providerswith:complytime-providers.spec— two sub-packages (openscap + ampel), no main package.packit.yaml— full Packit CI/CD pipeline.fmf/version+plans/test-RPM-providers.fmf— Testing Farm integrationRelated Issues
Review Hints
Review the three commits in sequence:
docs:): specification, plan, research decisions, and task breakdown underspecs/005-rpm-packaging-ci/feat:): the actual packaging and documentation changesfix:): removal of stale provider man page files and Makefile cleanupBoth
rpmlint complyctl.specandpackit validatepass with zero errors.To build and test the RPM locally:
Alternatively:
packit build locallyTo verify GoReleaser:
goreleaser check goreleaser build --snapshot --clean # Should produce only the complyctl binary, no openscap-pluginThe
Requires: complyctl >= 0.0.8version in the companion complytime-providers spec is a placeholder — it should be set to the first release that includes the provider SDK rename (pkg/provider/).