commit:     076cf89ca3d5a6d3cf296ae327c57587568bee67
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 27 19:22:01 2023 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Fri Jan 27 19:33:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=076cf89c

sys-fs/zfs-kmod: add 2.1.9

Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 sys-fs/zfs-kmod/Manifest              |   2 +
 sys-fs/zfs-kmod/zfs-kmod-2.1.9.ebuild | 212 ++++++++++++++++++++++++++++++++++
 2 files changed, 214 insertions(+)

diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index 2941588dd4ad..e2e1f8bbdc71 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -4,3 +4,5 @@ DIST zfs-2.1.7.tar.gz 35092436 BLAKE2B 
9c85c3eb72f3bb39bc4fd44aaa80338ca197a4e81
 DIST zfs-2.1.7.tar.gz.asc 836 BLAKE2B 
648fb818860a1cecc2ec42f23102e0466c038bfe48f5feca1ab58afb9cb439a0fe51cb89941f63a05c14d3b6f95c64dd3910c9a06b9cac14c467b963c65c2948
 SHA512 
4d4fef707bdfc37a82eb79aa0a21c71e30779bcf2ac54fe2df45a03e3302e2a45cb9f4e4ff0122b892b1e608a9f09e86d1334e0c7d9bf681780505f6e1439f9f
 DIST zfs-2.1.8.tar.gz 35109766 BLAKE2B 
e725a43e5a62998209d638adcec061858f0caf05abd30bcfbaf8c6f6b9f47209808d9fcd726a830ea800793cd719c4471a498a10dab66119c4d24dbf09b1c481
 SHA512 
9c6c2c30f55b089ce29f8895ccc9032615ab25e47291b2d3384bcbb3d1fdb2e7a6fb67725a6fae04b6e28bfdc6dc97fae3b9b3ed8f802e75866c83eabf79c296
 DIST zfs-2.1.8.tar.gz.asc 836 BLAKE2B 
833457dee5948b255312c30da090c77cf8ec1d82b7498a8e85ccd8e4be12f948e9f00e742e76fc1392550756dd1d9c3b610fa29d25a61c41afe32b1c1a728602
 SHA512 
91f964e33772e77d1c4501e0ad526f2ff5cb45fb571bb25218f3f45f4662d544a92146633ef570d067bb7e6e7f36bd00da878b373143cae41611cae6f6c644cb
+DIST zfs-2.1.9.tar.gz 35106538 BLAKE2B 
d7553cc162687531b254089e29e2e15e2eb6b362cecd8e70c24bbb5dbffbde82036ad2d416f4caeceaa324bee8a2e59d9e3cd8a3bf55a2e3c0718c7af9562812
 SHA512 
a3c410abe911be7d3d66af8ad7023a810eb4ae3284001e544c3a34275eb17a4916a7c094936a2628a590007c007eea84673efa9f3201fd9f24c499fd5ed3ed75
+DIST zfs-2.1.9.tar.gz.asc 836 BLAKE2B 
1e76525eab338398dd6ff7539ea4e7d18847d0f40e9093d813ec93fce5fa4c16e09f91c0805ba01a29190f673d131f85442c13035166d6f2d007a7e42dc15486
 SHA512 
35e1213fcac0458e1243355beba021dfefef455df2b341fbc4b10047f9ed4747df84e319d10ffe4bbcd572fbf014019e0dec200eb4e7d3c116fb805369182cb0

diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.9.ebuild 
b/sys-fs/zfs-kmod/zfs-kmod-2.1.9.ebuild
new file mode 100644
index 000000000000..ac514d696c4f
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.9.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools dist-kernel-utils 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
+       VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+       inherit verify-sig
+
+       MY_PV="${PV/_rc/-rc}"
+       
SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz";
+       SRC_URI+=" verify-sig? ( 
https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc
 )"
+       S="${WORKDIR}/zfs-${PV%_rc?}"
+       ZFS_KERNEL_COMPAT="6.1"
+
+       # increments minor eg 5.14 -> 5.15, and still supports override.
+       ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+       ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
+
+       if [[ ${PV} != *_rc* ]]; then
+               KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc"
+       fi
+fi
+
+LICENSE="CDDL MIT debug? ( GPL-2+ )"
+SLOT="0/${PVR}"
+IUSE="custom-cflags debug +rootfs"
+
+RDEPEND="${DEPEND}"
+
+BDEPEND="
+       dev-lang/perl
+       app-alternatives/awk
+"
+
+# we want dist-kernel block in BDEPEND because of portage resolver.
+# since linux-mod.eclass already sets version-unbounded dep, portage
+# will pull new versions. So we set it in BDEPEND which takes priority.
+# and we don't need in in git ebuild.
+if [[ ${PV} != "9999" ]] ; then
+       BDEPEND+="
+               verify-sig? ( sec-keys/openpgp-keys-openzfs )
+               dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= )
+       "
+fi
+
+# PDEPEND in this form is needed to trick portage suggest
+# enabling dist-kernel if only 1 package have it set
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
+
+RESTRICT="debug? ( strip ) test"
+
+DOCS=( AUTHORS COPYRIGHT META README.md )
+
+pkg_pretend() {
+       use rootfs || return 0
+
+       if has_version virtual/dist-kernel && ! use dist-kernel; then
+               ewarn "You have virtual/dist-kernel installed, but"
+               ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+               ewarn "It's recommended to globally enable dist-kernel USE flag"
+               ewarn "to auto-trigger initrd rebuilds with kernel updates"
+       fi
+}
+
+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
+
+       kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
+
+       linux-mod_pkg_setup
+}
+
+src_unpack() {
+       if use verify-sig ; then
+               # Needed for downloaded patch (which is unsigned, which is fine)
+               verify-sig_verify_detached 
"${DISTDIR}"/zfs-${MY_PV}.tar.gz{,.asc}
+       fi
+
+       default
+}
+
+src_prepare() {
+       default
+
+       # Run unconditionally (bug #792627)
+       eautoreconf
+
+       if [[ ${PV} != "9999" ]]; then
+               # 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,*
+
+       # Set CROSS_COMPILE in the environment.
+       # This allows the user to override it via make.conf or via a local 
Makefile.
+       # https://bugs.gentoo.org/811600
+       export CROSS_COMPILE=${CROSS_COMPILE-${CHOST}-}
+
+       local myconf=(
+               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=(
+               HOSTCC="$(tc-getBUILD_CC)"
+               V=1
+       )
+
+       emake "${myemakeargs[@]}"
+}
+
+src_install() {
+       set_arch_to_kernel
+
+       myemakeargs+=(
+               DEPMOD=:
+               # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile
+               DESTDIR="${D}"
+       )
+
+       emake "${myemakeargs[@]}" install
+
+       einstalldocs
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+
+       if [[ -z ${ROOT} ]] && use dist-kernel; then
+               set_arch_to_pkgmgr
+               dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+       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
+
+       if has_version sys-boot/grub; then
+               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 
OpenZFS. To"
+               ewarn "create a new pool that is backward compatible wih GRUB2, 
use "
+               ewarn
+               ewarn "zpool create -o compatibility=grub2 ..."
+               ewarn
+               ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list 
of features."
+       fi
+}

Reply via email to