summaryrefslogtreecommitdiff
path: root/filesystems/afuse
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2024-09-27 12:48:46 +0200
committerRobert Clausecker <fuz@FreeBSD.org>2024-11-06 16:17:35 +0100
commit6e2da9672f79f44048d597f0f61e4646cdeade9d (patch)
treec92e4b3158e3419e8cec38e00227d08dcdaab3e9 /filesystems/afuse
parentmath/sdpa: speed up build (diff)
filesystems: add new category for file systems and related utilities
The filesystems category houses file systems and file system utilities. It is added mainly to turn the sysutils/fusefs-* pseudo-category into a proper one, but is also useful for the sundry of other file systems related ports found in the tree. Ports that seem like they belong there are moved to the new category. Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are not moved as they currently don't fetch and don't have TIMESTAMP set in their distinfo, but that is required to be able to push a rename of the port by the pre-receive hook. Approved by: portmgr (rene) Reviewed by: mat Pull Request: https://github.com/freebsd/freebsd-ports/pull/302 PR: 281988
Diffstat (limited to 'filesystems/afuse')
-rw-r--r--filesystems/afuse/Makefile30
-rw-r--r--filesystems/afuse/distinfo3
-rw-r--r--filesystems/afuse/files/afuse.195
-rw-r--r--filesystems/afuse/files/patch-src_afuse.c11
-rw-r--r--filesystems/afuse/files/pkg-message.in8
-rw-r--r--filesystems/afuse/pkg-descr16
-rw-r--r--filesystems/afuse/pkg-plist3
7 files changed, 166 insertions, 0 deletions
diff --git a/filesystems/afuse/Makefile b/filesystems/afuse/Makefile
new file mode 100644
index 000000000000..808794a7224b
--- /dev/null
+++ b/filesystems/afuse/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= afuse
+PORTVERSION= 0.4.1
+PORTREVISION= 2
+CATEGORIES= filesystems
+MASTER_SITES= https://BSDforge.com/projects/source/sysutils/afuse/
+PKGNAMEPREFIX= fusefs-
+
+MAINTAINER= portmaster@BSDforge.com
+COMMENT= File system automounting implemented in user-space using FUSE
+WWW= https://github.com/pcarrier/afuse
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USES= cpe fuse pkgconfig
+GNU_CONFIGURE= yes
+
+PORTDOCS= AUTHORS README
+
+OPTIONS_DEFINE= DOCS
+DOCS_SUB_FILES= pkg-message
+
+post-install:
+ ${INSTALL_MAN} ${FILESDIR}/afuse.1 ${STAGEDIR}${PREFIX}/share/man/man1
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/filesystems/afuse/distinfo b/filesystems/afuse/distinfo
new file mode 100644
index 000000000000..3dca6b32c27b
--- /dev/null
+++ b/filesystems/afuse/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1730905207
+SHA256 (afuse-0.4.1.tar.gz) = c6e0555a65d42d3782e0734198bbebd22486386e29cb00047bc43c3eb726dca8
+SIZE (afuse-0.4.1.tar.gz) = 121957
diff --git a/filesystems/afuse/files/afuse.1 b/filesystems/afuse/files/afuse.1
new file mode 100644
index 000000000000..f6212f74aa3f
--- /dev/null
+++ b/filesystems/afuse/files/afuse.1
@@ -0,0 +1,95 @@
+.TH AFUSE 1 "October 12, 2006"
+.SH NAME
+AFUSE \- automounting file system implemented in user-space using FUSE
+.SH DESCRIPTION
+usage: afuse mountpoint [options]
+.SS "general options:"
+.TP
+\fB\-o\fR opt,[opt...]
+mount options
+.TP
+\fB\-h\fR \fB\-\-help\fR
+print help
+.TP
+\fB\-V\fR \fB\-\-version\fR
+print FUSE version information
+.SS "AFUSE options:"
+.TP
+\fB\-o\fR \fB\ mount_template=CMD\fR
+template for CMD to execute to mount (*)
+.TP
+\fB\-o\fR \fB\ unmount_template=CMD\fR
+template for CMD to execute to unmount (*) (**)
+.TP
+(*) - When executed, %r and %m are expanded in templates to the root
+directory name for the new mount point, and the actual directory to
+mount onto respectively to mount onto. Both templates are REQUIRED.
+.TP
+(**)- The unmount command must perform a lazy unmount operation. E.g. the
+\-u \-z options to fusermount, or \-l for regular mount.
+.SS "FUSE options:"
+.TP
+\fB\-d\fR \fB\-o\fR debug
+enable debug output (implies \fB\-f\fR)
+.TP
+\fB\-f\fR
+foreground operation
+.TP
+\fB\-s\fR
+disable multi\-threaded operation
+.TP
+\fB\-o\fR allow_other
+allow access to other users
+.TP
+\fB\-o\fR allow_root
+allow access to root
+.TP
+\fB\-o\fR nonempty
+allow mounts over non\-empty file/dir
+.HP
+\fB\-o\fR default_permissions enable permission checking by kernel
+.TP
+\fB\-o\fR fsname=NAME
+set filesystem name
+.TP
+\fB\-o\fR large_read
+issue large read requests (2.4 only)
+.TP
+\fB\-o\fR max_read=N
+set maximum size of read requests
+.TP
+\fB\-o\fR hard_remove
+immediate removal (don't hide files)
+.TP
+\fB\-o\fR use_ino
+let filesystem set inode numbers
+.TP
+\fB\-o\fR readdir_ino
+try to fill in d_ino in readdir
+.TP
+\fB\-o\fR direct_io
+use direct I/O
+.TP
+\fB\-o\fR kernel_cache
+cache files in kernel
+.TP
+\fB\-o\fR umask=M
+set file permissions (octal)
+.TP
+\fB\-o\fR uid=N
+set file owner
+.TP
+\fB\-o\fR gid=N
+set file group
+.TP
+\fB\-o\fR entry_timeout=T
+cache timeout for names (1.0s)
+.TP
+\fB\-o\fR negative_timeout=T
+cache timeout for deleted names (0.0s)
+.TP
+\fB\-o\fR attr_timeout=T
+cache timeout for attributes (1.0s)
+.SH AUTHOR
+This manual page was written by Varun Hiremath <varunhiremath@gmail.com>,
+for the Debian project (but may be used by others).
diff --git a/filesystems/afuse/files/patch-src_afuse.c b/filesystems/afuse/files/patch-src_afuse.c
new file mode 100644
index 000000000000..31a49171dcfc
--- /dev/null
+++ b/filesystems/afuse/files/patch-src_afuse.c
@@ -0,0 +1,11 @@
+--- src/afuse.c.orig 2013-02-13 02:36:47 UTC
++++ src/afuse.c
+@@ -29,7 +29,7 @@
+ #include <string.h>
+ #include <stddef.h>
+ #include <unistd.h>
+-#include <alloca.h>
++//#include <alloca.h>
+ #include <fcntl.h>
+ #include <dirent.h>
+ #include <errno.h>
diff --git a/filesystems/afuse/files/pkg-message.in b/filesystems/afuse/files/pkg-message.in
new file mode 100644
index 000000000000..bf89bc245d9b
--- /dev/null
+++ b/filesystems/afuse/files/pkg-message.in
@@ -0,0 +1,8 @@
+[
+{ type: install
+ message: <<EOM
+Additional info about program usage can be found at
+%%DOCSDIR%%/README.
+EOM
+}
+]
diff --git a/filesystems/afuse/pkg-descr b/filesystems/afuse/pkg-descr
new file mode 100644
index 000000000000..7372b291f353
--- /dev/null
+++ b/filesystems/afuse/pkg-descr
@@ -0,0 +1,16 @@
+Afuse is an automounting file system implemented in user-space
+using FUSE. Afuse currently implements the most basic
+functionality that can be expected by an automounter; that is it
+manages a directory of virtual directories. If one of these virtual
+directories is accessed and is not already automounted, afuse will
+attempt to mount a filesystem onto that directory. If the mount
+succeeds the requested access proceeds as normal, otherwise it will
+fail with an error.
+
+The advantage of using afuse over traditional automounters is that
+afuse is designed to run entirely in user-space by individual users.
+This way an automounting action can take advantage of the invoking
+users environment, for example allowing access to an ssh-agent for
+password-less sshfs mounts, or allowing access to a graphical
+environment to get user input to complete a mount (i.e. popping up
+a window asking for a password).
diff --git a/filesystems/afuse/pkg-plist b/filesystems/afuse/pkg-plist
new file mode 100644
index 000000000000..ca1d3709154f
--- /dev/null
+++ b/filesystems/afuse/pkg-plist
@@ -0,0 +1,3 @@
+bin/afuse
+@comment bin/afuse-avahissh
+share/man/man1/afuse.1.gz