From b17a3ef12038de50228bade1f05502c74e135321 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 2 Sep 2020 14:09:07 +0100 Subject: gentoo resync : 02.09.2020 --- sys-fs/zfs-kmod/Manifest | 7 +- sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch | 29 ++++ sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild | 8 +- sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild | 178 +++++++++++++++++++++++++ sys-fs/zfs-kmod/zfs-kmod-9999.ebuild | 22 +-- 5 files changed, 232 insertions(+), 12 deletions(-) create mode 100644 sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch create mode 100644 sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild (limited to 'sys-fs/zfs-kmod') diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest index 4946adf47a94..5cad82bfa5d2 100644 --- a/sys-fs/zfs-kmod/Manifest +++ b/sys-fs/zfs-kmod/Manifest @@ -1,4 +1,7 @@ +AUX 2.0.0_rc1-U__BMI__.patch 966 BLAKE2B 370c9796450a451cb41aed4df7a927e0a88f674c55273a0680788ea8f42c7ca7ddbd4d75e092c59a6255adecb4dbe94b28d565cd54c03170cda07b15d138c8db SHA512 c568bee17b0a4ef6569fa531cd2bfbd483c766c8f16d045e9ee86c01c1d687701010659b58bbe3874c0d45e5e94a52ae10e5c31ab004a3215ed4dae6be8ba545 DIST zfs-0.8.4.tar.gz 9285838 BLAKE2B 776bcd6dfab8825c07d315085e288b29bf543d6957325d5d566b7b78c04505dde9bd25eb6684cb4a1b6a657de8a4e1290d04d2b9079d26d6b834a70f1ec3b569 SHA512 9086dc6a6262dd93ca6ec43f1b4c2e5c804deba708c8a7460b8531aa4802b0bf8cac0917a1a00e6af2e96d4a21cd68b85e226bf571bd94041d0325c457106eb1 -EBUILD zfs-kmod-0.8.4-r1.ebuild 4385 BLAKE2B 0c4f28b71dbf68f9d06e3d14d1f232fe4dc9b52334d0bd501de387be1571fe9529d3b3f07720b432723e37f104cbdd29eca984403b1fee5ab2c5f62bf6aa8792 SHA512 d7e0c3600af4ecfc110381fd9eabf4a0c50607513911d074402d5c977075f9b51c2935b7419658270735818731450c2854af65774bbe17f73525caf903444b52 -EBUILD zfs-kmod-9999.ebuild 4302 BLAKE2B 907824615a733e8f1aa5e0b6cbf8ec6149fde22b60d5bf612c119d7b63894735f18ee6d7679dd65559ada77b63fa82279e0fd37919286e8110399de3ee782cc8 SHA512 e12b3c45fcd30dbd0fb5380a24740f0e6a19cae1a59a317f6dcd5593611d6ef34c6a7038f1c301de51ebcf7af426dda64eb9f9837f952de675e43782693eb827 +DIST zfs-2.0.0-rc1.tar.gz 12820598 BLAKE2B 6ea935447e4f95eb4040533843677f0091c9620fc387c76818df69a6653467e10aecd07ece22b2a32f849dc52ab0160149147416af90d78c5284f403571f7962 SHA512 b70cd10672d4424a6ffaaa58b4fa14b7d1b6481413463abd9b6d75698e80d94301fd54c7e091d63ebad9c8838eaaef6449223a55f041a62ae8292882feb195b5 +EBUILD zfs-kmod-0.8.4-r1.ebuild 4502 BLAKE2B 65144dcd12b826831a05a8d9a3b83735026f5f4ba62c49a05038118b9a9adc0bc0eb1c37d142f4e095fd1fe6c78b07d83becdaa502ec79cabc9980d732369a62 SHA512 1395227f463331b00d0ff990bb76f3dfa41f41473126f98d1f024a101193f9344919c68acccccf4225e41673593b7183f8fec9ce510b0ae6a9f9bb925ee9e139 +EBUILD zfs-kmod-2.0.0_rc1.ebuild 4391 BLAKE2B 06daf5d1387aab0e90d9a3573159afdc58d121f3e8b799a34e4d87dda486113e54ec3bce70fed3fe928b33ce660e0fbfb96ae2529016a352a747ca105c8b6b96 SHA512 24970fd8f61f8bec233b9582858af235fa00cb160c7e7d781001366c6d07ca748b939f802ff8634f222622f936af1c46b764e787ac99387b4d8dc73e30103c4d +EBUILD zfs-kmod-9999.ebuild 4312 BLAKE2B be95eaac5695ad30175fd32a9a95ca39376b82f667f91071b7e5d71c30c6c37d187fb137d93734b0c8ab21a70a8fd71317d5195db3452dcc09721c4df62a265c SHA512 cc6eac9ec1ee142b4fd2fabb7bb239374c5239a65222f45002b1e32c48a728ac936de398cecbd74b05669b8717579483ad1b4ba553d78e5dc205955bb52265e7 MISC metadata.xml 551 BLAKE2B c8dc35c8f884d3f5d8720ad838c34ae5be7dc3b3cc63ab7713330a5611bca2829942eeb640b7e00ef285af9b52dd2d134cd793a20baeecff2af56f6b60116e21 SHA512 1cfd4a6a6ec4a120c8e02d3dde831b1f73294a06b798388ff8d4e761ef986e625a56fa980f8d412fab082630f58932116cf795bc5e5728c6485dd9ad54e22a7a diff --git a/sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch b/sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch new file mode 100644 index 000000000000..9e9a007c3002 --- /dev/null +++ b/sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch @@ -0,0 +1,29 @@ +From 81a3970fca5759499effc3131e59c9bd8f446cc9 Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev +Date: Wed, 26 Aug 2020 16:02:48 -0700 +Subject: [PATCH] module/zstd: pass -U__BMI__ + +Closes: https://github.com/openzfs/zfs/issues/10758 +Signed-off-by: Georgy Yakovlev +--- + module/zstd/Makefile.in | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/module/zstd/Makefile.in b/module/zstd/Makefile.in +index eea749ea8..bfceca920 100644 +--- a/module/zstd/Makefile.in ++++ b/module/zstd/Makefile.in +@@ -20,6 +20,10 @@ ccflags-y += -O3 + # Set it for other compilers, too. + $(obj)/lib/zstd.o: c_flags += -fno-tree-vectorize + ++# SSE register return with SSE disabled if -march=znverX is passed ++# https://github.com/openzfs/zfs/issues/10758 ++$(obj)/lib/zstd.o: c_flags += -U__BMI__ ++ + # Quiet warnings about frame size due to unused code in unmodified zstd lib + $(obj)/lib/zstd.o: c_flags += -Wframe-larger-than=20480 + +-- +2.28.0 + diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild index 5da2b7375143..59ea52ab658b 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild @@ -104,6 +104,8 @@ src_configure() { filter-ldflags -Wl,* local myconf=( + CROSS_COMPILE="${CHOST}-" + HOSTCC="$(tc-getBUILD_CC)" --bindir="${EPREFIX}/bin" --sbindir="${EPREFIX}/sbin" --with-config=kernel @@ -118,7 +120,11 @@ src_configure() { src_compile() { set_arch_to_kernel - myemakeargs=( V=1 ) + myemakeargs=( + CROSS_COMPILE="${CHOST}-" + HOSTCC="$(tc-getBUILD_CC)" + V=1 + ) emake "${myemakeargs[@]}" } diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild new file mode 100644 index 000000000000..73b00ca17e00 --- /dev/null +++ b/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +MY_PV="${PV/_rc/-rc}" + +inherit autotools flag-o-matic linux-mod toolchain-funcs + +DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" +HOMEPAGE="https://github.com/openzfs/zfs" + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openzfs/zfs.git" +else + SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~ppc64" + S="${WORKDIR}/zfs-${PV%_rc?}" + ZFS_KERNEL_COMPAT="5.8" +fi + +LICENSE="CDDL debug? ( GPL-2+ )" +SLOT="0" +IUSE="custom-cflags debug +rootfs" + +DEPEND="" + +RDEPEND="${DEPEND} + !sys-kernel/spl +" + +BDEPEND=" + dev-lang/perl + virtual/awk +" + +RESTRICT="debug? ( strip ) test" + +DOCS=( AUTHORS COPYRIGHT META README.md ) + +PATCHES=( "${FILESDIR}/${PV}-U__BMI__.patch" ) + +pkg_setup() { + CONFIG_CHECK=" + !DEBUG_LOCK_ALLOC + EFI_PARTITION + MODULES + !PAX_KERNEXEC_PLUGIN_METHOD_OR + !TRIM_UNUSED_KSYMS + ZLIB_DEFLATE + ZLIB_INFLATE + " + + use debug && CONFIG_CHECK="${CONFIG_CHECK} + FRAME_POINTER + DEBUG_INFO + !DEBUG_INFO_REDUCED + " + + use rootfs && \ + CONFIG_CHECK="${CONFIG_CHECK} + BLK_DEV_INITRD + DEVTMPFS + " + + kernel_is -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP" + + if [[ ${PV} != "9999" ]]; then + local kv_major_max kv_minor_max zcompat + zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" + kv_major_max="${zcompat%%.*}" + zcompat="${zcompat#*.}" + kv_minor_max="${zcompat%%.*}" + kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \ + "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version" + + fi + + # 2.0.0 requires at least 3.10 + kernel_is -ge 3 10 || die "Linux 3.10 or newer required" + + linux-mod_pkg_setup +} + +src_prepare() { + default + + if [[ ${PV} == "9999" ]]; then + eautoreconf + else + # Set module revision number + sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" + fi +} + +src_configure() { + set_arch_to_kernel + + use custom-cflags || strip-flags + + filter-ldflags -Wl,* + + local myconf=( + CROSS_COMPILE="${CHOST}-" + HOSTCC="$(tc-getBUILD_CC)" + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=kernel + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + $(use_enable debug) + ) + + econf "${myconf[@]}" +} + +src_compile() { + set_arch_to_kernel + + myemakeargs=( + CROSS_COMPILE="${CHOST}-" + HOSTCC="$(tc-getBUILD_CC)" + V=1 + ) + + emake "${myemakeargs[@]}" +} + +src_install() { + set_arch_to_kernel + + myemakeargs+=( + DEPMOD="/bin/true" + DESTDIR="${D}" + INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}" + ) + + emake "${myemakeargs[@]}" install + + einstalldocs +} + +pkg_postinst() { + linux-mod_pkg_postinst + + # Remove old modules + if [[ -d "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" ]]; then + ewarn "${PN} now installs modules in ${EROOT}/lib/modules/${KV_FULL}/extra/zfs" + ewarn "Old modules were detected in ${EROOT}/lib/modules/${KV_FULL}/addon/zfs" + ewarn "Automatically removing old modules to avoid problems." + rm -r "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules" + rmdir --ignore-fail-on-non-empty "${EROOT}/lib/modules/${KV_FULL}/addon" + fi + + if use x86 || use arm; then + ewarn "32-bit kernels will likely require increasing vmalloc to" + ewarn "at least 256M and decreasing zfs_arc_max to some value less than that." + fi + + ewarn "This version of OpenZFS includes support for new feature flags" + ewarn "that are incompatible with previous versions. GRUB2 support for" + ewarn "/boot with the new feature flags is not yet available." + ewarn "Do *NOT* upgrade root pools to use the new feature flags." + ewarn "Any new pools will be created with the new feature flags by default" + ewarn "and will not be compatible with older versions of ZFSOnLinux. To" + ewarn "create a newpool that is backward compatible wih GRUB2, use " + ewarn + ewarn "zpool create -d -o feature@async_destroy=enabled " + ewarn " -o feature@empty_bpobj=enabled -o feature@lz4_compress=enabled" + ewarn " -o feature@spacemap_histogram=enabled" + ewarn " -o feature@enabled_txg=enabled " + ewarn " -o feature@extensible_dataset=enabled -o feature@bookmarks=enabled" + ewarn " ..." + ewarn + ewarn "GRUB2 support will be updated as soon as either the GRUB2" + ewarn "developers do a tag or the Gentoo developers find time to backport" + ewarn "support from GRUB2 HEAD." +} diff --git a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild index b70e569510ea..689dcbc44941 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild @@ -12,10 +12,11 @@ if [[ ${PV} == "9999" ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/openzfs/zfs.git" else - SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${PV}/zfs-${PV}.tar.gz" + MY_PV="${PV/_rc/-rc}" + SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" KEYWORDS="~amd64 ~arm64 ~ppc64" - S="${WORKDIR}/zfs-${PV}" - ZFS_KERNEL_COMPAT="5.6" + S="${WORKDIR}/zfs-${PV%_rc?}" + ZFS_KERNEL_COMPAT="5.8" fi LICENSE="CDDL debug? ( GPL-2+ )" @@ -71,13 +72,10 @@ pkg_setup() { kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \ "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version" - # 0.8.x requires at least 2.6.32 - kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required" - else - # git master requires at least 3.10 - kernel_is -ge 3 10 || die "Linux 3.10 or newer required" fi + kernel_is -ge 3 10 || die "Linux 3.10 or newer required" + linux-mod_pkg_setup } @@ -100,6 +98,8 @@ src_configure() { filter-ldflags -Wl,* local myconf=( + CROSS_COMPILE="${CHOST}-" + HOSTCC="$(tc-getBUILD_CC)" --bindir="${EPREFIX}/bin" --sbindir="${EPREFIX}/sbin" --with-config=kernel @@ -114,7 +114,11 @@ src_configure() { src_compile() { set_arch_to_kernel - myemakeargs=( V=1 ) + myemakeargs=( + CROSS_COMPILE="${CHOST}-" + HOSTCC="$(tc-getBUILD_CC)" + V=1 + ) emake "${myemakeargs[@]}" } -- cgit v1.2.3