Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs/
Date: Tue, 01 Dec 2020 19:04:12
Message-Id: 1606849423.3ee4ab22cc3557dfad6bb8e2a7e5a69154679b61.gyakovlev@gentoo
1 commit: 3ee4ab22cc3557dfad6bb8e2a7e5a69154679b61
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Tue Dec 1 18:59:50 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Tue Dec 1 19:03:43 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ee4ab22
7
8 sys-fs/zfs: bump to 2.0.0
9
10 Package-Manager: Portage-3.0.11, Repoman-3.0.2
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 sys-fs/zfs/Manifest | 1 +
14 sys-fs/zfs/zfs-2.0.0.ebuild | 231 ++++++++++++++++++++++++++++++++++++++++++++
15 2 files changed, 232 insertions(+)
16
17 diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
18 index 225791a1943..3681a1f8b22 100644
19 --- a/sys-fs/zfs/Manifest
20 +++ b/sys-fs/zfs/Manifest
21 @@ -1,3 +1,4 @@
22 DIST zfs-0.8.5.tar.gz 9196381 BLAKE2B 8376f360369c4657ff1fc040fb2bba780bbd5d6a98d149d2fa4ba39478588e213dbf6db218c7bd970839f015a69ae00ac951b90afc1c26b34aadf666b2976cab SHA512 3e6e70b76f7cc5b018adb78ce7c3009f88faf5b3da0a03170b03577cd84a2937b6056621c41fc819fd08bf59b28053caf8fec375cf375816a6786bb5646ed773
23 DIST zfs-2.0.0-rc6.tar.gz 12896465 BLAKE2B e7a91d980940998a7312d48a43c07561e3b1aa72cc6f88eb534cb39b5e18de4280964ba7f690b63f5e2dd3cfdeb57d718d7389f8ab2062ff7bb6e8bb4174801a SHA512 5daf8d39766f8c8f8bca340585ae36c39507e33642a7cd2dadb74bbe1d529d5be40420057edc95814c0b554121128c0ebde59c3fbed17259870b123a56acd2e8
24 DIST zfs-2.0.0-rc7.tar.gz 12994030 BLAKE2B 12dde3b935cddabd3d3e5874685cd914f0338526ba8d22aaba2b1ff09aae64a67cc66ea0acc7d08cdc438fd8dfc93a2727bab5e90c08c2a294074692f4189214 SHA512 fbef7bc76c2b913ef8c4af55e6feb46bcadbca856b8ba28c72432bb91b8dc88de191d657aaeb5efd67ee2d67a6ffcf5d3d53b4490f9a32211a571687694e7e65
25 +DIST zfs-2.0.0.tar.gz 12989903 BLAKE2B 2961b97aa6736af9b4a2bc968d1488f49ec0c0fd7bb22b6bc015047239279efd2d48f8d7c593f9b467ac9d40f99d67363ab551bdfaf1dd71335c37c48c759875 SHA512 2706ae1aa54b882b272502e7a46e57ff41f9db9b123e8cd5dafbdd7f61975d05538167016f943804145d22aa018a1f11c884f692dc3992b28c24eac08112650f
26
27 diff --git a/sys-fs/zfs/zfs-2.0.0.ebuild b/sys-fs/zfs/zfs-2.0.0.ebuild
28 new file mode 100644
29 index 00000000000..83e1b87f58a
30 --- /dev/null
31 +++ b/sys-fs/zfs/zfs-2.0.0.ebuild
32 @@ -0,0 +1,231 @@
33 +# Copyright 1999-2020 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +DISTUTILS_OPTIONAL=1
39 +PYTHON_COMPAT=( python3_{7,8,9} )
40 +
41 +inherit autotools bash-completion-r1 distutils-r1 flag-o-matic linux-info pam systemd toolchain-funcs udev usr-ldscript
42 +
43 +DESCRIPTION="Userland utilities for ZFS Linux kernel module"
44 +HOMEPAGE="https://github.com/openzfs/zfs"
45 +
46 +if [[ ${PV} == "9999" ]] ; then
47 + inherit git-r3 linux-mod
48 + EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
49 +else
50 + MY_P="${P/_rc/-rc}"
51 + SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
52 + KEYWORDS="~amd64 ~arm64 ~ppc64"
53 + S="${WORKDIR}/${P%_rc?}"
54 +fi
55 +
56 +LICENSE="BSD-2 CDDL MIT"
57 +# just libzfs soname major for now.
58 +# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
59 +SLOT="0/4"
60 +IUSE="custom-cflags debug kernel-builtin libressl minimal nls pam python +rootfs test-suite static-libs"
61 +
62 +DEPEND="
63 + net-libs/libtirpc[static-libs?]
64 + sys-apps/util-linux[static-libs?]
65 + sys-libs/zlib[static-libs(+)?]
66 + virtual/awk
67 + virtual/libudev[static-libs(-)?]
68 + libressl? ( dev-libs/libressl:0=[static-libs?] )
69 + !libressl? ( dev-libs/openssl:0=[static-libs?] )
70 + !minimal? ( ${PYTHON_DEPS} )
71 + pam? ( sys-libs/pam )
72 + python? (
73 + virtual/python-cffi[${PYTHON_USEDEP}]
74 + )
75 +"
76 +
77 +BDEPEND="virtual/awk
78 + virtual/pkgconfig
79 + nls? ( sys-devel/gettext )
80 + python? (
81 + dev-python/setuptools[${PYTHON_USEDEP}]
82 + )
83 +"
84 +
85 +RDEPEND="${DEPEND}
86 + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} )
87 + !prefix? ( virtual/udev )
88 + sys-fs/udev-init-scripts
89 + rootfs? (
90 + app-arch/cpio
91 + app-misc/pax-utils
92 + !<sys-kernel/genkernel-3.5.1.1
93 + )
94 + test-suite? (
95 + sys-apps/kmod[tools]
96 + sys-apps/util-linux
97 + sys-devel/bc
98 + sys-block/parted
99 + sys-fs/lsscsi
100 + sys-fs/mdadm
101 + sys-process/procps
102 + )
103 +"
104 +
105 +REQUIRED_USE="
106 + !minimal? ( ${PYTHON_REQUIRED_USE} )
107 + python? ( !minimal )
108 + test-suite? ( !minimal )
109 +"
110 +
111 +RESTRICT="test"
112 +
113 +PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
114 +
115 +pkg_setup() {
116 + if use kernel_linux && use test-suite; then
117 + linux-info_pkg_setup
118 +
119 + if ! linux_config_exists; then
120 + ewarn "Cannot check the linux kernel configuration."
121 + else
122 + if use test-suite; then
123 + if linux_chkconfig_present BLK_DEV_LOOP; then
124 + eerror "The ZFS test suite requires loop device support enabled."
125 + eerror "Please enable it:"
126 + eerror " CONFIG_BLK_DEV_LOOP=y"
127 + eerror "in /usr/src/linux/.config or"
128 + eerror " Device Drivers --->"
129 + eerror " Block devices --->"
130 + eerror " [X] Loopback device support"
131 + fi
132 + fi
133 + fi
134 + fi
135 +}
136 +
137 +src_prepare() {
138 + default
139 +
140 + if [[ ${PV} == "9999" ]]; then
141 + eautoreconf
142 + else
143 + # Set revision number
144 + sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
145 + fi
146 +
147 + if use python; then
148 + pushd contrib/pyzfs >/dev/null || die
149 + distutils-r1_src_prepare
150 + popd >/dev/null || die
151 + fi
152 +
153 + # prevent errors showing up on zfs-mount stop, #647688
154 + # openrc will unmount all filesystems anyway.
155 + sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
156 +}
157 +
158 +src_configure() {
159 + use custom-cflags || strip-flags
160 + use minimal || python_setup
161 +
162 + local myconf=(
163 + --bindir="${EPREFIX}/bin"
164 + --enable-shared
165 + --enable-systemd
166 + --enable-sysvinit
167 + --localstatedir="${EPREFIX}/var"
168 + --sbindir="${EPREFIX}/sbin"
169 + --with-config=user
170 + --with-dracutdir="${EPREFIX}/usr/lib/dracut"
171 + --with-linux="${KV_DIR}"
172 + --with-linux-obj="${KV_OUT_DIR}"
173 + --with-udevdir="$(get_udevdir)"
174 + --with-pamconfigsdir="${EPREFIX}/unwanted_files"
175 + --with-pammoduledir="$(getpam_mod_dir)"
176 + --with-systemdunitdir="$(systemd_get_systemunitdir)"
177 + --with-systemdpresetdir="${EPREFIX}/lib/systemd/system-preset"
178 + --with-vendor=gentoo
179 + $(use_enable debug)
180 + $(use_enable nls)
181 + $(use_enable pam)
182 + $(use_enable python pyzfs)
183 + $(use_enable static-libs static)
184 + $(usex minimal --without-python --with-python="${EPYTHON}")
185 + )
186 +
187 + econf "${myconf[@]}"
188 +}
189 +
190 +src_compile() {
191 + default
192 + if use python; then
193 + pushd contrib/pyzfs >/dev/null || die
194 + distutils-r1_src_compile
195 + popd >/dev/null || die
196 + fi
197 +}
198 +
199 +src_install() {
200 + default
201 +
202 + gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool
203 +
204 + use pam && { rm -rv "${ED}/unwanted_files" || die ; }
205 +
206 + use test-suite || { rm -r "${ED}/usr/share/zfs" || die ; }
207 +
208 + if ! use static-libs; then
209 + find "${ED}/" -name '*.la' -delete || die
210 + fi
211 +
212 + dobashcomp contrib/bash_completion.d/zfs
213 + bashcomp_alias zfs zpool
214 +
215 + # strip executable bit from conf.d file
216 + fperms 0644 /etc/conf.d/zfs
217 +
218 + if use python; then
219 + pushd contrib/pyzfs >/dev/null || die
220 + distutils-r1_src_install
221 + popd >/dev/null || die
222 + fi
223 +
224 + # enforce best available python implementation
225 + use minimal || python_fix_shebang "${ED}/bin"
226 +}
227 +
228 +pkg_postinst() {
229 + if use rootfs; then
230 + if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
231 + elog "root on zfs requires initramfs to boot"
232 + elog "the following packages known to provide one and tested on regular basis:"
233 + elog " sys-kernel/dracut"
234 + elog " sys-kernel/genkernel"
235 + fi
236 + fi
237 +
238 + if ! use kernel-builtin && [[ ${PV} = "9999" ]]; then
239 + einfo "Adding ${P} to the module database to ensure that the"
240 + einfo "kernel modules and userland utilities stay in sync."
241 + update_moduledb
242 + fi
243 +
244 + if systemd_is_booted || has_version sys-apps/systemd; then
245 + einfo "Please refer to ${EROOT}/lib/systemd/system-preset/50-zfs.preset"
246 + einfo "for default zfs systemd service configuration"
247 + else
248 + [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
249 + einfo "You should add zfs-import to the boot runlevel."
250 + [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
251 + einfo "You should add zfs-mount to the boot runlevel."
252 + [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
253 + einfo "You should add zfs-share to the default runlevel."
254 + [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
255 + einfo "You should add zfs-zed to the default runlevel."
256 + fi
257 +}
258 +
259 +pkg_postrm() {
260 + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
261 + remove_moduledb
262 + fi
263 +}