zfs: update to 2.1.2.
This commit is contained in:
parent
b7d51ca7a2
commit
e1211a2e02
3 changed files with 61 additions and 95 deletions
58
srcpkgs/zfs/patches/musl-seek-constants.patch
Normal file
58
srcpkgs/zfs/patches/musl-seek-constants.patch
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
From 123c87b3c2d75636da79f57a4b0ed60d2a3133a8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Georgy Yakovlev <gyakovlev@gentoo.org>
|
||||||
|
Date: Mon, 20 Dec 2021 12:25:11 -0800
|
||||||
|
Subject: [PATCH] zfs-test/mmap_seek: fix build on musl
|
||||||
|
|
||||||
|
it needs linux/fs.h for SEEK_DATA and friends
|
||||||
|
|
||||||
|
without linux/fs.h:
|
||||||
|
|
||||||
|
```
|
||||||
|
mmap_seek.c
|
||||||
|
mmap_seek.c: In function 'seek_data':
|
||||||
|
mmap_seek.c:37:40: error: 'SEEK_DATA' undeclared (first use in this function);
|
||||||
|
did you mean 'SEEK_SET'?
|
||||||
|
37 | off_t data_offset = lseek(fd, offset, SEEK_DATA);
|
||||||
|
```
|
||||||
|
|
||||||
|
also it needs sys/sysmacros.h for P2ROUNDUP
|
||||||
|
without it:
|
||||||
|
|
||||||
|
```
|
||||||
|
mmap_seek.c: In function 'main':
|
||||||
|
mmap_seek.c:122:19: warning:
|
||||||
|
implicit declaration of function 'P2ROUNDUP' [-Wimplicit-function-declaration]
|
||||||
|
122 | seek_hole(fd, 0, P2ROUNDUP(file_size / 2, block_size));
|
||||||
|
| ^~~~~~~~~
|
||||||
|
powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.o: in function `main':
|
||||||
|
mmap_seek.c:(.text.startup+0x1b8): undefined reference to `P2ROUNDUP'
|
||||||
|
powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x1d8):
|
||||||
|
undefined reference to `P2ROUNDUP'
|
||||||
|
powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x21c):
|
||||||
|
undefined reference to `P2ROUNDUP'
|
||||||
|
collect2: error: ld returned 1 exit status
|
||||||
|
make[5]: *** [Makefile:754: mmap_seek] Error 1
|
||||||
|
```
|
||||||
|
|
||||||
|
Closes: https://github.com/openzfs/zfs/pull/12891
|
||||||
|
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
|
||||||
|
---
|
||||||
|
tests/zfs-tests/cmd/mmap_seek/mmap_seek.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
|
||||||
|
index f476e1dba9a..bb36527aafe 100644
|
||||||
|
--- a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
|
||||||
|
+++ b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
|
||||||
|
@@ -29,7 +29,11 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
+#include <sys/sysmacros.h>
|
||||||
|
#include <errno.h>
|
||||||
|
+#ifdef __linux__
|
||||||
|
+#include <linux/fs.h>
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
static void
|
||||||
|
seek_data(int fd, off_t offset, off_t expected)
|
|
@ -1,92 +0,0 @@
|
||||||
Most fo the patch taken from
|
|
||||||
|
|
||||||
https://github.com/openzfs/zfs/commit/08cd0717359b1a18693e3c8e6d6e5a2819b35a48
|
|
||||||
|
|
||||||
but this fix still missed the `print (sys.version[[:3]])"` part of the test,
|
|
||||||
which extracts "3.1" on Python 3.10. The right fix is to properly split
|
|
||||||
sys.version on '.' and rejoin the first two components.
|
|
||||||
|
|
||||||
diff -ur a/config/always-pyzfs.m4 b/config/always-pyzfs.m4
|
|
||||||
--- a/config/always-pyzfs.m4 2021-09-15 16:30:47.164862738 -0400
|
|
||||||
+++ b/config/always-pyzfs.m4 2021-09-29 14:34:51.288636042 -0400
|
|
||||||
@@ -47,6 +47,21 @@
|
|
||||||
AC_SUBST(DEFINE_PYZFS)
|
|
||||||
|
|
||||||
dnl #
|
|
||||||
+ dnl # Python "packaging" (or, failing that, "distlib") module is required to build and install pyzfs
|
|
||||||
+ dnl #
|
|
||||||
+ AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
|
|
||||||
+ ZFS_AC_PYTHON_MODULE([packaging], [], [
|
|
||||||
+ ZFS_AC_PYTHON_MODULE([distlib], [], [
|
|
||||||
+ AS_IF([test "x$enable_pyzfs" = xyes], [
|
|
||||||
+ AC_MSG_ERROR("Python $PYTHON_VERSION packaging and distlib modules are not installed")
|
|
||||||
+ ], [test "x$enable_pyzfs" != xno], [
|
|
||||||
+ enable_pyzfs=no
|
|
||||||
+ ])
|
|
||||||
+ ])
|
|
||||||
+ ])
|
|
||||||
+ ])
|
|
||||||
+
|
|
||||||
+ dnl #
|
|
||||||
dnl # Require python-devel libraries
|
|
||||||
dnl #
|
|
||||||
AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
|
|
||||||
diff -ur a/config/ax_python_devel.m4 b/config/ax_python_devel.m4
|
|
||||||
--- a/config/ax_python_devel.m4 2021-09-15 16:30:47.164862738 -0400
|
|
||||||
+++ b/config/ax_python_devel.m4 2021-09-29 14:40:23.293455112 -0400
|
|
||||||
@@ -97,9 +97,18 @@
|
|
||||||
# Check for a version of Python >= 2.1.0
|
|
||||||
#
|
|
||||||
AC_MSG_CHECKING([for a version of Python >= '2.1.0'])
|
|
||||||
- ac_supports_python_ver=`$PYTHON -c "import sys; \
|
|
||||||
- ver = sys.version.split ()[[0]]; \
|
|
||||||
- print (ver >= '2.1.0')"`
|
|
||||||
+ ac_supports_python_ver=`cat<<EOD | $PYTHON -
|
|
||||||
+from __future__ import print_function;
|
|
||||||
+import sys;
|
|
||||||
+try:
|
|
||||||
+ from packaging import version;
|
|
||||||
+except ImportError:
|
|
||||||
+ from distlib import version;
|
|
||||||
+ver = sys.version.split ()[[0]];
|
|
||||||
+(tst_cmp, tst_ver) = ">= '2.1.0'".split ();
|
|
||||||
+tst_ver = tst_ver.strip ("'");
|
|
||||||
+eval ("print (version.LegacyVersion (ver)"+ tst_cmp +"version.LegacyVersion (tst_ver))")
|
|
||||||
+EOD`
|
|
||||||
if test "$ac_supports_python_ver" != "True"; then
|
|
||||||
if test -z "$PYTHON_NOVERSIONCHECK"; then
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
@@ -126,9 +135,21 @@
|
|
||||||
#
|
|
||||||
if test -n "$1"; then
|
|
||||||
AC_MSG_CHECKING([for a version of Python $1])
|
|
||||||
- ac_supports_python_ver=`$PYTHON -c "import sys; \
|
|
||||||
- ver = sys.version.split ()[[0]]; \
|
|
||||||
- print (ver $1)"`
|
|
||||||
+ # Why the strip ()? Because if we don't, version.parse
|
|
||||||
+ # will, for example, report 3.10.0 >= '3.11.0'
|
|
||||||
+ ac_supports_python_ver=`cat<<EOD | $PYTHON -
|
|
||||||
+
|
|
||||||
+from __future__ import print_function;
|
|
||||||
+import sys;
|
|
||||||
+try:
|
|
||||||
+ from packaging import version;
|
|
||||||
+except ImportError:
|
|
||||||
+ from distlib import version;
|
|
||||||
+ver = sys.version.split ()[[0]];
|
|
||||||
+(tst_cmp, tst_ver) = "$1".split ();
|
|
||||||
+tst_ver = tst_ver.strip ("'");
|
|
||||||
+eval ("print (version.LegacyVersion (ver)"+ tst_cmp +"version.LegacyVersion (tst_ver))")
|
|
||||||
+EOD`
|
|
||||||
if test "$ac_supports_python_ver" = "True"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
@@ -203,7 +224,7 @@
|
|
||||||
ac_python_version=$PYTHON_VERSION
|
|
||||||
else
|
|
||||||
ac_python_version=`$PYTHON -c "import sys; \
|
|
||||||
- print (sys.version[[:3]])"`
|
|
||||||
+ print ('.'.join(sys.version.split('.')[[:2]]))"`
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'zfs'
|
# Template file for 'zfs'
|
||||||
pkgname=zfs
|
pkgname=zfs
|
||||||
version=2.1.1
|
version=2.1.2
|
||||||
revision=2
|
revision=1
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--with-config=user --with-mounthelperdir=/usr/bin
|
configure_args="--with-config=user --with-mounthelperdir=/usr/bin
|
||||||
--with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
|
--with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
|
||||||
|
@ -15,7 +15,7 @@ maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
|
||||||
license="CDDL-1.0"
|
license="CDDL-1.0"
|
||||||
homepage="https://openzfs.github.io/openzfs-docs/"
|
homepage="https://openzfs.github.io/openzfs-docs/"
|
||||||
distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
|
distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
|
||||||
checksum=bd4f48d009f3b5e291390bde62b0131b8bf3fab09f4fc0fa3591b1f2e7074cff
|
checksum=258cf1d17a1f668a3b99b61eaf14be06c614df42503db0319bef1b9fc4c8b9e7
|
||||||
# dkms must be before initramfs-regenerate to build modules before images
|
# dkms must be before initramfs-regenerate to build modules before images
|
||||||
triggers="dkms initramfs-regenerate"
|
triggers="dkms initramfs-regenerate"
|
||||||
dkms_modules="zfs ${version}"
|
dkms_modules="zfs ${version}"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue