OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-693-gdc22938
Gerrit Code Review
gerrit@openafs.org
Wed, 28 Oct 2026 20:10:29 -0400
The following commit has been merged in the master branch:
commit dc22938d519c322d9f568ef1941a4274f3cc3417
Author: Michael Meffie <mmeffie@sinenomine.net>
Date: Sun Oct 25 10:08:46 2026 -0400
RedHat: Update the dist, srpm, and rpm make targets
The top-level makefile target to build RHEL RPMs have several issues:
- Files for every version are written to the same packages
directory. Each run overwrites the ChangeLog, and the wildcards
used to find the source tarball and the SRPM match files left
from earlier versions, so makesrpm.pl can be given the wrong
tarball, or extra arguments, and rpmbuild can rebuild old SRPMs.
- The whole NEWS file is packaged as the release notes, instead of
just the notes for the release being built.
- The targets do not work when the build is configured in a
separate object directory, since the tools are run with paths
relative to the current directory, and make-release must run in
the git working tree.
- The packages are built from the HEAD commit, so uncommitted
changes in the working tree are silently left out.
- The srpm target builds a doc tarball, which the spec file does not
use, and which requires running configure and make man-pages, which
is time consuming.
Update the targets to fix these:
- Use the make-release --per-version-dir option to write the release
files to a per-version directory, and build the rpms under it too.
Use git-version to find the version string, and pass makesrpm.pl the
exact paths in the per-version directory.
- Use the make-release --relnotes option to extract the release notes
for the current release from the NEWS file. Default RPM_RELNOTES and
RPM_CHANGELOG to the files written by make-release. Builders can still
set them to supply their own files.
- Use abs_top_srcdir and abs_top_builddir to locate the tools in the
source tree and the packages directory in the build tree, and run
make-release from the source tree.
- Use the make-release --no-allow-dirty option to refuse to build from
a dirty working tree.
- Run make-release with --no-doc-tarball in the srpm target. The dist
target still makes the doc tarball.
- Quote the path arguments, and move the packaging variables
together near the top of the Makefile.
The rpm target still uses a wildcard to find the SRPM, because this is
name is derived by rpmbuild based on the version string, but this should
safe now, since a per-version directory can only hold one SRPM.
Change-Id: Ie5b28099759c4f0f3f7e54af5f7402e280638f25
Reviewed-on: https://gerrit.openafs.org/17098
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Makefile.in | 37 +++++++++++++++++++++++--------------
1 file changed, 23 insertions(+), 14 deletions(-)
--
OpenAFS Master Repository