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