Index: Makefile =================================================================== --- /dev/null +++ Makefile @@ -0,0 +1 @@ +include ../Makefile.common Index: abi_symbols =================================================================== --- /dev/null +++ abi_symbols @@ -0,0 +1,186 @@ +libfuse.so.2:FUSE_2.2 +libfuse.so.2:FUSE_2.4 +libfuse.so.2:FUSE_2.5 +libfuse.so.2:FUSE_2.6 +libfuse.so.2:FUSE_2.7 +libfuse.so.2:FUSE_2.7.5 +libfuse.so.2:FUSE_2.8 +libfuse.so.2:FUSE_2.9 +libfuse.so.2:FUSE_2.9.1 +libfuse.so.2:__fuse_exited +libfuse.so.2:__fuse_loop_mt +libfuse.so.2:__fuse_process_cmd +libfuse.so.2:__fuse_read_cmd +libfuse.so.2:__fuse_set_getcontext_func +libfuse.so.2:__fuse_setup +libfuse.so.2:__fuse_teardown +libfuse.so.2:cuse_lowlevel_main +libfuse.so.2:cuse_lowlevel_new +libfuse.so.2:cuse_lowlevel_setup +libfuse.so.2:cuse_lowlevel_teardown +libfuse.so.2:fuse_add_dirent +libfuse.so.2:fuse_add_direntry +libfuse.so.2:fuse_buf_copy +libfuse.so.2:fuse_buf_size +libfuse.so.2:fuse_chan_bufsize +libfuse.so.2:fuse_chan_data +libfuse.so.2:fuse_chan_destroy +libfuse.so.2:fuse_chan_fd +libfuse.so.2:fuse_chan_new +libfuse.so.2:fuse_chan_new_compat24 +libfuse.so.2:fuse_chan_receive +libfuse.so.2:fuse_chan_recv +libfuse.so.2:fuse_chan_send +libfuse.so.2:fuse_chan_session +libfuse.so.2:fuse_clean_cache +libfuse.so.2:fuse_daemonize +libfuse.so.2:fuse_destroy +libfuse.so.2:fuse_dirent_size +libfuse.so.2:fuse_exit +libfuse.so.2:fuse_exited +libfuse.so.2:fuse_fs_access +libfuse.so.2:fuse_fs_bmap +libfuse.so.2:fuse_fs_chmod +libfuse.so.2:fuse_fs_chown +libfuse.so.2:fuse_fs_create +libfuse.so.2:fuse_fs_destroy +libfuse.so.2:fuse_fs_fallocate +libfuse.so.2:fuse_fs_fgetattr +libfuse.so.2:fuse_fs_flock +libfuse.so.2:fuse_fs_flush +libfuse.so.2:fuse_fs_fsync +libfuse.so.2:fuse_fs_fsyncdir +libfuse.so.2:fuse_fs_ftruncate +libfuse.so.2:fuse_fs_getattr +libfuse.so.2:fuse_fs_getxattr +libfuse.so.2:fuse_fs_init +libfuse.so.2:fuse_fs_ioctl +libfuse.so.2:fuse_fs_link +libfuse.so.2:fuse_fs_listxattr +libfuse.so.2:fuse_fs_lock +libfuse.so.2:fuse_fs_mkdir +libfuse.so.2:fuse_fs_mknod +libfuse.so.2:fuse_fs_new +libfuse.so.2:fuse_fs_open +libfuse.so.2:fuse_fs_opendir +libfuse.so.2:fuse_fs_poll +libfuse.so.2:fuse_fs_read +libfuse.so.2:fuse_fs_read_buf +libfuse.so.2:fuse_fs_readdir +libfuse.so.2:fuse_fs_readlink +libfuse.so.2:fuse_fs_release +libfuse.so.2:fuse_fs_releasedir +libfuse.so.2:fuse_fs_removexattr +libfuse.so.2:fuse_fs_rename +libfuse.so.2:fuse_fs_rmdir +libfuse.so.2:fuse_fs_setxattr +libfuse.so.2:fuse_fs_statfs +libfuse.so.2:fuse_fs_symlink +libfuse.so.2:fuse_fs_truncate +libfuse.so.2:fuse_fs_unlink +libfuse.so.2:fuse_fs_utimens +libfuse.so.2:fuse_fs_write +libfuse.so.2:fuse_fs_write_buf +libfuse.so.2:fuse_get_context +libfuse.so.2:fuse_get_session +libfuse.so.2:fuse_getgroups +libfuse.so.2:fuse_interrupted +libfuse.so.2:fuse_invalidate +libfuse.so.2:fuse_is_lib_option +libfuse.so.2:fuse_kern_chan_new +libfuse.so.2:fuse_loop +libfuse.so.2:fuse_loop_mt +libfuse.so.2:fuse_loop_mt_proc +libfuse.so.2:fuse_lowlevel_is_lib_option +libfuse.so.2:fuse_lowlevel_new +libfuse.so.2:fuse_lowlevel_new_compat +libfuse.so.2:fuse_lowlevel_new_compat25 +libfuse.so.2:fuse_lowlevel_notify_delete +libfuse.so.2:fuse_lowlevel_notify_inval_entry +libfuse.so.2:fuse_lowlevel_notify_inval_inode +libfuse.so.2:fuse_lowlevel_notify_poll +libfuse.so.2:fuse_lowlevel_notify_retrieve +libfuse.so.2:fuse_lowlevel_notify_store +libfuse.so.2:fuse_main +libfuse.so.2:fuse_main_compat1 +libfuse.so.2:fuse_main_compat2 +libfuse.so.2:fuse_main_real +libfuse.so.2:fuse_main_real_compat22 +libfuse.so.2:fuse_main_real_compat25 +libfuse.so.2:fuse_mount +libfuse.so.2:fuse_mount_compat1 +libfuse.so.2:fuse_mount_compat22 +libfuse.so.2:fuse_mount_compat25 +libfuse.so.2:fuse_new +libfuse.so.2:fuse_new_compat1 +libfuse.so.2:fuse_new_compat2 +libfuse.so.2:fuse_new_compat22 +libfuse.so.2:fuse_new_compat25 +libfuse.so.2:fuse_notify_poll +libfuse.so.2:fuse_opt_add_arg +libfuse.so.2:fuse_opt_add_opt +libfuse.so.2:fuse_opt_add_opt_escaped +libfuse.so.2:fuse_opt_free_args +libfuse.so.2:fuse_opt_insert_arg +libfuse.so.2:fuse_opt_match +libfuse.so.2:fuse_opt_parse +libfuse.so.2:fuse_parse_cmdline +libfuse.so.2:fuse_pollhandle_destroy +libfuse.so.2:fuse_process_cmd +libfuse.so.2:fuse_read_cmd +libfuse.so.2:fuse_register_module +libfuse.so.2:fuse_remove_signal_handlers +libfuse.so.2:fuse_reply_attr +libfuse.so.2:fuse_reply_bmap +libfuse.so.2:fuse_reply_buf +libfuse.so.2:fuse_reply_create +libfuse.so.2:fuse_reply_data +libfuse.so.2:fuse_reply_entry +libfuse.so.2:fuse_reply_err +libfuse.so.2:fuse_reply_ioctl +libfuse.so.2:fuse_reply_ioctl_iov +libfuse.so.2:fuse_reply_ioctl_retry +libfuse.so.2:fuse_reply_iov +libfuse.so.2:fuse_reply_lock +libfuse.so.2:fuse_reply_none +libfuse.so.2:fuse_reply_open +libfuse.so.2:fuse_reply_open_compat +libfuse.so.2:fuse_reply_poll +libfuse.so.2:fuse_reply_readlink +libfuse.so.2:fuse_reply_statfs +libfuse.so.2:fuse_reply_statfs_compat +libfuse.so.2:fuse_reply_write +libfuse.so.2:fuse_reply_xattr +libfuse.so.2:fuse_req_ctx +libfuse.so.2:fuse_req_getgroups +libfuse.so.2:fuse_req_interrupt_func +libfuse.so.2:fuse_req_interrupted +libfuse.so.2:fuse_req_userdata +libfuse.so.2:fuse_session_add_chan +libfuse.so.2:fuse_session_data +libfuse.so.2:fuse_session_destroy +libfuse.so.2:fuse_session_exit +libfuse.so.2:fuse_session_exited +libfuse.so.2:fuse_session_loop +libfuse.so.2:fuse_session_loop_mt +libfuse.so.2:fuse_session_new +libfuse.so.2:fuse_session_next_chan +libfuse.so.2:fuse_session_process +libfuse.so.2:fuse_session_process_buf +libfuse.so.2:fuse_session_receive_buf +libfuse.so.2:fuse_session_remove_chan +libfuse.so.2:fuse_session_reset +libfuse.so.2:fuse_set_getcontext_func +libfuse.so.2:fuse_set_signal_handlers +libfuse.so.2:fuse_setup +libfuse.so.2:fuse_setup_compat2 +libfuse.so.2:fuse_setup_compat22 +libfuse.so.2:fuse_setup_compat25 +libfuse.so.2:fuse_start_cleanup_thread +libfuse.so.2:fuse_stop_cleanup_thread +libfuse.so.2:fuse_teardown +libfuse.so.2:fuse_teardown_compat22 +libfuse.so.2:fuse_unmount +libfuse.so.2:fuse_unmount_compat22 +libfuse.so.2:fuse_version +libulockmgr.so.1:ulockmgr_op Index: abi_used_libs =================================================================== --- /dev/null +++ abi_used_libs @@ -0,0 +1,3 @@ +libc.so.6 +libdl.so.2 +libpthread.so.0 Index: files/0001-fusermount-Support-a-stateless-configuration.patch =================================================================== --- /dev/null +++ files/0001-fusermount-Support-a-stateless-configuration.patch @@ -0,0 +1,95 @@ +From a50938bc42da56b8e49b57969d371c064207af36 Mon Sep 17 00:00:00 2001 +From: Pierre-Yves +Date: Tue, 24 Jul 2018 16:07:04 +0200 +Subject: [PATCH] fusermount: Support a stateless configuration + +Signed-off-by: Pierre-Yves +--- + util/fusermount.c | 25 +++++++++++++++++-------- + 1 file changed, 17 insertions(+), 8 deletions(-) + +diff --git a/util/fusermount.c b/util/fusermount.c +index 245aeea..e2f6d91 100644 +--- a/util/fusermount.c ++++ b/util/fusermount.c +@@ -38,6 +38,7 @@ + #define FUSE_DEV_NEW "/dev/fuse" + #define FUSE_VERSION_FILE_OLD "/proc/fs/fuse/version" + #define FUSE_CONF "/etc/fuse.conf" ++#define SYSTEM_FUSE_CONF "/usr/share/defaults/fuse/fuse.conf" + + #ifndef MS_DIRSYNC + #define MS_DIRSYNC 128 +@@ -527,7 +528,7 @@ static void strip_line(char *line) + memmove(line, s, strlen(s)+1); + } + +-static void parse_line(char *line, int linenum) ++static void parse_line(char *conf_file, char *line, int linenum) + { + int tmp; + if (strcmp(line, "user_allow_other") == 0) +@@ -537,12 +538,20 @@ static void parse_line(char *line, int linenum) + else if(line[0]) + fprintf(stderr, + "%s: unknown parameter in %s at line %i: '%s'\n", +- progname, FUSE_CONF, linenum, line); ++ progname, conf_file, linenum, line); + } + + static void read_conf(void) + { +- FILE *fp = fopen(FUSE_CONF, "r"); ++ const char *fuse_conf = NULL; ++ ++ if (access(FUSE_CONF, F_OK) == 0) { ++ fuse_conf = FUSE_CONF; ++ } else { ++ fuse_conf = SYSTEM_FUSE_CONF; ++ } ++ ++ FILE *fp = fopen(fuse_conf, "r"); + if (fp != NULL) { + int linenum = 1; + char line[256]; +@@ -551,12 +560,12 @@ static void read_conf(void) + if (isnewline) { + if (line[strlen(line)-1] == '\n') { + strip_line(line); +- parse_line(line, linenum); ++ parse_line(fuse_conf, line, linenum); + } else { + isnewline = 0; + } + } else if(line[strlen(line)-1] == '\n') { +- fprintf(stderr, "%s: reading %s: line %i too long\n", progname, FUSE_CONF, linenum); ++ fprintf(stderr, "%s: reading %s: line %i too long\n", progname, fuse_conf, linenum); + + isnewline = 1; + } +@@ -564,11 +573,11 @@ static void read_conf(void) + linenum ++; + } + if (!isnewline) { +- fprintf(stderr, "%s: reading %s: missing newline at end of file\n", progname, FUSE_CONF); ++ fprintf(stderr, "%s: reading %s: missing newline at end of file\n", progname, fuse_conf); + + } + if (ferror(fp)) { +- fprintf(stderr, "%s: reading %s: read failed\n", progname, FUSE_CONF); ++ fprintf(stderr, "%s: reading %s: read failed\n", progname, fuse_conf); + exit(1); + } + fclose(fp); +@@ -577,7 +586,7 @@ static void read_conf(void) + errno != ENAMETOOLONG && errno != ENOTDIR && + errno != EOVERFLOW); + fprintf(stderr, "%s: failed to open %s: %s\n", +- progname, FUSE_CONF, strerror(errno)); ++ progname, fuse_conf, strerror(errno)); + if (fatal) + exit(1); + } +-- +2.18.0 + Index: package.yml =================================================================== --- /dev/null +++ package.yml @@ -0,0 +1,22 @@ +name: fuse2 +version: 2.9.9 +release: 14 +source: + - https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz: d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5 +license: LGPL-2.0-only +component: system.utils +summary: File Systems in User Space +description: | + File Systems in User Space +rundeps: + - fuse-common +setup: | + sed -i 's|mknod|echo Disabled: mknod |g' util/Makefile.in + %patch -p1 < $pkgfiles/0001-fusermount-Support-a-stateless-configuration.patch + UDEV_RULES_PATH=%libdir%/udev/rules.d %configure --disable-static --enable-util +build: | + %make +install: | + %make_install + rmdir $installdir/dev + rm -rfv $installdir/etc/ Index: pspec_x86_64.xml =================================================================== --- /dev/null +++ pspec_x86_64.xml @@ -0,0 +1,69 @@ + + + fuse2 + + F. von Gellhorn + flinux@vongellhorn.ch + + LGPL-2.0-only + system.utils + File Systems in User Space + File Systems in User Space + + https://getsol.us/sources/README.Solus + + + fuse2 + File Systems in User Space + File Systems in User Space + + system.utils + + /sbin/mount.fuse + /usr/bin/fusermount + /usr/bin/ulockmgr_server + /usr/lib64/libfuse.so.2 + /usr/lib64/libfuse.so.2.9.9 + /usr/lib64/libulockmgr.so.1 + /usr/lib64/libulockmgr.so.1.0.1 + /usr/lib64/udev/rules.d/99-fuse.rules + /usr/share/man/man1/fusermount.1 + /usr/share/man/man1/ulockmgr_server.1 + /usr/share/man/man8/mount.fuse.8 + + + + fuse2-devel + Development files for fuse2 + File Systems in User Space + + programming.devel + + fuse2 + + + /usr/include/fuse.h + /usr/include/fuse/cuse_lowlevel.h + /usr/include/fuse/fuse.h + /usr/include/fuse/fuse_common.h + /usr/include/fuse/fuse_common_compat.h + /usr/include/fuse/fuse_compat.h + /usr/include/fuse/fuse_lowlevel.h + /usr/include/fuse/fuse_lowlevel_compat.h + /usr/include/fuse/fuse_opt.h + /usr/include/ulockmgr.h + /usr/lib64/libfuse.so + /usr/lib64/libulockmgr.so + /usr/lib64/pkgconfig/fuse.pc + + + + + 2021-01-22 + 2.9.9 + Packaging update + F. von Gellhorn + flinux@vongellhorn.ch + + + \ No newline at end of file