aboutsummaryrefslogtreecommitdiff
path: root/sysutils/fusefs-libs
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2013-07-24 14:42:52 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2013-07-24 14:42:52 +0000
commitd1523e64f1adcca2f492e76f6dfcfae5aec455b9 (patch)
tree8c5660503a9108f763b705a30a96855a2db7301b /sysutils/fusefs-libs
parentea8e7855e3ababb03df6e7093497c265d77218b6 (diff)
downloadports-d1523e64f1adcca2f492e76f6dfcfae5aec455b9.tar.gz
ports-d1523e64f1adcca2f492e76f6dfcfae5aec455b9.zip
- Take maintainership
- Use unmount(2) instead of exec umount -f - update to 2.9.3
Notes
Notes: svn path=/head/; revision=323599
Diffstat (limited to 'sysutils/fusefs-libs')
-rw-r--r--sysutils/fusefs-libs/Makefile19
-rw-r--r--sysutils/fusefs-libs/distinfo4
-rw-r--r--sysutils/fusefs-libs/files/patch-lib_mount_bsd.c65
3 files changed, 76 insertions, 12 deletions
diff --git a/sysutils/fusefs-libs/Makefile b/sysutils/fusefs-libs/Makefile
index affa322ee453..a16254557d07 100644
--- a/sysutils/fusefs-libs/Makefile
+++ b/sysutils/fusefs-libs/Makefile
@@ -2,15 +2,17 @@
# $FreeBSD$
PORTNAME= fusefs
-PORTVERSION= 2.9.2
+PORTVERSION= 2.9.3
CATEGORIES= sysutils
MASTER_SITES= SF/fuse/fuse-2.X/${PORTVERSION}
PKGNAMESUFFIX= -libs
DISTNAME= fuse-${PORTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= bapt@FreeBSD.org
COMMENT= FUSE allows filesystem implementation in userspace
+OPTIONS_DEFINE= DOCS
+
GNU_CONFIGURE= yes
CONFIGURE_ENV= MOUNT_FUSE_PATH=${PREFIX}/sbin
USE_LDCONFIG= yes
@@ -20,18 +22,21 @@ CONFIGURE_ARGS= --prefix=${PREFIX} \
TXT_DOCS= how-fuse-works \
kernel.txt
+MAN1= fusermount.1 \
+ ulockmgr_server.1
+MAN8= mount.fuse.8
+
+
+.include <bsd.port.options.mk>
+
post-install:
${INSTALL_DATA} ${WRKSRC}/include/fuse_kernel.h ${PREFIX}/include/fuse
-
-.if !defined(NOPORTDOCS)
+.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${DOCSDIR}/libs
.for i in ${TXT_DOCS}
@${INSTALL_DATA} ${WRKSRC}/doc/$i ${DOCSDIR}/libs
.endfor
.endif
-MAN1= fusermount.1 \
- ulockmgr_server.1
-MAN8= mount.fuse.8
.include <bsd.port.mk>
diff --git a/sysutils/fusefs-libs/distinfo b/sysutils/fusefs-libs/distinfo
index 5f5a57182b53..275c8de670f4 100644
--- a/sysutils/fusefs-libs/distinfo
+++ b/sysutils/fusefs-libs/distinfo
@@ -1,2 +1,2 @@
-SHA256 (fuse-2.9.2.tar.gz) = 81a728fb3f87da33063068735e2fb7e2cd89df207d32687d3d3278385279cefc
-SIZE (fuse-2.9.2.tar.gz) = 560123
+SHA256 (fuse-2.9.3.tar.gz) = 0beb83eaf2c5e50730fc553406ef124d77bc02c64854631bdfc86bfd6437391c
+SIZE (fuse-2.9.3.tar.gz) = 572044
diff --git a/sysutils/fusefs-libs/files/patch-lib_mount_bsd.c b/sysutils/fusefs-libs/files/patch-lib_mount_bsd.c
index 8bc349838e47..27efee490db4 100644
--- a/sysutils/fusefs-libs/files/patch-lib_mount_bsd.c
+++ b/sysutils/fusefs-libs/files/patch-lib_mount_bsd.c
@@ -1,10 +1,69 @@
---- lib/mount_bsd.c.orig 2008-07-07 08:01:09.000000000 +0200
-+++ lib/mount_bsd.c 2008-07-07 08:01:59.000000000 +0200
-@@ -10,6 +10,7 @@
+--- lib/mount_bsd.c.orig 2013-07-01 09:40:53.000000000 +0200
++++ lib/mount_bsd.c 2013-07-24 16:20:34.533073286 +0200
+@@ -10,6 +10,8 @@
#include "fuse_misc.h"
#include "fuse_opt.h"
+#include <sys/param.h>
++#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <sys/sysctl.h>
+@@ -192,56 +194,12 @@
+ free(umount_cmd);
+ }
+
+-static void do_unmount(char *dev, int fd)
+-{
+- char device_path[SPECNAMELEN + 12];
+- const char *argv[4];
+- const char umount_cmd[] = "/sbin/umount";
+- pid_t pid;
+-
+- snprintf(device_path, SPECNAMELEN + 12, _PATH_DEV "%s", dev);
+-
+- argv[0] = umount_cmd;
+- argv[1] = "-f";
+- argv[2] = device_path;
+- argv[3] = NULL;
+-
+- pid = fork();
+-
+- if (pid == -1)
+- return;
+-
+- if (pid == 0) {
+- close(fd);
+- execvp(umount_cmd, (char **)argv);
+- exit(1);
+- }
+-
+- waitpid(pid, NULL, 0);
+-}
+-
+ void fuse_kern_unmount(const char *mountpoint, int fd)
+ {
+ char *ep, dev[128];
+ struct stat sbuf;
+
+- (void)mountpoint;
+-
+- if (fstat(fd, &sbuf) == -1)
+- goto out;
+-
+- devname_r(sbuf.st_rdev, S_IFCHR, dev, 128);
+-
+- if (strncmp(dev, "fuse", 4))
+- goto out;
+-
+- strtol(dev + 4, &ep, 10);
+- if (*ep != '\0')
+- goto out;
+-
+- do_unmount(dev, fd);
+-
+-out:
++ unmount(mountpoint, MNT_FORCE);
+ close(fd);
+ }
+