aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpsych3r2025-12-05 23:25:48 +0100
committerGitHub2025-12-05 23:25:48 +0100
commit08e5fcfdf44c73fbbc8887b100fccd00006aa02e (patch)
treef3defb6a9ab7b70f692357daa8527798d6f4ecfc
parent1322922c420e56ea45534d5fc74365168f5bf487 (diff)
Fix USER_PATH resolution on case-insensitive filesystems (#25853)
When QMK_USERSPACE is empty, the wildcard check in build_keyboard.mk incorrectly matches user home directories on case-insensitive filesystems (macOS/Windows), causing USER_PATH to resolve to an absolute path instead of a relative path. This only affects users whose username matches their user directory name (e.g., username 'psycher' with home '/Users/psycher' and QMK user dir 'users/psycher'). Fix by checking if QMK_USERSPACE is non-empty before performing the wildcard check.
-rw-r--r--builddefs/build_keyboard.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk
index dae8c07e3e..0df95342f9 100644
--- a/builddefs/build_keyboard.mk
+++ b/builddefs/build_keyboard.mk
@@ -474,8 +474,10 @@ ifneq ($(wildcard $(QMK_USERSPACE)),)
endif
# If the equivalent users directory exists in userspace, use that in preference to anything currently in the main repo
-ifneq ($(wildcard $(QMK_USERSPACE)/$(USER_PATH)),)
- USER_PATH := $(QMK_USERSPACE)/$(USER_PATH)
+ifneq ($(QMK_USERSPACE),)
+ ifneq ($(wildcard $(QMK_USERSPACE)/$(USER_PATH)),)
+ USER_PATH := $(QMK_USERSPACE)/$(USER_PATH)
+ endif
endif
# Pull in user level rules.mk