From nobody Wed May 27 17:44:27 2026 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gQcSX1mjRz6fNvN for ; Wed, 27 May 2026 17:44:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gQcSW739Wz3xY9 for ; Wed, 27 May 2026 17:44:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779903868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SSL0ik9gn5BfCOV+Pgav2c5AstC7FFPJluopCNCVXSo=; b=UNUoHgfq54MWa1ZR9bTTZRzmVAKIlpzVrRBaVLLCEaCRB/xa4n7xLdgshwUCuD3rgKoiV1 OBrV6HZtt+Rxiou7jpSs3vagISRMVimMPvF4v0nr5sJxmBHknTNssRd3i+JaffUHw8WUFm 0JTk5J0hHhuMNLaYhnYSEPK+GQ8Qz66S0l5070NTCAfXefroEHhFTtC2XtAbS8tO6WMygg VAsjeYkAEACm7h8SjATZ5JuHFiCjhGRzl/wpHY1jXv3ry5b3LLSYpyLJlq8ABvHjxofnNT IsSYSgAROLCGjOXbbcVUO55QBRcsWpzpnFudcHtPKZbsD1D+TT2Ntru7x+QMQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779903868; a=rsa-sha256; cv=none; b=jvMYGSfFtrvFA2gpya5y8ZG5b/NuJr7GMANUu7DhGMlrU2DExf3ggUUzq9W9jZkN7Cqx1S kEctjWID1gv5jc79JGzuX06+FP2qIAcEJs1lMR/R3IKDkkmUCMao2hPKB8XS1yjhrgMTwH J47Wiw/gCqXv7Q3tDAsLLlbEjZgY7DMbhp0uinZCx3R67s9iippZoCpYNcv4n5Th/Vfa5R p8X4bcfmEhR5dNgDOolnB5mxUKaVhpCKHK2vkmmM+rB8X/kT6bpSvqBYnoS/CuJLY8EH7u qPNSncHwlsSdKsVE63uY5d2pn4IxATQ8Ff9oAWl0Dp21QtwBnZTQ5ij9tFMeCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779903868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SSL0ik9gn5BfCOV+Pgav2c5AstC7FFPJluopCNCVXSo=; b=c54xqL+SYvTZLzx67gbii3quOWqZ1NHATceqB7uRA9u1s6duiVRUha+DgvPueu7y9c+1ai 2bkSQV15J6pQhOMMWn4MM8LSdlMflC4UrVQs3XGu/Pnzb0u/9Me1t3n/M83Zkdm99eGJc4 H8/iR/+CHH/p9PjFOgi+Z/IrBTFl3QTlWD3KUocDReNBCiV8Gb2u9JYV9ubGmapt5yquZQ YkffPnz2OnOjH7KVRgpr+U7ji+GpH5NeaEMsiU6eVw9hzo/+1yzOc2RFjYqQce30PlOtSF RYPRkXy1kMYnFtycd+QUixzKp6qdLZAPLOZlCXcFOqC7tJ2D8FtBawLbeqQyAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gQcSW6Xbfz18ZP for ; Wed, 27 May 2026 17:44:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cd39 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 27 May 2026 17:44:27 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Alan Somers Subject: git: ab895c97828b - main - filesystems/py-libzfs: 2.0.0 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab895c97828bad3757d6cfadca7daa22d8a19f99 Auto-Submitted: auto-generated Date: Wed, 27 May 2026 17:44:27 +0000 Message-Id: <6a172d7b.3cd39.46c0e79@gitrepo.freebsd.org> The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/ports/commit/?id=ab895c97828bad3757d6cfadca7daa22d8a19f99 commit ab895c97828bad3757d6cfadca7daa22d8a19f99 Author: Alan Somers AuthorDate: 2026-05-27 16:09:41 +0000 Commit: Alan Somers CommitDate: 2026-05-27 17:44:14 +0000 filesystems/py-libzfs: 2.0.0 Truenas has abandoned this project. I've made a personal fork and applied various fixes there. Switch the port to point at my fork. https://github.com/asomers/py-libzfs/blob/master/CHANGELOG.md Sponsored by: ConnectWise Reviewed by: arrowd Approved by: ports (arrowd) Differential Revision: https://reviews.freebsd.org/D57277 --- filesystems/py-libzfs/Makefile | 29 +++------------ filesystems/py-libzfs/distinfo | 14 ++------ filesystems/py-libzfs/files/extra-libuutil.patch | 22 ------------ filesystems/py-libzfs/files/extra-zpool-add.patch | 44 ----------------------- 4 files changed, 8 insertions(+), 101 deletions(-) diff --git a/filesystems/py-libzfs/Makefile b/filesystems/py-libzfs/Makefile index 261d7447eda0..f9f8bedfa29d 100644 --- a/filesystems/py-libzfs/Makefile +++ b/filesystems/py-libzfs/Makefile @@ -1,27 +1,23 @@ PORTNAME= libzfs -PORTVERSION= 1.1.2023020700 -PORTREVISION= 4 +DISTVERSIONPREFIX=v +DISTVERSION= 2.0.0 CATEGORIES= filesystems devel python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= asomers@FreeBSD.org COMMENT= Python libzfs bindings -WWW= https://github.com/truenas/py-libzfs +WWW= https://github.com/asomers/py-libzfs LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE HAS_CONFIGURE= yes USES= compiler:c11 python -USE_PYTHON= autoplist cython0 distutils - -PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= 666e8b6fdbbd4bb75f91e267be0e4c6378dd3558.diff:-p1 # backport of https://github.com/truenas/py-libzfs/pull/231 +USE_PYTHON= autoplist cython distutils USE_GITHUB= yes -GH_ACCOUNT= truenas +GH_ACCOUNT= asomers GH_PROJECT= py-libzfs -GH_TAGNAME= c1bd4a0 CONFIGURE_ENV= freebsd_src=${SRC_BASE} MAKE_ENV= freebsd_src=${SRC_BASE} @@ -32,19 +28,4 @@ MAKE_ENV= freebsd_src=${SRC_BASE} IGNORE= requires kernel source files in ${SRC_BASE} .endif -.if ${OPSYS} == FreeBSD -PATCHFILES+= 0b2ab0594997c44e80e3fdfe9d2add106d81149a.diff:-p1 # backport of https://github.com/truenas/py-libzfs/pull/251 -EXTRA_PATCHES+= ${FILESDIR}/extra-zpool-add.patch -.endif - -.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500000 -PATCHFILES+= 0ce0c8be75ae4c8873824b3c6e8f0a1736cd673b.diff:-p1 # backport of https://github.com/truenas/py-libzfs/pull/297 -PATCHFILES+= 9882ea5d43407b3be71621a2988e7cdaaf87aa09.diff:-p1 # backport of https://github.com/truenas/py-libzfs/pull/297 -.endif - -.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1600005 -# https://github.com/truenas/py-libzfs/pull/310 -EXTRA_PATCHES+= ${FILESDIR}/extra-libuutil.patch -.endif - .include diff --git a/filesystems/py-libzfs/distinfo b/filesystems/py-libzfs/distinfo index 025b08e1bcea..d564729cdb4a 100644 --- a/filesystems/py-libzfs/distinfo +++ b/filesystems/py-libzfs/distinfo @@ -1,11 +1,3 @@ -TIMESTAMP = 1773915602 -SHA256 (truenas-py-libzfs-1.1.2023020700-c1bd4a0_GH0.tar.gz) = 23b2d6e1b6ed78be2d12068f9b1b0b01270afaaf0f017817a5fb109d358aa818 -SIZE (truenas-py-libzfs-1.1.2023020700-c1bd4a0_GH0.tar.gz) = 99656 -SHA256 (0b2ab0594997c44e80e3fdfe9d2add106d81149a.diff) = 1fb37c3a678dbaadd47999f7d29631824a404561ca5f2237613d2b22b42fa138 -SIZE (0b2ab0594997c44e80e3fdfe9d2add106d81149a.diff) = 1453 -SHA256 (666e8b6fdbbd4bb75f91e267be0e4c6378dd3558.diff) = 4acc13d3257ba0457183527a36a0c65ad1c37b198008c99e2fb1d145fbb6709e -SIZE (666e8b6fdbbd4bb75f91e267be0e4c6378dd3558.diff) = 905 -SHA256 (0ce0c8be75ae4c8873824b3c6e8f0a1736cd673b.diff) = 19b00cd7f7441ad705dba7b35c79cfc95eb2d1dd118636b74da6a1be581eb00c -SIZE (0ce0c8be75ae4c8873824b3c6e8f0a1736cd673b.diff) = 7515 -SHA256 (9882ea5d43407b3be71621a2988e7cdaaf87aa09.diff) = 337ac1dda8890935e582f36eff551813ecb5d1a74f9ffe7c9fa23c0a2a7badca -SIZE (9882ea5d43407b3be71621a2988e7cdaaf87aa09.diff) = 10116 +TIMESTAMP = 1779900212 +SHA256 (asomers-py-libzfs-v2.0.0_GH0.tar.gz) = 6123ef4a8e7cc091cbf510f8b7176b8dea3ba15446af7b73e20676e44f5253b1 +SIZE (asomers-py-libzfs-v2.0.0_GH0.tar.gz) = 99038 diff --git a/filesystems/py-libzfs/files/extra-libuutil.patch b/filesystems/py-libzfs/files/extra-libuutil.patch deleted file mode 100644 index dd6f4d7ab1fc..000000000000 --- a/filesystems/py-libzfs/files/extra-libuutil.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- configure.orig 2025-12-09 20:43:08 UTC -+++ configure -@@ -3439,7 +3439,7 @@ CFLAGS="-DCYTHON_FALLTHROUGH" - esac - - CFLAGS="-DCYTHON_FALLTHROUGH" --LIBS="-lzfs -lnvpair -lzfs_core -luutil" -+LIBS="-lzfs -lnvpair -lzfs_core -lpthread" - - if [ "${build_freebsd}" = "yes" ]; then - LIBS="-lgeom ${LIBS}" ---- setup.py.orig 2025-12-09 20:55:09 UTC -+++ setup.py -@@ -43,7 +43,7 @@ except ImportError: - config = namedtuple('config', ['CFLAGS', 'CPPFLAGS', 'LDFLAGS'])([], [], []) - - --libraries = ['nvpair', 'zfs', 'zfs_core', 'uutil'] -+libraries = ['nvpair', 'zfs', 'zfs_core'] - if platform.system().lower() == 'freebsd': - libraries.append('geom') - diff --git a/filesystems/py-libzfs/files/extra-zpool-add.patch b/filesystems/py-libzfs/files/extra-zpool-add.patch deleted file mode 100644 index 7d0688ca4f13..000000000000 --- a/filesystems/py-libzfs/files/extra-zpool-add.patch +++ /dev/null @@ -1,44 +0,0 @@ -From b5ffe1f1d6097df6e2f5cc6dd3c968872ec60804 Mon Sep 17 00:00:00 2001 -From: Ameer Hamza -Date: Tue, 2 Apr 2024 23:56:55 +0500 -Subject: [PATCH] zpool_add API changed in upstream zfs master - ---- - libzfs.pyx | 5 +++-- - pxd/libzfs.pxd | 2 +- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/libzfs.pyx b/libzfs.pyx -index a59fca8..71efa96 100644 ---- a/libzfs.pyx -+++ ./libzfs.pyx -@@ -3175,13 +3175,14 @@ cdef class ZFSPool(object): - hopts = self.root.generate_history_opts(fsopts, '-o') - self.root.write_history('zfs create', hopts, name) - -- def attach_vdevs(self, vdevs_tree): -+ def attach_vdevs(self, vdevs_tree, check_ashift=0): - cdef const char *command = 'zpool add' - cdef ZFSVdev vd = self.root.make_vdev_tree(vdevs_tree, {'ashift': self.properties['ashift'].parsed}) - cdef int ret -+ cdef boolean_t ashift = check_ashift - - with nogil: -- ret = libzfs.zpool_add(self.handle, vd.nvlist.handle) -+ ret = libzfs.zpool_add(self.handle, vd.nvlist.handle, ashift) - - if ret != 0: - raise self.root.get_error() -diff --git a/pxd/libzfs.pxd b/pxd/libzfs.pxd -index 3ab9374..6afa275 100644 ---- a/pxd/libzfs.pxd -+++ ./pxd/libzfs.pxd -@@ -228,7 +228,7 @@ cdef extern from "libzfs.h" nogil: - extern int zpool_create(libzfs_handle_t *, const char *, nvpair.nvlist_t *, - nvpair.nvlist_t *, nvpair.nvlist_t *) - extern int zpool_destroy(zpool_handle_t *, const char *) -- extern int zpool_add(zpool_handle_t *, nvpair.nvlist_t *) -+ extern int zpool_add(zpool_handle_t *, nvpair.nvlist_t *, boolean_t) - - IF HAVE_ZPOOL_SCAN == 3: - extern int zpool_scan(zpool_handle_t *, zfs.pool_scan_func_t, zfs.pool_scrub_cmd_t)