Index: sysutils/fusefs-libs/Makefile =================================================================== --- sysutils/fusefs-libs/Makefile +++ sysutils/fusefs-libs/Makefile @@ -4,6 +4,7 @@ PORTNAME= fusefs DISTVERSIONPREFIX= fuse_ DISTVERSION= 2_9_5 +PORTREVISION= 1 CATEGORIES= sysutils PKGNAMESUFFIX= -libs Index: sysutils/fusefs-libs/files/patch-lib_mount__bsd.c =================================================================== --- sysutils/fusefs-libs/files/patch-lib_mount__bsd.c +++ sysutils/fusefs-libs/files/patch-lib_mount__bsd.c @@ -1,15 +1,16 @@ ---- lib/mount_bsd.c.orig 2015-05-22 09:24:02 UTC +--- lib/mount_bsd.c.orig 2016-01-14 19:20:22 UTC +++ lib/mount_bsd.c -@@ -10,6 +10,8 @@ +@@ -10,6 +10,9 @@ #include "fuse_misc.h" #include "fuse_opt.h" +#include ++#include +#include #include #include #include -@@ -78,6 +80,7 @@ static const struct fuse_opt fuse_mount_ +@@ -78,6 +81,7 @@ static const struct fuse_opt fuse_mount_ FUSE_DUAL_OPT_KEY("ro", KEY_KERN), FUSE_DUAL_OPT_KEY("rw", KEY_KERN), FUSE_DUAL_OPT_KEY("auto", KEY_KERN), @@ -17,7 +18,7 @@ /* options supported under both Linux and FBSD */ FUSE_DUAL_OPT_KEY("allow_other", KEY_KERN), FUSE_DUAL_OPT_KEY("default_permissions",KEY_KERN), -@@ -192,56 +195,12 @@ void fuse_unmount_compat22(const char *m +@@ -192,56 +196,12 @@ void fuse_unmount_compat22(const char *m free(umount_cmd); } @@ -75,3 +76,30 @@ close(fd); } +@@ -265,7 +225,7 @@ static int fuse_mount_core(const char *m + int fd; + char *fdnam, *dev; + pid_t pid, cpid; +- int status; ++ int retval, saved_errno, status; + + fdnam = getenv("FUSE_DEV_FD"); + +@@ -290,7 +250,16 @@ static int fuse_mount_core(const char *m + if (! dev) + dev = (char *)FUSE_DEV_TRUNK; + +- if ((fd = open(dev, O_RDWR)) < 0) { ++ fd = open(dev, O_RDWR); ++ if (fd < 0 && errno == ENOENT) { ++ saved_errno = errno; ++ retval = kldload("fuse"); ++ if (retval != -1) ++ fd = open(dev, O_RDWR); ++ else ++ errno = saved_errno; ++ } ++ if (fd < 0) { + perror("fuse: failed to open fuse device"); + return -1; + }