mirror of
https://github.com/containers/podman.git
synced 2025-07-03 17:27:18 +08:00
[skip-ci] Packit/RPM: Display upstream commit SHA in all rpm builds
Packit's `pre-sync` action allows modification of spec file prior to dist-git PR creation. This is already being done on containers-common rpm to update c/storage and c/image verions tags in spec. This commit will allow `podman version` to show `Git Commit: $SHA` for copr as well as koji builds. Ref: https://raw.githubusercontent.com/containers/common/refs/heads/main/.packit.yaml Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
This commit is contained in:
@ -4,15 +4,9 @@
|
|||||||
# action in .packit.yaml. These steps only work on copr builds, not on official
|
# action in .packit.yaml. These steps only work on copr builds, not on official
|
||||||
# Fedora builds.
|
# Fedora builds.
|
||||||
|
|
||||||
set -eox pipefail
|
set -exo pipefail
|
||||||
|
|
||||||
PACKAGE=podman
|
. .packit-rpm-git-commit.sh
|
||||||
|
|
||||||
# Set path to rpm spec file
|
|
||||||
SPEC_FILE=rpm/$PACKAGE.spec
|
|
||||||
|
|
||||||
# Get short sha
|
|
||||||
GIT_COMMIT=$(git rev-parse HEAD)
|
|
||||||
|
|
||||||
# Get Version from HEAD
|
# Get Version from HEAD
|
||||||
VERSION=$(grep '^const RawVersion' version/rawversion/version.go | cut -d\" -f2)
|
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
|
# Update setup macro to use the correct build dir
|
||||||
sed -i "s/^%autosetup.*/%autosetup -Sgit -n %{name}-$VERSION/" $SPEC_FILE
|
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
17
.packit-rpm-git-commit.sh
Normal 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
|
@ -20,8 +20,8 @@ srpm_build_deps:
|
|||||||
- make
|
- make
|
||||||
|
|
||||||
actions:
|
actions:
|
||||||
fix-spec-file:
|
fix-spec-file: "bash .packit-copr-rpm.sh"
|
||||||
- "bash .packit.sh"
|
pre-sync: "bash .packit-rpm-git-commit.sh"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: copr_build
|
- job: copr_build
|
||||||
|
@ -238,12 +238,10 @@ LDFLAGS="-X %{ld_libpod}/define.buildInfo=${SOURCE_DATE_EPOCH:-$(date +%s)} \
|
|||||||
-X %{ld_libpod}/config._etcDir=%{_sysconfdir} \
|
-X %{ld_libpod}/config._etcDir=%{_sysconfdir} \
|
||||||
-X %{ld_project}/pkg/systemd/quadlet._binDir=%{_bindir}"
|
-X %{ld_project}/pkg/systemd/quadlet._binDir=%{_bindir}"
|
||||||
|
|
||||||
%if %{defined copr_build}
|
# This variable will be set by Packit actions. See .packit.yaml in the root dir
|
||||||
# ##GIT_COMMIT## is set by `.packit.sh` in Packit's Copr RPM build jobs.
|
# of the repo (upstream as well as Fedora dist-git).
|
||||||
# Has no effect on Koji builds.
|
GIT_COMMIT=""
|
||||||
GIT_COMMIT="##GIT_COMMIT##"
|
|
||||||
LDFLAGS="$LDFLAGS -X %{ld_libpod}/define.gitCommit=$GIT_COMMIT"
|
LDFLAGS="$LDFLAGS -X %{ld_libpod}/define.gitCommit=$GIT_COMMIT"
|
||||||
%endif
|
|
||||||
|
|
||||||
# build rootlessport first
|
# build rootlessport first
|
||||||
%gobuild -o bin/rootlessport ./cmd/rootlessport
|
%gobuild -o bin/rootlessport ./cmd/rootlessport
|
||||||
|
Reference in New Issue
Block a user