diff --git a/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt b/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..a61f5a4a6eea --- /dev/null +++ b/sysutils/fusefs-unionfs/files/patch-CMakeLists.txt @@ -0,0 +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 @@ + 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) diff --git a/sysutils/fusefs-unionfs/files/patch-src__unionfs.c b/sysutils/fusefs-unionfs/files/patch-src__unionfs.c new file mode 100644 index 000000000000..859351cb25c7 --- /dev/null +++ b/sysutils/fusefs-unionfs/files/patch-src__unionfs.c @@ -0,0 +1,40 @@ +--- ./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 @@ + char p[PATHLEN_MAX]; + if (BUILD_PATH(p, uopt.branches[i].path, path)) RETURN(-ENAMETOOLONG); + ++#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 @@ + 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; ++ 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); + diff --git a/sysutils/fusefs-unionfs/files/patch-src__usyslog.c b/sysutils/fusefs-unionfs/files/patch-src__usyslog.c new file mode 100644 index 000000000000..1f625090702c --- /dev/null +++ b/sysutils/fusefs-unionfs/files/patch-src__usyslog.c @@ -0,0 +1,12 @@ +--- ./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__ + #include ++#endif + #include + #include +