From 1aaf0080d899a61375fbd023a7ac16b5ef3bcf07 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Fri, 19 Dec 2025 14:45:02 -0500 Subject: [PATCH 1/2] zfs: update to 2.4.0. --- common/shlibs | 4 +- srcpkgs/zfs/patches/0003-musl-statx.patch | 76 -------------------- srcpkgs/zfs/patches/0003-musl-strftime.patch | 28 ++++++++ srcpkgs/zfs/template | 4 +- 4 files changed, 32 insertions(+), 80 deletions(-) delete mode 100644 srcpkgs/zfs/patches/0003-musl-statx.patch create mode 100644 srcpkgs/zfs/patches/0003-musl-strftime.patch diff --git a/common/shlibs b/common/shlibs index 588db81dc64fda..45f3811de8e37f 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3945,8 +3945,8 @@ libtss2-rc.so.0 tpm2-tss-2.3.1_1 libtss2-tcti-mssim.so.0 tpm2-tss-2.3.1_1 libtss2-tctildr.so.0 tpm2-tss-2.3.1_1 libzfsbootenv.so.1 libzfs-2.1.7_1 -libzfs.so.6 libzfs-2.3.0_1 -libzpool.so.6 libzfs-2.3.0_1 +libzfs.so.7 libzfs-2.4.0_1 +libzpool.so.7 libzfs-2.4.0_1 libzfs.so.4 libzfs-lts-2.1.7_1 libuutil.so.3 libzfs-2.1.7_1 libzpool.so.5 libzfs-lts-2.1.7_1 diff --git a/srcpkgs/zfs/patches/0003-musl-statx.patch b/srcpkgs/zfs/patches/0003-musl-statx.patch deleted file mode 100644 index bb3f6af39f67db..00000000000000 --- a/srcpkgs/zfs/patches/0003-musl-statx.patch +++ /dev/null @@ -1,76 +0,0 @@ -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/patches/0003-musl-strftime.patch b/srcpkgs/zfs/patches/0003-musl-strftime.patch new file mode 100644 index 00000000000000..4ac2865a316de0 --- /dev/null +++ b/srcpkgs/zfs/patches/0003-musl-strftime.patch @@ -0,0 +1,28 @@ +commit 886d27d837f8e4c36ed53e54679278ce19b5e133 +Author: q66 +Date: Mon May 5 00:03:06 2025 +0200 + + work around musl strftime not supporting %k + +diff --git a/lib/libzfs/libzfs_dataset.c b/lib/libzfs/libzfs_dataset.c +index 8d96392..3d418e2 100644 +--- a/lib/libzfs/libzfs_dataset.c ++++ b/lib/libzfs/libzfs_dataset.c +@@ -2707,7 +2707,7 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop_t prop, char *propbuf, size_t proplen, + + if (literal || + localtime_r(&time, &t) == NULL || +- strftime(propbuf, proplen, "%a %b %e %k:%M %Y", ++ strftime(propbuf, proplen, "%a %b %e %H:%M %Y", + &t) == 0) + (void) snprintf(propbuf, proplen, "%llu", + (u_longlong_t)val); +@@ -3014,7 +3014,7 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop_t prop, char *propbuf, size_t proplen, + + if (literal || + localtime_r(&time, &t) == NULL || +- strftime(propbuf, proplen, "%a %b %e %k:%M:%S %Y", ++ strftime(propbuf, proplen, "%a %b %e %H:%M:%S %Y", + &t) == 0) + (void) snprintf(propbuf, proplen, "%llu", + (u_longlong_t)val); diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template index acb526a4d74d70..399ce055708ea3 100644 --- a/srcpkgs/zfs/template +++ b/srcpkgs/zfs/template @@ -1,6 +1,6 @@ # Template file for 'zfs' pkgname=zfs -version=2.3.5 +version=2.4.0 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=326ae0cba8a615afa42c6891640e76acc4bd230f6d6ddec120c11e30b1392067 +checksum=7bdf13de0a71d95554c0e3e47d5e8f50786c30d4f4b63b7c593b1d11af75c9ee # dkms must be before initramfs-regenerate to build modules before images triggers="dkms initramfs-regenerate" dkms_modules="zfs ${version}" From f0bb64915da0b397e9b1dc35fc0a860d675b1fe9 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Fri, 19 Dec 2025 14:48:03 -0500 Subject: [PATCH 2/2] zfs-lts: update to 2.3.5. --- common/shlibs | 4 +-- .../zfs-lts/patches/0004-musl-strftime.patch | 28 +++++++++++++++++++ srcpkgs/zfs-lts/template | 4 +-- 3 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 srcpkgs/zfs-lts/patches/0004-musl-strftime.patch diff --git a/common/shlibs b/common/shlibs index 45f3811de8e37f..0b14e31b4af74d 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3947,9 +3947,9 @@ libtss2-tctildr.so.0 tpm2-tss-2.3.1_1 libzfsbootenv.so.1 libzfs-2.1.7_1 libzfs.so.7 libzfs-2.4.0_1 libzpool.so.7 libzfs-2.4.0_1 -libzfs.so.4 libzfs-lts-2.1.7_1 +libzfs.so.6 libzfs-lts-2.3.5_1 libuutil.so.3 libzfs-2.1.7_1 -libzpool.so.5 libzfs-lts-2.1.7_1 +libzpool.so.6 libzfs-lts-2.3.5_1 libzfs_core.so.3 libzfs-2.1.7_1 libnvpair.so.3 libzfs-2.1.7_1 libgmio.so gmio-0.4.1_1 diff --git a/srcpkgs/zfs-lts/patches/0004-musl-strftime.patch b/srcpkgs/zfs-lts/patches/0004-musl-strftime.patch new file mode 100644 index 00000000000000..4ac2865a316de0 --- /dev/null +++ b/srcpkgs/zfs-lts/patches/0004-musl-strftime.patch @@ -0,0 +1,28 @@ +commit 886d27d837f8e4c36ed53e54679278ce19b5e133 +Author: q66 +Date: Mon May 5 00:03:06 2025 +0200 + + work around musl strftime not supporting %k + +diff --git a/lib/libzfs/libzfs_dataset.c b/lib/libzfs/libzfs_dataset.c +index 8d96392..3d418e2 100644 +--- a/lib/libzfs/libzfs_dataset.c ++++ b/lib/libzfs/libzfs_dataset.c +@@ -2707,7 +2707,7 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop_t prop, char *propbuf, size_t proplen, + + if (literal || + localtime_r(&time, &t) == NULL || +- strftime(propbuf, proplen, "%a %b %e %k:%M %Y", ++ strftime(propbuf, proplen, "%a %b %e %H:%M %Y", + &t) == 0) + (void) snprintf(propbuf, proplen, "%llu", + (u_longlong_t)val); +@@ -3014,7 +3014,7 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop_t prop, char *propbuf, size_t proplen, + + if (literal || + localtime_r(&time, &t) == NULL || +- strftime(propbuf, proplen, "%a %b %e %k:%M:%S %Y", ++ strftime(propbuf, proplen, "%a %b %e %H:%M:%S %Y", + &t) == 0) + (void) snprintf(propbuf, proplen, "%llu", + (u_longlong_t)val); diff --git a/srcpkgs/zfs-lts/template b/srcpkgs/zfs-lts/template index 2afeeff9088110..74b5dc611c6071 100644 --- a/srcpkgs/zfs-lts/template +++ b/srcpkgs/zfs-lts/template @@ -1,6 +1,6 @@ # Template file for 'zfs-lts' pkgname=zfs-lts -version=2.2.9 +version=2.3.5 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=07ba7e14c383bce9fd06e611bc8bec45ad03c39f3c83ccea5aa1f77e80c45809 +checksum=326ae0cba8a615afa42c6891640e76acc4bd230f6d6ddec120c11e30b1392067 # dkms must be before initramfs-regenerate to build modules before images triggers="dkms initramfs-regenerate" dkms_modules="zfs ${version}"