summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-fs/zfs-kmod/Manifest1
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.8.0_rc4.ebuild167
2 files changed, 168 insertions, 0 deletions
diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index 89d0d6e15558..27a9625015db 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -5,3 +5,4 @@ DIST zfs-0.7.13.tar.gz 6614047 BLAKE2B c59c46287715779eb04d69333b0a417fa9865eb0d
DIST zfs-0.7.8.tar.gz 6514969 BLAKE2B 689d96ad7afeb422cbeca724f248ac56b6fcdc0a7ef215f735180406a7fc0d4d3c9700a41e855186d8044b304c9f0c142c2bdca387299c499974e424965970a4 SHA512 cdeabe10acd2feeeff8a6362987c757b716bfea6ebad42ce022a081106661f774150c113bdaa9e1ac441efdd6da4cf11e6119323ad60ae15ab445a872d952e35
DIST zfs-0.7.9-r1-patches.tar.xz 10920 BLAKE2B 50a0b8533061b5eecc103179e6fd51499d87f1c3b331b0629efa29a5a7d405c03448db2245fed9389d149cc83021a2c263bc2f02133a5fdd11b088516c353fff SHA512 a9e8c04bf7449b0a63420202b2f6dd8a6aea96ac57e5925c2ca0223f662210f42316ada25aa6113103909de8c9976945828cdb91a6ff9932f282c01316d7b3ec
DIST zfs-0.7.9.tar.gz 6548649 BLAKE2B aa2f1b9d0ba0eda1af7d420c43d65d5d4183169cfe97c693356e1e0b15967ea512c25454f2d77285600f2209d778e4299f420754932e403a390b87b4f488dc94 SHA512 af5d9c320885ee84019fb04250c4b12c7ac3bb3d1037b1961ec4584701a737558374dc22521743e197356efb1d1f0ced9beff675ae9cfcccf3cd8407467f18fa
+DIST zfs-0.8.0-rc4.tar.gz 8874029 BLAKE2B 17dd408bfe5133339548c124529b22312c70f527cca9329a7198c415ee2010e03a967d06d6b56ba25c667c8586476daed97c812ffc26331827aac818eda27282 SHA512 0a1137cf5ed2859dd3876867c4f63b74f117847276a3d9de67736a92cbe5a0c9b2e599bb0e84664f5feb89be36188baacdcc2aa233b498fcfeb6fd946c8b73ea
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.8.0_rc4.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.8.0_rc4.ebuild
new file mode 100644
index 000000000000..32fe064aded2
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-0.8.0_rc4.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic linux-info linux-mod toolchain-funcs
+
+DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
+HOMEPAGE="https://zfsonlinux.org/"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/zfsonlinux/zfs.git"
+else
+ MY_PV="${PV/_rc/-rc}"
+ SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
+ KEYWORDS="~amd64"
+ ZFS_KERNEL_COMPAT="${ZFS_KERNEL_COMPAT_OVERRIDE:-5.0}"
+ S="${WORKDIR}/zfs-${PV%_rc*}"
+fi
+
+LICENSE="CDDL debug? ( GPL-2+ )"
+SLOT="0"
+IUSE="custom-cflags debug +rootfs"
+
+DEPEND=""
+
+RDEPEND="${DEPEND}
+ !sys-fs/zfs-fuse
+ !sys-kernel/spl
+"
+
+BDEPEND="
+ dev-lang/perl
+ virtual/awk
+"
+
+RESTRICT="debug? ( strip ) test"
+
+DOCS=( AUTHORS COPYRIGHT META README.md )
+
+pkg_setup() {
+ linux-info_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"
+
+ kernel_is -ge 2 6 32 || die "Linux 2.6.32 or newer required"
+
+ if [[ ${PV} != "9999" ]]; then
+ local KV_MAJOR_MAX="${ZFS_KERNEL_COMPAT%%.*}"
+ local KV_MINOR_MAX="${ZFS_KERNEL_COMPAT##*.}"
+ kernel_is -le "${KV_MAJOR_MAX}" "${KV_MINOR_MAX}" || die \
+ "Linux ${KV_MAJOR_MAX}.${KV_MINOR_MAX} is the latest supported version"
+ fi
+
+ check_extra_config
+}
+
+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
+
+ # Remove GPLv2-licensed ZPIOS unless we are debugging
+ use debug || sed -e 's/^subdir-m += zpios$//' -i module/Makefile.in
+}
+
+src_configure() {
+ set_arch_to_kernel
+
+ use custom-cflags || strip-flags
+
+ filter-ldflags -Wl,*
+
+ local myconf=(
+ --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
+
+ default
+}
+
+src_install() {
+ set_arch_to_kernel
+
+ emake \
+ DEPMOD="/bin/true" \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}" \
+ 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 ZFSOnLinux 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."
+}