commit 08e5fcfdf44c73fbbc8887b100fccd00006aa02e
parent 1322922c420e56ea45534d5fc74365168f5bf487
Author: psych3r <abdalrahman.mursi@gmail.com>
Date: Sat, 6 Dec 2025 00:25:48 +0200
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.
Diffstat:
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git 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