diff options
author | pav <pav@FreeBSD.org> | 2006-01-19 03:48:56 +0800 |
---|---|---|
committer | pav <pav@FreeBSD.org> | 2006-01-19 03:48:56 +0800 |
commit | ad961ed303bc987e1d42fb2c22db146f425e043a (patch) | |
tree | d4bae0f56a9fc2c6f359c523ab048ff3f7bc01b1 | |
parent | 37f011a93a9ae811b3e3cf398eebf152b2589194 (diff) | |
download | freebsd-ports-gnome-ad961ed303bc987e1d42fb2c22db146f425e043a.tar.gz freebsd-ports-gnome-ad961ed303bc987e1d42fb2c22db146f425e043a.tar.zst freebsd-ports-gnome-ad961ed303bc987e1d42fb2c22db146f425e043a.zip |
- Update fusefs-kmod to 0.2.99.1, fusefs-libs to 2.5.0, fusefs-sshfs to 1.4
PR: ports/91873
Submitted by: Anish Mistry <amistry@am-productions.biz> (maintainer)
24 files changed, 97 insertions, 685 deletions
diff --git a/sysutils/fusefs-kmod/Makefile b/sysutils/fusefs-kmod/Makefile index bdf406eb167f..43cb45b9c641 100644 --- a/sysutils/fusefs-kmod/Makefile +++ b/sysutils/fusefs-kmod/Makefile @@ -6,21 +6,22 @@ # PORTNAME= fusefs -PORTVERSION= 0.2.19.6 +PORTVERSION= 0.2.99.1 CATEGORIES= sysutils MASTER_SITES= http://fuse4bsd.creo.hu/downloads/ \ http://am-productions.biz/docs/ PKGNAMESUFFIX= -kmod -DISTNAME= fuse4bsd-0.2.20pre6 -EXTRACT_SUFX= .tar.bz2 +DISTNAME= fuse4bsd-0.3.0-pre1 MAINTAINER= amistry@am-productions.biz COMMENT= Kernel module for fuse BUILD_DEPENDS= ${LOCALBASE}/include/fuse/fuse_kernel.h:${PORTSDIR}/sysutils/fusefs-libs +CONFLICTS= fusefs-libs-2.4* + OPTIONS= AUTOSETUP "Automatic global config file setup" off -MAKE_ENV+= BINDIR=${PREFIX}/sbin MANDIR=${PREFIX}/man/man +MAKE_ENV+= BINDIR="${PREFIX}/sbin" MANDIR="${PREFIX}/man/man" MAN8= mount_fusefs.8 KMODDIR= ${PREFIX}/modules MAKE_ARGS= KMODDIR=${KMODDIR} @@ -28,13 +29,25 @@ SRC_BASE?= /usr/src STARTUP= fuse.sh SETUP= setup.sh MODULE_PATH= `sysctl -n kern.module_path`;${KMODDIR} +TXT_DOCS= doc.txt +HTML_DOCS= Faq.html \ + Implementation.html \ + Quickstart.html \ + article.css \ + deplate-mini.png \ + deplate.css \ + doc.html \ + heading-navbar.css \ + home-grey.png \ + mailto.png \ + next-grey.png \ + prev-grey.png \ + remote.png \ + serif.css \ + tabbar-right.css .include <bsd.port.pre.mk> -.if ( ${OSVERSION} >= 600000 && ${OSVERSION} < 600034 ) || ( ${OSVERSION} >= 700000 && ${OSVERSION} < 700002 ) -MAKE_ARGS+= -DUSE_OLD_CLONEHANDLER_API -.endif - .if ${OSVERSION} < 600000 IGNORE= requires FreeBSD 6 or above. Please consider porting it to 5.x or even 4.x .endif @@ -43,6 +56,9 @@ IGNORE= requires FreeBSD 6 or above. Please consider porting it to 5.x or even IGNORE= requires the Kernel source to be installed. Set SRC_BASE if it is not in /usr/src .endif +post-configure: + ${CP} ${LOCALBASE}/include/fuse/fuse_kernel.h ${WRKSRC}/fuse_module + pre-install: ${MKDIR} ${KMODDIR} @@ -59,4 +75,14 @@ post-install: -e "s|%%MODULE_PATH%%|${MODULE_PATH}|g" ${PKGMESSAGE} .endif +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR}/kmod/html +.for i in ${TXT_DOCS} + @${INSTALL_DATA} ${WRKSRC}/doc/plaintext_out/$i ${DOCSDIR}/kmod +.endfor +.for i in ${HTML_DOCS} + @${INSTALL_DATA} ${WRKSRC}/doc/html_chunked_out/$i ${DOCSDIR}/kmod/html +.endfor +.endif + .include <bsd.port.post.mk> diff --git a/sysutils/fusefs-kmod/distinfo b/sysutils/fusefs-kmod/distinfo index 829b020af345..fb5b587c5026 100644 --- a/sysutils/fusefs-kmod/distinfo +++ b/sysutils/fusefs-kmod/distinfo @@ -1,2 +1,3 @@ -MD5 (fuse4bsd-0.2.20pre6.tar.bz2) = e2c48e940b1fdcb669add847e42011c0 -SIZE (fuse4bsd-0.2.20pre6.tar.bz2) = 71336 +MD5 (fuse4bsd-0.3.0-pre1.tar.gz) = 9ac79caade41a0c0579f8247f89bac54 +SHA256 (fuse4bsd-0.3.0-pre1.tar.gz) = 1dbfa704787fbd60b6d880cb75af8d79c4c8d1e4cac16895da417814f1885790 +SIZE (fuse4bsd-0.3.0-pre1.tar.gz) = 165743 diff --git a/sysutils/fusefs-kmod/files/patch-fuse_module_Makefile b/sysutils/fusefs-kmod/files/patch-fuse_module_Makefile deleted file mode 100644 index d467cfe48593..000000000000 --- a/sysutils/fusefs-kmod/files/patch-fuse_module_Makefile +++ /dev/null @@ -1,18 +0,0 @@ ---- fuse_module/Makefile.orig Sun Oct 16 09:01:26 2005 -+++ fuse_module/Makefile Tue Oct 18 11:58:20 2005 -@@ -35,12 +35,11 @@ - - fuse.ko: fuse_kernel.h vnode_if.h vnode_if_typedef.h vnode_if_newproto.h - --fuse_kernel.h: fuse_kernel.h.orig -- cp fuse_kernel.h.orig fuse_kernel.h -- patch fuse_kernel.h < kernel-header.diff -+fuse_kernel.h: -+ cp ${LOCALBASE}/include/fuse/fuse_kernel.h fuse_kernel.h - - fuse_opnames.c: -- awk -f ../tools/genopnames.awk fuse_kernel.h.orig > fuse_opnames.c -+ awk -f ../tools/genopnames.awk fuse_kernel.h > fuse_opnames.c - - vnode_if.h: - awk -f /sys/tools/vnode_if.awk /sys/kern/vnode_if.src -h diff --git a/sysutils/fusefs-kmod/pkg-message b/sysutils/fusefs-kmod/pkg-message index 6a58112a016e..6f78bfaa0c6d 100644 --- a/sysutils/fusefs-kmod/pkg-message +++ b/sysutils/fusefs-kmod/pkg-message @@ -7,4 +7,5 @@ set the following settings: - Add fusefs_enable="YES" to your /etc/rc.conf %%PREFIX%%/etc/rc.d/fuse.sh start will load the module for the first time -after the installation. +after the installation. Set "sysctl vfs.usermount=1" if you want to be able +to mount fuse devices as an ordinary user. diff --git a/sysutils/fusefs-kmod/pkg-plist b/sysutils/fusefs-kmod/pkg-plist index 90921a7379b7..dfdf9aaf7b16 100644 --- a/sysutils/fusefs-kmod/pkg-plist +++ b/sysutils/fusefs-kmod/pkg-plist @@ -1,6 +1,24 @@ etc/rc.d/fuse.sh modules/fuse.ko sbin/mount_fusefs -sbin/mount_fusefs_safe @unexec kldxref %D/modules @unexec rmdir %D/modules 2>/dev/null || true +%%PORTDOCS%%%%DOCSDIR%%/kmod/doc.txt +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/Faq.html +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/Implementation.html +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/Quickstart.html +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/article.css +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/deplate-mini.png +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/deplate.css +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/doc.html +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/heading-navbar.css +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/home-grey.png +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/mailto.png +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/next-grey.png +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/prev-grey.png +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/remote.png +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/serif.css +%%PORTDOCS%%%%DOCSDIR%%/kmod/html/tabbar-right.css +%%PORTDOCS%%@dirrm %%DOCSDIR%%/kmod/html +%%PORTDOCS%%@dirrm %%DOCSDIR%%/kmod +@unexec rmdir %D/%%DOCSDIR%% 2>/dev/null || true diff --git a/sysutils/fusefs-libs/Makefile b/sysutils/fusefs-libs/Makefile index 2e3d1cda5f9c..291f3ba7b0ec 100644 --- a/sysutils/fusefs-libs/Makefile +++ b/sysutils/fusefs-libs/Makefile @@ -5,7 +5,7 @@ # PORTNAME= fusefs -PORTVERSION= 2.4.1 +PORTVERSION= 2.5.0 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= fuse @@ -17,12 +17,14 @@ COMMENT= FUSE allows filesystem implementation in userspace USE_AUTOTOOLS= libtool:15 CONFIGURE_ENV= MOUNT_FUSE_PATH=${PREFIX}/sbin \ - PKG_CONFIG_PATH=${PREFIX}/libdata/pkgconfig \ CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" GNU_CONFIGURE= yes INSTALLS_SHLIB= yes -CONFIGURE_ARGS= --disable-kernel-module --prefix=${PREFIX} +CONFIGURE_ARGS= --disable-kernel-module --prefix=${PREFIX} \ + --with-pkgconfigdir=${PREFIX}/libdata/pkgconfig USE_REINPLACE= yes +TXT_DOCS= how-fuse-works \ + kernel.txt .include <bsd.port.pre.mk> @@ -41,4 +43,11 @@ post-patch: post-install: ${INSTALL_DATA} ${WRKSRC}/include/fuse_kernel.h ${PREFIX}/include/fuse +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR}/libs +.for i in ${TXT_DOCS} + @${INSTALL_DATA} ${WRKSRC}/doc/$i ${DOCSDIR}/libs +.endfor +.endif + .include <bsd.port.post.mk> diff --git a/sysutils/fusefs-libs/distinfo b/sysutils/fusefs-libs/distinfo index de00b988be38..12befcf10544 100644 --- a/sysutils/fusefs-libs/distinfo +++ b/sysutils/fusefs-libs/distinfo @@ -1,2 +1,3 @@ -MD5 (fuse-2.4.1.tar.gz) = 553bd9c5a4f3cd27f3e2b93844711e4c -SIZE (fuse-2.4.1.tar.gz) = 384631 +MD5 (fuse-2.5.0.tar.gz) = 9d20ae16211475d81c7c5235867e085f +SHA256 (fuse-2.5.0.tar.gz) = 6d2a38a02e0ec740a339be7efe656341a81e5426aed612bf3fb1ea0da5c49b5d +SIZE (fuse-2.5.0.tar.gz) = 408472 diff --git a/sysutils/fusefs-libs/files/patch-Makefile.in b/sysutils/fusefs-libs/files/patch-Makefile.in deleted file mode 100644 index c3fe2bb971f9..000000000000 --- a/sysutils/fusefs-libs/files/patch-Makefile.in +++ /dev/null @@ -1,11 +0,0 @@ ---- Makefile.in.orig Mon Oct 3 16:43:22 2005 -+++ Makefile.in Sun Oct 9 22:05:09 2005 -@@ -184,7 +184,7 @@ - doc/how-fuse-works \ - doc/kernel.txt - --pkgconfigdir = $(libdir)/pkgconfig -+pkgconfigdir = $(prefix)/libdata/pkgconfig - pkgconfig_DATA = fuse.pc - all: all-recursive - diff --git a/sysutils/fusefs-libs/files/patch-example_fusexmp.c b/sysutils/fusefs-libs/files/patch-example_fusexmp.c deleted file mode 100644 index 85d2e1ab924e..000000000000 --- a/sysutils/fusefs-libs/files/patch-example_fusexmp.c +++ /dev/null @@ -1,36 +0,0 @@ ---- example/fusexmp.c.orig Tue Sep 13 21:26:12 2005 -+++ example/fusexmp.c Sun Oct 9 22:05:09 2005 -@@ -20,7 +20,12 @@ - #include <fcntl.h> - #include <dirent.h> - #include <errno.h> -+#ifdef __FreeBSD__ -+#include <sys/param.h> -+#include <sys/mount.h> -+#else - #include <sys/statfs.h> -+#endif - #ifdef HAVE_SETXATTR - #include <sys/xattr.h> - #endif -@@ -79,7 +84,20 @@ - { - int res; - -+#ifndef __FreeBSD__ - res = mknod(path, mode, rdev); -+#else -+ if (rdev) -+ res = mknod(path, mode, rdev); -+ else if (mode & S_IFIFO) -+ res = mkfifo(path, mode); -+ else { -+ res = open(path, O_CREAT | O_TRUNC | O_WRONLY, mode); -+ if (res >= 0) -+ res = close(res); -+ } -+#endif -+ - if(res == -1) - return -errno; - diff --git a/sysutils/fusefs-libs/files/patch-example_fusexmp_fh.c b/sysutils/fusefs-libs/files/patch-example_fusexmp_fh.c deleted file mode 100644 index 19408c3ced87..000000000000 --- a/sysutils/fusefs-libs/files/patch-example_fusexmp_fh.c +++ /dev/null @@ -1,62 +0,0 @@ ---- example/fusexmp_fh.c.orig Tue Sep 13 21:26:12 2005 -+++ example/fusexmp_fh.c Sun Oct 9 22:05:09 2005 -@@ -17,7 +17,12 @@ - #include <fcntl.h> - #include <dirent.h> - #include <errno.h> -+#ifdef __FreeBSD__ -+#include <sys/param.h> -+#include <sys/mount.h> -+#else - #include <sys/statfs.h> -+#endif - #ifdef HAVE_SETXATTR - #include <sys/xattr.h> - #endif -@@ -68,7 +73,11 @@ - memset(&st, 0, sizeof(st)); - st.st_ino = de->d_ino; - st.st_mode = de->d_type << 12; -+#ifdef __FreeBSD__ -+ if (filler(buf, de->d_name, &st, telldir(dp))) -+#else - if (filler(buf, de->d_name, &st, de->d_off)) -+#endif - break; - } - -@@ -87,7 +96,20 @@ - { - int res; - -+#ifndef __FreeBSD__ - res = mknod(path, mode, rdev); -+#else -+ if (rdev) -+ res = mknod(path, mode, rdev); -+ else if (mode & S_IFIFO) -+ res = mkfifo(path, mode); -+ else { -+ res = open(path, O_CREAT | O_TRUNC | O_WRONLY, mode); -+ if (res >= 0) -+ res = close(res); -+ } -+#endif -+ - if(res == -1) - return -errno; - -@@ -268,9 +290,13 @@ - int res; - (void) path; - -+#ifdef __FreeBSD__ -+ (void) isdatasync; -+#else - if (isdatasync) - res = fdatasync(fi->fh); - else -+#endif - res = fsync(fi->fh); - if(res == -1) - return -errno; diff --git a/sysutils/fusefs-libs/files/patch-include_fuse.h b/sysutils/fusefs-libs/files/patch-include_fuse.h deleted file mode 100644 index dce43cd5177c..000000000000 --- a/sysutils/fusefs-libs/files/patch-include_fuse.h +++ /dev/null @@ -1,15 +0,0 @@ ---- include/fuse.h.orig Mon Oct 3 16:12:50 2005 -+++ include/fuse.h Sun Oct 9 22:05:09 2005 -@@ -20,7 +20,12 @@ - - #include <sys/types.h> - #include <sys/stat.h> -+#ifdef __FreeBSD__ -+#include <sys/param.h> -+#include <sys/mount.h> -+#else - #include <sys/statfs.h> -+#endif - #include <utime.h> - - #ifdef __cplusplus diff --git a/sysutils/fusefs-libs/files/patch-include_fuse_kernel.h b/sysutils/fusefs-libs/files/patch-include_fuse_kernel.h deleted file mode 100644 index 253c95706f15..000000000000 --- a/sysutils/fusefs-libs/files/patch-include_fuse_kernel.h +++ /dev/null @@ -1,14 +0,0 @@ ---- include/fuse_kernel.h.orig Mon Oct 3 17:02:36 2005 -+++ include/fuse_kernel.h Sun Oct 9 22:05:09 2005 -@@ -36,7 +36,11 @@ - - /* This file defines the kernel interface of FUSE */ - -+#ifdef __FreeBSD__ -+#include "linux_compat.h" -+#else - #include <asm/types.h> -+#endif - - /** Version number of this interface */ - #define FUSE_KERNEL_VERSION 7 diff --git a/sysutils/fusefs-libs/files/patch-include_fuse_lowlevel.h b/sysutils/fusefs-libs/files/patch-include_fuse_lowlevel.h deleted file mode 100644 index c3ebf607fda9..000000000000 --- a/sysutils/fusefs-libs/files/patch-include_fuse_lowlevel.h +++ /dev/null @@ -1,15 +0,0 @@ ---- include/fuse_lowlevel.h.orig Mon Oct 3 16:12:50 2005 -+++ include/fuse_lowlevel.h Sun Oct 9 22:05:09 2005 -@@ -18,7 +18,12 @@ - #include <utime.h> - #include <sys/types.h> - #include <sys/stat.h> -+#ifdef __FreeBSD__ -+#include <sys/param.h> -+#include <sys/mount.h> -+#else - #include <sys/statfs.h> -+#endif - #include <sys/uio.h> - - #ifdef __cplusplus diff --git a/sysutils/fusefs-libs/files/patch-include_linux_compat.h b/sysutils/fusefs-libs/files/patch-include_linux_compat.h deleted file mode 100644 index f08cc5eddcde..000000000000 --- a/sysutils/fusefs-libs/files/patch-include_linux_compat.h +++ /dev/null @@ -1,9 +0,0 @@ ---- include/linux_compat.h.orig Sun Oct 9 22:05:09 2005 -+++ include/linux_compat.h Sun Oct 9 22:05:09 2005 -@@ -0,0 +1,6 @@ -+#include <sys/types.h> /* XXX Or should it be sys/stdint.h ? */ -+ -+#define __u64 uint64_t -+#define __u32 uint32_t -+#define __s32 int32_t -+ diff --git a/sysutils/fusefs-libs/files/patch-lib_fuse.c b/sysutils/fusefs-libs/files/patch-lib_fuse.c deleted file mode 100644 index ffc7224fc47b..000000000000 --- a/sysutils/fusefs-libs/files/patch-lib_fuse.c +++ /dev/null @@ -1,52 +0,0 @@ ---- lib/fuse.c.orig Mon Oct 3 17:02:37 2005 -+++ lib/fuse.c Sun Oct 9 22:05:09 2005 -@@ -1414,7 +1414,12 @@ - - static int default_statfs(struct statfs *buf) - { -+#ifdef __FreeBSD__ -+ buf->f_namemax = 255; -+#else - buf->f_namelen = 255; -+#endif -+ - buf->f_bsize = 512; - return 0; - } -@@ -1428,7 +1433,11 @@ - stbuf->f_bavail = compatbuf->blocks_free; - stbuf->f_files = compatbuf->files; - stbuf->f_ffree = compatbuf->files_free; -+#ifdef __FreeBSD__ -+ stbuf->f_namemax = compatbuf->namelen; -+#else - stbuf->f_namelen = compatbuf->namelen; -+#endif - } - - static void fuse_statfs(fuse_req_t req) -@@ -1761,8 +1770,10 @@ - f->flags |= FUSE_HARD_REMOVE; - else if (strcmp(opt, "use_ino") == 0) - f->flags |= FUSE_USE_INO; -+#ifndef FreeBSD - else if (strcmp(opt, "readdir_ino") == 0) - f->flags |= FUSE_READDIR_INO; -+#endif - else if (strcmp(opt, "direct_io") == 0) - f->flags |= FUSE_DIRECT_IO; - else if (strcmp(opt, "kernel_cache") == 0) -@@ -1787,6 +1798,13 @@ - else - free(xopts); - } -+#ifdef __FreeBSD__ -+ /* -+ * In FreeBSD, we always use these settings as inode numbers are needed to -+ * make getcwd(3) work. -+ */ -+ f->flags |= FUSE_READDIR_INO; -+#endif - return 0; - } - diff --git a/sysutils/fusefs-libs/files/patch-lib_fuse_lowlevel.c b/sysutils/fusefs-libs/files/patch-lib_fuse_lowlevel.c deleted file mode 100644 index 361301bfba7a..000000000000 --- a/sysutils/fusefs-libs/files/patch-lib_fuse_lowlevel.c +++ /dev/null @@ -1,26 +0,0 @@ ---- lib/fuse_lowlevel.c.orig Mon Oct 3 17:15:05 2005 -+++ lib/fuse_lowlevel.c Sun Oct 9 22:05:09 2005 -@@ -194,7 +194,11 @@ - kstatfs->bavail = stbuf->f_bavail; - kstatfs->files = stbuf->f_files; - kstatfs->ffree = stbuf->f_ffree; -+#ifdef __FreeBSD__ -+ kstatfs->namelen = stbuf->f_namemax; -+#else - kstatfs->namelen = stbuf->f_namelen; -+#endif - } - - static int send_reply_ok(fuse_req_t req, const void *arg, size_t argsize) -@@ -690,7 +694,11 @@ - req->ch = ch; - - if (!f->got_init && in->opcode != FUSE_INIT) -+#ifdef EPROTO - fuse_reply_err(req, EPROTO); -+#else -+ fuse_reply_err(req, EPROTONOSUPPORT); -+#endif - else if (f->allow_root && in->uid != f->owner && in->uid != 0 && - in->opcode != FUSE_INIT && in->opcode != FUSE_READ && - in->opcode != FUSE_WRITE && in->opcode != FUSE_FSYNC && diff --git a/sysutils/fusefs-libs/files/patch-lib_helper.c b/sysutils/fusefs-libs/files/patch-lib_helper.c deleted file mode 100644 index d3485cd7c78e..000000000000 --- a/sysutils/fusefs-libs/files/patch-lib_helper.c +++ /dev/null @@ -1,62 +0,0 @@ ---- lib/helper.c.orig Mon Aug 15 16:03:59 2005 -+++ lib/helper.c Sun Oct 9 22:05:09 2005 -@@ -22,7 +22,11 @@ - { - if (progname) - fprintf(stderr, -+#ifdef __FreeBSD__ -+ "usage: %s [FUSE options]\n\n", progname); -+#else - "usage: %s mountpoint [FUSE options]\n\n", progname); -+#endif - - fprintf(stderr, - "FUSE options:\n" -@@ -45,11 +49,19 @@ - " debug enable debug output\n" - " fsname=NAME set filesystem name in mtab\n" - " use_ino let filesystem set inode numbers\n" -+#ifndef __FreeBSD__ - " readdir_ino try to fill in d_ino in readdir\n" -+#endif - " nonempty allow mounts over non-empty file/dir\n" - " umask=M set file permissions (octal)\n" - " uid=N set file owner\n" - " gid=N set file group\n" -+#ifdef __FreeBSD__ -+ "\n" -+ "(Note that the above description regards to Linux. Hence these\n" -+ "options might work differently or might not work at all.\n" -+ "For more information, see mount_fusefs(8).)\n" -+#endif - ); - } - -@@ -275,11 +287,13 @@ - } - } - -+#ifndef __FreeBSD__ - if (*mountpoint == NULL) { - fprintf(stderr, "missing mountpoint\n"); - fprintf(stderr, "see `%s -h' for usage\n", argv[0]); - goto err; - } -+#endif - return 0; - - err: -@@ -377,8 +391,13 @@ - fuse_instance = NULL; - - fuse_destroy(fuse); -+#ifndef __FreeBSD__ - close(fd); - fuse_unmount(mountpoint); -+#else -+ fuse_unmount(mountpoint); -+ close(fd); -+#endif - free(mountpoint); - } - diff --git a/sysutils/fusefs-libs/files/patch-lib_mount.c b/sysutils/fusefs-libs/files/patch-lib_mount.c deleted file mode 100644 index 4e9f8f653b4b..000000000000 --- a/sysutils/fusefs-libs/files/patch-lib_mount.c +++ /dev/null @@ -1,118 +0,0 @@ ---- lib/mount.c.orig Sun Oct 2 11:16:12 2005 -+++ lib/mount.c Sun Oct 9 22:05:09 2005 -@@ -21,7 +21,7 @@ - #define FUSERMOUNT_PROG "fusermount" - #define FUSE_COMMFD_ENV "_FUSE_COMMFD" - -- -+#ifndef __FreeBSD__ - /* return value: - * >= 0 => fd - * -1 => error -@@ -66,9 +66,11 @@ - } - return *(int*)CMSG_DATA(cmsg); - } -+#endif - - void fuse_unmount(const char *mountpoint) - { -+#ifndef __FreeBSD__ - const char *mountprog = FUSERMOUNT_PROG; - char umount_cmd[1024]; - -@@ -77,10 +79,53 @@ - - umount_cmd[sizeof(umount_cmd) - 1] = '\0'; - system(umount_cmd); -+#else -+ /* -+ * This is how we could do unmount-by-the-daemon in FreeBSD. -+ * Alas, by the time we get here, fuse_kern_chan_destroy -+ * has closed up the device, so this will fail. -+ * Maybe fuse_kern_chan_destroy should be castrated for FreeBSD? -+ * Well, let's stay on the safe side for now. -+ */ -+#if 0 -+ /* -+ * We keep on not wanting to rely on the mountpoint argument -+ * so let's just look up our device as in mount_fusefs(8)... -+ * we don't trust the environment here though. -+ */ -+ char dev[128]; -+ char *ssc, *umount_cmd; -+ FILE *sf; -+ int rv; -+ char *seekscript = -+ "/usr/bin/fstat /dev/fuse* |\n" -+ "/usr/bin/awk '{if ($3 == %d) print $10}' |\n" -+ "/usr/bin/sort |\n" -+ "/usr/bin/uniq |\n" -+ "/usr/bin/awk '{ i+=1; if(i > 1){ exit (1); }; printf; }; END{if (i==0) exit (1)}'"; -+ -+ asprintf(&ssc, seekscript, getpid()); -+ -+ errno = 0; -+ sf = popen(ssc, "r"); -+ if (! sf) -+ return; -+ -+ fgets(dev, sizeof(dev), sf); -+ rv = pclose(sf); -+ if (rv) -+ return; -+ -+ asprintf(&umount_cmd, "/sbin/umount %s", dev); -+ system(umount_cmd); -+#endif -+ (void)mountpoint; -+#endif - } - - int fuse_mount(const char *mountpoint, const char *opts) - { -+#ifndef __FreeBSD__ - const char *mountprog = FUSERMOUNT_PROG; - int fds[2], pid; - int res; -@@ -133,6 +178,40 @@ - waitpid(pid, NULL, 0); /* bury zombie */ - - return rv; -+#else -+ int fd; -+ char *dev; -+ -+ (void)mountpoint; -+ (void)opts; -+ -+ dev = getenv("FUSE_DEV_FD"); -+ -+ if (dev) { -+ errno = 0; -+ fd = strtol(dev, NULL, 10); -+ -+ if (errno) { -+ perror("bad value given in FUSE_DEV_FD"); -+ return -1; -+ } -+ -+ if (fd < 0) -+ return -1; -+ -+ return fd; -+ } -+ -+ dev = getenv("FUSE_DEV_NAME"); -+ -+ if (! dev) -+ dev = "/dev/fuse"; -+ -+ if ((fd = open(dev, O_RDWR)) < 0) -+ perror("failed to open fuse device"); -+ -+ return fd; -+#endif - } - - int fuse_mount_compat1(const char *mountpoint, const char *args[]) diff --git a/sysutils/fusefs-libs/files/patch-util_Makefile.in b/sysutils/fusefs-libs/files/patch-util_Makefile.in deleted file mode 100644 index 8522bdca3ab5..000000000000 --- a/sysutils/fusefs-libs/files/patch-util_Makefile.in +++ /dev/null @@ -1,68 +0,0 @@ ---- util/Makefile.in.orig Mon Oct 3 16:43:22 2005 -+++ util/Makefile.in Sun Oct 9 22:05:09 2005 -@@ -38,7 +38,7 @@ - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --bin_PROGRAMS = fusermount$(EXEEXT) -+bin_PROGRAMS = - subdir = util - DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -@@ -164,7 +164,7 @@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ - fusermount_SOURCES = fusermount.c --EXTRA_DIST = mount.fuse udev.rules -+EXTRA_DIST = - all: all-am - - .SUFFIXES: -@@ -361,10 +361,6 @@ - - installcheck: installcheck-am - install-strip: -- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -- `test -z '$(STRIP)' || \ -- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install - mostlyclean-generic: - - clean-generic: -@@ -434,34 +430,21 @@ - install-binPROGRAMS install-data install-data-am \ - install-data-local install-exec install-exec-am \ - install-exec-hook install-exec-local install-info \ -- install-info-am install-man install-strip installcheck \ -+ install-info-am install-man installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-info-am uninstall-local - -- - install-exec-hook: -- -chown root $(DESTDIR)$(bindir)/fusermount -- -chmod u+s $(DESTDIR)$(bindir)/fusermount -- @if test ! -e $(DESTDIR)/dev/fuse; then \ -- $(mkdir_p) $(DESTDIR)/dev; \ -- echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229"; \ -- mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229; \ -- fi - - install-exec-local: -- $(mkdir_p) $(DESTDIR)$(MOUNT_FUSE_PATH) -- $(INSTALL_PROGRAM) $(srcdir)/mount.fuse $(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse - - install-data-local: -- $(mkdir_p) $(DESTDIR)$(UDEV_RULES_PATH) -- $(INSTALL_DATA) $(srcdir)/udev.rules $(DESTDIR)$(UDEV_RULES_PATH)/40-fuse.rules - - uninstall-local: -- rm -f $(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse -- rm -f $(DESTDIR)$(UDEV_RULES_PATH)/40-fuse.rules -+ - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: diff --git a/sysutils/fusefs-libs/pkg-plist b/sysutils/fusefs-libs/pkg-plist index 4b89ea75922b..e8b632a1264e 100644 --- a/sysutils/fusefs-libs/pkg-plist +++ b/sysutils/fusefs-libs/pkg-plist @@ -2,6 +2,8 @@ include/fuse/fuse.h include/fuse/fuse_compat.h include/fuse/fuse_common.h include/fuse/fuse_lowlevel.h +include/fuse/fuse_lowlevel_compat.h +include/fuse/fuse_opt.h include/fuse/fuse_kernel.h include/fuse.h lib/libfuse.so.2 @@ -9,3 +11,7 @@ lib/libfuse.so lib/libfuse.a libdata/pkgconfig/fuse.pc @dirrm include/fuse +%%PORTDOCS%%%%DOCSDIR%%/libs/how-fuse-works +%%PORTDOCS%%%%DOCSDIR%%/libs/kernel.txt +%%PORTDOCS%%@dirrm %%DOCSDIR%%/libs +@unexec rmdir %D/%%DOCSDIR%% 2>/dev/null || true diff --git a/sysutils/fusefs-sshfs/Makefile b/sysutils/fusefs-sshfs/Makefile index 60cc0b3c923e..81eac8d9281d 100644 --- a/sysutils/fusefs-sshfs/Makefile +++ b/sysutils/fusefs-sshfs/Makefile @@ -5,8 +5,7 @@ # PORTNAME= sshfs -PORTVERSION= 1.3 -PORTREVISION= 1 +PORTVERSION= 1.4 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= fuse @@ -19,6 +18,8 @@ COMMENT= Mount remote directories over ssh LIB_DEPENDS= fuse.2:${PORTSDIR}/sysutils/fusefs-libs RUN_DEPENDS= ${LOCALBASE}/modules/fuse.ko:${PORTSDIR}/sysutils/fusefs-kmod +CONFLICTS= fusefs-kmod-0.2.19* + GNU_CONFIGURE= yes CONFIGURE_ENV+= CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" USE_REINPLACE= yes diff --git a/sysutils/fusefs-sshfs/distinfo b/sysutils/fusefs-sshfs/distinfo index f4185a8fe551..30a3db2f0678 100644 --- a/sysutils/fusefs-sshfs/distinfo +++ b/sysutils/fusefs-sshfs/distinfo @@ -1,2 +1,3 @@ -MD5 (sshfs-fuse-1.3.tar.gz) = 40fe4a353d03b80f8b37e4b0cc6159d3 -SIZE (sshfs-fuse-1.3.tar.gz) = 88738 +MD5 (sshfs-fuse-1.4.tar.gz) = 3777dd6f232d33c9110abfa5ecd5518e +SHA256 (sshfs-fuse-1.4.tar.gz) = 5f1837f97a755d1ca11dcd79881f9e1598218259868959d4805bb578822a0d47 +SIZE (sshfs-fuse-1.4.tar.gz) = 93059 diff --git a/sysutils/fusefs-sshfs/files/patch-sshfs.c b/sysutils/fusefs-sshfs/files/patch-sshfs.c deleted file mode 100644 index 629d99af3de0..000000000000 --- a/sysutils/fusefs-sshfs/files/patch-sshfs.c +++ /dev/null @@ -1,147 +0,0 @@ ---- sshfs.c.orig Fri Oct 28 08:15:35 2005 -+++ sshfs.c Mon Oct 31 02:59:33 2005 -@@ -14,7 +14,11 @@ - #include <unistd.h> - #include <fcntl.h> - #include <string.h> --#include <stdint.h> -+#ifdef HAVE_STDINT_H -+ #include <stdint.h> -+#elif defined(HAVE_INTTYPES_H) -+ #include <inttypes.h> -+#endif - #include <errno.h> - #include <semaphore.h> - #include <pthread.h> -@@ -24,6 +28,13 @@ - #include <sys/wait.h> - #include <netinet/in.h> - #include <glib.h> -+#ifdef __FreeBSD__ -+ #include <sys/socket.h> -+ #include <sys/param.h> -+ #if (__FreeBSD_version < 600034) -+ #define EPROTONOSUPPORT 43 -+ #endif -+#endif - - #include "cache.h" - #include "opts.h" -@@ -1070,7 +1081,11 @@ - err = req->error; - goto out; - } -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - if (req->reply_type != expect_type && req->reply_type != SSH_FXP_STATUS) { - fprintf(stderr, "protocol error\n"); - goto out; -@@ -1085,21 +1100,35 @@ - if (expect_type == SSH_FXP_STATUS) - err = 0; - else -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - break; - - case SSH_FX_EOF: - if (type == SSH_FXP_READ || type == SSH_FXP_READDIR) - err = MY_EOF; - else -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - break; - - case SSH_FX_NO_SUCH_FILE: err = -ENOENT; break; - case SSH_FX_PERMISSION_DENIED: err = -EACCES; break; - case SSH_FX_FAILURE: err = -EPERM; break; - case SSH_FX_BAD_MESSAGE: -- default: err = -EPROTO; break; -+ default: -+#ifdef EPROTO -+ err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif -+ break; - } - } else { - buf_init(outbuf, req->reply.size - req->reply.len); -@@ -1142,7 +1171,11 @@ - err = sftp_request(SSH_FXP_LSTAT, &buf, SSH_FXP_ATTRS, &outbuf); - if (!err) { - if (buf_get_attrs(&outbuf, stbuf, NULL) == -1) -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - buf_free(&outbuf); - } - buf_free(&buf); -@@ -1164,7 +1197,11 @@ - if (!err) { - uint32_t count; - char *link; -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - if(buf_get_uint32(&name, &count) != -1 && count == 1 && - buf_get_string(&name, &link) != -1) { - strncpy(linkbuf, link, size-1); -@@ -1195,7 +1232,11 @@ - err = sftp_request(SSH_FXP_READDIR, &handle, SSH_FXP_NAME, &name); - if (!err) { - if (buf_get_entries(&name, h, filler) == -1) -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - buf_free(&name); - } - } while (!err); -@@ -1528,7 +1569,11 @@ - err = sftp_request(SSH_FXP_READ, &buf, SSH_FXP_DATA, &data); - if (!err) { - uint32_t retsize; -+#ifdef EPROTO - err = -EPROTO; -+#else -+ err = -EPROTONOSUPPORT; -+#endif - if (buf_get_uint32(&data, &retsize) != -1) { - if (retsize > size) - fprintf(stderr, "long read\n"); -@@ -1550,7 +1595,11 @@ - if (req->error) - chunk->res = req->error; - else if (req->replied) { -+#ifdef EPROTO - chunk->res = -EPROTO; -+#else -+ chunk->res = -EPROTONOSUPPORT; -+#endif - - if (req->reply_type == SSH_FXP_STATUS) { - uint32_t serr; -@@ -1771,7 +1820,7 @@ - { - (void) path; - -- buf->f_namelen = 255; -+ buf->f_namemax = 255; - buf->f_bsize = 512; - buf->f_blocks = 999999999 * 2; - buf->f_bfree = 999999999 * 2; diff --git a/sysutils/fusefs-sshfs/pkg-message b/sysutils/fusefs-sshfs/pkg-message index 84f26708b576..d06ef46ab4cf 100644 --- a/sysutils/fusefs-sshfs/pkg-message +++ b/sysutils/fusefs-sshfs/pkg-message @@ -1,21 +1,22 @@ Basic Instructions: -Load the fuse kernel module (as root): -# %%PREFIX%%/etc/rc.d/fuse.sh start +There are three ways to do this: -Then mount something via sshfs (as an ordinary user if you set -vfs.usermount=1). - -There are two ways to do this: +Daemon initiated 1) -% env FUSE_DEV_NAME=/dev/fuse0 sshfs -o uid=<local uid> -o gid=<local gid> \ - username@example.org: -% mount_fusefs /dev/fuse0 /path/to/mount/point +% sshfs -o idmap=user username@example.org: /path/to/mount/point or 2) -% mount_fusefs auto /path/to/mount/point sshfs -o uid=<local uid> \ - -o gid=<local gid> username@example.org: +% mount_fusefs auto /path/to/mount/point sshfs -o idmap=user \ + username@example.org: + +or + +3) +% env FUSE_DEV_NAME=/dev/fuse0 sshfs -o idmap=user \ + username@example.org: +% mount_fusefs /dev/fuse0 /path/to/mount/point For further options see ``sshfs -h''. |