public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/, sys-kernel/spl/, sys-fs/zfs/
@ 2015-12-03 16:36 Richard Yao
  0 siblings, 0 replies; 3+ messages in thread
From: Richard Yao @ 2015-12-03 16:36 UTC (permalink / raw
  To: gentoo-commits

commit:     56ff62daca4803ffcfcddcd88b8322462ba3ddf1
Author:     Richard Yao <ryao <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  3 16:20:38 2015 +0000
Commit:     Richard Yao <ryao <AT> gentoo <DOT> org>
CommitDate: Thu Dec  3 16:28:28 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56ff62da

sys-kernel/spl + sys-fs/zfs{,-kmod}: Partial stable /dev/zfs API + backports

This backports various fixes and also implements the partial /dev/zfs
stable API that I have developed at ClusterHQ over the past 14 months.
Ordinarily, I would not commit something like this until it has gone
upstream, but upstream wants review from people in the Illumos project
that prefer to see things like this in production before it reaches them
and it would have likely been deadlocked until I volunteered Gentoo.

I am confident that this is ready for production and I believe Gentoo
benefits from it enough to justify being the first production user.
Unless the API changes under review, situations where the kernel modules
and userland bits fall out of sync will no longer break the boot process
(excluding zfs-share and zfs-zed).  This was the longstanding blocker to
the ebuilds moving from ~arch to arch, so we could finally see that
happen around later this month / early next month.

Package-Manager: portage-2.2.20.1
Signed-off-by: Richard Yao <ryao <AT> gentoo.org>

 sys-fs/zfs-kmod/Manifest                   |   1 +
 sys-fs/zfs-kmod/zfs-kmod-0.6.5.3-r1.ebuild | 154 +++++++++++++++++++++
 sys-fs/zfs/Manifest                        |   1 +
 sys-fs/zfs/zfs-0.6.5.3-r1.ebuild           | 207 +++++++++++++++++++++++++++++
 sys-kernel/spl/Manifest                    |   1 +
 sys-kernel/spl/spl-0.6.5.3-r1.ebuild       | 120 +++++++++++++++++
 6 files changed, 484 insertions(+)

diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index 4aa0600..467e3cc 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -6,6 +6,7 @@ DIST zfs-0.6.3-patches-r1.tar.xz 87852 SHA256 71b5286f77cb6a6c2b97cee406dfd4788f
 DIST zfs-0.6.3.tar.gz 1665270 SHA256 00caeae63cc724d3dd741aeb36fd2dc03d2158794bd6a5e925cdc8d7e5d3da8c SHA512 8c7741f5f227eb031d79fe87bf7d60e790a098fa6caede462d556c97d798832f97f5a377cbb74fc99b8d198e5f3cc1a3491f69fcdaa0408933dbadd132013416 WHIRLPOOL db9791da12c441c89667b194154b209f5aa69ea46d5327cfcde0b3a910cf1f0e5ca448909824e45b31252a1907280b711fb6ba04eb313d09de0ffbf5e6e304fe
 DIST zfs-0.6.4.2.tar.gz 1738601 SHA256 26af2924cbb891b79203a31827cba4cdc310162d5f7b9e2d643eb6576aa19015 SHA512 87a28997b8f9d36e189410171db583402418a55782b7b7f333993e98c5e17ccc4b6cd5825f38b904294c87e3dfdfb7748bd71cc371589c1358f16c942e0c18db WHIRLPOOL 1700de7da56311a7b608c99a821e2fa97a6145ccc88f3d8eff12f778421ba7b7b9cc5f5fbe5f1acd2ea2fd1db778c200a2ea961e3859a8fc89d80474894293f1
 DIST zfs-0.6.5.2.tar.gz 1817267 SHA256 aecd2bc5189f2a71a45eb222230146bed231af4f35af5ec7af83a74987c3d595 SHA512 7f0b20feca91d5ab952c1d49ae94d241f8868825b163a3d5f2ad0fd7adcac3ab246a3e6a755019a833be553fbbfd6609828d8123f49a43b42bf76cfd64f234ec WHIRLPOOL 00fd628ef2267366b6f0705e6436ac55b260aabc3588c7f58a7042dfbfe95a0478740b4579326638d28f10ffc8f2d5b3ed21b9f8297e72344ec439fe30310634
+DIST zfs-0.6.5.3-patches-p0.tar.xz 63780 SHA256 cc6d2881304738619b9d00bc55fbd358119b35cbb345cae2ecf538051f1b7fe7 SHA512 4a531fd10d1d4d9c9cabaad9c13d8112eab3641249a7ce44599288bc4510b444d132833fae2fdf922eff43670ce77d32972c7b5b4a7d70f80c3365a0dcc89b70 WHIRLPOOL adc20e7917a518c790007499763210a4d27a164abe00a86f76d64f56f0fafc459f5d5c483019acacc136e41c57894e669fd58956b3f0ac0bcafeb1e02fec7988
 DIST zfs-0.6.5.3.tar.gz 2524218 SHA256 49e6f9760ea172cb756f7357e4bcb90ee0293028540a68d62ed087724276131f SHA512 325cb91b7ddbcd6aa0bb9fc41eb0099dbb047a4e32d096fd414799729ef68cbc9c2e15714092eff8044a681af4ab552bd9ac1949cc673c6c5c3de1a23d9895ec WHIRLPOOL 957c3a75bb11befd4b74583883f2f11f717deb6bda368939b342049e809aa191a9ee8d1e709eaddc2a831418c7fdb5e763f918ff56d45f03baf4569ef8a4a070
 DIST zfs-0.6.5.tar.gz 1816180 SHA256 542121940122c922c9d21a2bb39bca4e4a9db2f6bbfd2e576630840e256d4c82 SHA512 58480ee9b0780f1f21d12504abc226be3e6df1939214f6a8f245315d1fa0b9da56b3a744df26426ee78f13684a4ca288df6dddc50f8f91d9d0b4c542980a9c53 WHIRLPOOL fdb5580ec8d4abe57069ce453c1d91225019758ecf5d31856a7897ac7e4b51c6a8ae3258e822f684fbd70a0a7d7410c65c37a569f37d132767522118c587cc24
 DIST zfs-kmod-0.6.2-p2.tar.xz 28636 SHA256 12882463a38a5a57cf2bb3c14c5783f9511f6dc7b163a47575f2f3dcc24f26f6 SHA512 5792660ae8f5013d12e70d608e9cffa92a8c4089a88a5e78728ee88204b3f970d452d5b0b3874e02be49ebbc139e07139be7b5a86ca40bc8b23cb11a7198a9a8 WHIRLPOOL 0e4c57b363cdd3d736efbd1355567b18e22439bd3b20ef40b27f6b97ad4570c7cc99a11b196ac25359d1966c1a70e178f4fd1687b60450f148ccda47b07282a9

diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.5.3-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.5.3-r1.ebuild
new file mode 100644
index 0000000..f5ba4fb
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-0.6.5.3-r1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+		https://dev.gentoo.org/~ryao/dist/zfs-${PV}-patches-p0.tar.xz"
+	S="${WORKDIR}/zfs-${PV}"
+	KEYWORDS="~amd64 ~arm ~ppc ~ppc64"
+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 4 || die "Linux 4.4 is the latest supported version."; }
+
+	check_extra_config
+}
+
+src_prepare() {
+	if [ ${PV} != "9999" ]
+	then
+		# Apply patch set
+		EPATCH_SUFFIX="patch" \
+		EPATCH_FORCE="yes" \
+		epatch "${WORKDIR}/zfs-${PV}-patches"
+	fi
+
+	# 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 928999e..6e89dca 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -6,5 +6,6 @@ DIST zfs-0.6.3-patches-r1.tar.xz 87852 SHA256 71b5286f77cb6a6c2b97cee406dfd4788f
 DIST zfs-0.6.3.tar.gz 1665270 SHA256 00caeae63cc724d3dd741aeb36fd2dc03d2158794bd6a5e925cdc8d7e5d3da8c SHA512 8c7741f5f227eb031d79fe87bf7d60e790a098fa6caede462d556c97d798832f97f5a377cbb74fc99b8d198e5f3cc1a3491f69fcdaa0408933dbadd132013416 WHIRLPOOL db9791da12c441c89667b194154b209f5aa69ea46d5327cfcde0b3a910cf1f0e5ca448909824e45b31252a1907280b711fb6ba04eb313d09de0ffbf5e6e304fe
 DIST zfs-0.6.4.2.tar.gz 1738601 SHA256 26af2924cbb891b79203a31827cba4cdc310162d5f7b9e2d643eb6576aa19015 SHA512 87a28997b8f9d36e189410171db583402418a55782b7b7f333993e98c5e17ccc4b6cd5825f38b904294c87e3dfdfb7748bd71cc371589c1358f16c942e0c18db WHIRLPOOL 1700de7da56311a7b608c99a821e2fa97a6145ccc88f3d8eff12f778421ba7b7b9cc5f5fbe5f1acd2ea2fd1db778c200a2ea961e3859a8fc89d80474894293f1
 DIST zfs-0.6.5.2.tar.gz 1817267 SHA256 aecd2bc5189f2a71a45eb222230146bed231af4f35af5ec7af83a74987c3d595 SHA512 7f0b20feca91d5ab952c1d49ae94d241f8868825b163a3d5f2ad0fd7adcac3ab246a3e6a755019a833be553fbbfd6609828d8123f49a43b42bf76cfd64f234ec WHIRLPOOL 00fd628ef2267366b6f0705e6436ac55b260aabc3588c7f58a7042dfbfe95a0478740b4579326638d28f10ffc8f2d5b3ed21b9f8297e72344ec439fe30310634
+DIST zfs-0.6.5.3-patches-p0.tar.xz 63780 SHA256 cc6d2881304738619b9d00bc55fbd358119b35cbb345cae2ecf538051f1b7fe7 SHA512 4a531fd10d1d4d9c9cabaad9c13d8112eab3641249a7ce44599288bc4510b444d132833fae2fdf922eff43670ce77d32972c7b5b4a7d70f80c3365a0dcc89b70 WHIRLPOOL adc20e7917a518c790007499763210a4d27a164abe00a86f76d64f56f0fafc459f5d5c483019acacc136e41c57894e669fd58956b3f0ac0bcafeb1e02fec7988
 DIST zfs-0.6.5.3.tar.gz 2524218 SHA256 49e6f9760ea172cb756f7357e4bcb90ee0293028540a68d62ed087724276131f SHA512 325cb91b7ddbcd6aa0bb9fc41eb0099dbb047a4e32d096fd414799729ef68cbc9c2e15714092eff8044a681af4ab552bd9ac1949cc673c6c5c3de1a23d9895ec WHIRLPOOL 957c3a75bb11befd4b74583883f2f11f717deb6bda368939b342049e809aa191a9ee8d1e709eaddc2a831418c7fdb5e763f918ff56d45f03baf4569ef8a4a070
 DIST zfs-kmod-0.6.2-p4.tar.xz 63984 SHA256 9167edc4be86e3fcda6b3c198e51f92ab0c95ac5baca11666c28029a628cdac9 SHA512 13e4ec415c35d2f268d89565745f5898c0943423577a2ba6714b3a069c5a80f244cd06dff91464f38dd4ed60673d1145ead080bb03a56d4be33e328f948ffa64 WHIRLPOOL 8c399ec67119ed4fbebb5599d00f888918678bc4e4ea369b4bdc5c75bfc90fc76396087624c8011de370a54ff103bccaa8922d05ac7ccebb2b3481bbbcf44b19

diff --git a/sys-fs/zfs/zfs-0.6.5.3-r1.ebuild b/sys-fs/zfs/zfs-0.6.5.3-r1.ebuild
new file mode 100644
index 0000000..50ccf06
--- /dev/null
+++ b/sys-fs/zfs/zfs-0.6.5.3-r1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,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
+		https://dev.gentoo.org/~ryao/dist/${P}-patches-p0.tar.xz"
+	KEYWORDS="~amd64 ~arm ~ppc ~ppc64"
+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="
+	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
+		!<sys-boot/grub-2.00-r2:2
+		)
+	!>=sys-fs/udev-init-scripts-28
+"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+pkg_setup() {
+	if use kernel_linux && use test-suite; then
+		linux-info_pkg_setup
+		if  ! linux_config_exists; then
+			ewarn "Cannot check the linux kernel configuration."
+		else
+			# recheck that we don't have usblp to collide with libusb
+			if use test-suite; then
+				if linux_chkconfig_present BLK_DEV_LOOP; then
+					eerror "The ZFS test suite requires loop device support enabled."
+					eerror "Please enable it:"
+					eerror "    CONFIG_BLK_DEV_LOOP=y"
+					eerror "in /usr/src/linux/.config or"
+					eerror "    Device Drivers --->"
+					eerror "        Block devices --->"
+					eerror "            [ ] Loopback device support"
+				fi
+			fi
+		fi
+	fi
+
+}
+
+src_prepare() {
+	if [ ${PV} != "9999" ]
+	then
+		# Apply patch set
+		EPATCH_SUFFIX="patch" \
+		EPATCH_FORCE="yes" \
+		epatch "${WORKDIR}/${P}-patches"
+	fi
+
+	# 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="/usr/$(get_libdir)/dracut"
+		--with-linux="${KV_DIR}"
+		--with-linux-obj="${KV_OUT_DIR}"
+		--with-udevdir="$(get_udevdir)"
+		--with-blkid
+		$(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
+
+}
+
+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 6d31a52..9cf3701 100644
--- a/sys-kernel/spl/Manifest
+++ b/sys-kernel/spl/Manifest
@@ -7,4 +7,5 @@ DIST spl-0.6.3-patches-r1.tar.xz 15996 SHA256 7f1cf74c9be5c14eeff529ce0a45d7dcca
 DIST spl-0.6.3.tar.gz 221430 SHA256 5d60dfbe86a50e65dbce17f538d8d0874a0cc293374f59eed46cd2dd1809a944 SHA512 c4b82f1e279c7581d0082c044157e8a933edf53233c8c7c8202117454cfda0473ab85fbb56ac0b6da09a4d6798e33020a9c55bf23e25d630efa3265545c3defc WHIRLPOOL eaf001a96a80264e16ce416da38b988eabbfd2fce17690151a496a3141c32e92e5d00791e2d9c009ae0cf6910f80434c10f02a700752fc664f6bf6723bb03dba
 DIST spl-0.6.4.2.tar.gz 190421 SHA256 05c428f48acc55287c0662a90cfc087985b8ef3694dc057cfb16e1fa2ebbda43 SHA512 6a295651622dd1819bc9ef8f693c6a3cf73dbb084a4789ad508dda644bfcaa1984c5487ea0e16c8d6d468da59a3fae2e9309b2b13cd869a4af4ea675c394bbe3 WHIRLPOOL e270b66ac9e22c806876e727ef040c3cfb2c304889de982f1c54a1625f7bf0214d3b6f8baac42cb3710aa23897f1b1bc67ef633fe35cb1b2c4b57196390a0fad
 DIST spl-0.6.5.2.tar.gz 193153 SHA256 2642b69870b32e0feeaa57fbfcef546a330064bd4e5805c4862a97287a9287ca SHA512 9db23daf6cc1d6aaa926c987e284d7dbbc538876d6a8b9636d3126efc2be9d54b5ae2cb9cb3a89b604b3d4106374d85d9ad2c1acaf940a1299c1620ee1526d3f WHIRLPOOL cc99f131f9dfcc9ef84237f16491c8c5417af70c57dcbc3dba448c83f93636d5161b301f4fefa4fa8c54c56a1864cd9ce5d5fc758697803bac880839ea57e359
+DIST spl-0.6.5.3-patches-p0.tar.xz 4968 SHA256 8e652d41eba421720bcecee99077d3f3c375153809426011f04a2c64aa181ca7 SHA512 cdc053d7ad537cec3b0e7d777d6a341d1b48d6f49613f77db3831b86f54cef098748b944a353c3bf920974a812d650b65116fe26906ff7921ea69cfa5fef9691 WHIRLPOOL ff9e6a193a8585738f57fec59a3513fe69856019569e90c95da306ab853b0c5a8266bb457ef1f4df0c4bcd20dfbde1062c616d3ee55621b288ab796c733d9589
 DIST spl-0.6.5.3.tar.gz 556179 SHA256 637c1eccd721f5d3bb1570621d2cd6646ec0488608482c0dbeb2838cf4bb310c SHA512 24a0c97f1a425e44d12f43519c23ba78672c06d65a03833a8d3827e4c762a873283c90ce66f64b9b186ab815f0b005e69da537e120b8b53877d0f13e649bac57 WHIRLPOOL e67f50c8adc4ac2b770dfaeb479fa8a8c87270c8314b5366dd95665a30adb2f1fb29db9719a0431cc18adc6865ea6f222c1b443f2b95b764cede8db50f49333d

diff --git a/sys-kernel/spl/spl-0.6.5.3-r1.ebuild b/sys-kernel/spl/spl-0.6.5.3-r1.ebuild
new file mode 100644
index 0000000..a705dda
--- /dev/null
+++ b/sys-kernel/spl/spl-0.6.5.3-r1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+		https://dev.gentoo.org/~ryao/dist/${P}-patches-p0.tar.xz"
+	KEYWORDS="~amd64 ~arm ~ppc ~ppc64"
+fi
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+DESCRIPTION="The Solaris Porting Layer is a Linux kernel module which 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 4 || die "Linux 4.4 is the latest supported version."; }
+
+	check_extra_config
+}
+
+src_prepare() {
+	if [ ${PV} != "9999" ]
+	then
+		# Apply patch set
+		EPATCH_SUFFIX="patch" \
+		EPATCH_FORCE="yes" \
+		epatch "${WORKDIR}/${P}-patches"
+	fi
+
+	# 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
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/, sys-kernel/spl/, sys-fs/zfs/
@ 2018-02-09  2:24 Jonathan Vasquez
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Vasquez @ 2018-02-09  2:24 UTC (permalink / raw
  To: gentoo-commits

commit:     6cecc8fd107f7dcdc8ed2f0b11ad9530726f8138
Author:     Jonathan Vasquez <fearedbliss <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  9 02:22:34 2018 +0000
Commit:     Jonathan Vasquez <fearedbliss <AT> gentoo <DOT> org>
CommitDate: Fri Feb  9 02:24:01 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cecc8fd

sys-fs/zfs (and friends): version bump to 0.7.6

Package-Manager: Portage-2.3.21, Repoman-2.3.6

 sys-fs/zfs-kmod/Manifest              |   1 +
 sys-fs/zfs-kmod/zfs-kmod-0.7.6.ebuild | 145 ++++++++++++++++++++++++
 sys-fs/zfs/Manifest                   |   1 +
 sys-fs/zfs/zfs-0.7.6.ebuild           | 202 ++++++++++++++++++++++++++++++++++
 sys-kernel/spl/Manifest               |   1 +
 sys-kernel/spl/spl-0.7.6.ebuild       | 111 +++++++++++++++++++
 6 files changed, 461 insertions(+)

diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index a6cca4775d2..783d0d03db0 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -2,3 +2,4 @@ DIST zfs-0.6.5.11.tar.gz 2521959 BLAKE2B 95b145a26620995343df1a468367b882bc71ab3
 DIST zfs-0.6.5.4-patches-p1.tar.xz 64004 BLAKE2B e9db3c1bde3a2636b35a4204c484bc4cec0968278519762707849ba138eeb9128130de70c2f40bb28dc9102347465d724a60cebd45ddb12d4217739ecbed7714 SHA512 9203356b43bdad2ed78c946af8c95c9fc4d2996b41a09a3b1f5a8657d2742ac69d10b4a87d443db497d591878cf7a70ebb19762b0df135ee25f4e8d2ed6ad71f
 DIST zfs-0.6.5.4.tar.gz 2506470 BLAKE2B 10a2242081891b94a7863f11b4c3b9e443d3b75b5eb03e8fc88e30484a94555203dec8964075cf23f694777dd699e20acb1a52b5d04cba410b6df84512436e08 SHA512 90c87cd95fd06cf34755358e7cc4053d19f351316133f0b808e7585a3fc8f82e7c0f49072c2995d0520de5104fd04d91a166a0d5b6c923c82dfb2fb4f7f57a01
 DIST zfs-0.7.5.tar.gz 6403102 BLAKE2B 5159b2ab811b2f7bcbbc708814e07e68b0b38d7b5fca4a82205c7bb4332155121f1385f2cd3a6b7acb6bd64d13b9ad2af85d42b90623efb0f33a2f542fb90803 SHA512 3512aaa6225f74323f2d14e029a113593e0cf44be2ab18cc42dcb82d237b88843ccd7e48ed73a4c6f6da574151c1af461e0528725e11bcb42280467e37f63df2
+DIST zfs-0.7.6.tar.gz 6409035 BLAKE2B 498d02172f0eaaa658e2aad2dd74d37f0ce5d41fda817976cc370ad42ad320f09124e6dc4a609b5eeda7819f538247cf64823871d00902e80a9bc92a374d0d51 SHA512 d9d45696b81080234068a4731276f888382e6680a6ca30d302110dbd1fa00d38ef17bd59de4b787b1ce91c3184ccb403c5db6b064a611f6f8572fa077a989cdb

diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.7.6.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.7.6.ebuild
new file mode 100644
index 00000000000..175244af205
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-0.7.6.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 15 || die "Linux 4.15 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 479c65e2312..10800c862f4 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -2,3 +2,4 @@ DIST zfs-0.6.5.11.tar.gz 2521959 BLAKE2B 95b145a26620995343df1a468367b882bc71ab3
 DIST zfs-0.6.5.4-patches-p2.tar.xz 63912 BLAKE2B f8bd5d0cd2b6170b45cf40a78b484d9a73017b20a77c603f4bcec63b6c77347b07df74c9d53288b5b2b984135d651d3d3ef830395ff2625576b13d8ce433fbcb SHA512 9f598c2a750b92dadddb677a6a9dda4573fa91421a82270d8104d718da4b945a4d5412bab92037a033cec1ec177f2a0eb52207babd023847918e3754054ec5e9
 DIST zfs-0.6.5.4.tar.gz 2506470 BLAKE2B 10a2242081891b94a7863f11b4c3b9e443d3b75b5eb03e8fc88e30484a94555203dec8964075cf23f694777dd699e20acb1a52b5d04cba410b6df84512436e08 SHA512 90c87cd95fd06cf34755358e7cc4053d19f351316133f0b808e7585a3fc8f82e7c0f49072c2995d0520de5104fd04d91a166a0d5b6c923c82dfb2fb4f7f57a01
 DIST zfs-0.7.5.tar.gz 6403102 BLAKE2B 5159b2ab811b2f7bcbbc708814e07e68b0b38d7b5fca4a82205c7bb4332155121f1385f2cd3a6b7acb6bd64d13b9ad2af85d42b90623efb0f33a2f542fb90803 SHA512 3512aaa6225f74323f2d14e029a113593e0cf44be2ab18cc42dcb82d237b88843ccd7e48ed73a4c6f6da574151c1af461e0528725e11bcb42280467e37f63df2
+DIST zfs-0.7.6.tar.gz 6409035 BLAKE2B 498d02172f0eaaa658e2aad2dd74d37f0ce5d41fda817976cc370ad42ad320f09124e6dc4a609b5eeda7819f538247cf64823871d00902e80a9bc92a374d0d51 SHA512 d9d45696b81080234068a4731276f888382e6680a6ca30d302110dbd1fa00d38ef17bd59de4b787b1ce91c3184ccb403c5db6b064a611f6f8572fa077a989cdb

diff --git a/sys-fs/zfs/zfs-0.7.6.ebuild b/sys-fs/zfs/zfs-0.7.6.ebuild
new file mode 100644
index 00000000000..596e6635277
--- /dev/null
+++ b/sys-fs/zfs/zfs-0.7.6.ebuild
@@ -0,0 +1,202 @@
+# 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
+		!<sys-boot/grub-2.00-r2:2
+		!<sys-kernel/genkernel-3.5.1.1
+		!<sys-kernel/genkernel-next-67
+		!<sys-kernel/bliss-initramfs-7.1.0
+		!<sys-kernel/dracut-044-r1
+		)
+	sys-fs/udev-init-scripts
+"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+pkg_setup() {
+	if use kernel_linux && use test-suite; then
+		linux-info_pkg_setup
+		if  ! linux_config_exists; then
+			ewarn "Cannot check the linux kernel configuration."
+		else
+			# recheck that we don't have usblp to collide with libusb
+			if use test-suite; then
+				if linux_chkconfig_present BLK_DEV_LOOP; then
+					eerror "The ZFS test suite requires loop device support enabled."
+					eerror "Please enable it:"
+					eerror "    CONFIG_BLK_DEV_LOOP=y"
+					eerror "in /usr/src/linux/.config or"
+					eerror "    Device Drivers --->"
+					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="/usr/$(get_libdir)/dracut"
+		--with-linux="${KV_DIR}"
+		--with-linux-obj="${KV_OUT_DIR}"
+		--with-udevdir="$(get_udevdir)"
+		--with-blkid
+		$(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
+
+}
+
+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 7e44cfab010..6c331dd99a0 100644
--- a/sys-kernel/spl/Manifest
+++ b/sys-kernel/spl/Manifest
@@ -2,3 +2,4 @@ DIST spl-0.6.5.11.tar.gz 531710 BLAKE2B e89cb5a023d3f4b3949a385100b56e01c5fd0ff4
 DIST spl-0.6.5.4-patches-p1.tar.xz 2020 BLAKE2B 82b836df5c18f68ebd967d5d33e65232167ff1c4b1da3998dadf49c1fd0ffad4a86fa418a30ba0ba106ee4baa190fc51dedabec68083af80e5eb5aa1b225dcc5 SHA512 2650f06bf23045bd2805ef58baa2561534373862e1fbbaf189cf93283aa8e18cbee989b4e81751b37da3058aeba357cf8e46db97331379e1b5eafde7faa33851
 DIST spl-0.6.5.4.tar.gz 556298 BLAKE2B 142d92ece51f544ed53f8d15390a97469b322c0e8f16c6510eb72f69493a3489f98ead9fa4138765b364c22777ee0cb49a76c4d9b1c4ac4e5ce8c0e5dbfe9952 SHA512 a50d804008237820d6a8e7d938f6699df2966836ebedf0b6a4421f55bd6c24ae69e8f80eaf3aa2b7f6ed308983ab4ca11abfb32f98c8d070e4957b4802e00cac
 DIST spl-0.7.5.tar.gz 549272 BLAKE2B b645c68fa53e3e10a80788684efbeeafecb04753a1b515de32555943f372fa61c1c24cd7afac1cc646de572daa32f88c5b95662797a085c756519e03fdf3e46f SHA512 a797ddab6841cbe9c7eacc4f276537ecb5905a694604185044e98ed017b325367a1fdd1ea6830d29d4a21ed11a8d1ff0505bda7bbd2112418db319df128141a3
+DIST spl-0.7.6.tar.gz 550089 BLAKE2B c0b1cc87a9b7997f6346a106eb8f23493938357fce9d6209e159016f2df5655678fce5ddc64dc4a63a4f93b715c44d5ff7fd30097c63ab62a1daabb3dcc28908 SHA512 b8e74e4ad8c16df1a4742639f00c4c4162607d136145bae58489f9a34539dcc5569da18639a67ac5d9d52b5feac93e052323ebf6efce6a92ba9a2b965f940fdd

diff --git a/sys-kernel/spl/spl-0.7.6.ebuild b/sys-kernel/spl/spl-0.7.6.ebuild
new file mode 100644
index 00000000000..31cf17318cf
--- /dev/null
+++ b/sys-kernel/spl/spl-0.7.6.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 15 || die "Linux 4.15 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
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/, sys-kernel/spl/, sys-fs/zfs/
@ 2018-05-11  3:08 Jonathan Vasquez
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Vasquez @ 2018-05-11  3:08 UTC (permalink / raw
  To: gentoo-commits

commit:     231d7660093c1441a08fa8a1eb4fce182f129211
Author:     Jonathan Vasquez <fearedbliss <AT> gentoo <DOT> org>
AuthorDate: Fri May 11 03:02:04 2018 +0000
Commit:     Jonathan Vasquez <fearedbliss <AT> gentoo <DOT> org>
CommitDate: Fri May 11 03:07:54 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=231d7660

sys-fs/zfs: version bump to 0.7.9 (and friends)

Package-Manager: Portage-2.3.36, Repoman-2.3.9

 sys-fs/zfs-kmod/Manifest              |   1 +
 sys-fs/zfs-kmod/zfs-kmod-0.7.9.ebuild | 145 +++++++++++++++++++++++
 sys-fs/zfs/Manifest                   |   1 +
 sys-fs/zfs/zfs-0.7.9.ebuild           | 210 ++++++++++++++++++++++++++++++++++
 sys-kernel/spl/Manifest               |   1 +
 sys-kernel/spl/spl-0.7.9.ebuild       | 111 ++++++++++++++++++
 6 files changed, 469 insertions(+)

diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index 8fa45ff3ae0..a327ed1dfa0 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -1,2 +1,3 @@
 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
+DIST zfs-0.7.9.tar.gz 6548649 BLAKE2B aa2f1b9d0ba0eda1af7d420c43d65d5d4183169cfe97c693356e1e0b15967ea512c25454f2d77285600f2209d778e4299f420754932e403a390b87b4f488dc94 SHA512 af5d9c320885ee84019fb04250c4b12c7ac3bb3d1037b1961ec4584701a737558374dc22521743e197356efb1d1f0ced9beff675ae9cfcccf3cd8407467f18fa

diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.7.9.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.7.9.ebuild
new file mode 100644
index 00000000000..d71cf40662e
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-0.7.9.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 8fa45ff3ae0..a327ed1dfa0 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,2 +1,3 @@
 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
+DIST zfs-0.7.9.tar.gz 6548649 BLAKE2B aa2f1b9d0ba0eda1af7d420c43d65d5d4183169cfe97c693356e1e0b15967ea512c25454f2d77285600f2209d778e4299f420754932e403a390b87b4f488dc94 SHA512 af5d9c320885ee84019fb04250c4b12c7ac3bb3d1037b1961ec4584701a737558374dc22521743e197356efb1d1f0ced9beff675ae9cfcccf3cd8407467f18fa

diff --git a/sys-fs/zfs/zfs-0.7.9.ebuild b/sys-fs/zfs/zfs-0.7.9.ebuild
new file mode 100644
index 00000000000..0dc01562153
--- /dev/null
+++ b/sys-fs/zfs/zfs-0.7.9.ebuild
@@ -0,0 +1,210 @@
+# 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
+		!<sys-boot/grub-2.00-r2:2
+		!<sys-kernel/genkernel-3.5.1.1
+		!<sys-kernel/genkernel-next-67
+		!<sys-kernel/bliss-initramfs-7.1.0
+		!<sys-kernel/dracut-044-r1
+		)
+	sys-fs/udev-init-scripts
+"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+pkg_setup() {
+	if use kernel_linux && use test-suite; then
+		linux-info_pkg_setup
+		if  ! linux_config_exists; then
+			ewarn "Cannot check the linux kernel configuration."
+		else
+			# recheck that we don't have usblp to collide with libusb
+			if use test-suite; then
+				if linux_chkconfig_present BLK_DEV_LOOP; then
+					eerror "The ZFS test suite requires loop device support enabled."
+					eerror "Please enable it:"
+					eerror "    CONFIG_BLK_DEV_LOOP=y"
+					eerror "in /usr/src/linux/.config or"
+					eerror "    Device Drivers --->"
+					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 704af6d5146..6c23eefa696 100644
--- a/sys-kernel/spl/Manifest
+++ b/sys-kernel/spl/Manifest
@@ -1,2 +1,3 @@
 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
+DIST spl-0.7.9.tar.gz 551115 BLAKE2B 0ebb801ff60e5f8691c0b3386b5b1c326ea9d40decc20fb455ddb103d108923f28cd870e1c1dc465af5e24e8627973f2b60e7b9b88b3fdbd3ac45f3bd167def2 SHA512 89a42a65b3c09a654ffc3bcef84a0735eefe080c2d790400a3691cccf01e9f0a95cd40a4eed37542cfa7f4a94f20e06aae44886325473713407833d247751ec3

diff --git a/sys-kernel/spl/spl-0.7.9.ebuild b/sys-kernel/spl/spl-0.7.9.ebuild
new file mode 100644
index 00000000000..d8a0446f573
--- /dev/null
+++ b/sys-kernel/spl/spl-0.7.9.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
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-05-11  3:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-03 16:36 [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/, sys-kernel/spl/, sys-fs/zfs/ Richard Yao
  -- strict thread matches above, loose matches on Subject: below --
2018-02-09  2:24 Jonathan Vasquez
2018-05-11  3:08 Jonathan Vasquez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox