From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1227475-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id C5D7C1382C5
	for <garchives@archives.gentoo.org>; Tue,  1 Dec 2020 19:04:12 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 22474E0898;
	Tue,  1 Dec 2020 19:04:12 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id ED6D9E0898
	for <gentoo-commits@lists.gentoo.org>; Tue,  1 Dec 2020 19:04:11 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id C6967340CD8
	for <gentoo-commits@lists.gentoo.org>; Tue,  1 Dec 2020 19:04:09 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 6EA75474
	for <gentoo-commits@lists.gentoo.org>; Tue,  1 Dec 2020 19:04:08 +0000 (UTC)
From: "Georgy Yakovlev" <gyakovlev@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Georgy Yakovlev" <gyakovlev@gentoo.org>
Message-ID: <1606849423.3ee4ab22cc3557dfad6bb8e2a7e5a69154679b61.gyakovlev@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs/
X-VCS-Repository: repo/gentoo
X-VCS-Files: sys-fs/zfs/Manifest sys-fs/zfs/zfs-2.0.0.ebuild
X-VCS-Directories: sys-fs/zfs/
X-VCS-Committer: gyakovlev
X-VCS-Committer-Name: Georgy Yakovlev
X-VCS-Revision: 3ee4ab22cc3557dfad6bb8e2a7e5a69154679b61
X-VCS-Branch: master
Date: Tue,  1 Dec 2020 19:04:08 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 3551129f-1304-48e8-9d32-05d546c09b33
X-Archives-Hash: d99ccebb04743ee0e96b1b2a3cea9754

commit:     3ee4ab22cc3557dfad6bb8e2a7e5a69154679b61
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  1 18:59:50 2020 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Tue Dec  1 19:03:43 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ee4ab22

sys-fs/zfs: bump to 2.0.0

Package-Manager: Portage-3.0.11, Repoman-3.0.2
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 sys-fs/zfs/Manifest         |   1 +
 sys-fs/zfs/zfs-2.0.0.ebuild | 231 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 232 insertions(+)

diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 225791a1943..3681a1f8b22 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,3 +1,4 @@
 DIST zfs-0.8.5.tar.gz 9196381 BLAKE2B 8376f360369c4657ff1fc040fb2bba780bbd5d6a98d149d2fa4ba39478588e213dbf6db218c7bd970839f015a69ae00ac951b90afc1c26b34aadf666b2976cab SHA512 3e6e70b76f7cc5b018adb78ce7c3009f88faf5b3da0a03170b03577cd84a2937b6056621c41fc819fd08bf59b28053caf8fec375cf375816a6786bb5646ed773
 DIST zfs-2.0.0-rc6.tar.gz 12896465 BLAKE2B e7a91d980940998a7312d48a43c07561e3b1aa72cc6f88eb534cb39b5e18de4280964ba7f690b63f5e2dd3cfdeb57d718d7389f8ab2062ff7bb6e8bb4174801a SHA512 5daf8d39766f8c8f8bca340585ae36c39507e33642a7cd2dadb74bbe1d529d5be40420057edc95814c0b554121128c0ebde59c3fbed17259870b123a56acd2e8
 DIST zfs-2.0.0-rc7.tar.gz 12994030 BLAKE2B 12dde3b935cddabd3d3e5874685cd914f0338526ba8d22aaba2b1ff09aae64a67cc66ea0acc7d08cdc438fd8dfc93a2727bab5e90c08c2a294074692f4189214 SHA512 fbef7bc76c2b913ef8c4af55e6feb46bcadbca856b8ba28c72432bb91b8dc88de191d657aaeb5efd67ee2d67a6ffcf5d3d53b4490f9a32211a571687694e7e65
+DIST zfs-2.0.0.tar.gz 12989903 BLAKE2B 2961b97aa6736af9b4a2bc968d1488f49ec0c0fd7bb22b6bc015047239279efd2d48f8d7c593f9b467ac9d40f99d67363ab551bdfaf1dd71335c37c48c759875 SHA512 2706ae1aa54b882b272502e7a46e57ff41f9db9b123e8cd5dafbdd7f61975d05538167016f943804145d22aa018a1f11c884f692dc3992b28c24eac08112650f

diff --git a/sys-fs/zfs/zfs-2.0.0.ebuild b/sys-fs/zfs/zfs-2.0.0.ebuild
new file mode 100644
index 00000000000..83e1b87f58a
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.0.0.ebuild
@@ -0,0 +1,231 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit autotools bash-completion-r1 distutils-r1 flag-o-matic linux-info pam systemd toolchain-funcs udev usr-ldscript
+
+DESCRIPTION="Userland utilities for ZFS Linux kernel module"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+if [[ ${PV} == "9999" ]] ; then
+	inherit git-r3 linux-mod
+	EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+else
+	MY_P="${P/_rc/-rc}"
+	SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~ppc64"
+	S="${WORKDIR}/${P%_rc?}"
+fi
+
+LICENSE="BSD-2 CDDL MIT"
+# just libzfs soname major for now.
+# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
+SLOT="0/4"
+IUSE="custom-cflags debug kernel-builtin libressl minimal nls pam python +rootfs test-suite static-libs"
+
+DEPEND="
+	net-libs/libtirpc[static-libs?]
+	sys-apps/util-linux[static-libs?]
+	sys-libs/zlib[static-libs(+)?]
+	virtual/awk
+	virtual/libudev[static-libs(-)?]
+	libressl? ( dev-libs/libressl:0=[static-libs?] )
+	!libressl? ( dev-libs/openssl:0=[static-libs?] )
+	!minimal? ( ${PYTHON_DEPS} )
+	pam? ( sys-libs/pam )
+	python? (
+		virtual/python-cffi[${PYTHON_USEDEP}]
+	)
+"
+
+BDEPEND="virtual/awk
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	python? (
+		dev-python/setuptools[${PYTHON_USEDEP}]
+	)
+"
+
+RDEPEND="${DEPEND}
+	!kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} )
+	!prefix? ( virtual/udev )
+	sys-fs/udev-init-scripts
+	rootfs? (
+		app-arch/cpio
+		app-misc/pax-utils
+		!<sys-kernel/genkernel-3.5.1.1
+	)
+	test-suite? (
+		sys-apps/kmod[tools]
+		sys-apps/util-linux
+		sys-devel/bc
+		sys-block/parted
+		sys-fs/lsscsi
+		sys-fs/mdadm
+		sys-process/procps
+	)
+"
+
+REQUIRED_USE="
+	!minimal? ( ${PYTHON_REQUIRED_USE} )
+	python? ( !minimal )
+	test-suite? ( !minimal )
+"
+
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
+
+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
+			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 "            [X] Loopback device support"
+				fi
+			fi
+		fi
+	fi
+}
+
+src_prepare() {
+	default
+
+	if [[ ${PV} == "9999" ]]; then
+		eautoreconf
+	else
+		# Set revision number
+		sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+	fi
+
+	if use python; then
+		pushd contrib/pyzfs >/dev/null || die
+		distutils-r1_src_prepare
+		popd >/dev/null || die
+	fi
+
+	# prevent errors showing up on zfs-mount stop, #647688
+	# openrc will unmount all filesystems anyway.
+	sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
+}
+
+src_configure() {
+	use custom-cflags || strip-flags
+	use minimal || python_setup
+
+	local myconf=(
+		--bindir="${EPREFIX}/bin"
+		--enable-shared
+		--enable-systemd
+		--enable-sysvinit
+		--localstatedir="${EPREFIX}/var"
+		--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-pamconfigsdir="${EPREFIX}/unwanted_files"
+		--with-pammoduledir="$(getpam_mod_dir)"
+		--with-systemdunitdir="$(systemd_get_systemunitdir)"
+		--with-systemdpresetdir="${EPREFIX}/lib/systemd/system-preset"
+		--with-vendor=gentoo
+		$(use_enable debug)
+		$(use_enable nls)
+		$(use_enable pam)
+		$(use_enable python pyzfs)
+		$(use_enable static-libs static)
+		$(usex minimal --without-python --with-python="${EPYTHON}")
+	)
+
+	econf "${myconf[@]}"
+}
+
+src_compile() {
+	default
+	if use python; then
+		pushd contrib/pyzfs >/dev/null || die
+		distutils-r1_src_compile
+		popd >/dev/null || die
+	fi
+}
+
+src_install() {
+	default
+
+	gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool
+
+	use pam && { rm -rv "${ED}/unwanted_files" || die ; }
+
+	use test-suite || { rm -r "${ED}/usr/share/zfs" || die ; }
+
+	if ! use static-libs; then
+		find "${ED}/" -name '*.la' -delete || die
+	fi
+
+	dobashcomp contrib/bash_completion.d/zfs
+	bashcomp_alias zfs zpool
+
+	# strip executable bit from conf.d file
+	fperms 0644 /etc/conf.d/zfs
+
+	if use python; then
+		pushd contrib/pyzfs >/dev/null || die
+		distutils-r1_src_install
+		popd >/dev/null || die
+	fi
+
+	# enforce best available python implementation
+	use minimal || python_fix_shebang "${ED}/bin"
+}
+
+pkg_postinst() {
+	if use rootfs; then
+		if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
+			elog "root on zfs requires initramfs to boot"
+			elog "the following packages known to provide one and tested on regular basis:"
+			elog "  sys-kernel/dracut"
+			elog "  sys-kernel/genkernel"
+		fi
+	fi
+
+	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 systemd_is_booted || has_version sys-apps/systemd; then
+		einfo "Please refer to ${EROOT}/lib/systemd/system-preset/50-zfs.preset"
+		einfo "for default zfs systemd service configuration"
+	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."
+		[[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
+			einfo "You should add zfs-zed to the default runlevel."
+	fi
+}
+
+pkg_postrm() {
+	if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
+		remove_moduledb
+	fi
+}