diff --git a/filesystems/openzfs-kmod/Makefile b/filesystems/openzfs-kmod/Makefile index 7470387de28e..9d4313e182b1 100644 --- a/filesystems/openzfs-kmod/Makefile +++ b/filesystems/openzfs-kmod/Makefile @@ -1,66 +1,67 @@ PORTNAME= openzfs PORTVERSION= 2.4.0 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= filesystems sysutils MASTER_SITES= https://github.com/openzfs/zfs/releases/download/zfs-${PORTVERSION}/ PKGNAMESUFFIX?= -kmod DISTNAME= zfs-${DISTVERSION} MAINTAINER= mm@FreeBSD.org COMMENT= OpenZFS kernel module for FreeBSD WWW= https://github.com/openzfs/zfs LICENSE= CDDL USES= cpe kmod OPENZFS_TAGNAME= 743334913 KMODTARGET?= openzfs.ko PLIST_FILES= ${KMODDIR}/${KMODTARGET} OPTIONS_DEFINE= DEBUG INVARIANTS GCOV OPTIONS_DEFAULT= DEBUG INVARIANTS OPTIONS_SUB= yes GCOV_DESC= Build kernel module with GCOV support (Requires gcc) INVARIANTS_DESC= Build kernel module with INVARIANTS INVARIANTS_IMPLIES= DEBUG WRKSRC_SUBDIR= module MAKEFILE= Makefile.bsd .include MAKE_OPTS+= SYSDIR=${SRC_BASE}/sys .if ${PORT_OPTIONS:MDEBUG} MAKE_OPTS+= WITH_DEBUG=true PLIST_FILES+= ${KMODDIR}/${KMODTARGET}.debug .endif .if ${PORT_OPTIONS:MINVARIANTS} MAKE_OPTS+= WITH_INVARIANTS=true .endif .if ${PORT_OPTIONS:MGCOV} USE_GCC= yes MAKE_OPTS+= WITH_GCOV=true .endif ZFS_META_GITREV= zfs-${PORTVERSION}-0-g${OPENZFS_TAGNAME}-dist ZFS_META_RELEASE= 1 ZFS_META_VERSION= ${PORTVERSION} post-patch: ${ECHO} '#define ZFS_META_GITREV "${ZFS_META_GITREV}"' > ${WRKDIR}/${DISTNAME}/include/zfs_gitrev.h ${ECHO} '#define ZFS_META_RELEASE "${ZFS_META_RELEASE}"' > ${WRKDIR}/${DISTNAME}/zfs_config.h ${ECHO} '#define ZFS_META_VERSION "${ZFS_META_VERSION}"' >> ${WRKDIR}/${DISTNAME}/zfs_config.h do-install: ${INSTALL} ${WRKSRC}/openzfs.ko ${STAGEDIR}${KMODDIR}/${KMODTARGET} .if ${PORT_OPTIONS:MDEBUG} ${INSTALL} ${WRKSRC}/openzfs.ko.debug ${STAGEDIR}${KMODDIR}/${KMODTARGET}.debug .endif .include diff --git a/filesystems/openzfs-kmod/files/patch-nvpair_nvpair.c b/filesystems/openzfs-kmod/files/patch-nvpair_nvpair.c new file mode 100644 index 000000000000..efef98f1a904 --- /dev/null +++ b/filesystems/openzfs-kmod/files/patch-nvpair_nvpair.c @@ -0,0 +1,30 @@ +--- nvpair/nvpair.c.orig 2025-12-18 18:01:01 UTC ++++ nvpair/nvpair.c +@@ -3246,7 +3246,8 @@ nvs_xdr_nvl_fini(nvstream_t *nvs) + * xdrproc_t-compatible callbacks for xdr_array() + */ + +-#if defined(_KERNEL) && defined(__linux__) /* Linux kernel */ ++#if (defined(__FreeBSD_version) && __FreeBSD_version >= 1600010) || \ ++ defined(_KERNEL) && defined(__linux__) /* Linux kernel */ + + #define NVS_BUILD_XDRPROC_T(type) \ + static bool_t \ +@@ -3255,7 +3256,7 @@ nvs_xdr_nvp_##type(XDR *xdrs, void *ptr) \ + return (xdr_##type(xdrs, ptr)); \ + } + +-#elif !defined(_KERNEL) && defined(XDR_CONTROL) /* tirpc */ ++#elif !defined(_KERNEL) && defined(XDR_CONTROL) /* tirpc, FreeBSD < 16 */ + + #define NVS_BUILD_XDRPROC_T(type) \ + static bool_t \ +@@ -3271,7 +3272,7 @@ nvs_xdr_nvp_##type(XDR *xdrs, ...) \ + return (xdr_##type(xdrs, ptr)); \ + } + +-#else /* FreeBSD, sunrpc */ ++#else /* FreeBSD kernel < 16, sunrpc */ + + #define NVS_BUILD_XDRPROC_T(type) \ + static bool_t \