aboutsummaryrefslogtreecommitdiff
path: root/sysutils/fusefs-unionfs
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2015-12-31 14:37:05 +0000
committerMartin Wilke <miwi@FreeBSD.org>2015-12-31 14:37:05 +0000
commit9705488d2b04bae72082bb795092fe5a57a22305 (patch)
treee8758e7a5e92ca9c139d14b5856422c8b50aa589 /sysutils/fusefs-unionfs
parent751a3143b38bcdf1aff833159fff1ebce5d9d694 (diff)
downloadports-9705488d2b04bae72082bb795092fe5a57a22305.tar.gz
ports-9705488d2b04bae72082bb795092fe5a57a22305.zip
- Update to 1.0
- Pass maintainership to submitter PR: 205617 Submitted by: Brendan Molloy
Notes
Notes: svn path=/head/; revision=404945
Diffstat (limited to 'sysutils/fusefs-unionfs')
-rw-r--r--sysutils/fusefs-unionfs/Makefile24
-rw-r--r--sysutils/fusefs-unionfs/distinfo4
-rw-r--r--sysutils/fusefs-unionfs/files/patch-CMakeLists.txt12
-rw-r--r--sysutils/fusefs-unionfs/files/patch-src__unionfs.c61
-rw-r--r--sysutils/fusefs-unionfs/files/patch-src__usyslog.c19
-rw-r--r--sysutils/fusefs-unionfs/files/pkg-message.in14
-rw-r--r--sysutils/fusefs-unionfs/pkg-descr8
7 files changed, 83 insertions, 59 deletions
diff --git a/sysutils/fusefs-unionfs/Makefile b/sysutils/fusefs-unionfs/Makefile
index 7fc8cbe46d17..5275215afc02 100644
--- a/sysutils/fusefs-unionfs/Makefile
+++ b/sysutils/fusefs-unionfs/Makefile
@@ -2,31 +2,33 @@
# $FreeBSD$
PORTNAME= unionfs
-PORTVERSION= 0.26
-PORTREVISION= 1
+PORTVERSION= 1.0
+DISTVERSIONPREFIX= v
CATEGORIES= sysutils
-MASTER_SITES= http://podgorny.cz/unionfs-fuse/releases/
PKGNAMEPREFIX= fusefs-
-DISTNAME= unionfs-fuse-${PORTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= brendan+freebsd@bbqsrc.net
COMMENT= FUSE based implementation of the well-known unionfs
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-PLIST_FILES= bin/unionfs \
- man/man8/unionfs-fuse.8.gz
+USE_GITHUB= yes
+GH_ACCOUNT= rpodgorny
+GH_PROJECT= unionfs-fuse
+
+SUB_FILES= pkg-message
-USES= fuse cmake tar:xz
+PLIST_FILES= bin/unionfs \
+ bin/unionfsctl \
+ man/man8/unionfs.8.gz
-CFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
+USES= fuse cmake localbase
post-patch:
@${REINPLACE_CMD} "s,share/man,man,g" ${WRKSRC}/man/CMakeLists.txt
post-install:
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*
.include <bsd.port.mk>
diff --git a/sysutils/fusefs-unionfs/distinfo b/sysutils/fusefs-unionfs/distinfo
index ace19a45eb1e..162d32834bc4 100644
--- a/sysutils/fusefs-unionfs/distinfo
+++ b/sysutils/fusefs-unionfs/distinfo
@@ -1,2 +1,2 @@
-SHA256 (unionfs-fuse-0.26.tar.xz) = 8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662
-SIZE (unionfs-fuse-0.26.tar.xz) = 38600
+SHA256 (rpodgorny-unionfs-fuse-v1.0_GH0.tar.gz) = 2ee80bd0634a61adb2159212e155d607a0a82ad659214ae6edb3530396cccc09
+SIZE (rpodgorny-unionfs-fuse-v1.0_GH0.tar.gz) = 48149
diff --git a/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt b/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt
index a61f5a4a6eea..107d85a0e259 100644
--- a/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt
+++ b/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- ./CMakeLists.txt.orig 2012-09-11 00:06:32.000000000 +0200
-+++ ./CMakeLists.txt 2013-07-24 16:54:01.550064323 +0200
-@@ -9,12 +9,6 @@
+--- 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)
@@ -10,6 +10,6 @@
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
-
- add_definitions(-D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26)
-
- option(WITH_XATTR "Enable support for extended attributes" OFF)
+ if (UNIX AND APPLE)
+ include_directories("/usr/local/include/osxfuse/fuse")
+ endif()
diff --git a/sysutils/fusefs-unionfs/files/patch-src__unionfs.c b/sysutils/fusefs-unionfs/files/patch-src__unionfs.c
index 859351cb25c7..6b9fcbd1afee 100644
--- a/sysutils/fusefs-unionfs/files/patch-src__unionfs.c
+++ b/sysutils/fusefs-unionfs/files/patch-src__unionfs.c
@@ -1,9 +1,24 @@
---- ./src/unionfs.c.orig 2012-09-11 00:06:32.000000000 +0200
-+++ ./src/unionfs.c 2013-07-24 16:54:01.555073796 +0200
-@@ -83,7 +83,11 @@
+--- src/unionfs.c.orig 2015-01-14 10:08:20 UTC
++++ src/unionfs.c
+@@ -65,6 +65,13 @@
+ #include "conf.h"
+ #include "uioctl.h"
+
++// Patch pushed upstream:
++// https://github.com/rpodgorny/unionfs-fuse/pull/40
++// Remove this as soon as pushed into a release.
++#ifdef IOCPARM_LEN
++#define _IOC_SIZE(nr) IOCPARM_LEN(nr)
++#endif
++
+ static struct fuse_opt unionfs_opts[] = {
+ FUSE_OPT_KEY("chroot=%s,", KEY_CHROOT),
+ FUSE_OPT_KEY("cow", KEY_COW),
+@@ -92,7 +99,12 @@ static int unionfs_chmod(const char *pat
char p[PATHLEN_MAX];
if (BUILD_PATH(p, uopt.branches[i].path, path)) RETURN(-ENAMETOOLONG);
++// Unsure of origin. Patch needs review.
+#if __FreeBSD__
+ int res = lchmod(p, mode);
+#else
@@ -12,29 +27,25 @@
if (res == -1) RETURN(-errno);
RETURN(0);
-@@ -190,7 +194,7 @@
- DBG("%s\n", path);
+@@ -671,6 +683,9 @@ static int unionfs_truncate(const char *
+ RETURN(0);
+ }
- if (uopt.stats_enabled && strcmp(path, STATS_FILENAME) == 0) {
-- memset(stbuf, 0, sizeof(stbuf));
-+ memset(stbuf, 0, sizeof(*stbuf));
- stbuf->st_mode = S_IFREG | 0444;
- stbuf->st_nlink = 1;
- stbuf->st_size = STATS_SIZE;
-@@ -663,7 +667,16 @@
- char p[PATHLEN_MAX];
- if (BUILD_PATH(p, uopt.branches[i].path, path)) RETURN(-ENAMETOOLONG);
++// Patch pushed upstream:
++// https://github.com/rpodgorny/unionfs-fuse/pull/39
++// Remove this as soon as pushed into a release.
+ static int unionfs_utimens(const char *path, const struct timespec ts[2]) {
+ DBG("%s\n", path);
-+#ifdef __FreeBSD__
-+ struct timeval tv[2];
-+ tv[0].tv_sec = ts[0].tv_sec;
+@@ -685,9 +700,9 @@ static int unionfs_utimens(const char *p
+ #else
+ struct timeval tv[2];
+ tv[0].tv_sec = ts[0].tv_sec;
+- tv[0].tv_usec = ts[0].tv_nsec * 1000;
+ tv[0].tv_usec = ts[0].tv_nsec / 1000;
-+ tv[1].tv_sec = ts[0].tv_sec;
-+ tv[1].tv_usec = ts[0].tv_nsec / 1000;
-+ int res = lutimes(p, tv);
-+#else
- int res = utimensat(0, p, ts, AT_SYMLINK_NOFOLLOW);
-+#endif
-
- if (res == -1) RETURN(-errno);
+ tv[1].tv_sec = ts[1].tv_sec;
+- tv[1].tv_usec = ts[1].tv_nsec * 1000;
++ tv[1].tv_usec = ts[1].tv_nsec / 1000;
+ int res = utimes(p, tv);
+ #endif
diff --git a/sysutils/fusefs-unionfs/files/patch-src__usyslog.c b/sysutils/fusefs-unionfs/files/patch-src__usyslog.c
index 1f625090702c..42f8ec61068b 100644
--- a/sysutils/fusefs-unionfs/files/patch-src__usyslog.c
+++ b/sysutils/fusefs-unionfs/files/patch-src__usyslog.c
@@ -1,12 +1,11 @@
---- ./src/usyslog.c.orig 2012-09-11 00:06:32.000000000 +0200
-+++ ./src/usyslog.c 2013-07-24 16:56:29.401473882 +0200
-@@ -20,7 +20,9 @@
- #include <string.h>
- #include <stdlib.h>
- #include <errno.h>
-+#ifndef __FreeBSD__
+--- 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
- #include <pthread.h>
- #include <stdarg.h>
+ #endif
diff --git a/sysutils/fusefs-unionfs/files/pkg-message.in b/sysutils/fusefs-unionfs/files/pkg-message.in
new file mode 100644
index 000000000000..69e13810a121
--- /dev/null
+++ b/sysutils/fusefs-unionfs/files/pkg-message.in
@@ -0,0 +1,14 @@
+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
diff --git a/sysutils/fusefs-unionfs/pkg-descr b/sysutils/fusefs-unionfs/pkg-descr
index 767af71c5dbf..761c324b9a30 100644
--- a/sysutils/fusefs-unionfs/pkg-descr
+++ b/sysutils/fusefs-unionfs/pkg-descr
@@ -1,6 +1,4 @@
-This is my effort to create a unionfs filesystem implementation which
-is probably slower but way more flexible than the current in-kernel
-unionfs solution. Currently it's almost fully usable, the only problem
-is new file/directory creation which I will fix soon...
+This is an effort to create a unionfs filesystem implementation which is way
+more flexible than the current in-kernel unionfs solution.
-WWW: http://podgorny.cz/moin/UnionFsFuse
+WWW: https://github.com/rpodgorny/unionfs-fuse