zfs: update to 2.1.2.
This commit is contained in:
parent
b7d51ca7a2
commit
e1211a2e02
|
@ -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'
|
||||
pkgname=zfs
|
||||
version=2.1.1
|
||||
revision=2
|
||||
version=2.1.2
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
configure_args="--with-config=user --with-mounthelperdir=/usr/bin
|
||||
--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"
|
||||
homepage="https://openzfs.github.io/openzfs-docs/"
|
||||
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
|
||||
triggers="dkms initramfs-regenerate"
|
||||
dkms_modules="zfs ${version}"
|
||||
|
|
Loading…
Reference in New Issue