Merge pull request #25476 from openshift-cherrypick-robot/cherry-pick-25445-to-v5.4

[v5.4] [skip-ci] Packit/RPM: Display upstream commit SHA in all rpm builds
This commit is contained in:
openshift-merge-bot[bot]
2025-03-11 10:13:14 +00:00
committed by GitHub
4 changed files with 24 additions and 18 deletions

View File

@ -4,15 +4,9 @@
# action in .packit.yaml. These steps only work on copr builds, not on official
# Fedora builds.
set -eox pipefail
set -exo pipefail
PACKAGE=podman
# Set path to rpm spec file
SPEC_FILE=rpm/$PACKAGE.spec
# Get short sha
GIT_COMMIT=$(git rev-parse HEAD)
. .packit-rpm-git-commit.sh
# Get Version from HEAD
VERSION=$(grep '^const RawVersion' version/rawversion/version.go | cut -d\" -f2)
@ -40,6 +34,3 @@ sed -i "s/^Source0:.*.tar.gz/Source0: $PACKAGE-$VERSION.tar.gz/" $SPEC_FILE
# Update setup macro to use the correct build dir
sed -i "s/^%autosetup.*/%autosetup -Sgit -n %{name}-$VERSION/" $SPEC_FILE
# Update LDFLAGS to show commit id for Copr builds
sed -i "s/##GIT_COMMIT##/$GIT_COMMIT/" $SPEC_FILE

17
.packit-rpm-git-commit.sh Normal file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Updates the rpm spec with the upstream git SHA. Works for both copr and koji
# builds via Packit actions. See .packit.yaml for usage.
set -exo pipefail
PACKAGE=podman
# Set path to rpm spec file
SPEC_FILE=rpm/$PACKAGE.spec
# Get short sha
GIT_COMMIT=$(git rev-parse HEAD)
# Update LDFLAGS to show commit id for Copr builds
sed -i "s/^GIT_COMMIT=*/GIT_COMMIT=\"$GIT_COMMIT\"/" $SPEC_FILE

View File

@ -20,8 +20,8 @@ srpm_build_deps:
- make
actions:
fix-spec-file:
- "bash .packit.sh"
fix-spec-file: "bash .packit-copr-rpm.sh"
pre-sync: "bash .packit-rpm-git-commit.sh"
jobs:
- job: copr_build

View File

@ -238,12 +238,10 @@ LDFLAGS="-X %{ld_libpod}/define.buildInfo=${SOURCE_DATE_EPOCH:-$(date +%s)} \
-X %{ld_libpod}/config._etcDir=%{_sysconfdir} \
-X %{ld_project}/pkg/systemd/quadlet._binDir=%{_bindir}"
%if %{defined copr_build}
# ##GIT_COMMIT## is set by `.packit.sh` in Packit's Copr RPM build jobs.
# Has no effect on Koji builds.
GIT_COMMIT="##GIT_COMMIT##"
# This variable will be set by Packit actions. See .packit.yaml in the root dir
# of the repo (upstream as well as Fedora dist-git).
GIT_COMMIT=""
LDFLAGS="$LDFLAGS -X %{ld_libpod}/define.gitCommit=$GIT_COMMIT"
%endif
# build rootlessport first
%gobuild -o bin/rootlessport ./cmd/rootlessport