You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current implementation of .git checking have some issues:
- If a kernel source being cloned using git-repo tool, especially
newer version, it will clone .git in .repo inside of the submodule
source.
- Newer kernel source changed how $(src) & $(srctree) output. In
the case of kernel 6.11 as I tested $(src) show the relative path
of the symlink in drivers/ instead of KernelSU main directory.
Which makes checking for ../.git existence comletely useless.
One idea I would like to propose is to check for the remote URL in
$(src). If the remote is correct then we can assume this is
KSU repo and then count the version (also unshallow the repo).
Here's what I did:
- Check if kernel is 6.9+ and then change $(src) accordingly.
- Print $(src) remote in verbose and check for the correct
URL (both ssh & https).
- If correct, check if the repo is shallow by using
git rev-parse --is-shallow-repository. Unshallow if it's return true.
- Calculate version as usual.
The only drawback I can see so far is that forks will have to edit
the url in the Makefile, which I don't think it's much of an issue.
Signed-off-by: hmtheboy154 <[email protected]>
0 commit comments