- Update to 1.0
- Pass maintainership to submitter PR: 205617 Submitted by: Brendan Molloy
This commit is contained in:
parent
751a3143b3
commit
9705488d2b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=404945
7 changed files with 84 additions and 60 deletions
|
@ -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
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= rpodgorny
|
||||
GH_PROJECT= unionfs-fuse
|
||||
|
||||
SUB_FILES= pkg-message
|
||||
|
||||
PLIST_FILES= bin/unionfs \
|
||||
man/man8/unionfs-fuse.8.gz
|
||||
bin/unionfsctl \
|
||||
man/man8/unionfs.8.gz
|
||||
|
||||
USES= fuse cmake tar:xz
|
||||
|
||||
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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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 @@
|
||||
@@ -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
|
||||
|
||||
|
|
|
@ -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__
|
||||
#include <malloc.h>
|
||||
+#endif
|
||||
#include <pthread.h>
|
||||
#include <stdarg.h>
|
||||
--- 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
|
||||
|
||||
|
|
14
sysutils/fusefs-unionfs/files/pkg-message.in
Normal file
14
sysutils/fusefs-unionfs/files/pkg-message.in
Normal file
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue