diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2013-07-24 14:42:52 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2013-07-24 14:42:52 +0000 |
commit | d1523e64f1adcca2f492e76f6dfcfae5aec455b9 (patch) | |
tree | 8c5660503a9108f763b705a30a96855a2db7301b /sysutils/fusefs-libs | |
parent | ea8e7855e3ababb03df6e7093497c265d77218b6 (diff) | |
download | ports-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/Makefile | 19 | ||||
-rw-r--r-- | sysutils/fusefs-libs/distinfo | 4 | ||||
-rw-r--r-- | sysutils/fusefs-libs/files/patch-lib_mount_bsd.c | 65 |
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); + } + |