--- b/.github/workflows/ci.yml
+++ a/.github/workflows/ci.yml
@@ -33,7 +33,7 @@
DEBIAN_FRONTEND: noninteractive
run: |
apt-get update
+ apt-get -y install build-essential g++ autoconf autoconf-archive automake libtool libtorrent-rasterbar-dev libfuse-dev libcurl4-openssl-dev
- apt-get -y install build-essential g++ autoconf autoconf-archive automake libtool libtorrent-rasterbar-dev libfuse3-dev libcurl4-openssl-dev
- name: Build
run: |
autoreconf -i
--- b/README.md
+++ a/README.md
@@ -47,13 +47,13 @@
## Dependencies (on Linux)
+* fuse ("fuse" in Ubuntu 16.04)
+* libtorrent ("libtorrent-rasterbar8" in Ubuntu 16.04)
+* libcurl ("libcurl3" in Ubuntu 16.04)
-* fuse3 ("fuse3" in Ubuntu 22.04)
-* libtorrent ("libtorrent-rasterbar8" in Ubuntu 22.04)
-* libcurl ("libcurl4" in Ubuntu 22.04)
## Building from git on a recent Debian/Ubuntu
+ $ sudo apt-get install autoconf automake libfuse-dev libtorrent-rasterbar-dev libcurl4-openssl-dev g++
- $ sudo apt-get install autoconf automake libfuse3-dev libtorrent-rasterbar-dev libcurl4-openssl-dev g++
$ git clone https://github.com/johang/btfs.git btfs
$ cd btfs
$ autoreconf -i
@@ -68,7 +68,7 @@
Use [`brew`](https://brew.sh) to get the dependencies.
+ $ brew install Caskroom/cask/osxfuse libtorrent-rasterbar autoconf automake pkg-config
- $ brew install --cask macfuse libtorrent-rasterbar autoconf automake pkg-config
$ git clone https://github.com/johang/btfs.git btfs
$ cd btfs
$ autoreconf -i
--- b/configure.ac
+++ a/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.69])
+AC_INIT(btfs, 3.1, johan.gunnarsson@gmail.com, btfs, https://github.com/johang/btfs)
-AC_INIT([btfs],[3.1],[johan.gunnarsson@gmail.com],[btfs],[https://github.com/johang/btfs])
AC_CONFIG_SRCDIR([src/btfs.cc])
AM_INIT_AUTOMAKE
@@ -8,7 +8,7 @@
AC_PROG_CXX
# Checks for libraries.
+PKG_CHECK_MODULES(FUSE, fuse >= 2.8.0)
-PKG_CHECK_MODULES(FUSE, fuse3 >= 3.0)
PKG_CHECK_MODULES(LIBTORRENT, libtorrent-rasterbar >= 1.0.0)
PKG_CHECK_MODULES(LIBCURL, libcurl >= 7.22.0)
@@ -25,5 +25,4 @@
# Check if -latomic is needed.
AC_SEARCH_LIBS(__atomic_load, atomic)
+AC_OUTPUT(Makefile src/Makefile scripts/Makefile man/Makefile)
-AC_CONFIG_FILES([Makefile src/Makefile scripts/Makefile man/Makefile])
-AC_OUTPUT
--- b/src/btfs.cc
+++ a/src/btfs.cc
@@ -17,7 +17,7 @@
along with BTFS. If not, see .
*/
+#define FUSE_USE_VERSION 26
-#define FUSE_USE_VERSION 31
#include
#include
@@ -27,8 +27,7 @@
#include
#include
+#include
-#include
-#include
// The below pragma lines will silence lots of compiler warnings in the
// libtorrent headers file. Not btfs' fault.
@@ -421,9 +420,7 @@
}
static int
+btfs_getattr(const char *path, struct stat *stbuf) {
-btfs_getattr(const char *path, struct stat *stbuf,
- struct fuse_file_info *fi) {
- (void) fi;
if (!is_dir(path) && !is_file(path) && !is_root(path))
return -ENOENT;
@@ -468,9 +465,7 @@
static int
btfs_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
+ off_t offset, struct fuse_file_info *fi) {
- off_t offset, struct fuse_file_info *fi,
- enum fuse_readdir_flags flags) {
- (void)flags;
if (!is_dir(path) && !is_file(path) && !is_root(path))
return -ENOENT;
@@ -479,12 +474,12 @@
pthread_mutex_lock(&lock);
+ filler(buf, ".", NULL, 0);
+ filler(buf, "..", NULL, 0);
- filler(buf, ".", NULL, 0, (enum fuse_fill_dir_flags)0);
- filler(buf, "..", NULL, 0, (enum fuse_fill_dir_flags)0);
for (std::set::iterator i = dirs[path].begin();
i != dirs[path].end(); ++i) {
+ filler(buf, i->c_str(), NULL, 0);
- filler(buf, i->c_str(), NULL, 0, (enum fuse_fill_dir_flags)0);
}
pthread_mutex_unlock(&lock);
@@ -560,8 +555,7 @@
}
static void *
+btfs_init(struct fuse_conn_info *conn) {
-btfs_init(struct fuse_conn_info *conn,
- struct fuse_config *cfg) {
pthread_mutex_lock(&lock);
time_of_mount = time(NULL);