From b97fc2bec23057e71f20c0721c7cedd86394cce6 Mon Sep 17 00:00:00 2001 From: Rifat Azad Date: Sat, 5 Jul 2025 17:35:25 +0600 Subject: [PATCH] Revert "kernel/Makefile: check kernelsu driver version from online git repo first, if fails then check local .git and if that also fails then use hardcoded fallback" This reverts commit a37f398cc799d5dae065ccfddbc2b52ab15d9eba. - this is a very flawed logic for when we try to build with release tags or specific commit hashes instead of latest commit, the online logic will always append latest version instead of the actual version of code (i.e release tags or commit hashes) --- kernel/Makefile | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/kernel/Makefile b/kernel/Makefile index c19de2d4..aa380e9a 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -16,32 +16,18 @@ ccflags-y += -I$(objtree)/security/selinux -include $(srctree)/include/uapi/asm- obj-$(CONFIG_KSU) += kernelsu.o -REPO_OWNER := KernelSU-Next -REPO_NAME := KernelSU-Next -REPO_BRANCH := next - -GIT_BIN := /usr/bin/env PATH="$$PATH":/usr/bin:/usr/local/bin git -CURL_BIN := /usr/bin/env PATH="$$PATH":/usr/bin:/usr/local/bin curl - -KSU_GITHUB_VERSION := $(shell $(CURL_BIN) -sI "https://api.github.com/repos/$(REPO_OWNER)/$(REPO_NAME)/commits?sha=$(REPO_BRANCH)&per_page=1" | grep -i "link:" | sed -n 's/.*page=\([0-9]*\)>; rel="last".*/\1/p') - -ifeq ($(KSU_GITHUB_VERSION),) - ifeq ($(shell test -e $(srctree)/$(src)/../.git; echo $$?),0) - $(shell cd $(srctree)/$(src); [ -f ../.git/shallow ] && $(GIT_BIN) fetch --unshallow) - KSU_LOCAL_VERSION := $(shell cd $(srctree)/$(src); $(GIT_BIN) rev-list --count HEAD) - $(eval KSU_VERSION := $(shell expr 10000 + $(KSU_LOCAL_VERSION) + 200)) - $(info -- KernelSU-Next version (local .git): $(KSU_VERSION)) - else - $(eval KSU_VERSION := 11998) - $(warning -- Could not fetch version online or via local .git! Using fallback version: $(KSU_VERSION)) - endif -else - $(eval KSU_VERSION := $(shell expr 10000 + $(KSU_GITHUB_VERSION) + 200)) - $(info -- KernelSU-Next version (GitHub): $(KSU_VERSION)) -endif - +# .git is a text file while the module is imported by 'git submodule add'. +ifeq ($(shell test -e $(srctree)/$(src)/../.git; echo $$?),0) +$(shell cd $(srctree)/$(src); /usr/bin/env PATH="$$PATH":/usr/bin:/usr/local/bin [ -f ../.git/shallow ] && git fetch --unshallow) +KSU_GIT_VERSION := $(shell cd $(srctree)/$(src); /usr/bin/env PATH="$$PATH":/usr/bin:/usr/local/bin git rev-list --count HEAD) +# ksu_version: major * 10000 + git version + 200 for historical reasons +$(eval KSU_VERSION=$(shell expr 10000 + $(KSU_GIT_VERSION) + 200)) $(info -- KernelSU-Next version: $(KSU_VERSION)) ccflags-y += -DKSU_VERSION=$(KSU_VERSION) +else # If there is no .git file, the default version will be passed. +$(warning "KSU_GIT_VERSION not defined! It is better to make KernelSU-Next a git submodule!") +ccflags-y += -DKSU_VERSION=11998 +endif ifeq ($(shell grep -q " current_sid(void)" $(srctree)/security/selinux/include/objsec.h; echo $$?),0) ccflags-y += -DKSU_COMPAT_HAS_CURRENT_SID