diff --git a/meta-oe/recipes-extended/smolkit/files/0001-SystemUserLookup.h-include-sys-types.h-for-uid_t-pi.patch b/meta-oe/recipes-extended/smolkit/files/0001-SystemUserLookup.h-include-sys-types.h-for-uid_t-pi.patch new file mode 100644 index 0000000000..d2adf9177b --- /dev/null +++ b/meta-oe/recipes-extended/smolkit/files/0001-SystemUserLookup.h-include-sys-types.h-for-uid_t-pi.patch @@ -0,0 +1,30 @@ +From: Khem Raj +Date: Tue, 29 Sep 2026 01:54:51 +0000 +Subject: [PATCH] SystemUserLookup.h: include sys/types.h for uid_t/pid_t + +SystemUserLookup.h uses uid_t and pid_t but never includes + itself. On glibc, (or other headers pulled in +transitively by the C++ runtime) end up exposing these POSIX types, +but that is not guaranteed. musl's libc++ headers do not provide +this transitive declaration, so the header fails to parse with +"unknown type name 'uid_t'"/"'pid_t'". Include +directly so the header is self-contained regardless of libc. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/SystemUserLookup.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/SystemUserLookup.h b/src/SystemUserLookup.h +index 1111111..2222222 100644 +--- a/src/SystemUserLookup.h ++++ b/src/SystemUserLookup.h +@@ -1,5 +1,7 @@ + #pragma once + ++#include ++ + #include + + struct group; diff --git a/meta-oe/recipes-extended/smolkit/smolkit.bb b/meta-oe/recipes-extended/smolkit/smolkit.bb index 4ac9ee69f7..6ba338ef05 100644 --- a/meta-oe/recipes-extended/smolkit/smolkit.bb +++ b/meta-oe/recipes-extended/smolkit/smolkit.bb @@ -22,5 +22,6 @@ PV = "${VERSION}+git" SRC_URI = "\ git://github.com/bmwcarit/${BPN}.git;protocol=https;branch=main;tag=v${VERSION} \ + file://0001-SystemUserLookup.h-include-sys-types.h-for-uid_t-pi.patch \ " SRCREV = "46bbfd5c922a8d03a534398ee129ded822dfcafe"