On 6/2/25 3:48 PM, Shuah Khan wrote:
On 5/28/25 18:33, Tianyi Cui wrote:
As titled, adding version file to kselftest installation dir, so the user
of the tarball can know which kernel version the tarball belongs to.
Signed-off-by: Tianyi Cui <1997cui@xxxxxxxxx>
---
tools/testing/selftests/Makefile | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/testing/selftests/Makefile b/tools/testing/
selftests/Makefile
index a0a6ba47d600..246e9863b45b 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -291,6 +291,12 @@ ifdef INSTALL_PATH
$(MAKE) -s --no-print-directory OUTPUT=$$BUILD_TARGET
COLLECTION=$$TARGET \
-C $$TARGET emit_tests >> $(TEST_LIST); \
done;
+ @if git describe HEAD > /dev/null 2>&1; then \
+ git describe HEAD > $(INSTALL_PATH)/VERSION; \
+ printf "Version saved to $(INSTALL_PATH)/VERSION\n"; \
+ else \
+ printf "Unable to get version from git describe\n"; \
+ fi
else
$(error Error: set INSTALL_PATH to use install)
endif
Why not use "make kernelrelease" to get the version?
Thank you for your attention for my first patch! There are mainly two
reasons:
1. We'd like to have the `VERSION` file written to to the tarball. This
is because driver hardware tests needs to be run on specific hardware so
that tarball is copied onto the DUT and we can compare the running
kernel version and the test version.`make kernelrelease` only print it
on screen,
2. `make kernelrelease` requires the kernel repo to be configured and
prepared, while `make -C tools/testing/selftests` can run standalone. As
a result, I don't want above to depend on `make kernelrelease`, which
may break compatibility of people's existing CI systems.