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