diff --git a/filesystems/Makefile b/filesystems/Makefile index 4f7065513f9a..67ebb926d71f 100644 --- a/filesystems/Makefile +++ b/filesystems/Makefile @@ -1,151 +1,152 @@ COMMENT = File systems and related utilities SUBDIR += R-cran-fs SUBDIR += acfgfs SUBDIR += afuse SUBDIR += archivemount SUBDIR += automount SUBDIR += avfs SUBDIR += befuse SUBDIR += bindfs SUBDIR += cfs SUBDIR += chironfs SUBDIR += clamfs SUBDIR += cramfs SUBDIR += cryptofs SUBDIR += curlftpfs SUBDIR += darling-dmg SUBDIR += davfs2 SUBDIR += dsbmc SUBDIR += dsbmc-cli SUBDIR += dsbmd SUBDIR += e2fsprogs SUBDIR += e2fsprogs-core SUBDIR += e2tools SUBDIR += encfs SUBDIR += exfat SUBDIR += exfat-utils SUBDIR += ext2 SUBDIR += fstyp SUBDIR += fswatch-mon SUBDIR += fusefs-libs SUBDIR += fusefs-libs3 SUBDIR += genromfs SUBDIR += gphotofs SUBDIR += gvfs SUBDIR += hammer2 SUBDIR += hfsexplorer SUBDIR += hfsfuse SUBDIR += hfsutils SUBDIR += httpdirfs SUBDIR += ifuse SUBDIR += jmtpfs SUBDIR += kio-fuse SUBDIR += libbde SUBDIR += libblkid SUBDIR += libfsapfs SUBDIR += libfsext SUBDIR += libfsfat SUBDIR += libfshfs SUBDIR += libfsntfs SUBDIR += libfsxfs SUBDIR += libgedit-gfls SUBDIR += libmodi SUBDIR += linux-c7-dosfstools SUBDIR += lizardfs SUBDIR += lkl SUBDIR += ltfs SUBDIR += mergerfs SUBDIR += mhddfs SUBDIR += moosefs2-cgi SUBDIR += moosefs2-cgiserv SUBDIR += moosefs2-chunkserver SUBDIR += moosefs2-cli SUBDIR += moosefs2-client SUBDIR += moosefs2-master SUBDIR += moosefs2-metalogger SUBDIR += moosefs2-netdump SUBDIR += moosefs3-cgi SUBDIR += moosefs3-cgiserv SUBDIR += moosefs3-chunkserver SUBDIR += moosefs3-cli SUBDIR += moosefs3-client SUBDIR += moosefs3-master SUBDIR += moosefs3-metalogger SUBDIR += moosefs3-netdump SUBDIR += mp3fs SUBDIR += mtools SUBDIR += mtpfs + SUBDIR += nbd-client-kmod SUBDIR += nbt SUBDIR += ntfs SUBDIR += ntfs-compression SUBDIR += ntfs2btrfs SUBDIR += ods2 SUBDIR += openzfs SUBDIR += openzfs-kmod SUBDIR += p5-Filesys-Statvfs SUBDIR += p5-Fuse SUBDIR += pear-Horde_Vfs SUBDIR += pod SUBDIR += progsreiserfs SUBDIR += py-dfvfs SUBDIR += py-fs SUBDIR += py-fs2 SUBDIR += py-fsspec SUBDIR += py-fsspec-xrootd SUBDIR += py-fusepy SUBDIR += py-gcsfs SUBDIR += py-kerchunk SUBDIR += py-libzfs SUBDIR += py-llfuse SUBDIR += py-prometheus-zfs SUBDIR += py-pyfakefs SUBDIR += py-s3fs SUBDIR += py-tahoe-lafs SUBDIR += py-zfs-autobackup SUBDIR += rar2fs SUBDIR += rubygem-chef-winrm-fs SUBDIR += rubygem-winrm-fs SUBDIR += rubygem-winrm-fs-gitlab SUBDIR += s3backer SUBDIR += s3fs SUBDIR += sandboxfs SUBDIR += sasquatch SUBDIR += scan_ffs SUBDIR += securefs SUBDIR += simple-mtpfs SUBDIR += smbnetfs SUBDIR += squashfs-tools SUBDIR += squashfs-tools-ng SUBDIR += squashfuse SUBDIR += sshfs SUBDIR += tclvfs SUBDIR += ufs SUBDIR += ufs_copy SUBDIR += unionfs SUBDIR += unreliablefs SUBDIR += webdavfs SUBDIR += wimlib SUBDIR += xfsm SUBDIR += xfsprogs SUBDIR += xfuse SUBDIR += zap SUBDIR += zerofs SUBDIR += zfs-periodic SUBDIR += zfs-replicate SUBDIR += zfs-snap-diff SUBDIR += zfs-snapshot-clean SUBDIR += zfs-snapshot-mgmt SUBDIR += zfs-stats SUBDIR += zfs-stats-lite SUBDIR += zfsnap SUBDIR += zfsnap2 SUBDIR += zfstools SUBDIR += zip SUBDIR += zisofs-tools SUBDIR += zrepl SUBDIR += zrepl-dsh2dsh SUBDIR += ztop SUBDIR += zxfer .include diff --git a/filesystems/nbd-client-kmod/Makefile b/filesystems/nbd-client-kmod/Makefile new file mode 100644 index 000000000000..27d78925a28d --- /dev/null +++ b/filesystems/nbd-client-kmod/Makefile @@ -0,0 +1,31 @@ +PORTNAME= nbd-client +DISTVERSION= g20250928 +CATEGORIES= filesystems +PKGNAMESUFFIX= -kmod + +MAINTAINER= dtxdf@FreeBSD.org +COMMENT= Kernel NBD client for FreeBSD GEOM framework +WWW= https://github.com/ryan-moeller/kernel-nbd-client + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= kmod ssl uidfix +USE_GITHUB= yes +GH_ACCOUNT= ryan-moeller +GH_PROJECT= kernel-nbd-client +GH_TAGNAME= df0528162deffaabaae4365394b4b6e75ff3fcaf + +MAKE_ENV= GEOM_CLASS_DIR="${PREFIX}/lib/geom" \ + MANDIR="${PREFIX}/share/man/man" + +SUB_FILES= gnbd + +pre-install: + @${MKDIR} ${STAGEDIR}${PREFIX}/lib/geom + +post-install: + ${INSTALL_SCRIPT} ${WRKDIR}/gnbd ${STAGEDIR}${PREFIX}/sbin/gnbd + ${INSTALL_DATA} ${WRKSRC}/devd.conf.sample ${STAGEDIR}${PREFIX}/etc/devd/${PORTNAME}.conf.sample + +.include diff --git a/filesystems/nbd-client-kmod/distinfo b/filesystems/nbd-client-kmod/distinfo new file mode 100644 index 000000000000..8d781e318f51 --- /dev/null +++ b/filesystems/nbd-client-kmod/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1760457302 +SHA256 (ryan-moeller-kernel-nbd-client-g20250928-df0528162deffaabaae4365394b4b6e75ff3fcaf_GH0.tar.gz) = 9e6b66d41ae86c5eb52f9cb835b7517775d2a58a0523d7617ff55d91384f792f +SIZE (ryan-moeller-kernel-nbd-client-g20250928-df0528162deffaabaae4365394b4b6e75ff3fcaf_GH0.tar.gz) = 39296 diff --git a/filesystems/nbd-client-kmod/files/gnbd.in b/filesystems/nbd-client-kmod/files/gnbd.in new file mode 100644 index 000000000000..94d021b26b05 --- /dev/null +++ b/filesystems/nbd-client-kmod/files/gnbd.in @@ -0,0 +1,3 @@ +#!/bin/sh + +exec env GEOM_LIBRARY_PATH="%%LOCALBASE%%/lib/geom" /sbin/geom nbd "$@" diff --git a/filesystems/nbd-client-kmod/files/patch-lib_Makefile b/filesystems/nbd-client-kmod/files/patch-lib_Makefile new file mode 100644 index 000000000000..72ec380c46c4 --- /dev/null +++ b/filesystems/nbd-client-kmod/files/patch-lib_Makefile @@ -0,0 +1,12 @@ +--- lib/Makefile.orig 2025-10-14 17:24:26 UTC ++++ lib/Makefile +@@ -21,9 +21,6 @@ LDADD+= -lssl -lcrypto + LDADD+= -lssl -lcrypto + #.endif + +-# Not needed when in tree +-LINKS= /sbin/geom /sbin/gnbd +- + .PATH: ${SRCTOP}/sbin/geom/misc + + .include diff --git a/filesystems/nbd-client-kmod/pkg-descr b/filesystems/nbd-client-kmod/pkg-descr new file mode 100644 index 000000000000..199e3750eea1 --- /dev/null +++ b/filesystems/nbd-client-kmod/pkg-descr @@ -0,0 +1,5 @@ +FreeBSD Geom NBD Client is a Network Block Device (NBD) client for +the FreeBSD kernel GEOM framework. + +The project consists of a kernel driver for the NBD GEOM class in +mod/ and a user library for the geom(8) control utility in lib/. diff --git a/filesystems/nbd-client-kmod/pkg-plist b/filesystems/nbd-client-kmod/pkg-plist new file mode 100644 index 000000000000..6467c9b1e620 --- /dev/null +++ b/filesystems/nbd-client-kmod/pkg-plist @@ -0,0 +1,5 @@ +/%%KMODDIR%%/geom_nbd.ko +lib/geom/geom_nbd.so +share/man/man8/gnbd.8.gz +sbin/gnbd +@sample etc/devd/nbd-client.conf.sample