From 5188d2f90ed782e226d533ce7aaa2ffed0feb2c4 Mon Sep 17 00:00:00 2001 From: Valko Laszlo Date: Tue, 17 Apr 2018 16:03:44 +0200 Subject: [PATCH] Added zfs 0.7.8 packages. --- sys-fs/zfs-kmod/Manifest | 2 + sys-fs/zfs-kmod/zfs-kmod-0.7.8.ebuild | 145 ++++++++++++++++++ sys-fs/zfs/Manifest | 2 + sys-fs/zfs/zfs-0.7.8.ebuild | 212 ++++++++++++++++++++++++++ sys-kernel/spl/Manifest | 2 + sys-kernel/spl/spl-0.7.8.ebuild | 111 ++++++++++++++ 6 files changed, 474 insertions(+) create mode 100644 sys-fs/zfs-kmod/zfs-kmod-0.7.8.ebuild create mode 100644 sys-fs/zfs/zfs-0.7.8.ebuild create mode 100644 sys-kernel/spl/spl-0.7.8.ebuild diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest index 99866da..c6321be 100644 --- a/sys-fs/zfs-kmod/Manifest +++ b/sys-fs/zfs-kmod/Manifest @@ -1,3 +1,5 @@ DIST zfs-0.6.5.11.tar.gz 2521959 BLAKE2B 95b145a26620995343df1a468367b882bc71ab3e4812c05839d49d0cd877b756185c91b2609986f91939fbfda322809ddefc8ff9207fe076db03e0038e585ea2 SHA512 877052da2a0cdc78b10cb5041da55e31242db2618c502997f4df9aa46a14482c7f33adce8d21aaf16164a9fe52edc358922ea89c8e109c3247e107bf607d6451 +DIST zfs-0.7.8.tar.gz 6514969 BLAKE2B 689d96ad7afeb422cbeca724f248ac56b6fcdc0a7ef215f735180406a7fc0d4d3c9700a41e855186d8044b304c9f0c142c2bdca387299c499974e424965970a4 SHA512 cdeabe10acd2feeeff8a6362987c757b716bfea6ebad42ce022a081106661f774150c113bdaa9e1ac441efdd6da4cf11e6119323ad60ae15ab445a872d952e35 EBUILD zfs-kmod-0.6.5.11.ebuild 3969 BLAKE2B 151cfd7f84b8a427ea4ae8b190da018ee5f2d6ce789f0124e9bc76b84bbf540942d1a7a07a3a4cac774efbbc2f7741d7f68b54a4196f19e6350933024b9aa423 SHA512 c2c6ccfe19616395a854651edf0a956c26c2737a0efefd7677eb873ac1c9fe92190f33e90a1e32629b2396020b8ecc33105ccd97b0a26407665efb7e1ff2bf46 +EBUILD zfs-kmod-0.7.8.ebuild 4053 BLAKE2B f678c78a5e4c13c2e6339c8b859ae396d62a1403a895b3a53677f5999f63ff08c608e382c51b7bde0e7a4e092eddbca90d84ab808a105a7923a81cd6d18815d0 SHA512 863030a139ca6f7cb0e4a8dbe870fe6123782b74b8ec0e4353ee3020512922663b11fc3b374206a52fcbcf114ccfb9002ba5a895398981e562ef09f4f5b87db6 MISC metadata.xml 554 BLAKE2B 3f2673ca745f69a68210ee7e14ef93037285807fb174aad38913c9478ce4f38459cb000ad46f9b6b37a62f3f13287fba9f646bdf55a3c6126704082ecb6294e6 SHA512 c5dbcf5b795510abbe6c6dbea53ea6b9a438f0b2b8f7af28ae3ec9d8816d51c6ee22938bfe7d222d5b451065b57447064fba59e93a9621f1132e3d27ef8d385b diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.7.8.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.7.8.ebuild new file mode 100644 index 0000000..c8153af --- /dev/null +++ b/sys-fs/zfs-kmod/zfs-kmod-0.7.8.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +if [ ${PV} == "9999" ]; then + AUTOTOOLS_AUTORECONF="1" + EGIT_REPO_URI="https://github.com/zfsonlinux/zfs.git" + inherit git-r3 +else + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/zfs-${PV}.tar.gz" + S="${WORKDIR}/zfs-${PV}" + KEYWORDS="amd64" +fi + +inherit flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils + +DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" +HOMEPAGE="http://zfsonlinux.org/" + +LICENSE="CDDL debug? ( GPL-2+ )" +SLOT="0" +IUSE="custom-cflags debug +rootfs" +RESTRICT="debug? ( strip ) test" + +DEPEND=" + =sys-kernel/spl-${PV}* + dev-lang/perl + virtual/awk +" + +RDEPEND="${DEPEND} + !sys-fs/zfs-fuse +" + +AT_M4DIR="config" +AUTOTOOLS_IN_SOURCE_BUILD="1" + +DOCS=( AUTHORS COPYRIGHT DISCLAIMER README.markdown ) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK=" + !DEBUG_LOCK_ALLOC + EFI_PARTITION + IOSCHED_NOOP + MODULES + !PAX_KERNEXEC_PLUGIN_METHOD_OR + 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 ge 2 6 32 || die "Linux 2.6.32 or newer required" + + [ ${PV} != "9999" ] && \ + { kernel_is le 4 16 || die "Linux 4.16 is the latest supported version."; } + + check_extra_config +} + +src_prepare() { + # Remove GPLv2-licensed ZPIOS unless we are debugging + use debug || sed -e 's/^subdir-m += zpios$//' -i "${S}/module/Makefile.in" + + # Set module revision number + [ ${PV} != "9999" ] && \ + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; } + + autotools-utils_src_prepare +} + +src_configure() { + local SPL_PATH="$(basename $(echo "${EROOT}usr/src/spl-"*))" + use custom-cflags || strip-flags + filter-ldflags -Wl,* + + set_arch_to_kernel + local myeconfargs=(${myeconfargs} + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=kernel + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-spl="${EROOT}usr/src/${SPL_PATH}" + --with-spl-obj="${EROOT}usr/src/${SPL_PATH}/${KV_FULL}" + $(use_enable debug) + ) + + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}" +} + +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." +} diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest index c61328f..b032ed6 100644 --- a/sys-fs/zfs/Manifest +++ b/sys-fs/zfs/Manifest @@ -2,5 +2,7 @@ AUX bash-completion-r1 11310 BLAKE2B f6c105fef1737d4be0e76967fdec62aa52fa7665bfc AUX zfs-init.sh.in 582 BLAKE2B 27e5c1aff398c42178b3d7c005e91a1f8f3afa303a22e49c93a2cd7134016a8d07d68483126d60e46ed4ff5cbaeb87f050e9c9fb5bff5352d5dc32b4d94db7b4 SHA512 bed7eae5f902f13489241782d3d560b53a5a3258de492763b7b25783ca9417975afb9000f68f58be5c2057e1db50a569374ed0ff572140aa65e401e20e646461 AUX zfs.service.in 335 BLAKE2B a18ad1d70975df98cfb7b5196ad17b7197d5eb59cac2ccb3b9243f111c6c882c3480eb6396e347eac91670e3a67d7f122953d6fa82ec61a6467163b788b31858 SHA512 7a167b389723e5f55fea6956e5546e46c89ebf3e2d1c25f6b56c357e6d3ffc765226549d78cdeb79b4dc90c798ec6326a13996215b40eb49179376e32c3c3287 DIST zfs-0.6.5.11.tar.gz 2521959 BLAKE2B 95b145a26620995343df1a468367b882bc71ab3e4812c05839d49d0cd877b756185c91b2609986f91939fbfda322809ddefc8ff9207fe076db03e0038e585ea2 SHA512 877052da2a0cdc78b10cb5041da55e31242db2618c502997f4df9aa46a14482c7f33adce8d21aaf16164a9fe52edc358922ea89c8e109c3247e107bf607d6451 +DIST zfs-0.7.8.tar.gz 6514969 BLAKE2B 689d96ad7afeb422cbeca724f248ac56b6fcdc0a7ef215f735180406a7fc0d4d3c9700a41e855186d8044b304c9f0c142c2bdca387299c499974e424965970a4 SHA512 cdeabe10acd2feeeff8a6362987c757b716bfea6ebad42ce022a081106661f774150c113bdaa9e1ac441efdd6da4cf11e6119323ad60ae15ab445a872d952e35 EBUILD zfs-0.6.5.11-r2.ebuild 5958 BLAKE2B 7444a03cff632b6f3697660e223e85f3b1557e393560577f4222dec067fd09e7220ecc77d51df147428ad01c530075b438dd4a4587c8d5a060c93ec577cf4272 SHA512 a9be79d36d5dbd739d875c7879b50bd66d95ea4c5a94f0170cdd7aef4e474f62521897e0232a2fee436477cfb1fdfaa9d0bccbd85be8f680eec3dab305e8b385 +EBUILD zfs-0.7.8.ebuild 6073 BLAKE2B 5ba2b9221ebf4dd4f483e531dc74d098bcfc633405204bd577a38d24ae92f9e9ee5d47e779097f31f424e1e0da8eff9ebc62c303d0a115810a557e856df5ba78 SHA512 9740c0a4dd42b6f82d7f6a09ffb399127e1b2d04bf211267908d1b918e0914a0443a9115b788d9300703ca8da68561a1d8c09d4f3ffd61a7c9fdd83775a5d24d MISC metadata.xml 754 BLAKE2B 7fc8a5badf77174cc9d31bb1e83da53d910a18884897287bc3666066edcfc03ec6331c09cb7ff02767e14b17df03eddba74549feea61dd044c21a4133f4aa763 SHA512 647ffa3857be38b2aed7462d26bbb1d3ea50fc53068b6d973514fdbadf7164421dd2025165a592855b86a03754d968d36e503dcfafc99e3ed75ee7db3f62df3a diff --git a/sys-fs/zfs/zfs-0.7.8.ebuild b/sys-fs/zfs/zfs-0.7.8.ebuild new file mode 100644 index 0000000..333f9ed --- /dev/null +++ b/sys-fs/zfs/zfs-0.7.8.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) + +if [ ${PV} == "9999" ] ; then + inherit git-r3 linux-mod + AUTOTOOLS_AUTORECONF="1" + EGIT_REPO_URI="git://github.com/zfsonlinux/${PN}.git" +else + SRC_URI="https://github.com/zfsonlinux/${PN}/releases/download/${P}/${P}.tar.gz" + KEYWORDS="amd64" +fi + +inherit autotools-utils bash-completion-r1 flag-o-matic linux-info python-r1 systemd toolchain-funcs udev + +DESCRIPTION="Userland utilities for ZFS Linux kernel module" +HOMEPAGE="http://zfsonlinux.org/" + +LICENSE="BSD-2 CDDL MIT" +SLOT="0" +IUSE="custom-cflags debug kernel-builtin +rootfs test-suite static-libs" +RESTRICT="test" + +COMMON_DEPEND=" + net-libs/libtirpc + sys-apps/util-linux[static-libs?] + sys-libs/zlib[static-libs(+)?] + virtual/awk +" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig +" + +RDEPEND="${COMMON_DEPEND} + !=sys-apps/grep-2.13* + !kernel-builtin? ( =sys-fs/zfs-kmod-${PV}* ) + !sys-fs/zfs-fuse + !prefix? ( virtual/udev ) + test-suite? ( + sys-apps/util-linux + sys-devel/bc + sys-block/parted + sys-fs/lsscsi + sys-fs/mdadm + sys-process/procps + virtual/modutils + ) + rootfs? ( + app-arch/cpio + app-misc/pax-utils + !" + eerror " Block devices --->" + eerror " [ ] Loopback device support" + fi + fi + fi + fi + +} + +src_prepare() { + # Update paths + sed -e "s|/sbin/lsmod|/bin/lsmod|" \ + -e "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" \ + -e "s|/sbin/parted|/usr/sbin/parted|" \ + -i scripts/common.sh.in + + autotools-utils_src_prepare +} + +src_configure() { + use custom-cflags || strip-flags + local myeconfargs=( + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=user + --with-dracutdir="${EPREFIX}/usr/lib/dracut" + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-udevdir="$(get_udevdir)" + --with-systemdunitdir="$(systemd_get_systemunitdir)" + --with-systemdpresetdir="${EPREFIX}/lib/systemd/system-preset" + $(use_enable debug) + ) + autotools-utils_src_configure + + # prepare systemd unit and helper script + cat "${FILESDIR}/zfs.service.in" | \ + sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \ + -e "s:@sysconfdir@:${EPREFIX}/etc:g" \ + > "${T}/zfs.service" || die + cat "${FILESDIR}/zfs-init.sh.in" | \ + sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \ + -e "s:@sysconfdir@:${EPREFIX}/etc:g" \ + > "${T}/zfs-init.sh" || die +} + +src_install() { + autotools-utils_src_install + gen_usr_ldscript -a uutil nvpair zpool zfs zfs_core + use test-suite || rm -rf "${ED}usr/share/zfs" + + newbashcomp "${FILESDIR}/bash-completion-r1" zfs + bashcomp_alias zfs zpool + + exeinto /usr/libexec + doexe "${T}/zfs-init.sh" + systemd_dounit "${T}/zfs.service" +} + +pkg_postinst() { + if ! use kernel-builtin && [ ${PV} = "9999" ] + then + einfo "Adding ${P} to the module database to ensure that the" + einfo "kernel modules and userland utilities stay in sync." + update_moduledb + fi + + if [ -e "${EROOT}etc/runlevels/boot/zfs" ] + then + einfo 'The zfs boot script has been split into the zfs-import,' + einfo 'zfs-mount and zfs-share scripts.' + einfo + einfo 'You had the zfs script in your boot runlevel. For your' + einfo 'convenience, it has been automatically removed and the three' + einfo 'scripts that replace it have been configured to start.' + einfo 'The zfs-import and zfs-mount scripts have been added to the boot' + einfo 'runlevel while the zfs-share script is in the default runlevel.' + + rm "${EROOT}etc/runlevels/boot/zfs" + ln -snf "${EROOT}etc/init.d/zfs-import" \ + "${EROOT}etc/runlevels/boot/zfs-import" + ln -snf "${EROOT}etc/init.d/zfs-mount" \ + "${EROOT}etc/runlevels/boot/zfs-mount" + ln -snf "${EROOT}etc/init.d/zfs-share" \ + "${EROOT}etc/runlevels/default/zfs-share" + else + [ -e "${EROOT}etc/runlevels/boot/zfs-import" ] || \ + einfo "You should add zfs-import to the boot runlevel." + [ -e "${EROOT}etc/runlevels/boot/zfs-mount" ] || \ + einfo "You should add zfs-mount to the boot runlevel." + [ -e "${EROOT}etc/runlevels/default/zfs-share" ] || \ + einfo "You should add zfs-share to the default runlevel." + fi + + if [ -e "${EROOT}etc/runlevels/default/zed" ] + then + einfo 'The downstream OpenRC zed script has replaced by the upstream' + einfo 'OpenRC zfs-zed script.' + einfo + einfo 'You had the zed script in your default runlevel. For your' + einfo 'convenience, it has been automatically removed and the zfs-zed' + einfo 'script that replaced it has been configured to start.' + + rm "${EROOT}etc/runlevels/boot/zed" + ln -snf "${EROOT}etc/init.d/zfs-sed" \ + "${EROOT}etc/runlevels/default/zfs-zed" + else + [ -e "${EROOT}etc/runlevels/default/zfs-zed" ] || \ + einfo "You should add zfs-zed to the default runlevel." + fi + + if [ -e "${EROOT}etc/runlevels/shutdown/zfs-shutdown" ] + then + einfo "The zfs-shutdown script is obsolete. Removing it from runlevel." + rm "${EROOT}etc/runlevels/shutdown/zfs-shutdown" + fi + + systemd_reenable zfs-zed.service + systemd_reenable zfs-import-cache.service + systemd_reenable zfs-import-scan.service + systemd_reenable zfs-mount.service + systemd_reenable zfs-share.service + systemd_reenable zfs-import.target + systemd_reenable zfs.target + systemd_reenable zfs.service + +} + +pkg_postrm() { + if ! use kernel-builtin && [ ${PV} = "9999" ] + then + remove_moduledb + fi +} diff --git a/sys-kernel/spl/Manifest b/sys-kernel/spl/Manifest index 4117f4b..e09be18 100644 --- a/sys-kernel/spl/Manifest +++ b/sys-kernel/spl/Manifest @@ -1,4 +1,6 @@ AUX spl-kernel4.13-fix.patch 1669 BLAKE2B 2cf15db82287e6235930c67f24ce15c0113949075434e5cf8184ed8a1de1284ba4d64e5756c2d1bb022c4f7280990878d56eb26405d9e34babe900d6193dda35 SHA512 d4fad64031aee42bd15ac59356a577a27bf385f3d94a2afcf5c24571e122f7039be95b7188a99d5207ab1eb7243fb74760b5253e78527674d5c5b9978b6c696f DIST spl-0.6.5.11.tar.gz 531710 BLAKE2B e89cb5a023d3f4b3949a385100b56e01c5fd0ff4448bc175f8463a84b74d1d8f1fcf669c2e4b73f2ec3326653594106ebfa3e66987e49a9cd029355bbb317990 SHA512 eae1641a0d528cb9182deccd309625e13abf3db88ba1cbb54947055b23d1f94b62c045f939d5e952784f19719eea5fdf85d65c5abd22b9db167ea7780bc55722 +DIST spl-0.7.8.tar.gz 559558 BLAKE2B 5aa68a8150cb0c922c1ad0df9d1260136cedd95c13df45cc4490d937746a2a0e76e964978128a6f4e553f7bad4adc72a0408ef89969a15ba3f43af26e412b61c SHA512 dcd38dd0971042603baa474460486ed2e7cb59468de7613fa713eb4bdd081026794af7780b5d8970dd17645b04b6dde1e2f43e89a782437a50afc679a8850001 EBUILD spl-0.6.5.11.ebuild 2655 BLAKE2B b5aea16090ff1c819f3785a2fe6ad07b6f4146be39c56d49840012661bdde1fc4175d18e1ad9fe25f2ab70f4e284e93497995e3cdc1c07197a32f23a5f973449 SHA512 21fe54395a6b7c637dc742d2b0fdcf41ae66d41196e05c2236b15030417ffad7850d84f66d83cc98c08455c2d148fae6293b5d81acaef313021bbbb55dcfa271 +EBUILD spl-0.7.8.ebuild 2686 BLAKE2B 25ada9a1556c66cda953dfe47a09781e0c7d6cf12b41631f465f7c2fa9f1b0d13be8e5539bba41e5251b620fc75dbedd319dc9fd064870f2be1a6af62d771724 SHA512 b6ad416f3f5af65572371e326d94ef5dd7321b50f176fdd85579a384a7f4aea142ef0858d4c9bea0a98d0252339b5ff6c76419736a60cb1a3bd9f5083414f2e5 MISC metadata.xml 436 BLAKE2B df6b2b25107b10b62618306f09e48f4337315792390c58392f73b270466f4927209dba0d8d1f1d8b8f65f345bce077a7b738f240f077a0eb26c23353673d412f SHA512 1b867378bde3ac034a7fbdc84e47b77b570ecf7a7688b0dc47950de7ea6601284c8101600928ddb7725f7a09ecc73eb01bdf646b0ecca250029e3063a4427ca8 diff --git a/sys-kernel/spl/spl-0.7.8.ebuild b/sys-kernel/spl/spl-0.7.8.ebuild new file mode 100644 index 0000000..871dba5 --- /dev/null +++ b/sys-kernel/spl/spl-0.7.8.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +if [[ ${PV} == "9999" ]] ; then + AUTOTOOLS_AUTORECONF="1" + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git" + inherit git-r3 +else + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz" + KEYWORDS="amd64" +fi + +inherit flag-o-matic linux-info linux-mod autotools-utils + +DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs" +HOMEPAGE="http://zfsonlinux.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="custom-cflags debug" +RESTRICT="debug? ( strip ) test" + +COMMON_DEPEND=" + dev-lang/perl + virtual/awk" + +DEPEND="${COMMON_DEPEND}" + +RDEPEND="${COMMON_DEPEND} + !sys-devel/spl" + +AT_M4DIR="config" +AUTOTOOLS_IN_SOURCE_BUILD="1" +DOCS=( AUTHORS DISCLAIMER ) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK=" + !DEBUG_LOCK_ALLOC + MODULES + KALLSYMS + !PAX_KERNEXEC_PLUGIN_METHOD_OR + !PAX_SIZE_OVERFLOW + ZLIB_DEFLATE + ZLIB_INFLATE + " + + use debug && CONFIG_CHECK="${CONFIG_CHECK} + FRAME_POINTER + DEBUG_INFO + !DEBUG_INFO_REDUCED + " + + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required" + + [ ${PV} != "9999" ] && \ + { kernel_is le 4 16 || die "Linux 4.16 is the latest supported version."; } + + check_extra_config +} + +src_prepare() { + # Workaround for hard coded path + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \ + die "Cannot patch check.sh" + + # splat is unnecessary unless we are debugging + use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; } + + # Set module revision number + [ ${PV} != "9999" ] && \ + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; } + + autotools-utils_src_prepare +} + +src_configure() { + use custom-cflags || strip-flags + filter-ldflags -Wl,* + + set_arch_to_kernel + local myeconfargs=( + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=all + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + $(use_enable debug) + ) + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}" +} + +pkg_postinst() { + linux-mod_pkg_postinst + + # Remove old modules + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ] + then + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl" + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl" + ewarn "Automatically removing old modules to avoid problems." + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules" + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon" + fi +}