From 08e5fcfdf44c73fbbc8887b100fccd00006aa02e Mon Sep 17 00:00:00 2001 From: psych3r Date: Sat, 6 Dec 2025 00:25:48 +0200 Subject: [PATCH] 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. --- builddefs/build_keyboard.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index dae8c07e3e3..0df95342f93 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