Ravenports generated: 08 Feb 2018 10:47
[ravenports.git] / bucket_A1 / fuse2
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               fuse2
4 VERSION=                2.9.7
5 KEYWORDS=               sysutils
6 VARIANTS=               standard
7 SDESC[standard]=        File System in Userspace (FUSE), legacy
8 HOMEPAGE=               https://github.com/libfuse/libfuse
9 CONTACT=                nobody
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            GITHUB/libfuse:libfuse:fuse-2.9.7
13 DISTFILE[1]=            generated:main
14 DF_INDEX=               1
15 SPKGS[standard]=        single
16
17 OPTIONS_AVAILABLE=      none
18 OPTIONS_STANDARD=       none
19
20 NOT_FOR_OPSYS=          dragonfly sunos
21
22 USES=                   iconv libtool autoreconf gettext-tools
23
24 LICENSE=                LGPL21:single
25 LICENSE_SCHEME=         solo
26 LICENSE_FILE=           LGPL21:{{WRKSRC}}/COPYING.LIB
27
28 FPC_EQUIVALENT=         sysutils/fusefs-libs
29
30 MUST_CONFIGURE=         gnu
31 CONFIGURE_ARGS=         --with-pkgconfigdir={{PREFIX}}/lib/pkgconfig
32 CONFIGURE_ENV=          MOUNT_FUSE_PATH={{PREFIX}}/sbin
33
34 INSTALL_TARGET=         install-strip
35 PLIST_SUB=              SOVERSION=2.9.7
36                         SOMAJOR=2
37
38 post-install-linux:
39         ${RM} -r ${STAGEDIR}/dev
40
41 post-install:
42         ${INSTALL_DATA} ${WRKSRC}/include/fuse_kernel.h \
43                 ${STAGEDIR}${PREFIX}/include/fuse
44         # This file conflicts with fuse3
45         ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/mount.fuse.8
46
47 pre-configure:
48         ${CP} ${LOCALBASE}/share/gettext/config.rpath ${WRKSRC}
49
50 [FILE:1174:descriptions/desc.single]
51 FUSE (Filesystem in Userspace) is an interface for userspace programs to 
52 export a filesystem to the kernel. The FUSE project consists of two
53 components: the fuse kernel module (maintained by supported operating
54 system) and the libfuse userspace library (the contents of this package).
55 libfuse provides the reference implementation for communicating with the
56 FUSE kernel module.
57
58 A FUSE file system is typically implemented as a standalone application 
59 that links with libfuse. libfuse provides functions to mount the file 
60 system, unmount it, read requests from the kernel, and send responses 
61 back. libfuse offers two APIs: a "high-level", synchronous API, and a 
62 "low-level" asynchronous API. In both cases, incoming requests from the 
63 kernel are passed to the main program using callbacks. When using the 
64 high-level API, the callbacks may work with file names and paths instead 
65 of inodes, and processing of a request finishes when the callback function 
66 returns. When using the low-level API, the callbacks must work with inodes 
67 and responses must be sent explicitly using a separate set of API 
68 functions.
69
70 This package contains FUSE version 2, the legacy version.
71
72
73
74 [FILE:112:distinfo]
75 2a62adb901aae9226ebd5bc40e2201e29f62c3b2a251c67cd1abb17b4d523175       209571 libfuse-libfuse-fuse-2.9.7.tar.gz
76
77
78 [FILE:684:manifests/plist.single]
79 %%ONLY-LINUX%%/etc/udev/rules.d/99-fuse.rules
80 %%ONLY-LINUX%%/etc/init.d/fuse
81 %%ONLY-LINUX%%sbin/mount.fuse
82 %%ONLY-LINUX%%bin/
83  ulockmgr_server
84  fusermount
85 %%ONLY-LINUX%%@preexec mknod -m 0666 /dev/fuse c 10 229 || true
86 %%ONLY-LINUX%%@postunexec rm -f /dev/fuse
87 include/
88  fuse.h
89 include/fuse/
90  cuse_lowlevel.h
91  fuse.h
92  fuse_common.h
93  fuse_common_compat.h
94  fuse_compat.h
95  fuse_kernel.h
96  fuse_lowlevel.h
97  fuse_lowlevel_compat.h
98  fuse_opt.h
99 include/
100  ulockmgr.h
101 lib/
102  libfuse.a
103  libfuse.so
104  libfuse.so.%%SOMAJOR%%
105  libfuse.so.%%SOVERSION%%
106  libulockmgr.a
107  libulockmgr.so
108  libulockmgr.so.1
109  libulockmgr.so.1.0.1
110 lib/pkgconfig/fuse.pc
111 share/man/man1/
112  fusermount.1.gz
113  ulockmgr_server.1.gz
114
115
116 [FILE:150:files/pkg-message-single-freebsd]
117 ================ FreeBSD Message ================ 
118 Install the fuse kernel module to use this port.
119 =================================================
120
121
122 [FILE:2066:freebsd/patch-lib_helper.c]
123 --- lib/helper.c.orig   2015-05-22 09:24:02 UTC
124 +++ lib/helper.c
125 @@ -31,7 +31,7 @@ enum  {
126  struct helper_opts {
127         int singlethread;
128         int foreground;
129 -       int nodefault_subtype;
130 +       int fsname;
131         char *mountpoint;
132  };
133  
134 @@ -42,8 +42,7 @@ static const struct fuse_opt fuse_helper
135         FUSE_HELPER_OPT("debug",        foreground),
136         FUSE_HELPER_OPT("-f",           foreground),
137         FUSE_HELPER_OPT("-s",           singlethread),
138 -       FUSE_HELPER_OPT("fsname=",      nodefault_subtype),
139 -       FUSE_HELPER_OPT("subtype=",     nodefault_subtype),
140 +       FUSE_HELPER_OPT("fsname=",      fsname),
141  
142         FUSE_OPT_KEY("-h",              KEY_HELP),
143         FUSE_OPT_KEY("--help",          KEY_HELP),
144 @@ -53,7 +52,6 @@ static const struct fuse_opt fuse_helper
145         FUSE_OPT_KEY("-d",              FUSE_OPT_KEY_KEEP),
146         FUSE_OPT_KEY("debug",           FUSE_OPT_KEY_KEEP),
147         FUSE_OPT_KEY("fsname=",         FUSE_OPT_KEY_KEEP),
148 -       FUSE_OPT_KEY("subtype=",        FUSE_OPT_KEY_KEEP),
149         FUSE_OPT_END
150  };
151  
152 @@ -123,24 +121,24 @@ static int fuse_helper_opt_proc(void *da
153         }
154  }
155  
156 -static int add_default_subtype(const char *progname, struct fuse_args *args)
157 +static int add_default_fsname(const char *progname, struct fuse_args *args)
158  {
159         int res;
160 -       char *subtype_opt;
161 +       char *fsname_opt;
162         const char *basename = strrchr(progname, '/');
163         if (basename == NULL)
164                 basename = progname;
165         else if (basename[1] != '\0')
166                 basename++;
167  
168 -       subtype_opt = (char *) malloc(strlen(basename) + 64);
169 -       if (subtype_opt == NULL) {
170 +       fsname_opt = (char *) malloc(strlen(basename) + 64);
171 +       if (fsname_opt == NULL) {
172                 fprintf(stderr, "fuse: memory allocation failed\n");
173                 return -1;
174         }
175 -       sprintf(subtype_opt, "-osubtype=%s", basename);
176 -       res = fuse_opt_add_arg(args, subtype_opt);
177 -       free(subtype_opt);
178 +       sprintf(fsname_opt, "-ofsname=%s", basename);
179 +       res = fuse_opt_add_arg(args, fsname_opt);
180 +       free(fsname_opt);
181         return res;
182  }
183  
184 @@ -156,8 +154,8 @@ int fuse_parse_cmdline(struct fuse_args 
185         if (res == -1)
186                 return -1;
187  
188 -       if (!hopts.nodefault_subtype) {
189 -               res = add_default_subtype(args->argv[0], args);
190 +       if (!hopts.fsname) {
191 +               res = add_default_fsname(args->argv[0], args);
192                 if (res == -1)
193                         goto err;
194         }
195
196
197 [FILE:1611:freebsd/patch-lib_mount__bsd.c]
198 --- lib/mount_bsd.c.orig        2015-05-22 09:24:02 UTC
199 +++ lib/mount_bsd.c
200 @@ -10,6 +10,8 @@
201  #include "fuse_misc.h"
202  #include "fuse_opt.h"
203  
204 +#include <sys/param.h>
205 +#include <sys/mount.h>
206  #include <sys/stat.h>
207  #include <sys/wait.h>
208  #include <sys/sysctl.h>
209 @@ -78,6 +80,7 @@ static const struct fuse_opt fuse_mount_
210         FUSE_DUAL_OPT_KEY("ro",                 KEY_KERN),
211         FUSE_DUAL_OPT_KEY("rw",                 KEY_KERN),
212         FUSE_DUAL_OPT_KEY("auto",               KEY_KERN),
213 +       FUSE_DUAL_OPT_KEY("automounted",        KEY_KERN),
214         /* options supported under both Linux and FBSD */
215         FUSE_DUAL_OPT_KEY("allow_other",        KEY_KERN),
216         FUSE_DUAL_OPT_KEY("default_permissions",KEY_KERN),
217 @@ -192,56 +195,12 @@ void fuse_unmount_compat22(const char *m
218         free(umount_cmd);
219  }
220  
221 -static void do_unmount(char *dev, int fd)
222 -{
223 -       char device_path[SPECNAMELEN + 12];
224 -       const char *argv[4];
225 -       const char umount_cmd[] = "/sbin/umount";
226 -       pid_t pid;
227 -
228 -       snprintf(device_path, SPECNAMELEN + 12, _PATH_DEV "%s", dev);
229 -
230 -       argv[0] = umount_cmd;
231 -       argv[1] = "-f";
232 -       argv[2] = device_path;
233 -       argv[3] = NULL;
234 -
235 -       pid = fork();
236 -
237 -       if (pid == -1)
238 -               return;
239 -
240 -       if (pid == 0) {
241 -               close(fd);
242 -               execvp(umount_cmd, (char **)argv);
243 -               exit(1);
244 -       }
245 -
246 -       waitpid(pid, NULL, 0);
247 -}
248 -
249  void fuse_kern_unmount(const char *mountpoint, int fd)
250  {
251         char *ep, dev[128];
252         struct stat sbuf;
253  
254 -       (void)mountpoint;
255 -
256 -       if (fstat(fd, &sbuf) == -1)
257 -               goto out;
258 -
259 -       devname_r(sbuf.st_rdev, S_IFCHR, dev, 128);
260 -
261 -       if (strncmp(dev, "fuse", 4))
262 -               goto out;
263 -
264 -       strtol(dev + 4, &ep, 10);
265 -       if (*ep != '\0')
266 -               goto out;
267 -
268 -       do_unmount(dev, fd);
269 -
270 -out:
271 +       unmount(mountpoint, MNT_FORCE);
272         close(fd);
273  }
274  
275
276
277 [FILE:414:freebsd/patch-lib_mount__util.c]
278 --- lib/mount_util.c.orig       2015-05-22 09:24:02 UTC
279 +++ lib/mount_util.c
280 @@ -344,20 +344,3 @@ int fuse_mnt_check_empty(const char *pro
281         }
282         return 0;
283  }
284 -
285 -int fuse_mnt_check_fuseblk(void)
286 -{
287 -       char buf[256];
288 -       FILE *f = fopen("/proc/filesystems", "r");
289 -       if (!f)
290 -               return 1;
291 -
292 -       while (fgets(buf, sizeof(buf), f))
293 -               if (strstr(buf, "fuseblk\n")) {
294 -                       fclose(f);
295 -                       return 1;
296 -               }
297 -
298 -       fclose(f);
299 -       return 0;
300 -}
301
302
303 [FILE:339:freebsd/patch-lib_mount__util.h]
304 --- lib/mount_util.h.orig       2015-05-22 09:24:02 UTC
305 +++ lib/mount_util.h
306 @@ -16,4 +16,3 @@ int fuse_mnt_umount(const char *progname
307  char *fuse_mnt_resolve_path(const char *progname, const char *orig);
308  int fuse_mnt_check_empty(const char *progname, const char *mnt,
309                          mode_t rootmode, off_t rootsize);
310 -int fuse_mnt_check_fuseblk(void);
311