aboutsummaryrefslogtreecommitdiffstats
path: root/main/zfs
diff options
context:
space:
mode:
Diffstat (limited to 'main/zfs')
-rw-r--r--main/zfs/0001-Use-the-correct-macro-to-include-backtrace.patch42
-rw-r--r--main/zfs/0002-Include-sys-types.h-in-devid.h.patch29
-rw-r--r--main/zfs/0003-Add-missing-fcntl.h-to-includes-in-mount_zfs.c.patch29
-rw-r--r--main/zfs/0004-Ensure-correct-return-value-type.patch30
-rw-r--r--main/zfs/0005-Set-_DATE_FMT-to-if-not-defined-in-libspl-timestamp..patch31
-rw-r--r--main/zfs/0006-Move-hrtime_t-timestruc_t-and-timespec_t.patch52
-rw-r--r--main/zfs/0007-Remove-complicated-libspl-assert-wrappers.patch159
-rw-r--r--main/zfs/0008-Add-support-for-libtirpc.patch331
-rw-r--r--main/zfs/0009-Add-support-for-alpine-linux.patch122
-rw-r--r--main/zfs/APKBUILD28
10 files changed, 5 insertions, 848 deletions
diff --git a/main/zfs/0001-Use-the-correct-macro-to-include-backtrace.patch b/main/zfs/0001-Use-the-correct-macro-to-include-backtrace.patch
deleted file mode 100644
index aaae11f58a..0000000000
--- a/main/zfs/0001-Use-the-correct-macro-to-include-backtrace.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From b8fd863517ae6dba1f4bdf225f45b97eb913e09e Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Tue, 1 Mar 2016 15:23:09 +0100
-Subject: [PATCH 1/8] Use the correct macro to include backtrace
-
-execinfo.h and backtrace() are GNU extensions provided by glibc
-and not by gcc, see:
-
-http://www.gnu.org/software/libc/manual/html_mono/libc.html#Backtraces
-
-Signed-off-by: Carlo Landmeter <clandmeter@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #4453
----
- cmd/ztest/ztest.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cmd/ztest/ztest.c b/cmd/ztest/ztest.c
-index afe6faa..40524ed 100644
---- a/cmd/ztest/ztest.c
-+++ b/cmd/ztest/ztest.c
-@@ -123,7 +123,7 @@
- #include <math.h>
- #include <sys/fs/zfs.h>
- #include <libnvpair.h>
--#ifdef __GNUC__
-+#ifdef __GLIBC__
- #include <execinfo.h> /* for backtrace() */
- #endif
-
-@@ -490,7 +490,7 @@ _umem_logging_init(void)
- static void sig_handler(int signo)
- {
- struct sigaction action;
--#ifdef __GNUC__ /* backtrace() is a GNU extension */
-+#ifdef __GLIBC__ /* backtrace() is a GNU extension */
- int nptrs;
- void *buffer[BACKTRACE_SZ];
-
---
-2.7.4
-
diff --git a/main/zfs/0002-Include-sys-types.h-in-devid.h.patch b/main/zfs/0002-Include-sys-types.h-in-devid.h.patch
deleted file mode 100644
index 350d2cb6ba..0000000000
--- a/main/zfs/0002-Include-sys-types.h-in-devid.h.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 38cab4ba7bdeee22a114bcb09665be980a5b1f39 Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Tue, 1 Mar 2016 15:56:26 +0100
-Subject: [PATCH 2/8] Include sys/types.h in devid.h
-
-This is needed for musl libc
-
-Signed-off-by: Carlo Landmeter <clandmeter@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #4454
----
- lib/libspl/include/devid.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/libspl/include/devid.h b/lib/libspl/include/devid.h
-index 5406c33..4b346da 100644
---- a/lib/libspl/include/devid.h
-+++ b/lib/libspl/include/devid.h
-@@ -27,6 +27,7 @@
- #ifndef _LIBSPL_DEVID_H
- #define _LIBSPL_DEVID_H
-
-+#include <sys/types.h>
- #include <stdlib.h>
-
- typedef int ddi_devid_t;
---
-2.7.4
-
diff --git a/main/zfs/0003-Add-missing-fcntl.h-to-includes-in-mount_zfs.c.patch b/main/zfs/0003-Add-missing-fcntl.h-to-includes-in-mount_zfs.c.patch
deleted file mode 100644
index 87ccb78874..0000000000
--- a/main/zfs/0003-Add-missing-fcntl.h-to-includes-in-mount_zfs.c.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 401951765dcf49c5a993280bf6a93b89c7f01bb8 Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Fri, 25 Mar 2016 20:47:03 +0100
-Subject: [PATCH 3/8] Add missing fcntl.h to includes in mount_zfs.c
-
-This is needed for musl libc
-
-Signed-off-by: Carlo Landmeter <clandmeter@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #4456
----
- cmd/mount_zfs/mount_zfs.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/cmd/mount_zfs/mount_zfs.c b/cmd/mount_zfs/mount_zfs.c
-index bd860cb..a939744 100644
---- a/cmd/mount_zfs/mount_zfs.c
-+++ b/cmd/mount_zfs/mount_zfs.c
-@@ -33,6 +33,7 @@
- #include <libzfs.h>
- #include <locale.h>
- #include <getopt.h>
-+#include <fcntl.h>
-
- #define ZS_COMMENT 0x00000000 /* comment */
- #define ZS_ZFSUTIL 0x00000001 /* caller is zfs(8) */
---
-2.7.4
-
diff --git a/main/zfs/0004-Ensure-correct-return-value-type.patch b/main/zfs/0004-Ensure-correct-return-value-type.patch
deleted file mode 100644
index 9897864c02..0000000000
--- a/main/zfs/0004-Ensure-correct-return-value-type.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8fb2f7092f5188d6ad42f0f66049568e49c8e7c8 Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Tue, 1 Mar 2016 15:32:52 +0100
-Subject: [PATCH 4/8] Ensure correct return value type
-
-When compiling with musl libc the return type will be incorrect.
-
-Signed-off-by: Carlo Landmeter <clandmeter@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #4454
----
- include/sys/zfs_context.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h
-index 4f7e328..78e33e1 100644
---- a/include/sys/zfs_context.h
-+++ b/include/sys/zfs_context.h
-@@ -623,7 +623,7 @@ extern void delay(clock_t ticks);
- #define maxclsyspri -20
- #define defclsyspri 0
-
--#define CPU_SEQID (pthread_self() & (max_ncpus - 1))
-+#define CPU_SEQID ((uintptr_t)pthread_self() & (max_ncpus - 1))
-
- #define kcred NULL
- #define CRED() NULL
---
-2.7.4
-
diff --git a/main/zfs/0005-Set-_DATE_FMT-to-if-not-defined-in-libspl-timestamp..patch b/main/zfs/0005-Set-_DATE_FMT-to-if-not-defined-in-libspl-timestamp..patch
deleted file mode 100644
index 37c5a33ffd..0000000000
--- a/main/zfs/0005-Set-_DATE_FMT-to-if-not-defined-in-libspl-timestamp..patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f8c3aff70bbea57527ee301c16b94dcc8adc4cc9 Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Tue, 1 Mar 2016 16:23:12 +0100
-Subject: [PATCH 5/8] Set _DATE_FMT to '%+' if not defined in
- libspl/timestamp.c
-
-Signed-off-by: Carlo Landmeter <clandmeter@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #4458
----
- lib/libspl/timestamp.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/lib/libspl/timestamp.c b/lib/libspl/timestamp.c
-index a4f4cf4..e2838da 100644
---- a/lib/libspl/timestamp.c
-+++ b/lib/libspl/timestamp.c
-@@ -28,6 +28,10 @@
- #include <langinfo.h>
- #include "statcommon.h"
-
-+#ifndef _DATE_FMT
-+#define _DATE_FMT "%+"
-+#endif
-+
- /*
- * Print timestamp as decimal reprentation of time_t value (-T u was specified)
- * or in date(1) format (-T d was specified).
---
-2.7.4
-
diff --git a/main/zfs/0006-Move-hrtime_t-timestruc_t-and-timespec_t.patch b/main/zfs/0006-Move-hrtime_t-timestruc_t-and-timespec_t.patch
deleted file mode 100644
index ac844dda62..0000000000
--- a/main/zfs/0006-Move-hrtime_t-timestruc_t-and-timespec_t.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From d4ad14173906db278937a8779dc608a3e155727e Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Fri, 25 Mar 2016 13:21:53 +0100
-Subject: [PATCH 6/8] Move hrtime_t timestruc_t and timespec_t
-
-hrtime_t timestruc_t and timespec_t should have originally been
-included in sys/time.h so lets move them.
-
-longlong_t is not defined by any standard so change it to long long
-
-Signed-off-by: Carlo Landmeter <clandmeter@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #4459
----
- lib/libspl/include/sys/time.h | 5 +++++
- lib/libspl/include/sys/types.h | 4 ----
- 2 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/lib/libspl/include/sys/time.h b/lib/libspl/include/sys/time.h
-index f0da440..03da3f7 100644
---- a/lib/libspl/include/sys/time.h
-+++ b/lib/libspl/include/sys/time.h
-@@ -58,6 +58,11 @@
- #define NSEC2MSEC(n) ((n) / (NANOSEC / MILLISEC))
- #endif
-
-+typedef long long hrtime_t;
-+typedef struct timespec timestruc_t;
-+typedef struct timespec timespec_t;
-+
-+
- extern hrtime_t gethrtime(void);
- extern void gethrestime(timestruc_t *);
-
-diff --git a/lib/libspl/include/sys/types.h b/lib/libspl/include/sys/types.h
-index 25d56be..8996af9 100644
---- a/lib/libspl/include/sys/types.h
-+++ b/lib/libspl/include/sys/types.h
-@@ -55,10 +55,6 @@ typedef longlong_t diskaddr_t;
- typedef ulong_t pgcnt_t; /* number of pages */
- typedef long spgcnt_t; /* signed number of pages */
-
--typedef longlong_t hrtime_t;
--typedef struct timespec timestruc_t;
--typedef struct timespec timespec_t;
--
- typedef short pri_t;
-
- typedef int zoneid_t;
---
-2.7.4
-
diff --git a/main/zfs/0007-Remove-complicated-libspl-assert-wrappers.patch b/main/zfs/0007-Remove-complicated-libspl-assert-wrappers.patch
deleted file mode 100644
index 74e8a747c6..0000000000
--- a/main/zfs/0007-Remove-complicated-libspl-assert-wrappers.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-From bd123ed53786910cfdcfa7f3a983a268a5951fb0 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <behlendorf1@llnl.gov>
-Date: Tue, 1 Mar 2016 15:45:43 +0100
-Subject: [PATCH 7/8] Remove complicated libspl assert wrappers
-
-Effectively provide our own version of assert()/verify() for use
-in user space. This minimizes our dependencies and aligns the
-user space assertion handling with what's used in the kernel.
-
-Signed-off-by: Carlo Landmeter <clandmeter@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #4449
----
- include/libzfs_impl.h | 5 ---
- lib/libspl/include/assert.h | 82 ++++++++++++++++++++-------------------------
- 2 files changed, 36 insertions(+), 51 deletions(-)
-
-diff --git a/include/libzfs_impl.h b/include/libzfs_impl.h
-index e805e3e..ff02fa7 100644
---- a/include/libzfs_impl.h
-+++ b/include/libzfs_impl.h
-@@ -46,11 +46,6 @@
- extern "C" {
- #endif
-
--#ifdef VERIFY
--#undef VERIFY
--#endif
--#define VERIFY verify
--
- typedef struct libzfs_fru {
- char *zf_device;
- char *zf_fru;
-diff --git a/lib/libspl/include/assert.h b/lib/libspl/include/assert.h
-index 52924e8..6226872 100644
---- a/lib/libspl/include/assert.h
-+++ b/lib/libspl/include/assert.h
-@@ -32,68 +32,54 @@
- #include <stdio.h>
- #include <stdlib.h>
-
--#ifndef __assert_c99
--static inline void
--__assert_c99(const char *expr, const char *file, int line, const char *func)
-+static inline int
-+libspl_assert(const char *buf, const char *file, const char *func, int line)
- {
-- fprintf(stderr, "%s:%i: %s: Assertion `%s` failed.\n",
-- file, line, func, expr);
-+ fprintf(stderr, "%s\n", buf);
-+ fprintf(stderr, "ASSERT at %s:%d:%s()", file, line, func);
- abort();
- }
--#endif /* __assert_c99 */
--
--#ifndef verify
--#if defined(__STDC__)
--#if __STDC_VERSION__ - 0 >= 199901L
--#define verify(EX) (void)((EX) || \
-- (__assert_c99(#EX, __FILE__, __LINE__, __func__), 0))
--#else
--#define verify(EX) (void)((EX) || (__assert(#EX, __FILE__, __LINE__), 0))
--#endif /* __STDC_VERSION__ - 0 >= 199901L */
--#else
--#define verify(EX) (void)((EX) || (_assert("EX", __FILE__, __LINE__), 0))
--#endif /* __STDC__ */
--#endif /* verify */
--
--#undef VERIFY
--#undef ASSERT
-
--#define VERIFY verify
--#define ASSERT assert
-+#ifdef verify
-+#undef verify
-+#endif
-
--extern void __assert(const char *, const char *, int);
-+#define VERIFY(cond) \
-+ (void) ((!(cond)) && \
-+ libspl_assert(#cond, __FILE__, __FUNCTION__, __LINE__))
-+#define verify(cond) \
-+ (void) ((!(cond)) && \
-+ libspl_assert(#cond, __FILE__, __FUNCTION__, __LINE__))
-
--static inline int
--assfail(const char *buf, const char *file, int line)
--{
-- __assert(buf, file, line);
-- return (0);
--}
--
--/* BEGIN CSTYLED */
--#define VERIFY3_IMPL(LEFT, OP, RIGHT, TYPE) do { \
-- const TYPE __left = (TYPE)(LEFT); \
-- const TYPE __right = (TYPE)(RIGHT); \
-- if (!(__left OP __right)) { \
-- char *__buf = alloca(256); \
-- (void) snprintf(__buf, 256, "%s %s %s (0x%llx %s 0x%llx)", \
-- #LEFT, #OP, #RIGHT, \
-- (u_longlong_t)__left, #OP, (u_longlong_t)__right); \
-- assfail(__buf, __FILE__, __LINE__); \
-- } \
-+#define VERIFY3_IMPL(LEFT, OP, RIGHT, TYPE) \
-+do { \
-+ const TYPE __left = (TYPE)(LEFT); \
-+ const TYPE __right = (TYPE)(RIGHT); \
-+ if (!(__left OP __right)) { \
-+ char *__buf = alloca(256); \
-+ (void) snprintf(__buf, 256, \
-+ "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \
-+ (u_longlong_t)__left, #OP, (u_longlong_t)__right); \
-+ libspl_assert(__buf, __FILE__, __FUNCTION__, __LINE__); \
-+ } \
- } while (0)
--/* END CSTYLED */
-
- #define VERIFY3S(x, y, z) VERIFY3_IMPL(x, y, z, int64_t)
- #define VERIFY3U(x, y, z) VERIFY3_IMPL(x, y, z, uint64_t)
- #define VERIFY3P(x, y, z) VERIFY3_IMPL(x, y, z, uintptr_t)
- #define VERIFY0(x) VERIFY3_IMPL(x, ==, 0, uint64_t)
-
-+#ifdef assert
-+#undef assert
-+#endif
-+
- #ifdef NDEBUG
- #define ASSERT3S(x, y, z) ((void)0)
- #define ASSERT3U(x, y, z) ((void)0)
- #define ASSERT3P(x, y, z) ((void)0)
- #define ASSERT0(x) ((void)0)
-+#define ASSERT(x) ((void)0)
-+#define assert(x) ((void)0)
- #define ASSERTV(x)
- #define IMPLY(A, B) ((void)0)
- #define EQUIV(A, B) ((void)0)
-@@ -102,13 +88,17 @@ assfail(const char *buf, const char *file, int line)
- #define ASSERT3U(x, y, z) VERIFY3U(x, y, z)
- #define ASSERT3P(x, y, z) VERIFY3P(x, y, z)
- #define ASSERT0(x) VERIFY0(x)
-+#define ASSERT(x) VERIFY(x)
-+#define assert(x) VERIFY(x)
- #define ASSERTV(x) x
- #define IMPLY(A, B) \
- ((void)(((!(A)) || (B)) || \
-- assfail("(" #A ") implies (" #B ")", __FILE__, __LINE__)))
-+ libspl_assert("(" #A ") implies (" #B ")", \
-+ __FILE__, __FUNCTION__, __LINE__)))
- #define EQUIV(A, B) \
- ((void)((!!(A) == !!(B)) || \
-- assfail("(" #A ") is equivalent to (" #B ")", __FILE__, __LINE__)))
-+ libspl_assert("(" #A ") is equivalent to (" #B ")", \
-+ __FILE__, __FUNCTION__, __LINE__)))
-
- #endif /* NDEBUG */
-
---
-2.7.4
-
diff --git a/main/zfs/0008-Add-support-for-libtirpc.patch b/main/zfs/0008-Add-support-for-libtirpc.patch
deleted file mode 100644
index 4849871483..0000000000
--- a/main/zfs/0008-Add-support-for-libtirpc.patch
+++ /dev/null
@@ -1,331 +0,0 @@
-From 6f8aad51a7ef24ea614184f8ef801852b25357a1 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <behlendorf1@llnl.gov>
-Date: Tue, 26 Apr 2016 17:24:41 -0700
-Subject: [PATCH 8/8] Add support for libtirpc
-
-While OpenSolaris libc and glibc both include XDR support, the musl libc
-does not in favor of depending on the BSD-licensed libtirpc library.
-
-Adding support is a simple matter of detecting the library, including
-the headers and linking against it. By default libtirpc will be checked
-for and if available used. Otherwise, configure will fall back to using
-the xdr implementation provided by libc if available. The options
---with-tirpc/--without-tirpc can be used to disable this checking.
-
-In addition, the xdr_control() function has been simplied to only
-handle ZFSs specific use case.
-
-Original-patch-by: stf <s@ctrlc.hu>
-Original-patch-by: Richard Yao <ryao@gentoo.org>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Signed-off-by: Signed-off-by: Carlo Landmeter <clandmeter@gmail.com>
-Closes #2254
-Closes #4559
----
- config/user-libtirpc.m4 | 30 ++++++++++++++
- config/user.m4 | 1 +
- lib/libnvpair/Makefile.am | 6 +--
- lib/libnvpair/nvpair_alloc_system.c | 1 +
- lib/libspl/Makefile.am | 1 -
- lib/libspl/include/rpc/Makefile.am | 1 -
- lib/libspl/include/rpc/types.h | 32 ---------------
- lib/libspl/include/rpc/xdr.h | 43 ++++++++++++--------
- lib/libspl/xdr.c | 78 -------------------------------------
- 9 files changed, 61 insertions(+), 132 deletions(-)
- create mode 100644 config/user-libtirpc.m4
- delete mode 100644 lib/libspl/include/rpc/types.h
- delete mode 100644 lib/libspl/xdr.c
-
-diff --git a/config/user-libtirpc.m4 b/config/user-libtirpc.m4
-new file mode 100644
-index 0000000..5f92906
---- /dev/null
-+++ b/config/user-libtirpc.m4
-@@ -0,0 +1,30 @@
-+dnl #
-+dnl # Check for libtirpc - may be needed for xdr functionality
-+dnl #
-+AC_DEFUN([ZFS_AC_CONFIG_USER_LIBTIRPC], [
-+ AC_ARG_WITH([tirpc],
-+ [AS_HELP_STRING([--with-tirpc],
-+ [use tirpc for xdr encoding @<:@default=check@:>@])],
-+ [],
-+ [with_tirpc=check])
-+
-+ LIBTIRPC=
-+ LIBTIRPC_CFLAGS=
-+
-+ AS_IF([test "x$with_tirpc" != xno],
-+ [AC_CHECK_LIB([tirpc], [xdrmem_create],
-+ [AC_SUBST([LIBTIRPC], [-ltirpc])
-+ AC_SUBST([LIBTIRPC_CFLAGS], [-I/usr/include/tirpc])
-+ AC_DEFINE([HAVE_LIBTIRPC], [1], [Define if you have libtirpc])
-+ ],
-+ [if test "x$with_tirpc" != xcheck; then
-+ AC_MSG_FAILURE(
-+ [--with-tirpc was given, but test for tirpc failed])
-+ fi
-+ AC_SEARCH_LIBS([xdrmem_create], [tirpc], [], [
-+ AC_MSG_FAILURE([xdrmem_create() requires tirpc or libc])])
-+ ])],
-+ [AC_SEARCH_LIBS([xdrmem_create], [tirpc], [], [
-+ AC_MSG_FAILURE([xdrmem_create() requires libc])])
-+ ])
-+])
-diff --git a/config/user.m4 b/config/user.m4
-index 7f79420..7213e61 100644
---- a/config/user.m4
-+++ b/config/user.m4
-@@ -10,6 +10,7 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [
- ZFS_AC_CONFIG_USER_ARCH
- ZFS_AC_CONFIG_USER_ZLIB
- ZFS_AC_CONFIG_USER_LIBUUID
-+ ZFS_AC_CONFIG_USER_LIBTIRPC
- ZFS_AC_CONFIG_USER_LIBBLKID
- ZFS_AC_CONFIG_USER_FRAME_LARGER_THAN
- ZFS_AC_CONFIG_USER_RUNSTATEDIR
-diff --git a/lib/libnvpair/Makefile.am b/lib/libnvpair/Makefile.am
-index c9ac1f1..2833557 100644
---- a/lib/libnvpair/Makefile.am
-+++ b/lib/libnvpair/Makefile.am
-@@ -4,7 +4,7 @@ VPATH = \
- $(top_srcdir)/module/nvpair \
- $(top_srcdir)/lib/libnvpair
-
--AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN)
-+AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN) $(LIBTIRPC_CFLAGS)
-
- DEFAULT_INCLUDES += \
- -I$(top_srcdir)/include \
-@@ -26,8 +26,8 @@ nodist_libnvpair_la_SOURCES = \
- $(KERNEL_C)
-
- libnvpair_la_LIBADD = \
-- $(top_builddir)/lib/libuutil/libuutil.la
--
-+ $(top_builddir)/lib/libuutil/libuutil.la \
-+ $(LIBTIRPC)
- libnvpair_la_LDFLAGS = -version-info 1:1:0
-
- EXTRA_DIST = $(USER_C)
-diff --git a/lib/libnvpair/nvpair_alloc_system.c b/lib/libnvpair/nvpair_alloc_system.c
-index f45dc5f..54dde1e 100644
---- a/lib/libnvpair/nvpair_alloc_system.c
-+++ b/lib/libnvpair/nvpair_alloc_system.c
-@@ -27,6 +27,7 @@
-
-
- #include <rpc/types.h>
-+#include <sys/kmem.h>
- #include <sys/nvpair.h>
-
- static void *
-diff --git a/lib/libspl/Makefile.am b/lib/libspl/Makefile.am
-index a569446..afd64fc 100644
---- a/lib/libspl/Makefile.am
-+++ b/lib/libspl/Makefile.am
-@@ -29,7 +29,6 @@ USER_C = \
- strnlen.c \
- timestamp.c \
- zone.c \
-- xdr.c \
- include/sys/list.h \
- include/sys/list_impl.h
-
-diff --git a/lib/libspl/include/rpc/Makefile.am b/lib/libspl/include/rpc/Makefile.am
-index 7a29aba..78ee5a2 100644
---- a/lib/libspl/include/rpc/Makefile.am
-+++ b/lib/libspl/include/rpc/Makefile.am
-@@ -1,4 +1,3 @@
- libspldir = $(includedir)/libspl/rpc
- libspl_HEADERS = \
-- $(top_srcdir)/lib/libspl/include/rpc/types.h \
- $(top_srcdir)/lib/libspl/include/rpc/xdr.h
-diff --git a/lib/libspl/include/rpc/types.h b/lib/libspl/include/rpc/types.h
-deleted file mode 100644
-index aa9901f..0000000
---- a/lib/libspl/include/rpc/types.h
-+++ /dev/null
-@@ -1,32 +0,0 @@
--/*
-- * CDDL HEADER START
-- *
-- * The contents of this file are subject to the terms of the
-- * Common Development and Distribution License (the "License").
-- * You may not use this file except in compliance with the License.
-- *
-- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-- * or http://www.opensolaris.org/os/licensing.
-- * See the License for the specific language governing permissions
-- * and limitations under the License.
-- *
-- * When distributing Covered Code, include this CDDL HEADER in each
-- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-- * If applicable, add the following below this CDDL HEADER, with the
-- * fields enclosed by brackets "[]" replaced with your own identifying
-- * information: Portions Copyright [yyyy] [name of copyright owner]
-- *
-- * CDDL HEADER END
-- */
--/*
-- * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
-- * Use is subject to license terms.
-- */
--
--#ifndef LIBSPL_RPC_TYPES_H
--#define LIBSPL_RPC_TYPES_H
--
--#include_next <rpc/types.h>
--#include <sys/kmem.h>
--
--#endif /* LIBSPL_RPC_TYPES_H */
-diff --git a/lib/libspl/include/rpc/xdr.h b/lib/libspl/include/rpc/xdr.h
-index 99500d6..3c7c53f 100644
---- a/lib/libspl/include/rpc/xdr.h
-+++ b/lib/libspl/include/rpc/xdr.h
-@@ -32,11 +32,20 @@
- #ifndef LIBSPL_RPC_XDR_H
- #define LIBSPL_RPC_XDR_H
-
--#include_next <rpc/xdr.h>
--
- /*
-- * These are XDR control operators
-+ * When available prefer libtirpc for xdr functionality. This library is
-+ * mandatory when compiling with musl libc because it does not provide xdr.
- */
-+#if defined(HAVE_LIBTIRPC)
-+
-+#include <tirpc/rpc/xdr.h>
-+#ifdef xdr_control
-+#undef xdr_control
-+#endif
-+
-+#else
-+#include_next <rpc/xdr.h>
-+#endif /* HAVE_LIBTIRPC */
-
- #define XDR_GET_BYTES_AVAIL 1
-
-@@ -46,20 +55,20 @@ typedef struct xdr_bytesrec {
- } xdr_bytesrec_t;
-
- /*
-- * These are the request arguments to XDR_CONTROL.
-- *
-- * XDR_PEEK - returns the contents of the next XDR unit on the XDR stream.
-- * XDR_SKIPBYTES - skips the next N bytes in the XDR stream.
-- * XDR_RDMAGET - for xdr implementation over RDMA, gets private flags from
-- * the XDR stream being moved over RDMA
-- * XDR_RDMANOCHUNK - for xdr implementaion over RDMA, sets private flags in
-- * the XDR stream moving over RDMA.
-+ * This functionality is not required and is disabled in user space.
- */
--#define XDR_PEEK 2
--#define XDR_SKIPBYTES 3
--#define XDR_RDMAGET 4
--#define XDR_RDMASET 5
-+static inline bool_t
-+xdr_control(XDR *xdrs, int request, void *info)
-+{
-+ xdr_bytesrec_t *xptr;
-
--extern bool_t xdr_control(XDR *xdrs, int request, void *info);
-+ ASSERT3U(request, ==, XDR_GET_BYTES_AVAIL);
-
--#endif
-+ xptr = (xdr_bytesrec_t *)info;
-+ xptr->xc_is_last_record = TRUE;
-+ xptr->xc_num_avail = xdrs->x_handy;
-+
-+ return (TRUE);
-+}
-+
-+#endif /* LIBSPL_RPC_XDR_H */
-diff --git a/lib/libspl/xdr.c b/lib/libspl/xdr.c
-deleted file mode 100644
-index 288a338..0000000
---- a/lib/libspl/xdr.c
-+++ /dev/null
-@@ -1,78 +0,0 @@
--/*
-- * CDDL HEADER START
-- *
-- * The contents of this file are subject to the terms of the
-- * Common Development and Distribution License, Version 1.0 only
-- * (the "License"). You may not use this file except in compliance
-- * with the License.
-- *
-- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-- * or http://www.opensolaris.org/os/licensing.
-- * See the License for the specific language governing permissions
-- * and limitations under the License.
-- *
-- * When distributing Covered Code, include this CDDL HEADER in each
-- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-- * If applicable, add the following below this CDDL HEADER, with the
-- * fields enclosed by brackets "[]" replaced with your own identifying
-- * information: Portions Copyright [yyyy] [name of copyright owner]
-- *
-- * CDDL HEADER END
-- *
-- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-- * Use is subject to license terms.
-- *
-- * Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T
-- * All Rights Reserved
-- *
-- * Portions of this source code were derived from Berkeley 4.3 BSD
-- * under license from the Regents of the University of California.
-- */
--
--#include <rpc/xdr.h>
--
--/*
-- * As of glibc-2.5-25 there is not support for xdr_control(). The
-- * xdrmem implementation from OpenSolaris is used here.
-- *
-- * FIXME: Not well tested it may not work as expected.
-- */
--bool_t
--xdr_control(XDR *xdrs, int request, void *info)
--{
-- xdr_bytesrec_t *xptr;
-- int32_t *int32p;
-- int len;
--
-- switch (request) {
-- case XDR_GET_BYTES_AVAIL:
-- xptr = (xdr_bytesrec_t *)info;
-- xptr->xc_is_last_record = TRUE;
-- xptr->xc_num_avail = xdrs->x_handy;
-- return (TRUE);
--
-- case XDR_PEEK:
-- /*
-- * Return the next 4 byte unit in the XDR stream.
-- */
-- if (xdrs->x_handy < sizeof (int32_t))
-- return (FALSE);
-- int32p = (int32_t *)info;
-- *int32p = (int32_t)ntohl((uint32_t)
-- (*((int32_t *)(xdrs->x_private))));
-- return (TRUE);
--
-- case XDR_SKIPBYTES:
-- /*
-- * Skip the next N bytes in the XDR stream.
-- */
-- int32p = (int32_t *)info;
-- len = RNDUP((int)(*int32p));
-- if ((xdrs->x_handy -= len) < 0)
-- return (FALSE);
-- xdrs->x_private += len;
-- return (TRUE);
--
-- }
-- return (FALSE);
--}
---
-2.7.4
-
diff --git a/main/zfs/0009-Add-support-for-alpine-linux.patch b/main/zfs/0009-Add-support-for-alpine-linux.patch
deleted file mode 100644
index 54d55e6ea5..0000000000
--- a/main/zfs/0009-Add-support-for-alpine-linux.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 00aa1a096d2c9ecaf28faa51aca5feb9d406aab0 Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Tue, 1 Mar 2016 16:36:28 +0100
-Subject: [PATCH] Add support for alpine linux
-
-Both Alpine Linux and Gentoo use OpenRC so we share its logic
----
- config/zfs-build.m4 | 7 ++++++-
- etc/init.d/Makefile.am | 2 +-
- etc/init.d/zfs-import.in | 2 +-
- etc/init.d/zfs-mount.in | 2 +-
- etc/init.d/zfs-share.in | 2 +-
- etc/init.d/zfs-zed.in | 2 +-
- 6 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/config/zfs-build.m4 b/config/zfs-build.m4
-index f93c5b5..9d3f0a6 100644
---- a/config/zfs-build.m4
-+++ b/config/zfs-build.m4
-@@ -266,6 +266,8 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [
- VENDOR=ubuntu ;
- elif test -f /etc/debian_version ; then
- VENDOR=debian ;
-+ elif test -f /etc/alpine-release ; then
-+ VENDOR=alpine ;
- else
- VENDOR= ;
- fi
-@@ -278,6 +280,7 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [
- redhat) DEFAULT_PACKAGE=rpm ;;
- fedora) DEFAULT_PACKAGE=rpm ;;
- gentoo) DEFAULT_PACKAGE=tgz ;;
-+ alpine) DEFAULT_PACKAGE=tgz ;;
- arch) DEFAULT_PACKAGE=tgz ;;
- sles) DEFAULT_PACKAGE=rpm ;;
- slackware) DEFAULT_PACKAGE=tgz ;;
-@@ -299,7 +302,8 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [
- toss) DEFAULT_INIT_SCRIPT=redhat ;;
- redhat) DEFAULT_INIT_SCRIPT=redhat ;;
- fedora) DEFAULT_INIT_SCRIPT=fedora ;;
-- gentoo) DEFAULT_INIT_SCRIPT=gentoo ;;
-+ gentoo) DEFAULT_INIT_SCRIPT=openrc ;;
-+ alpine) DEFAULT_INIT_SCRIPT=openrc ;;
- arch) DEFAULT_INIT_SCRIPT=lsb ;;
- sles) DEFAULT_INIT_SCRIPT=lsb ;;
- slackware) DEFAULT_INIT_SCRIPT=lsb ;;
-@@ -313,6 +317,7 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [
-
- AC_MSG_CHECKING([default init config direectory])
- case "$VENDOR" in
-+ alpine) DEFAULT_INITCONF_DIR=/etc/conf.d ;;
- gentoo) DEFAULT_INITCONF_DIR=/etc/conf.d ;;
- toss) DEFAULT_INITCONF_DIR=/etc/sysconfig ;;
- redhat) DEFAULT_INITCONF_DIR=/etc/sysconfig ;;
-diff --git a/etc/init.d/Makefile.am b/etc/init.d/Makefile.am
-index 5f70fc6..c6e29d1 100644
---- a/etc/init.d/Makefile.am
-+++ b/etc/init.d/Makefile.am
-@@ -21,7 +21,7 @@ $(init_SCRIPTS) $(initconf_SCRIPTS) $(initcommon_SCRIPTS): $(EXTRA_DIST)
- else \
- NFS_SRV=nfs; \
- fi; \
-- if [ -e /etc/gentoo-release ]; then \
-+ if [ -e /sbin/openrc-run ]; then \
- SHELL=/sbin/runscript; \
- else \
- SHELL=/bin/sh; \
-diff --git a/etc/init.d/zfs-import.in b/etc/init.d/zfs-import.in
-index 2258638..354bbc6 100755
---- a/etc/init.d/zfs-import.in
-+++ b/etc/init.d/zfs-import.in
-@@ -308,7 +308,7 @@ do_start()
-
- # ----------------------------------------------------
-
--if [ ! -e /etc/gentoo-release ]
-+if [ ! -e /sbin/openrc-run ]
- then
- case "$1" in
- start)
-diff --git a/etc/init.d/zfs-mount.in b/etc/init.d/zfs-mount.in
-index 05cea9b..34db057 100755
---- a/etc/init.d/zfs-mount.in
-+++ b/etc/init.d/zfs-mount.in
-@@ -199,7 +199,7 @@ do_stop()
-
- # ----------------------------------------------------
-
--if [ ! -e /etc/gentoo-release ]
-+if [ ! -e /sbin/openrc-run ]
- then
- case "$1" in
- start)
-diff --git a/etc/init.d/zfs-share.in b/etc/init.d/zfs-share.in
-index 1b70da4..ce3cc1c 100755
---- a/etc/init.d/zfs-share.in
-+++ b/etc/init.d/zfs-share.in
-@@ -58,7 +58,7 @@ do_stop()
-
- # ----------------------------------------------------
-
--if [ ! -e /etc/gentoo-release ]; then
-+if [ ! -e /sbin/openrc-run ]; then
- case "$1" in
- start)
- do_start
-diff --git a/etc/init.d/zfs-zed.in b/etc/init.d/zfs-zed.in
-index 86e3185..d0086ee 100755
---- a/etc/init.d/zfs-zed.in
-+++ b/etc/init.d/zfs-zed.in
-@@ -98,7 +98,7 @@ do_reload()
-
- # ----------------------------------------------------
-
--if [ ! -e /etc/gentoo-release ]; then
-+if [ ! -e /sbin/openrc-run ]; then
- case "$1" in
- start)
- do_start
---
-2.7.2
-
diff --git a/main/zfs/APKBUILD b/main/zfs/APKBUILD
index 9c80a49087..e7e6590fa5 100644
--- a/main/zfs/APKBUILD
+++ b/main/zfs/APKBUILD
@@ -1,29 +1,20 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
-# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=zfs
-pkgver=0.6.5.9
-pkgrel=1
+pkgver=0.7.1
+pkgrel=0
pkgdesc="ZFS for Linux"
url="http://zfsonlinux.org"
arch="all !armhf !ppc64le"
license="CDDL"
depends=""
-depends_dev="glib-dev e2fsprogs-dev util-linux-dev libtirpc-dev"
+depends_dev="glib-dev e2fsprogs-dev util-linux-dev libtirpc-dev attr-dev"
makedepends="$depends_dev automake autoconf libtool linux-headers"
install=""
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-dracut
$pkgname-udev $pkgname-scripts $pkgname-utils-py:utils_py"
source="https://github.com/zfsonlinux/zfs/releases/download/zfs-$pkgver/zfs-$pkgver.tar.gz
- 0001-Use-the-correct-macro-to-include-backtrace.patch
- 0002-Include-sys-types.h-in-devid.h.patch
- 0003-Add-missing-fcntl.h-to-includes-in-mount_zfs.c.patch
- 0004-Ensure-correct-return-value-type.patch
- 0005-Set-_DATE_FMT-to-if-not-defined-in-libspl-timestamp..patch
- 0006-Move-hrtime_t-timestruc_t-and-timespec_t.patch
- 0007-Remove-complicated-libspl-assert-wrappers.patch
- 0008-Add-support-for-libtirpc.patch
- 0009-Add-support-for-alpine-linux.patch
"
@@ -87,13 +78,4 @@ utils_py() {
done
}
-sha512sums="6e175f32421cf0f9e13429f12f0fac0564dc7059ab076831d0ebc4f6a17412160ca3526ebdf894bc7666e82580355b08701dd01c411d3177f82e7330b4529a37 zfs-0.6.5.9.tar.gz
-1e9f3c753b5bbe50ea6c953fec4200ae3a2de63abaa0dbcc2fb558a92716c27545ef773b3d0dc7bb1248622073a0db4c194d008bc83af7de7f90111169ffe31a 0001-Use-the-correct-macro-to-include-backtrace.patch
-244f143c3cca0102ee98aed122b70d9e255a68645d90f927d67fe19e89c4678839b91fbb560c4e55306510e8aec4762c4afc671317df153940f17e905c17b928 0002-Include-sys-types.h-in-devid.h.patch
-413cf13db3d390714fcd20c4150d3b0dbddcff031572117fcd4f015d929fde642381ab98f0b796dc4001472b2ee13dbf69261f4b83e990c2b0a080223667193c 0003-Add-missing-fcntl.h-to-includes-in-mount_zfs.c.patch
-c26793c4ada197584d5829a6d31fd826333416a73ac1fa1d8f84277ba99312db72608d6d13171131cdf61b20e1c6c1ada51027361d48cc7b2863fd5b23df8083 0004-Ensure-correct-return-value-type.patch
-fbd44839a422925a54710e8425405d24ca2428b78aa54b9a77492e5882a3e21aa4a5e53656466c5af79460fde75ac6aeb6f1f3fe85a1f26333d5acd36c6c9013 0005-Set-_DATE_FMT-to-if-not-defined-in-libspl-timestamp..patch
-e20fb3004af9e6454513d7df09292465e5bc4101a558538cf794ef41b56a30713e1868dcda251e6b3ed10c5f0178e86068bcb113bd8228eedb626cb73bb19ecd 0006-Move-hrtime_t-timestruc_t-and-timespec_t.patch
-9843aca713021772435cfa68fde5d9aa2de0387de0da6c48045db0348f2a24d2c2e968d3eb1921923170c9e2fd6514e31c5f0a7bacbf8510b53c2c625c4737d1 0007-Remove-complicated-libspl-assert-wrappers.patch
-fa752b3ed04f05ec4fac257cbd2c581a57a792e12165d8f135a77b894445cdefb0da1753922e3e59c9fbaed20ca1dc6d19b5436745c8fa588a42304f6561f1a2 0008-Add-support-for-libtirpc.patch
-d2efb627f493bab06f8049dc4bcb7c39269ff9dcd66879a0f96fa5040e1c7468f9e684277ec3e54841b3a5f8734d9470f2c6a1af470e3f1a71f759f9155b7ede 0009-Add-support-for-alpine-linux.patch"
+sha512sums="64b0a3b5eeaf09ce824e3e029880a8e5dcb3e4567d1fb2fa24c89d8e55fee1ebe2d2f3a9f77d5468cc5637074e27d5ba7696b566829c93fd69c610b288200a37 zfs-0.7.1.tar.gz"