[Buildroot] [PATCH 1/1] package/zfs: bump version to 2.1.4

Arnout Vandecappelle arnout at mind.be
Thu Apr 21 21:09:57 UTC 2022


  Hi José,

  Thank you for your patch. I have a few comment, could you fix and send an 
updated patch?

  I also added a few more people in Cc because there's an issue with kernel 
dependency that comes up again.

On 16/04/2022 18:48, José Luis Salvador Rufo wrote:
> Removed 0001-Correct-a-flaw-in-the-Python-3-version-checking.patch
> because is already merged.
> 
> Added libcurl as required dependency, because zfs keylocation now
> requires https support.

  https also requires openssl. But that's already selected by zfs, so OK.

> 
> In order to support uClibc, we have added the patch
> bc3f12bfac152a0c28951cec92340ba14f9ccee9 from upstream.
> 
> As this version brings support for kernel up to 5.17, we update the
> test cases to use the 5.17 kernel.

  Is 5.17 really the minimum required kernel version? That's just a couple of 
weeks old... Our default kernel version is still 5.15, and it's going to stay 
like that for a bit since 5.15 is an LTS...

> 
> Signed-off-by: José Luis Salvador Rufo <salvador.joseluis at gmail.com>
> ---

[snip]
> diff --git a/package/zfs/Config.in b/package/zfs/Config.in
> index c766c370e4..c450a8b515 100644
> --- a/package/zfs/Config.in
> +++ b/package/zfs/Config.in
> @@ -5,10 +5,16 @@ comment "zfs needs udev /dev management"
>   	depends on BR2_LINUX_KERNEL
>   	depends on !BR2_PACKAGE_HAS_UDEV
>   
> +comment "zfs needs libcurl"
> +	depends on BR2_LINUX_KERNEL
> +	depends on BR2_PACKAGE_HAS_UDEV
> +	depends on !BR2_PACKAGE_LIBCURL
> +
>   config BR2_PACKAGE_ZFS
>   	bool "zfs"
>   	depends on BR2_LINUX_KERNEL
>   	depends on BR2_PACKAGE_HAS_UDEV
> +	depends on BR2_PACKAGE_LIBCURL

  For such dependencies, we prefer to select it rather than depends on. depends 
on is only for architecture and toolchain dependencies, and in cases that select 
doesn't work for some other reason (usually circular dependencies). You need to 
propagate its dependencies then, but libcurl doesn't have any.

>   	depends on BR2_USE_MMU  # util-linux (libblkid)
>   	depends on BR2_TOOLCHAIN_HAS_THREADS  # libtirpc
>   	select BR2_PACKAGE_UTIL_LINUX
> diff --git a/package/zfs/zfs.hash b/package/zfs/zfs.hash
> index 7f4f5a59f8..411af974c6 100644
> --- a/package/zfs/zfs.hash
> +++ b/package/zfs/zfs.hash
> @@ -1,5 +1,6 @@
> -# From https://github.com/openzfs/zfs/releases/download/zfs-2.0.5/zfs-2.0.5.sha256.asc
> -sha256  3a17498d704ebf4c5d7231660f6fb44ae07a1545519f567452a4270851a86ec9  zfs-2.0.5.tar.gz
> +# From https://github.com/openzfs/zfs/releases/download/zfs-2.1.4/zfs-2.1.4.sha256.asc
> +sha256  3b52c0d493f806f638dca87dde809f53861cd318c1ebb0e60daeaa061cf1acf6  zfs-2.1.4.tar.gz
> +sha256  96a27353fe717ff2c8b95deb8b009c4eb750303c6400e2d8a2582ab1ec12b25a  bc3f12bfac152a0c28951cec92340ba14f9ccee9.patch
>   
>   # Hash for license files:
>   sha256  1ffb70c33c4f79f04e947facc5c7851f289609256aacb47fc115f700427d9520  LICENSE
> diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk
> index dbda8aceb4..07ce3295ec 100644
> --- a/package/zfs/zfs.mk
> +++ b/package/zfs/zfs.mk
> @@ -4,17 +4,17 @@
>   #
>   ################################################################################
>   
> -ZFS_VERSION = 2.0.5
> +ZFS_VERSION = 2.1.4
>   ZFS_SITE = https://github.com/openzfs/zfs/releases/download/zfs-$(ZFS_VERSION)
> +ZFS_PATCH = https://github.com/openzfs/zfs/commit/bc3f12bfac152a0c28951cec92340ba14f9ccee9.patch
>   ZFS_LICENSE = CDDL
>   ZFS_LICENSE_FILES = LICENSE COPYRIGHT
>   ZFS_CPE_ID_VENDOR = openzfs
>   ZFS_CPE_ID_PRODUCT = openzfs
>   
> -# 0001-Correct-a-flaw-in-the-Python-3-version-checking.patch
>   ZFS_AUTORECONF = YES
>   
> -ZFS_DEPENDENCIES = libaio openssl udev util-linux zlib
> +ZFS_DEPENDENCIES = libaio openssl udev util-linux zlib libcurl
>   
>   # sysvinit installs only a commented-out modules-load.d/ config file
>   ZFS_CONF_OPTS = \
> diff --git a/support/testing/tests/package/test_zfs.py b/support/testing/tests/package/test_zfs.py
> index 772a66c1e4..8c1000e1ca 100644
> --- a/support/testing/tests/package/test_zfs.py
> +++ b/support/testing/tests/package/test_zfs.py
> @@ -13,7 +13,7 @@ class TestZfsGlibc(infra.basetest.BRTest):
>           BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
>           BR2_LINUX_KERNEL=y
>           BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> -        BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.13"
> +        BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.3"
>           BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>           BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config"
>           BR2_PACKAGE_ZFS=y
> @@ -22,6 +22,7 @@ class TestZfsGlibc(infra.basetest.BRTest):
>           BR2_PACKAGE_PYTHON_SETUPTOOLS=y
>           BR2_PACKAGE_ZLIB_NG=y
>           BR2_PACKAGE_LIBRESSL=y
> +        BR2_PACKAGE_LIBCURL=y

  This won't be needed if you use select in Config.in.

  Regards,
  Arnout

>           BR2_TARGET_ROOTFS_CPIO=y
>           # BR2_TARGET_ROOTFS_TAR is not set
>           """
> @@ -70,7 +71,7 @@ class TestZfsUclibc(infra.basetest.BRTest):
>           BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
>           BR2_LINUX_KERNEL=y
>           BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> -        BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.13"
> +        BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.3"
>           BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>           BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config"
>           BR2_PACKAGE_ZFS=y
> @@ -79,6 +80,7 @@ class TestZfsUclibc(infra.basetest.BRTest):
>           BR2_PACKAGE_PYTHON_SETUPTOOLS=y
>           BR2_PACKAGE_ZLIB_NG=y
>           BR2_PACKAGE_LIBRESSL=y
> +        BR2_PACKAGE_LIBCURL=y
>           BR2_TARGET_ROOTFS_CPIO=y
>           # BR2_TARGET_ROOTFS_TAR is not set
>           """



More information about the buildroot mailing list