aboutsummaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2018-07-29 09:00:17 +0000
committerKurt Jaeger <pi@FreeBSD.org>2018-07-29 09:00:17 +0000
commit8ddc0f1be0d214bad9e410617c9202c5e504c434 (patch)
tree9a75f5c29f9d4aeb3480e4417bebeb5f5a28b7af /sysutils
parent4d77248c2c9217e065a3310376579819a26e66f6 (diff)
downloadports-8ddc0f1be0d214bad9e410617c9202c5e504c434.tar.gz
ports-8ddc0f1be0d214bad9e410617c9202c5e504c434.zip
New port: sysutils/fusefs-s3backer
s3backer is a filesystem that contains a single file backed by the Amazon Simple Storage Service (Amazon S3). As a filesystem, it is very simple: it provides a single normal file having a fixed size. Underneath, the file is divided up into blocks, and the content of each block is stored in a unique Amazon S3 object. In other words, what s3backer provides is really more like an S3-backed virtual hard disk device, rather than a filesystem. In typical usage, a normal filesystem is mounted on top of the file exported by the s3backer filesystem using a loopback mount (or disk image mount on Mac OS X). By not attempting to implement a complete filesystem, which is a complex undertaking and difficult to get right, s3backer can stay very lightweight and simple. Only three HTTP operations are used: GET, PUT, and DELETE. All of the experience and knowledge about how to properly implement filesystems that already exists can be reused. By utilizing existing filesystems atop s3backer, you get full UNIX filesystem semantics. Subtle bugs or missing functionality relating to hard links, extended attributes, POSIX locking, etc. are avoided. WWW: https://github.com/archiecobbs/s3backer PR: 229998 Submitted by: Kartikaya Gupta <bsdbugs@staktrace.com>
Notes
Notes: svn path=/head/; revision=475634
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/fusefs-s3backer/Makefile25
-rw-r--r--sysutils/fusefs-s3backer/distinfo3
-rw-r--r--sysutils/fusefs-s3backer/pkg-descr24
-rw-r--r--sysutils/fusefs-s3backer/pkg-plist7
5 files changed, 60 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 2eb7647a5bdc..dbdf269057aa 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -396,6 +396,7 @@
SUBDIR += fusefs-ntfs-compression
SUBDIR += fusefs-pod
SUBDIR += fusefs-rar2fs
+ SUBDIR += fusefs-s3backer
SUBDIR += fusefs-s3fs
SUBDIR += fusefs-simple-mtpfs
SUBDIR += fusefs-smbnetfs
diff --git a/sysutils/fusefs-s3backer/Makefile b/sysutils/fusefs-s3backer/Makefile
new file mode 100644
index 000000000000..24d8e145319f
--- /dev/null
+++ b/sysutils/fusefs-s3backer/Makefile
@@ -0,0 +1,25 @@
+# $FreeBSD$
+
+PORTNAME= s3backer
+DISTVERSION= 1.5.0
+CATEGORIES= sysutils
+MASTER_SITES= https://s3.amazonaws.com/archie-public/s3backer/
+PKGNAMEPREFIX= fusefs-
+
+MAINTAINER= bsdports@staktrace.com
+COMMENT= FUSE filesystem that uses Amazon S3 as a backing store
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libcurl.so:ftp/curl \
+ libexpat.so:textproc/expat2
+
+GNU_CONFIGURE= 1
+# Need to have curl/curl.h on the include path. Is there a better
+# way to do this than sending CPPFLAGS to configure?
+CONFIGURE_ARGS= CPPFLAGS="-I${LOCALBASE}/include"
+
+USES= fuse pkgconfig ssl
+
+.include <bsd.port.mk>
diff --git a/sysutils/fusefs-s3backer/distinfo b/sysutils/fusefs-s3backer/distinfo
new file mode 100644
index 000000000000..8b1e2cb984a0
--- /dev/null
+++ b/sysutils/fusefs-s3backer/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1532313795
+SHA256 (s3backer-1.5.0.tar.gz) = 82d93c54acb1e85828b6b80a06e69a99c7e06bf6ee025dac720e980590d220d2
+SIZE (s3backer-1.5.0.tar.gz) = 192317
diff --git a/sysutils/fusefs-s3backer/pkg-descr b/sysutils/fusefs-s3backer/pkg-descr
new file mode 100644
index 000000000000..50e8cd56d4a0
--- /dev/null
+++ b/sysutils/fusefs-s3backer/pkg-descr
@@ -0,0 +1,24 @@
+s3backer is a filesystem that contains a single file backed by the
+Amazon Simple Storage Service (Amazon S3). As a filesystem, it is
+very simple: it provides a single normal file having a fixed size.
+Underneath, the file is divided up into blocks, and the content of
+each block is stored in a unique Amazon S3 object. In other words,
+what s3backer provides is really more like an S3-backed virtual
+hard disk device, rather than a filesystem.
+
+In typical usage, a normal filesystem is mounted on top of the file
+exported by the s3backer filesystem using a loopback mount (or disk
+image mount on Mac OS X).
+
+By not attempting to implement a complete filesystem, which is a
+complex undertaking and difficult to get right, s3backer can stay
+very lightweight and simple. Only three HTTP operations are used:
+GET, PUT, and DELETE. All of the experience and knowledge about
+how to properly implement filesystems that already exists can be
+reused.
+
+By utilizing existing filesystems atop s3backer, you get full UNIX
+filesystem semantics. Subtle bugs or missing functionality relating
+to hard links, extended attributes, POSIX locking, etc. are avoided.
+
+WWW: https://github.com/archiecobbs/s3backer
diff --git a/sysutils/fusefs-s3backer/pkg-plist b/sysutils/fusefs-s3backer/pkg-plist
new file mode 100644
index 000000000000..80e8317c1613
--- /dev/null
+++ b/sysutils/fusefs-s3backer/pkg-plist
@@ -0,0 +1,7 @@
+bin/s3backer
+man/man1/s3backer.1.gz
+share/doc/packages/s3backer/CHANGES
+share/doc/packages/s3backer/COPYING
+share/doc/packages/s3backer/INSTALL
+share/doc/packages/s3backer/README
+share/doc/packages/s3backer/TODO