summaryrefslogtreecommitdiff
path: root/filesystems/unionfs
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2024-09-27 12:48:46 +0200
committerRobert Clausecker <fuz@FreeBSD.org>2024-11-06 16:17:35 +0100
commit6e2da9672f79f44048d597f0f61e4646cdeade9d (patch)
treec92e4b3158e3419e8cec38e00227d08dcdaab3e9 /filesystems/unionfs
parentmath/sdpa: speed up build (diff)
filesystems: add new category for file systems and related utilities
The filesystems category houses file systems and file system utilities. It is added mainly to turn the sysutils/fusefs-* pseudo-category into a proper one, but is also useful for the sundry of other file systems related ports found in the tree. Ports that seem like they belong there are moved to the new category. Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are not moved as they currently don't fetch and don't have TIMESTAMP set in their distinfo, but that is required to be able to push a rename of the port by the pre-receive hook. Approved by: portmgr (rene) Reviewed by: mat Pull Request: https://github.com/freebsd/freebsd-ports/pull/302 PR: 281988
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.