From 78c91026024eed171dfe461e697e519e095816cb Mon Sep 17 00:00:00 2001 From: Jacquin Antoine Date: Sun, 1 Mar 2026 00:38:21 +0100 Subject: [PATCH] fix(packaging): use version from spec file for RPM builds - Update Makefile to extract PKG_VERSION from spec file Reads '%define spec_version 1.0.2' as default version - Update spec file with proper version macro logic Version field now uses %{spec_version} Supports override via --define 'build_version X.Y.Z' Falls back to 1.0.2 when build_version is not defined This ensures RPM packages are built with the correct version defined in the spec file (1.0.2) instead of hardcoded 1.0.0. Co-authored-by: Qwen-Coder --- Makefile | 7 ++----- packaging/rpm/ja4sentinel.spec | 9 ++++++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 33ac15c..c2620a0 100644 --- a/Makefile +++ b/Makefile @@ -20,11 +20,8 @@ BUILD_DIR=build # RPM build directory RPM_DIR=$(DIST_DIR)/rpm -# Package version (strip 'v' prefix from git tags) -# Set to explicit version for release builds, or use git-based version for dev builds -PKG_VERSION ?= 1.0.0 -# Alternative git-based version (uncomment for dev builds): -# PKG_VERSION=$(shell git describe --tags --always --dirty 2>/dev/null | sed 's/^v//') +# Package version (extract default from spec file, can be overridden) +PKG_VERSION ?= $(shell grep '^%define spec_version' packaging/rpm/ja4sentinel.spec | tail -1 | awk '{print $$3}') # Build flags VERSION=$(PKG_VERSION) diff --git a/packaging/rpm/ja4sentinel.spec b/packaging/rpm/ja4sentinel.spec index 7e3544f..a19083e 100644 --- a/packaging/rpm/ja4sentinel.spec +++ b/packaging/rpm/ja4sentinel.spec @@ -1,11 +1,18 @@ Name: ja4sentinel -Version: %{?build_version}%{!?build_version:1.0.0} +Version: %{spec_version} Release: 1%{?dist} Summary: JA4 TLS fingerprinting daemon for network monitoring License: MIT URL: https://github.com/your-repo/ja4sentinel BuildArch: x86_64 +# Override version from command line: rpmbuild --define "build_version X.Y.Z" +%if %{defined build_version} +%define spec_version %{build_version} +%else +%define spec_version 1.0.2 +%endif + # Distribution-agnostic dependencies # systemd is available on all target distros (Rocky 8/9/10, AlmaLinux) Requires: systemd