mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
@@ -3,3 +3,5 @@ DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1
|
||||
DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94
|
||||
DIST zfs-2.1.6.tar.gz 34951282 BLAKE2B 615fe7a2128af77c6c855ea52b6503a78f0c992ea845b02875ac19aa9dd155c5d4110b668da91c463f96a54767ab92e67e5303572337352484c055c0a0ff9e46 SHA512 75639e4cecb281fe73a6e6bd116693f6609ace9b358385450297d175087b10938c2f489a08c657cf0a64250a8db995cbd19abc808a8523cb4c5344b3f76668d6
|
||||
DIST zfs-2.1.6.tar.gz.asc 836 BLAKE2B d85a79f8824a92c4d0a9682646f79c14871ebe27764289dc87cd9b0a773b7295538780401e70c492a9e4e7097ff2b3e459f7e0a7fdce2e2a59d3f467c41d88b3 SHA512 a83fcc00a8b35f1a1f9b94097d453019333a5351a3d78656dbd9ef732655ee817ccc88068c5ba11b5ff4a285e02250aee4169cc1450025edf547a2329fca7e15
|
||||
DIST zfs-2.1.7.tar.gz 35092436 BLAKE2B 9c85c3eb72f3bb39bc4fd44aaa80338ca197a4e8183436fee73cd56705abfdaecfaf1b6fbe8dd508ccce707c8259c7ab6e1733b60b17757f0a7ff92d4e52bbad SHA512 6a31eb8fbee90ad1abcfedb9000991761aff7591b11362eb5ec6e0bb4b785a7004a251439409d7bd3f51fc995c859614da6313655337952f70bae07ac8ee0140
|
||||
DIST zfs-2.1.7.tar.gz.asc 836 BLAKE2B 648fb818860a1cecc2ec42f23102e0466c038bfe48f5feca1ab58afb9cb439a0fe51cb89941f63a05c14d3b6f95c64dd3910c9a06b9cac14c467b963c65c2948 SHA512 4d4fef707bdfc37a82eb79aa0a21c71e30779bcf2ac54fe2df45a03e3302e2a45cb9f4e4ff0122b892b1e608a9f09e86d1334e0c7d9bf681780505f6e1439f9f
|
||||
|
||||
216
sys-fs/zfs-kmod/zfs-kmod-2.1.7.ebuild
Normal file
216
sys-fs/zfs-kmod/zfs-kmod-2.1.7.ebuild
Normal file
@@ -0,0 +1,216 @@
|
||||
# Copyright 1999-2022 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.0"
|
||||
|
||||
# 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
|
||||
virtual/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 )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.1.6-fgrep.patch
|
||||
)
|
||||
|
||||
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 newpool 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
|
||||
}
|
||||
Reference in New Issue
Block a user