summaryrefslogtreecommitdiff
path: root/filesystems/unionfs
diff options
context:
space:
mode:
Diffstat (limited to 'filesystems/unionfs')
-rw-r--r--filesystems/unionfs/Makefile38
-rw-r--r--filesystems/unionfs/distinfo3
-rw-r--r--filesystems/unionfs/files/patch-CMakeLists.txt15
-rw-r--r--filesystems/unionfs/files/patch-src__usyslog.c11
-rw-r--r--filesystems/unionfs/files/pkg-message.in20
-rw-r--r--filesystems/unionfs/pkg-descr2
6 files changed, 89 insertions, 0 deletions
diff --git a/filesystems/unionfs/Makefile b/filesystems/unionfs/Makefile
new file mode 100644
index 000000000000..4db9d90fc34c
--- /dev/null
+++ b/filesystems/unionfs/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= unionfs
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.2
+CATEGORIES= filesystems
+PKGNAMEPREFIX= fusefs-
+
+MAINTAINER= 0mp@FreeBSD.org
+COMMENT= FUSE based implementation of the well-known unionfs
+WWW= https://github.com/rpodgorny/unionfs-fuse
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR}
+
+USES= cmake fuse localbase:ldflags python:test
+
+USE_GITHUB= yes
+GH_ACCOUNT= rpodgorny
+GH_PROJECT= unionfs-fuse
+
+SUB_FILES= pkg-message
+
+PLIST_FILES= bin/unionfs \
+ bin/unionfsctl \
+ share/man/man8/unionfs.8.gz
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*
+
+pre-test:
+ ${RLN} ${BUILD_WRKSRC}/src/unionfs ${WRKSRC}/src/unionfs
+ ${RLN} ${BUILD_WRKSRC}/src/unionfsctl ${WRKSRC}/src/unionfsctl
+
+do-test:
+ cd ${WRKSRC} && ${SETNEV} ${MAKE_ENV} ${PYTHON_CMD} -m pytest -k test_help --verbose
+
+.include <bsd.port.mk>
diff --git a/filesystems/unionfs/distinfo b/filesystems/unionfs/distinfo
new file mode 100644
index 000000000000..de0face115d1
--- /dev/null
+++ b/filesystems/unionfs/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1635114774
+SHA256 (rpodgorny-unionfs-fuse-v2.2_GH0.tar.gz) = 248a0fee9979146b79b05fc728621869da5936c1f43a27e36e7515b301817e43
+SIZE (rpodgorny-unionfs-fuse-v2.2_GH0.tar.gz) = 47955
diff --git a/filesystems/unionfs/files/patch-CMakeLists.txt b/filesystems/unionfs/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..107d85a0e259
--- /dev/null
+++ b/filesystems/unionfs/files/patch-CMakeLists.txt
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig 2015-01-14 10:08:20 UTC
++++ CMakeLists.txt
+@@ -9,12 +9,6 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT
+ SET(CMAKE_BUILD_TYPE RelWithDebInfo)
+ ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
+
+-# Select flags.
+-SET(CMAKE_C_FLAGS "-pipe -W -Wall -DFORTIFY_SOURCE=2")
+-SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
+-SET(CMAKE_C_FLAGS_RELEASE "-O2")
+-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
+-
+ if (UNIX AND APPLE)
+ include_directories("/usr/local/include/osxfuse/fuse")
+ endif()
diff --git a/filesystems/unionfs/files/patch-src__usyslog.c b/filesystems/unionfs/files/patch-src__usyslog.c
new file mode 100644
index 000000000000..42f8ec61068b
--- /dev/null
+++ b/filesystems/unionfs/files/patch-src__usyslog.c
@@ -0,0 +1,11 @@
+--- src/usyslog.c.orig 2015-01-14 10:08:20 UTC
++++ src/usyslog.c
+@@ -23,7 +23,7 @@
+
+ #if __APPLE__
+ #include <malloc/malloc.h>
+-#else
++#elif !defined(__FreeBSD__)
+ #include <malloc.h>
+ #endif
+
diff --git a/filesystems/unionfs/files/pkg-message.in b/filesystems/unionfs/files/pkg-message.in
new file mode 100644
index 000000000000..4859a839c805
--- /dev/null
+++ b/filesystems/unionfs/files/pkg-message.in
@@ -0,0 +1,20 @@
+[
+{ type: install
+ message: <<EOM
+You will need to load the kernel module 'fuse' to use this package. To load
+this at boot time, add the following line to /boot/loader.conf:
+
+fuse_load="YES"
+
+If you want unprivileged users to be able to use unionfs, add the following
+line to /etc/sysctl.conf:
+
+vfs.usermount=1
+
+You can enable them immediately with:
+
+kldload fuse
+sysctl vfs.usermount=1
+EOM
+}
+]
diff --git a/filesystems/unionfs/pkg-descr b/filesystems/unionfs/pkg-descr
new file mode 100644
index 000000000000..850c1a069c5a
--- /dev/null
+++ b/filesystems/unionfs/pkg-descr
@@ -0,0 +1,2 @@
+This is an effort to create a unionfs filesystem implementation which is way
+more flexible than the current in-kernel unionfs solution.