pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

fuse-smbnetfs: tested with a real SMB2/3 share; MESSAGE -> README.pkgsrc; update distinfo



Module Name:	pkgsrc-wip
Committed By:	ci4ic4 <ci4ic4%gmail.com@localhost>
Pushed By:	ci4ic4
Date:		Fri Oct 9 16:34:12 2026 +0100
Changeset:	8319e7ac6cb2b568b7e18013e042dcc2d98d1714

Modified Files:
	fuse-smbnetfs/Makefile
	fuse-smbnetfs/PLIST
	fuse-smbnetfs/TODO
	fuse-smbnetfs/distinfo
Added Files:
	fuse-smbnetfs/files/README.pkgsrc
Removed Files:
	fuse-smbnetfs/MESSAGE

Log Message:
fuse-smbnetfs: tested with a real SMB2/3 share; MESSAGE -> README.pkgsrc; update distinfo

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=8319e7ac6cb2b568b7e18013e042dcc2d98d1714

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 fuse-smbnetfs/MESSAGE             | 20 ---------------
 fuse-smbnetfs/Makefile            | 11 ++++++++
 fuse-smbnetfs/PLIST               |  1 +
 fuse-smbnetfs/TODO                | 16 ++++++++++--
 fuse-smbnetfs/distinfo            |  2 +-
 fuse-smbnetfs/files/README.pkgsrc | 54 +++++++++++++++++++++++++++++++++++++++
 6 files changed, 81 insertions(+), 23 deletions(-)

diffs:
diff --git a/fuse-smbnetfs/MESSAGE b/fuse-smbnetfs/MESSAGE
deleted file mode 100644
index c7476b68f5..0000000000
--- a/fuse-smbnetfs/MESSAGE
+++ /dev/null
@@ -1,20 +0,0 @@
-===========================================================================
-$NetBSD$
-
-Before using smbnetfs, make a ~/.smb directory and copy the files it wants:
-
-$ mkdir ~/.smb
-$ cp ${PKG_SYSCONFDIR}/samba/smb.conf ~/.smb/smb.conf
-$ cp ${PREFIX}/share/examples/smbnetfs/smbnetfs.conf ~/.smb/smbnetfs.conf
-
-On NetBSD, make sure userspace mounting is enabled:
-
-# sysctl -w security.models.extensions.usermount=1
-
-After running smbnetfs with a mount point it will expose configured
-Samba shares:
-
-$ mkdir /mountpoint
-$ smbnetfs /mountpoint
-
-===========================================================================
diff --git a/fuse-smbnetfs/Makefile b/fuse-smbnetfs/Makefile
index 700168cd4c..247579d372 100644
--- a/fuse-smbnetfs/Makefile
+++ b/fuse-smbnetfs/Makefile
@@ -28,8 +28,17 @@ SUBST_SED.paths=	-e 's,/etc,${PKG_SYSCONFDIR},g'
 INSTALLATION_DIRS+=	${PKGMANDIR}/man1
 INSTALLATION_DIRS+=	share/examples/smbnetfs
 
+SUBST_CLASSES+=		readme
+SUBST_STAGE.readme=	pre-configure
+SUBST_MESSAGE.readme=	Filling in paths in README.pkgsrc.
+SUBST_FILES.readme=	README.pkgsrc
+SUBST_VARS.readme=	PREFIX PKG_SYSCONFDIR
+
 .include "../../mk/bsd.prefs.mk"
 
+post-extract:
+	${CP} ${FILESDIR}/README.pkgsrc ${WRKSRC}/README.pkgsrc
+
 # XXX: hack should probably be moved to fuse.buildlink3.mk
 pre-configure:
 .if ${OPSYS} == "NetBSD"
@@ -42,6 +51,8 @@ post-install:
 	    ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
 	${MV} ${DESTDIR}${PREFIX}/share/doc/${PKGNAME_NOREV:S/fuse-//g}/smbnetfs.conf \
 	    ${DESTDIR}${PREFIX}/share/examples/smbnetfs/smbnetfs.conf
+	${INSTALL_DATA} ${WRKSRC}/README.pkgsrc \
+	    ${DESTDIR}${PREFIX}/share/doc/${PKGNAME_NOREV:S/fuse-//g}/README.pkgsrc
 
 .include "../../devel/glib2/buildlink3.mk"
 .include "../../net/samba4/buildlink3.mk"
diff --git a/fuse-smbnetfs/PLIST b/fuse-smbnetfs/PLIST
index 4eaa820187..b8964ff0ee 100644
--- a/fuse-smbnetfs/PLIST
+++ b/fuse-smbnetfs/PLIST
@@ -3,5 +3,6 @@ bin/smbnetfs
 man/man1/smbnetfs.1
 share/doc/smbnetfs-${PKGVERSION}/ENGLISH.FAQ
 share/doc/smbnetfs-${PKGVERSION}/INSTALL
+share/doc/smbnetfs-${PKGVERSION}/README.pkgsrc
 share/doc/smbnetfs-${PKGVERSION}/RUSSIAN.FAQ
 share/examples/smbnetfs/smbnetfs.conf
diff --git a/fuse-smbnetfs/TODO b/fuse-smbnetfs/TODO
index ce997c7a7c..09ec219336 100644
--- a/fuse-smbnetfs/TODO
+++ b/fuse-smbnetfs/TODO
@@ -1,2 +1,14 @@
-Needs testing with an actual samba share, and better documentation
-in MESSAGE since upstream's documentation is pretty bad.
+Tested 2026-10-09 on NetBSD-current 11.99.9/amd64 with samba-4.24.7:
+- An authenticated SMB2/3 share on a QNAP NAS: list, read, create and
+  write all work.
+- A guest share on a local smbd: list, read, create and mkdir work.
+  Writing data fails with EACCES, and smbclient(1) is denied the same
+  way, so this is the server's guest permissions, not smbnetfs.
+
+Open:
+- umount(8) of a live mount hangs in "puffsrpl" waiting for the daemon,
+  and concurrent mount(8) calls then block in "fstchg".  Killing the
+  daemon with SIGKILL releases the mount.  Find out whether refuse/puffs
+  or smbnetfs fails to handle the unmount request.
+- df(1) reports 0 blocks unless -o free_space_size=N is given.
+- Not yet tested on netbsd-10 or on other architectures.
diff --git a/fuse-smbnetfs/distinfo b/fuse-smbnetfs/distinfo
index 090fdd7d83..b08cce35f4 100644
--- a/fuse-smbnetfs/distinfo
+++ b/fuse-smbnetfs/distinfo
@@ -1,5 +1,5 @@
 $NetBSD$
 
-RMD160 (smbnetfs-0.6.3.tar.bz2) = 9f6af4660f37b5a6f21913ac2ff4222853d5a980
+BLAKE2s (smbnetfs-0.6.3.tar.bz2) = 4fe08f2a660b05521b5ad0dbfdb513f84b1cd7ee6d49ecd044e1c37929fa9a32
 SHA512 (smbnetfs-0.6.3.tar.bz2) = 19b1ec6a9cc9722e5e80c26ff4bd8b62dcdf7f3bb71a3c7b2a0b2b32af6902fd3fb95c27188a51b2a1f0df20fadad799ca685db28daba101f1e3b2c03ee295cc
 Size (smbnetfs-0.6.3.tar.bz2) = 187460 bytes
diff --git a/fuse-smbnetfs/files/README.pkgsrc b/fuse-smbnetfs/files/README.pkgsrc
new file mode 100644
index 0000000000..7ff213a407
--- /dev/null
+++ b/fuse-smbnetfs/files/README.pkgsrc
@@ -0,0 +1,54 @@
+Using smbnetfs from pkgsrc
+==========================
+
+There is no kernel SMB client on NetBSD (mount_smbfs(8) was removed in
+2020).  smbnetfs mounts SMB shares through FUSE, using NetBSD's native
+refuse(3)/puffs(4) layer.
+
+Configuration
+-------------
+
+smbnetfs reads its configuration from ~/.smb:
+
+  $ mkdir ~/.smb
+  $ cp @PKG_SYSCONFDIR@/samba/smb.conf ~/.smb/smb.conf
+  $ cp @PREFIX@/share/examples/smbnetfs/smbnetfs.conf ~/.smb/smbnetfs.conf
+
+Current Samba disables SMB1, so the network cannot be browsed.  Declare
+each server in ~/.smb/smbnetfs.conf:
+
+  host fileserver.example.org visible=true
+
+Put the credentials in ~/.smb/smbnetfs.auth, which smbnetfs.conf
+includes.  Use one line per share, or omit "/share" to use the same
+login for every share on that host:
+
+  auth "fileserver.example.org/share" "user" "password"
+
+smbnetfs ignores host and auth lines unless the config files are
+private:
+
+  $ chmod 600 ~/.smb/smbnetfs.conf ~/.smb/smbnetfs.auth
+
+Mounting
+--------
+
+To mount as an ordinary user, enable user mounts:
+
+  # sysctl -w security.models.extensions.usermount=1
+
+The shares appear as <mountpoint>/<host>/<share>:
+
+  $ smbnetfs /mountpoint
+  $ ls /mountpoint/fileserver.example.org/share
+
+To debug, add "-o log_file=/tmp/smbnetfs.log,smbnetfs_debug=2".
+df(1) shows 0 blocks unless "-o free_space_size=N" is given.
+
+Unmounting
+----------
+
+A plain umount(8) can hang waiting for the smbnetfs daemon, and other
+mount(8) calls then block as well.  Stop the daemon first:
+
+  $ pkill -9 -f 'smbnetfs /mountpoint'; umount /mountpoint


Home | Main Index | Thread Index | Old Index