Index: head/sysutils/fusefs-unionfs/Makefile =================================================================== --- head/sysutils/fusefs-unionfs/Makefile (revision 404944) +++ head/sysutils/fusefs-unionfs/Makefile (revision 404945) @@ -1,32 +1,34 @@ # Created by: Gea-Suan Lin # $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 -USES= fuse cmake tar:xz +SUB_FILES= pkg-message -CFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib +PLIST_FILES= bin/unionfs \ + bin/unionfsctl \ + man/man8/unionfs.8.gz +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 Index: head/sysutils/fusefs-unionfs/distinfo =================================================================== --- head/sysutils/fusefs-unionfs/distinfo (revision 404944) +++ head/sysutils/fusefs-unionfs/distinfo (revision 404945) @@ -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 Index: head/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt =================================================================== --- head/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt (revision 404944) +++ head/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt (revision 404945) @@ -1,15 +1,15 @@ ---- ./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) -# 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") - - 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() Index: head/sysutils/fusefs-unionfs/files/patch-src__unionfs.c =================================================================== --- head/sysutils/fusefs-unionfs/files/patch-src__unionfs.c (revision 404944) +++ head/sysutils/fusefs-unionfs/files/patch-src__unionfs.c (revision 404945) @@ -1,40 +1,51 @@ ---- ./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 int res = chmod(p, mode); +#endif if (res == -1) RETURN(-errno); RETURN(0); -@@ -190,7 +194,7 @@ +@@ -671,6 +683,9 @@ static int unionfs_truncate(const char * + RETURN(0); + } + ++// 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); - 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); - -+#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 Index: head/sysutils/fusefs-unionfs/files/patch-src__usyslog.c =================================================================== --- head/sysutils/fusefs-unionfs/files/patch-src__usyslog.c (revision 404944) +++ head/sysutils/fusefs-unionfs/files/patch-src__usyslog.c (revision 404945) @@ -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 - #include - #include -+#ifndef __FreeBSD__ +--- src/usyslog.c.orig 2015-01-14 10:08:20 UTC ++++ src/usyslog.c +@@ -23,7 +23,7 @@ + + #if __APPLE__ + #include +-#else ++#elif !defined(__FreeBSD__) #include -+#endif - #include - #include + #endif Index: head/sysutils/fusefs-unionfs/files/pkg-message.in =================================================================== --- head/sysutils/fusefs-unionfs/files/pkg-message.in (nonexistent) +++ head/sysutils/fusefs-unionfs/files/pkg-message.in (revision 404945) @@ -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 Property changes on: head/sysutils/fusefs-unionfs/files/pkg-message.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/sysutils/fusefs-unionfs/pkg-descr =================================================================== --- head/sysutils/fusefs-unionfs/pkg-descr (revision 404944) +++ head/sysutils/fusefs-unionfs/pkg-descr (revision 404945) @@ -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