Re: [ndctl PATCH] contrib: add Fedora release scripts

Alison Schofield <[email protected]> Tue, 21 Jul 2026 17:16:13 -0700
Newsgroups dev.linux.lists.nvdimm
Message-ID <[email protected]>
On Mon, Jul 06, 2026 at 08:57:02PM -0700, Alison Schofield wrote:
> Documentation and scripts used by ndctl maintainers to build and
> release Fedora packages have traditionally been maintained outside
> the ndctl git repository. Bring them into the tree under
> contrib/fedora/ so the release process is documented and
> discoverable, and the scripts are reviewed and versioned alongside
> the project they serve.
> 
> The scripts automate the Fedora package build and release process.
> They run from the upstream repository and operate on a local clone
> of the Fedora package repository (dist-git), configured via
> contrib/fedora/config.local.
> 
> The workflow is split into discrete, individually verifiable steps:
> 
>   01-prep_build            download release, compose the spec, upload
>                            sources to the lookaside cache
>   02-do_build_local_checks sanity-check the dist-git workspace
>   03-do_build_push         commit and push the spec to dist-git main
>   04-do_build_branches     scratch-build gate, then fire Koji builds
>                            for rawhide and the stable branches
>   05-do_submit_updates     verify builds completed, submit bodhi
>                            updates for the stable branches
>   06-cleanup               remove temporary files
> 
> Notable design choices:
> 
>  - Stable branches receive the release by copying the spec/sources
>    files from dist-git main rather than merging, since stable
>    branches can permanently diverge from main (e.g. after a Fedora
>    mass rebuild lands on them independently).
> 
>  - Builds are submitted with --nowait and run in parallel in Koji;
>    bodhi submission is a separate step (05) run after the builds are
>    verified green, providing a natural checkpoint.
> 
>  - Every script supports a --check mode that verifies configuration
>    and paths without performing any real work.
> 
>  - Local mock builds are dropped in favor of the Koji scratch build,
>    which uses the real Fedora build environment with no local setup.
> 
> The contrib/ directory is excluded from release tarballs via
> .gitattributes export-ignore, and config.local is git-ignored as it
> is machine-specific.
> 
> Originally-by: Vishal Verma <[email protected]>
> Assisted-by: Claude:Opus-4-8
> Signed-off-by: Alison Schofield <[email protected]>


Applied to pending for NDCTL v86
https://github.com/pmem/ndctl/commits/pending/