diff --git a/srcpkgs/zfs/patches/0003-musl-statx.patch b/srcpkgs/zfs/patches/0003-musl-statx.patch new file mode 100644 index 00000000000..bb3f6af39f6 --- /dev/null +++ b/srcpkgs/zfs/patches/0003-musl-statx.patch @@ -0,0 +1,76 @@ +From 0f90c740b0264512cd1eea611a3c3571fb68d9c7 Mon Sep 17 00:00:00 2001 +From: classabbyamp +Date: Wed, 27 Aug 2025 09:14:55 -0400 +Subject: [PATCH] linux: use sys/stat.h instead of linux/stat.h + +glibc includes linux/stat.h for statx, but musl defines its own statx +struct and associated constants, which does not include STATX_MNT_ID +yet. Thus, including linux/stat.h directly should be avoided for +maximum libc compatibility. + +Tested on: + - glibc: x86_64, i686, aarch64, armv7l, armv6l + - musl: x86_64, aarch64, armv7l, armv6l + +Signed-off-by: classabbyamp +--- + config/user-statx.m4 | 6 +++--- + include/os/linux/spl/sys/stat.h | 2 +- + lib/libspl/include/os/linux/sys/stat.h | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/config/user-statx.m4 b/config/user-statx.m4 +index 0315f93e0c20..1ba74a40e9b8 100644 +--- a/config/user-statx.m4 ++++ b/config/user-statx.m4 +@@ -2,7 +2,7 @@ dnl # + dnl # Check for statx() function and STATX_MNT_ID availability + dnl # + AC_DEFUN([ZFS_AC_CONFIG_USER_STATX], [ +- AC_CHECK_HEADERS([linux/stat.h], ++ AC_CHECK_HEADERS([sys/stat.h], + [have_stat_headers=yes], + [have_stat_headers=no]) + +@@ -14,7 +14,7 @@ AC_DEFUN([ZFS_AC_CONFIG_USER_STATX], [ + AC_MSG_CHECKING([for STATX_MNT_ID]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +- #include ++ #include + ]], [[ + struct statx stx; + int mask = STATX_MNT_ID; +@@ -29,6 +29,6 @@ AC_DEFUN([ZFS_AC_CONFIG_USER_STATX], [ + ]) + ]) + ], [ +- AC_MSG_WARN([linux/stat.h not found; skipping statx support]) ++ AC_MSG_WARN([sys/stat.h not found; skipping statx support]) + ]) + ]) dnl end AC_DEFUN +diff --git a/include/os/linux/spl/sys/stat.h b/include/os/linux/spl/sys/stat.h +index 087389b57b34..ad2815e46394 100644 +--- a/include/os/linux/spl/sys/stat.h ++++ b/include/os/linux/spl/sys/stat.h +@@ -25,6 +25,6 @@ + #ifndef _SPL_STAT_H + #define _SPL_STAT_H + +-#include ++#include + + #endif /* SPL_STAT_H */ +diff --git a/lib/libspl/include/os/linux/sys/stat.h b/lib/libspl/include/os/linux/sys/stat.h +index a605af962a6d..13cc0b46ac93 100644 +--- a/lib/libspl/include/os/linux/sys/stat.h ++++ b/lib/libspl/include/os/linux/sys/stat.h +@@ -33,7 +33,7 @@ + + #ifdef HAVE_STATX + #include +-#include ++#include + #endif + + /* diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template index eccfcbde03a..4f870e7ffa2 100644 --- a/srcpkgs/zfs/template +++ b/srcpkgs/zfs/template @@ -1,6 +1,6 @@ # Template file for 'zfs' pkgname=zfs -version=2.3.3 +version=2.3.4 revision=1 build_style=gnu-configure configure_args="--with-config=user --with-mounthelperdir=/usr/bin @@ -16,7 +16,7 @@ maintainer="Toyam Cox " license="CDDL-1.0" homepage="https://openzfs.github.io/openzfs-docs/" distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz" -checksum=844122118f0ea81205a01753bbcb1315330f8967c1f866dcd10155273131f071 +checksum=9ec397cf360133161a1180035f3e7d6962186ed2b3457953a28d45aa883fa495 # dkms must be before initramfs-regenerate to build modules before images triggers="dkms initramfs-regenerate" dkms_modules="zfs ${version}"