From 3702ea1ca9278803ec742ad0791ec84762c158cf Mon Sep 17 00:00:00 2001 From: Caleb Carlson Date: Tue, 28 May 2024 11:40:56 -0600 Subject: [PATCH] LU-17881 build: fix _flavor definition Allow user to override _flavor definition. Move ordering of _kver definition to be fully defined before using it to define _flavor. This prevents _flavor from getting defined with the kernel patch version field. Signed-off-by: Caleb Carlson Test-Parameters: trivial HPE-bug-id: LUS-12267 Change-Id: Ibd4db360d8c16f487453593cb0a9fd2a6a5a8c62 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55225 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Petros Koutoupis Reviewed-by: Shaun Tancheff Reviewed-by: Oleg Drokin --- lustre.spec.in | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lustre.spec.in b/lustre.spec.in index 386a7ec..336c7bd 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -80,16 +80,18 @@ %{!?kdir: %global kdir /lib/modules/%{_kver}/source} %{!?kobjdir: %global kobjdir %(if [ "%{kdir}" = "/lib/modules/%{_kver}/source" ]; then echo "/lib/modules/%{_kver}/build"; else echo "%{kdir}"; fi)} +%if %{defined _take_kver} +# as an alternative to this implementation we could simply "make -C $kdir kernelversion" +%global kver %(files="include/generated/utsrelease.h include/linux/utsrelease.h include/linux/version.h"; for f in $files; do if test -r %{kobjdir}/$f && grep UTS_RELEASE %{kobjdir}/$f >/dev/null; then sed -ne '/^#define UTS_RELEASE/s/.*"\\(.*\\)"$/\\1/p' %{kobjdir}/$f; break; fi; done) +%define _kver %kver +%endif + +%if %{undefined _flavor} %if 0%{?suse_version} >= 1310 && %{defined _take_kobj} %global _flavor %(echo %{_kver} | sed -e 's/^.*-//') %else %global _flavor default %endif - -%if %{defined _take_kver} -# as an alternative to this implementation we could simply "make -C $kdir kernelversion" -%global kver %(files="include/generated/utsrelease.h include/linux/utsrelease.h include/linux/version.h"; for f in $files; do if test -r %{kobjdir}/$f && grep UTS_RELEASE %{kobjdir}/$f >/dev/null; then sed -ne '/^#define UTS_RELEASE/s/.*"\\(.*\\)"$/\\1/p' %{kobjdir}/$f; break; fi; done) -%define _kver %kver %endif # We set this because kernel_module_package has its own method of identifying -- 1.8.3.1