View | Details | Raw Unified | Return to bug 205620
Collapse All | Expand All

(-)b/sysutils/fusefs-libs/Makefile (-6 / +13 lines)
Lines 3-31 Link Here
3
3
4
PORTNAME=	fusefs
4
PORTNAME=	fusefs
5
PORTVERSION=	2.9.4
5
PORTVERSION=	2.9.4
6
PORTREVISION=	1
6
CATEGORIES=	sysutils
7
CATEGORIES=	sysutils
7
MASTER_SITES=	SF/fuse/fuse-2.X/${PORTVERSION}
8
PKGNAMESUFFIX=	-libs
8
PKGNAMESUFFIX=	-libs
9
DISTNAME=	fuse-${PORTVERSION}
10
9
11
MAINTAINER=	ports@FreeBSD.org
10
MAINTAINER=	brendan+freebsd@bbqsrc.net
12
COMMENT=	FUSE allows filesystem implementation in userspace
11
COMMENT=	FUSE allows filesystem implementation in userspace
13
12
14
OPTIONS_DEFINE=	DOCS
15
16
LICENSE=	LGPL21
13
LICENSE=	LGPL21
17
LICENSE_FILE=	${WRKSRC}/COPYING.LIB
14
LICENSE_FILE=	${WRKSRC}/COPYING.LIB
18
15
16
OPTIONS_DEFINE=	DOCS
17
18
USE_GITHUB=	yes
19
GH_ACCOUNT=	libfuse
20
GH_PROJECT=	libfuse
21
GH_TAGNAME=	6adcb71
22
19
GNU_CONFIGURE=	yes
23
GNU_CONFIGURE=	yes
20
CONFIGURE_ENV=	MOUNT_FUSE_PATH=${PREFIX}/sbin
24
CONFIGURE_ENV=	MOUNT_FUSE_PATH=${PREFIX}/sbin
21
CONFIGURE_ARGS=	--prefix=${PREFIX} \
25
CONFIGURE_ARGS=	--prefix=${PREFIX} \
22
		--with-pkgconfigdir=${PREFIX}/libdata/pkgconfig
26
		--with-pkgconfigdir=${PREFIX}/libdata/pkgconfig
23
INSTALL_TARGET=	install-strip
27
INSTALL_TARGET=	install-strip
24
USES=		iconv libtool
28
USES=		iconv libtool autoreconf gettext-tools
25
USE_LDCONFIG=	yes
29
USE_LDCONFIG=	yes
26
30
27
PORTDOCS=	*
31
PORTDOCS=	*
28
32
33
pre-configure:
34
	${CP} ${LOCALBASE}/share/gettext/config.rpath ${WRKSRC}
35
29
post-install:
36
post-install:
30
	${INSTALL_DATA} ${WRKSRC}/include/fuse_kernel.h ${STAGEDIR}${PREFIX}/include/fuse
37
	${INSTALL_DATA} ${WRKSRC}/include/fuse_kernel.h ${STAGEDIR}${PREFIX}/include/fuse
31
	@${MKDIR} ${STAGEDIR}${DOCSDIR}/libs
38
	@${MKDIR} ${STAGEDIR}${DOCSDIR}/libs
(-)b/sysutils/fusefs-libs/distinfo (-2 / +2 lines)
Lines 1-2 Link Here
1
SHA256 (fuse-2.9.4.tar.gz) = 6be9c0bff6af8c677414935f31699ea5a7f8f5f791cfa5205be02ea186b97ce1
1
SHA256 (libfuse-libfuse-2.9.4-6adcb71_GH0.tar.gz) = 756c1a3e84febcbf41fc64dea2b1234f890c4098742b3861f7ede63a711a4bcf
2
SIZE (fuse-2.9.4.tar.gz) = 577282
2
SIZE (libfuse-libfuse-2.9.4-6adcb71_GH0.tar.gz) = 215632
(-)b/sysutils/fusefs-libs/files/patch-configure.ac (+11 lines)
Added Link Here
1
--- configure.ac.orig	2015-05-22 09:24:02 UTC
2
+++ configure.ac
3
@@ -3,7 +3,7 @@ AC_INIT(fuse, 2.9.4)
4
 AC_PREREQ(2.59d)
5
 AC_CONFIG_MACRO_DIR([m4])
6
 AC_CANONICAL_TARGET
7
-AM_INIT_AUTOMAKE
8
+AM_INIT_AUTOMAKE([subdir-objects])
9
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
10
 AC_CONFIG_HEADERS(include/config.h)
11
 
(-)b/sysutils/fusefs-libs/files/patch-lib_helper.c (-7 / +7 lines)
Lines 1-6 Link Here
1
--- lib/helper.c.orig	2012-04-10 15:28:55.000000000 +0200
1
--- lib/helper.c.orig	2015-05-22 09:24:02 UTC
2
+++ lib/helper.c	2012-07-31 00:06:11.384938678 +0200
2
+++ lib/helper.c
3
@@ -31,7 +31,7 @@
3
@@ -31,7 +31,7 @@ enum  {
4
 struct helper_opts {
4
 struct helper_opts {
5
 	int singlethread;
5
 	int singlethread;
6
 	int foreground;
6
 	int foreground;
Lines 9-15 Link Here
9
 	char *mountpoint;
9
 	char *mountpoint;
10
 };
10
 };
11
 
11
 
12
@@ -42,8 +42,7 @@
12
@@ -42,8 +42,7 @@ static const struct fuse_opt fuse_helper
13
 	FUSE_HELPER_OPT("debug",	foreground),
13
 	FUSE_HELPER_OPT("debug",	foreground),
14
 	FUSE_HELPER_OPT("-f",		foreground),
14
 	FUSE_HELPER_OPT("-f",		foreground),
15
 	FUSE_HELPER_OPT("-s",		singlethread),
15
 	FUSE_HELPER_OPT("-s",		singlethread),
Lines 19-25 Link Here
19
 
19
 
20
 	FUSE_OPT_KEY("-h",		KEY_HELP),
20
 	FUSE_OPT_KEY("-h",		KEY_HELP),
21
 	FUSE_OPT_KEY("--help",		KEY_HELP),
21
 	FUSE_OPT_KEY("--help",		KEY_HELP),
22
@@ -53,7 +52,6 @@
22
@@ -53,7 +52,6 @@ static const struct fuse_opt fuse_helper
23
 	FUSE_OPT_KEY("-d",		FUSE_OPT_KEY_KEEP),
23
 	FUSE_OPT_KEY("-d",		FUSE_OPT_KEY_KEEP),
24
 	FUSE_OPT_KEY("debug",		FUSE_OPT_KEY_KEEP),
24
 	FUSE_OPT_KEY("debug",		FUSE_OPT_KEY_KEEP),
25
 	FUSE_OPT_KEY("fsname=",		FUSE_OPT_KEY_KEEP),
25
 	FUSE_OPT_KEY("fsname=",		FUSE_OPT_KEY_KEEP),
Lines 27-33 Link Here
27
 	FUSE_OPT_END
27
 	FUSE_OPT_END
28
 };
28
 };
29
 
29
 
30
@@ -123,24 +121,24 @@
30
@@ -123,24 +121,24 @@ static int fuse_helper_opt_proc(void *da
31
 	}
31
 	}
32
 }
32
 }
33
 
33
 
Lines 59-65 Link Here
59
 	return res;
59
 	return res;
60
 }
60
 }
61
 
61
 
62
@@ -156,8 +154,8 @@
62
@@ -156,8 +154,8 @@ int fuse_parse_cmdline(struct fuse_args 
63
 	if (res == -1)
63
 	if (res == -1)
64
 		return -1;
64
 		return -1;
65
 
65
 
(-)b/sysutils/fusefs-libs/files/patch-lib_mount__bsd.c (+77 lines)
Added Link Here
1
--- lib/mount_bsd.c.orig	2015-05-22 09:24:02 UTC
2
+++ lib/mount_bsd.c
3
@@ -10,6 +10,8 @@
4
 #include "fuse_misc.h"
5
 #include "fuse_opt.h"
6
 
7
+#include <sys/param.h>
8
+#include <sys/mount.h>
9
 #include <sys/stat.h>
10
 #include <sys/wait.h>
11
 #include <sys/sysctl.h>
12
@@ -78,6 +80,7 @@ static const struct fuse_opt fuse_mount_
13
 	FUSE_DUAL_OPT_KEY("ro",			KEY_KERN),
14
 	FUSE_DUAL_OPT_KEY("rw",			KEY_KERN),
15
 	FUSE_DUAL_OPT_KEY("auto",		KEY_KERN),
16
+	FUSE_DUAL_OPT_KEY("automounted",	KEY_KERN),
17
 	/* options supported under both Linux and FBSD */
18
 	FUSE_DUAL_OPT_KEY("allow_other",	KEY_KERN),
19
 	FUSE_DUAL_OPT_KEY("default_permissions",KEY_KERN),
20
@@ -192,56 +195,12 @@ void fuse_unmount_compat22(const char *m
21
 	free(umount_cmd);
22
 }
23
 
24
-static void do_unmount(char *dev, int fd)
25
-{
26
-	char device_path[SPECNAMELEN + 12];
27
-	const char *argv[4];
28
-	const char umount_cmd[] = "/sbin/umount";
29
-	pid_t pid;
30
-
31
-	snprintf(device_path, SPECNAMELEN + 12, _PATH_DEV "%s", dev);
32
-
33
-	argv[0] = umount_cmd;
34
-	argv[1] = "-f";
35
-	argv[2] = device_path;
36
-	argv[3] = NULL;
37
-
38
-	pid = fork();
39
-
40
-	if (pid == -1)
41
-		return;
42
-
43
-	if (pid == 0) {
44
-		close(fd);
45
-		execvp(umount_cmd, (char **)argv);
46
-		exit(1);
47
-	}
48
-
49
-	waitpid(pid, NULL, 0);
50
-}
51
-
52
 void fuse_kern_unmount(const char *mountpoint, int fd)
53
 {
54
 	char *ep, dev[128];
55
 	struct stat sbuf;
56
 
57
-	(void)mountpoint;
58
-
59
-	if (fstat(fd, &sbuf) == -1)
60
-		goto out;
61
-
62
-	devname_r(sbuf.st_rdev, S_IFCHR, dev, 128);
63
-
64
-	if (strncmp(dev, "fuse", 4))
65
-		goto out;
66
-
67
-	strtol(dev + 4, &ep, 10);
68
-	if (*ep != '\0')
69
-		goto out;
70
-
71
-	do_unmount(dev, fd);
72
-
73
-out:
74
+	unmount(mountpoint, MNT_FORCE);
75
 	close(fd);
76
 }
77
 
(-)b/sysutils/fusefs-libs/files/patch-lib_mount__util.c (+23 lines)
Added Link Here
1
--- lib/mount_util.c.orig	2015-05-22 09:24:02 UTC
2
+++ lib/mount_util.c
3
@@ -344,20 +344,3 @@ int fuse_mnt_check_empty(const char *pro
4
 	}
5
 	return 0;
6
 }
7
-
8
-int fuse_mnt_check_fuseblk(void)
9
-{
10
-	char buf[256];
11
-	FILE *f = fopen("/proc/filesystems", "r");
12
-	if (!f)
13
-		return 1;
14
-
15
-	while (fgets(buf, sizeof(buf), f))
16
-		if (strstr(buf, "fuseblk\n")) {
17
-			fclose(f);
18
-			return 1;
19
-		}
20
-
21
-	fclose(f);
22
-	return 0;
23
-}
(-)b/sysutils/fusefs-libs/files/patch-lib_mount__util.h (+7 lines)
Added Link Here
1
--- lib/mount_util.h.orig	2015-05-22 09:24:02 UTC
2
+++ lib/mount_util.h
3
@@ -16,4 +16,3 @@ int fuse_mnt_umount(const char *progname
4
 char *fuse_mnt_resolve_path(const char *progname, const char *orig);
5
 int fuse_mnt_check_empty(const char *progname, const char *mnt,
6
 			 mode_t rootmode, off_t rootsize);
7
-int fuse_mnt_check_fuseblk(void);
(-)a/sysutils/fusefs-libs/files/patch-lib_mount_bsd.c (-77 lines)
Removed Link Here
1
--- lib/mount_bsd.c.orig	2013-07-01 09:40:53.000000000 +0200
2
+++ lib/mount_bsd.c	2013-07-24 16:20:34.533073286 +0200
3
@@ -10,6 +10,8 @@
4
 #include "fuse_misc.h"
5
 #include "fuse_opt.h"
6
 
7
+#include <sys/param.h>
8
+#include <sys/mount.h>
9
 #include <sys/stat.h>
10
 #include <sys/wait.h>
11
 #include <sys/sysctl.h>
12
@@ -78,6 +80,7 @@ static const struct fuse_opt fuse_mount_
13
 	FUSE_DUAL_OPT_KEY("ro",			KEY_KERN),
14
 	FUSE_DUAL_OPT_KEY("rw",			KEY_KERN),
15
 	FUSE_DUAL_OPT_KEY("auto",		KEY_KERN),
16
+	FUSE_DUAL_OPT_KEY("automounted",	KEY_KERN),
17
 	/* options supported under both Linux and FBSD */
18
 	FUSE_DUAL_OPT_KEY("allow_other",	KEY_KERN),
19
 	FUSE_DUAL_OPT_KEY("default_permissions",KEY_KERN),
20
@@ -192,56 +194,12 @@
21
 	free(umount_cmd);
22
 }
23
 
24
-static void do_unmount(char *dev, int fd)
25
-{
26
-	char device_path[SPECNAMELEN + 12];
27
-	const char *argv[4];
28
-	const char umount_cmd[] = "/sbin/umount";
29
-	pid_t pid;
30
-
31
-	snprintf(device_path, SPECNAMELEN + 12, _PATH_DEV "%s", dev);
32
-
33
-	argv[0] = umount_cmd;
34
-	argv[1] = "-f";
35
-	argv[2] = device_path;
36
-	argv[3] = NULL;
37
-
38
-	pid = fork();
39
-
40
-	if (pid == -1)
41
-		return;
42
-
43
-	if (pid == 0) {
44
-		close(fd);
45
-		execvp(umount_cmd, (char **)argv);
46
-		exit(1);
47
-	}
48
-
49
-	waitpid(pid, NULL, 0);
50
-}
51
-
52
 void fuse_kern_unmount(const char *mountpoint, int fd)
53
 {
54
 	char *ep, dev[128];
55
 	struct stat sbuf;
56
 
57
-	(void)mountpoint;
58
-
59
-	if (fstat(fd, &sbuf) == -1)
60
-		goto out;
61
-
62
-	devname_r(sbuf.st_rdev, S_IFCHR, dev, 128);
63
-
64
-	if (strncmp(dev, "fuse", 4))
65
-		goto out;
66
-
67
-	strtol(dev + 4, &ep, 10);
68
-	if (*ep != '\0')
69
-		goto out;
70
-
71
-	do_unmount(dev, fd);
72
-
73
-out:
74
+	unmount(mountpoint, MNT_FORCE);
75
 	close(fd);
76
 }
77
 
(-)a/sysutils/fusefs-libs/files/patch-lib_mount_util.c (-23 lines)
Removed Link Here
1
--- lib/mount_util.c.orig	2008-02-04 00:23:30.000000000 -0500
2
+++ lib/mount_util.c	2008-02-04 00:23:58.000000000 -0500
3
@@ -224,20 +224,3 @@
4
 	}
5
 	return 0;
6
 }
7
-
8
-int fuse_mnt_check_fuseblk(void)
9
-{
10
-	char buf[256];
11
-	FILE *f = fopen("/proc/filesystems", "r");
12
-	if (!f)
13
-		return 1;
14
-
15
-	while (fgets(buf, sizeof(buf), f))
16
-		if (strstr(buf, "fuseblk\n")) {
17
-			fclose(f);
18
-			return 1;
19
-		}
20
-
21
-	fclose(f);
22
-	return 0;
23
-}
(-)a/sysutils/fusefs-libs/files/patch-lib_mount_util.h (-7 lines)
Removed Link Here
1
--- lib/mount_util.h.orig	2008-02-04 00:24:07.000000000 -0500
2
+++ lib/mount_util.h	2008-02-04 00:24:20.000000000 -0500
3
@@ -14,4 +14,3 @@
4
 char *fuse_mnt_resolve_path(const char *progname, const char *orig);
5
 int fuse_mnt_check_empty(const char *progname, const char *mnt,
6
 			 mode_t rootmode, off_t rootsize);
7
-int fuse_mnt_check_fuseblk(void);

Return to bug 205620