diff --git a/kmod/Makefile b/kmod/Makefile index 9a210509..63d814d1 100644 --- a/kmod/Makefile +++ b/kmod/Makefile @@ -12,17 +12,22 @@ else SP = @: endif -SCOUTFS_GIT_DESCRIBE := \ +SCOUTFS_GIT_DESCRIBE ?= \ $(shell git describe --all --abbrev=6 --long 2>/dev/null || \ echo no-git) +ESCAPED_GIT_DESCRIBE := \ + $(shell echo $(SCOUTFS_GIT_DESCRIBE) |sed -e 's/\//\\\//g') + +RPM_GITHASH ?= $(shell git rev-parse --short HEAD) + SCOUTFS_ARGS := SCOUTFS_GIT_DESCRIBE=$(SCOUTFS_GIT_DESCRIBE) \ + RPM_GITHASH=$(RPM_GITHASH) \ CONFIG_SCOUTFS_FS=m -C $(SK_KSRC) M=$(CURDIR)/src \ EXTRA_CFLAGS="-Werror" # - We use the git describe from tags to set up the RPM versioning RPM_VERSION := $(shell git describe --long --tags | awk -F '-' '{gsub(/^v/,""); print $$1}') -RPM_GITHASH := $(shell git rev-parse --short HEAD) TARFILE = scoutfs-kmod-$(RPM_VERSION).tar @@ -41,7 +46,8 @@ modules_install: %.spec: %.spec.in .FORCE sed -e 's/@@VERSION@@/$(RPM_VERSION)/g' \ - -e 's/@@GITHASH@@/$(RPM_GITHASH)/g' < $< > $@+ + -e 's/@@GITHASH@@/$(RPM_GITHASH)/g' \ + -e 's/@@GITDESCRIBE@@/$(ESCAPED_GIT_DESCRIBE)/g' < $< > $@+ mv $@+ $@ diff --git a/kmod/scoutfs-kmod.spec.in b/kmod/scoutfs-kmod.spec.in index e9cfc2dc..faf25680 100644 --- a/kmod/scoutfs-kmod.spec.in +++ b/kmod/scoutfs-kmod.spec.in @@ -1,6 +1,7 @@ %define kmod_name scoutfs %define kmod_version @@VERSION@@ %define kmod_git_hash @@GITHASH@@ +%define kmod_git_describe @@GITDESCRIBE@@ %define pkg_date %(date +%%Y%%m%%d) # Disable the building of the debug package(s). @@ -75,7 +76,7 @@ echo "Building for kernel: %{kernel_version} flavors: '%{flavors_to_build}'" for flavor in %flavors_to_build; do rm -rf obj/$flavor cp -r source obj/$flavor - make SK_KSRC=%{kernel_source $flavor} -C obj/$flavor module + make RPM_GITHASH=%{kmod_git_hash} SCOUTFS_GIT_DESCRIBE=%{kmod_git_describe} SK_KSRC=%{kernel_source $flavor} -C obj/$flavor module done %install