Thu Apr 18 04:02:27 2024 UTC (39d)
filesystems/fuse-s3fs: import fuse-s3fs-1.94 from wip
FUSE-based file system backed by Amazon S3. Mount a bucket as a local
file system read/write. Store files/folders natively and transparently.
(pho)
diff -r0 -r1.1 pkgsrc/filesystems/fuse-s3fs/DESCR
diff -r0 -r1.1 pkgsrc/filesystems/fuse-s3fs/Makefile
diff -r0 -r1.1 pkgsrc/filesystems/fuse-s3fs/PLIST
diff -r0 -r1.1 pkgsrc/filesystems/fuse-s3fs/distinfo
diff -r0 -r1.1 pkgsrc/filesystems/fuse-s3fs/patches/patch-configure.ac
diff -r0 -r1.1 pkgsrc/filesystems/fuse-s3fs/patches/patch-src_s3fs.cpp
diff -r0 -r1.1 pkgsrc/filesystems/fuse-s3fs/patches/patch-src_s3fs.h
diff -r0 -r1.1 pkgsrc/filesystems/fuse-s3fs/patches/patch-test_mknod__test.cc
FUSE-based file system backed by Amazon S3. Mount a bucket as a local
file system read/write. Store files/folders natively and transparently.
# $NetBSD: Makefile,v 1.1 2024/04/18 04:02:26 pho Exp $
DISTNAME= fuse-s3fs-${PKGVERSION}
PKGVERSION= 1.94
CATEGORIES= filesystems
MASTER_SITES= ${MASTER_SITE_GITHUB:=s3fs-fuse/}
GITHUB_PROJECT= s3fs-fuse
GITHUB_TAG= v${PKGVERSION}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://github.com/s3fs-fuse/s3fs-fuse
COMMENT= FUSE file-system and utilities for S3-compatible APIs
LICENSE= gnu-gpl-v2
GNU_CONFIGURE= yes
USE_LIBTOOL= yes
USE_LANGUAGES= c c++
USE_CXX_FEATURES= c++11
USE_TOOLS+= autoheader automake autoreconf gmake pkg-config
# configure.ac uses a non-standard option "-r" for date(1). "stat -f" is
# GNU-ism and "stat -t" is BSD-ism. There seems to be no portable way to do
# this! So always use gdate from coreutils.
USE_TOOLS+= date
TOOLS_PATH.date= ${TOOLBASE}/bin/gdate
TOOL_DEPENDS+= coreutils-[0-9]*:../../sysutils/coreutils
pre-configure:
cd ${WRKSRC} && autoreconf -fiv
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:Q}
.include "../../mk/fuse.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@comment $NetBSD: PLIST,v 1.1 2024/04/18 04:02:26 pho Exp $
bin/s3fs
man/man1/s3fs.1
$NetBSD: distinfo,v 1.1 2024/04/18 04:02:26 pho Exp $
BLAKE2s (fuse-s3fs-1.94.tar.gz) = ae5f3ffe65c07a16ceaeccb1658c51d332816f1da4d0eda3abb44ac4df6121ad
SHA512 (fuse-s3fs-1.94.tar.gz) = 1a29d4f0b73f844ea1d4ad6e0b36d601fb7ab5818af0a90564b77182564c04fbef308362a9a749038b17f28f07f79b6debb661610f69c039a405b931361abe9c
Size (fuse-s3fs-1.94.tar.gz) = 291170 bytes
SHA1 (patch-configure.ac) = d761cf011cccfc378458a65457d22ca656244e97
SHA1 (patch-src_s3fs.cpp) = 86a513c3e312761b2c4031196f5489f1c4e63209
SHA1 (patch-src_s3fs.h) = 93329f55fb01a77821c7d33bd3f799972ca75c19
SHA1 (patch-test_mknod__test.cc) = 5f03e8bd3a44c43f612cfb13a149c4322bd09035
$NetBSD: patch-configure.ac,v 1.1 2024/04/18 04:02:26 pho Exp $
Hunk #0:
See patch-src_s3fs.cpp.
TODO: Upstream this
Hunk #1:
Do not define _FORTIFY_SOURCE. pkgsrc automatically handle it.
This is pkgsrc-specific and is not eligible for upstreaming.
--- configure.ac.orig 2024-02-25 04:08:43.000000000 +0000
+++ configure.ac
@@ -32,9 +32,11 @@ AC_PROG_CC
AC_CHECK_HEADERS([sys/xattr.h])
AC_CHECK_HEADERS([attr/xattr.h])
AC_CHECK_HEADERS([sys/extattr.h])
+AC_CHECK_HEADERS([sys/wait.h])
+AC_CHECK_HEADERS([sys/sysmacros.h])
AC_CHECK_FUNCS([fallocate])
-CXXFLAGS="-Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=3 -std=c++11 $CXXFLAGS"
+CXXFLAGS="-Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -std=c++11 $CXXFLAGS"
dnl ----------------------------------------------
dnl For macOS
$NetBSD: patch-src_s3fs.cpp,v 1.1 2024/04/18 04:02:26 pho Exp $
Fix build on NetBSD: <sys/wait.h> is required for WIFEXITED()
TODO: Upstream this
--- src/s3fs.cpp.orig 2024-04-17 13:55:35.890317856 +0000
+++ src/s3fs.cpp
@@ -18,6 +18,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#include "config.h"
+
#include <algorithm>
#include <atomic>
#include <cerrno>
@@ -28,6 +30,9 @@
#include <unistd.h>
#include <dirent.h>
#include <sys/types.h>
+#if defined(HAVE_SYS_WAIT_H)
+# include <sys/wait.h>
+#endif
#include <getopt.h>
#include "common.h"
$NetBSD: patch-src_s3fs.h,v 1.1 2024/04/18 04:02:26 pho Exp $
Fix build with refuse(3): This is wrong. src/s3fs.cpp mentions struct
fuse_operations::flag_utime_omit_ok, which was introduced in FUSE 2.9.
TODO: Upstream this
--- src/s3fs.h.orig 2024-04-17 14:02:52.187432597 +0000
+++ src/s3fs.h
@@ -21,7 +21,7 @@
#ifndef S3FS_S3FS_H_
#define S3FS_S3FS_H_
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 29
#include <fuse.h>
$NetBSD: patch-test_mknod__test.cc,v 1.1 2024/04/18 04:02:26 pho Exp $
Fix build on NetBSD: <sys/sysmacros.h> doesn't exist on this OS.
TODO: Upstream this.
--- test/mknod_test.cc.orig 2024-04-17 14:07:06.018370712 +0000
+++ test/mknod_test.cc
@@ -18,6 +18,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#include "config.h"
+
#include <cerrno>
#include <cstdio>
#include <cstdlib>
@@ -26,8 +28,8 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
-#ifndef __APPLE__
-#include <sys/sysmacros.h>
+#if defined(HAVE_SYS_SYSMACROS_H)
+# include <sys/sysmacros.h>
#endif
//---------------------------------------------------------