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/files/, sys-fs/zfs/
Date: Mon, 30 Mar 2020 21:08:17
Message-Id: 1585602465.3467e746deb5cbf5ae4c07a82a91c600712304bc.gyakovlev@gentoo
1 commit: 3467e746deb5cbf5ae4c07a82a91c600712304bc
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Mon Mar 30 19:14:34 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 30 21:07:45 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3467e746
7
8 sys-fs/zfs: drop 0.8.2
9
10 Closes: https://bugs.gentoo.org/706534
11 Package-Manager: Portage-2.3.96, Repoman-2.3.22
12 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
13
14 sys-fs/zfs/Manifest | 1 -
15 .../files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch | 93 ---------
16 sys-fs/zfs/zfs-0.8.2-r2.ebuild | 224 ---------------------
17 3 files changed, 318 deletions(-)
18
19 diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
20 index 84cfb1d2a3e..5de6d1f5c77 100644
21 --- a/sys-fs/zfs/Manifest
22 +++ b/sys-fs/zfs/Manifest
23 @@ -1,3 +1,2 @@
24 DIST zfs-0.7.13.tar.gz 6614047 BLAKE2B c59c46287715779eb04d69333b0a417fa9865eb0d61c642b043188c4c97d4eed369f76a48327326ed1d4dd608ff95d91d20d26c80ed0b120a8fcd5f83cea638f SHA512 457d8f110b68c9656194cd3738b216d5d807d680e5cfc6ed1f3cf5ebde67860476387c6b862ba3ba7f972d8945075963e6c325543ab84468e3eff5dbce68476e
25 -DIST zfs-0.8.2.tar.gz 8738111 BLAKE2B 5c15f6664ca70f0deeb5b9e32f2bcff68f9821529e5203ff18612ce88473fee9af369354c442f3db7882d301cf17c805c9635b05bfd3460833ed8e5ff8004dd0 SHA512 1424b1a030b814f812b5da422100669db5b8c3ccae14c2fdd62a5e0df28e7255247fe5ca99c95a14f08c92cc1574c22dd132093e4a1dd81e38c95b10cc5e2496
26 DIST zfs-0.8.3.tar.gz 8779385 BLAKE2B 8b51b9d5b61543566bc7839d8452fdf9358442155e95f93a011531338824bbd4fc8879500e276b02d5d49d504a046728ecc0c6154f69eb7b47180b9bb0e46958 SHA512 aded632e6b04180560d4f2ff283260016e883dadae4e7fda9070b7113dee948099cb7a7b183f1c8139654389a2610fb9cc6f997acdc846040e605125cf016010
27
28 diff --git a/sys-fs/zfs/files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch b/sys-fs/zfs/files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch
29 deleted file mode 100644
30 index 00dda6de55c..00000000000
31 --- a/sys-fs/zfs/files/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch
32 +++ /dev/null
33 @@ -1,93 +0,0 @@
34 -From 803884217f9b9b5fb235d7c5e78a809d271f6387 Mon Sep 17 00:00:00 2001
35 -From: Richard Yao <ryao@g.o>
36 -Date: Wed, 9 Oct 2019 12:16:12 -0700
37 -Subject: [PATCH] Implement ZPOOL_IMPORT_UDEV_TIMEOUT_MS
38 -
39 -Since 0.7.0, zpool import would unconditionally block on udev for 30
40 -seconds. This introduced a regression in initramfs environments that
41 -lack udev (particularly mdev based environments), yet use a zfs userland
42 -tools intended for the system that had been built against udev. Gentoo's
43 -genkernel is the main example, although custom user initramfs
44 -environments would be similarly impacted unless special builds of the
45 -ZFS userland utilities were done for them. Such environments already
46 -have their own mechanisms for blocking until device nodes are ready
47 -(such as genkernel's scandelay parameter), so it is unnecessary for
48 -zpool import to block on a non-existent udev until a timeout is reached
49 -inside of them.
50 -
51 -Rather than trying to intelligently determine whether udev is available
52 -on the system to avoid unnecessarily blocking in such environments, it
53 -seems best to just allow the environment to override the timeout. I
54 -propose that we add an environment variable called
55 -ZPOOL_IMPORT_UDEV_TIMEOUT_MS. Setting it to 0 would restore the 0.6.x
56 -behavior that was more desirable in mdev based initramfs environments.
57 -This allows the system user land utilities to be reused when building
58 -mdev-based initramfs archives.
59 -
60 -Reviewed-by: Igor Kozhukhov <igor@×××××.org>
61 -Reviewed-by: Jorgen Lundman <lundman@×××××××.net>
62 -Reviewed-by: Brian Behlendorf <behlendorf1@××××.gov>
63 -Reviewed-by: Georgy Yakovlev <gyakovlev@g.o>
64 -Signed-off-by: Richard Yao <ryao@g.o>
65 -Closes #9436
66 ----
67 - lib/libzutil/os/linux/zutil_import_os.c | 11 ++++++++++-
68 - man/man8/zpool.8 | 6 ++++++
69 - 2 files changed, 16 insertions(+), 1 deletion(-)
70 -
71 -diff --git a/lib/libzutil/zutil_import.c b/lib/libzutil/zutil_import.c
72 -index 811eae397c9..e51004edc68 100644
73 ---- a/lib/libzutil/zutil_import.c
74 -+++ b/lib/libzutil/zutil_import.c
75 -@@ -53,6 +53,7 @@
76 - #include <libgen.h>
77 - #include <stddef.h>
78 - #include <stdlib.h>
79 -+#include <stdio.h>
80 - #include <string.h>
81 - #include <sys/stat.h>
82 - #include <unistd.h>
83 -@@ -181,17 +182,25 @@ zpool_open_func(void *arg)
84 - if (rn->rn_labelpaths) {
85 - char *path = NULL;
86 - char *devid = NULL;
87 -+ char *env = NULL;
88 - rdsk_node_t *slice;
89 - avl_index_t where;
90 -+ int timeout;
91 - int error;
92 -
93 - if (label_paths(rn->rn_hdl, rn->rn_config, &path, &devid))
94 - return;
95 -
96 -+ env = getenv("ZPOOL_IMPORT_UDEV_TIMEOUT_MS");
97 -+ if ((env == NULL) || sscanf(env, "%d", &timeout) != 1 ||
98 -+ timeout < 0) {
99 -+ timeout = DISK_LABEL_WAIT;
100 -+ }
101 -+
102 - /*
103 - * Allow devlinks to stabilize so all paths are available.
104 - */
105 -- zpool_label_disk_wait(rn->rn_name, DISK_LABEL_WAIT);
106 -+ zpool_label_disk_wait(rn->rn_name, timeout);
107 -
108 - if (path != NULL) {
109 - slice = zutil_alloc(hdl, sizeof (rdsk_node_t));
110 -diff --git a/man/man8/zpool.8 b/man/man8/zpool.8
111 -index 467d2411d40..df30b7ca05c 100644
112 ---- a/man/man8/zpool.8
113 -+++ b/man/man8/zpool.8
114 -@@ -2813,6 +2813,12 @@ Similar to the
115 - option in
116 - .Nm zpool import .
117 - .El
118 -+.Bl -tag -width "ZPOOL_IMPORT_UDEV_TIMEOUT_MS"
119 -+.It Ev ZPOOL_IMPORT_UDEV_TIMEOUT_MS
120 -+The maximum time in milliseconds that
121 -+.Nm zpool import
122 -+will wait for an expected device to be available.
123 -+.El
124 - .Bl -tag -width "ZPOOL_VDEV_NAME_GUID"
125 - .It Ev ZPOOL_VDEV_NAME_GUID
126 - Cause
127
128 diff --git a/sys-fs/zfs/zfs-0.8.2-r2.ebuild b/sys-fs/zfs/zfs-0.8.2-r2.ebuild
129 deleted file mode 100644
130 index c744e615de4..00000000000
131 --- a/sys-fs/zfs/zfs-0.8.2-r2.ebuild
132 +++ /dev/null
133 @@ -1,224 +0,0 @@
134 -# Copyright 1999-2020 Gentoo Authors
135 -# Distributed under the terms of the GNU General Public License v2
136 -
137 -EAPI=7
138 -
139 -DISTUTILS_OPTIONAL=1
140 -PYTHON_COMPAT=( python3_{6,7} )
141 -
142 -inherit bash-completion-r1 flag-o-matic linux-info linux-mod distutils-r1 systemd toolchain-funcs udev usr-ldscript
143 -
144 -DESCRIPTION="Userland utilities for ZFS Linux kernel module"
145 -HOMEPAGE="https://zfsonlinux.org/"
146 -
147 -if [[ ${PV} == "9999" ]] ; then
148 - inherit autotools git-r3
149 - EGIT_REPO_URI="https://github.com/zfsonlinux/zfs.git"
150 -else
151 - SRC_URI="https://github.com/zfsonlinux/${PN}/releases/download/${P}/${P}.tar.gz"
152 - KEYWORDS="~amd64 ~arm64 ~ppc64"
153 -fi
154 -
155 -LICENSE="BSD-2 CDDL MIT"
156 -SLOT="0"
157 -IUSE="custom-cflags debug kernel-builtin libressl python +rootfs test-suite static-libs"
158 -
159 -DEPEND="
160 - ${PYTHON_DEPS}
161 - net-libs/libtirpc[static-libs?]
162 - sys-apps/util-linux[static-libs?]
163 - sys-libs/zlib[static-libs(+)?]
164 - virtual/awk
165 - virtual/libudev[static-libs(-)?]
166 - libressl? ( dev-libs/libressl:0=[static-libs?] )
167 - !libressl? ( dev-libs/openssl:0=[static-libs?] )
168 - python? (
169 - virtual/python-cffi[${PYTHON_USEDEP}]
170 - )
171 -"
172 -
173 -BDEPEND="virtual/awk
174 - virtual/pkgconfig
175 - python? (
176 - dev-python/setuptools[${PYTHON_USEDEP}]
177 - )
178 -"
179 -
180 -RDEPEND="${DEPEND}
181 - !=sys-apps/grep-2.13*
182 - !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} )
183 - !sys-fs/zfs-fuse
184 - !prefix? ( virtual/udev )
185 - sys-fs/udev-init-scripts
186 - rootfs? (
187 - app-arch/cpio
188 - app-misc/pax-utils
189 - !<sys-boot/grub-2.00-r2:2
190 - !<sys-kernel/genkernel-3.5.1.1
191 - !<sys-kernel/genkernel-next-67
192 - !<sys-kernel/bliss-initramfs-7.1.0
193 - !<sys-kernel/dracut-044-r1
194 - )
195 - test-suite? (
196 - sys-apps/util-linux
197 - sys-devel/bc
198 - sys-block/parted
199 - sys-fs/lsscsi
200 - sys-fs/mdadm
201 - sys-process/procps
202 - virtual/modutils
203 - )
204 -"
205 -
206 -REQUIRED_USE="${PYTHON_REQUIRED_USE}"
207 -
208 -RESTRICT="test"
209 -
210 -PATCHES=(
211 - "${FILESDIR}/bash-completion-sudo.patch"
212 - "${FILESDIR}/0.8.2-ZPOOL_IMPORT_UDEV_TIMEOUT_MS.patch" # https://github.com/zfsonlinux/zfs/pull/9109
213 -)
214 -
215 -pkg_setup() {
216 - if use kernel_linux && use test-suite; then
217 - linux-info_pkg_setup
218 -
219 - if ! linux_config_exists; then
220 - ewarn "Cannot check the linux kernel configuration."
221 - else
222 - if use test-suite; then
223 - if linux_chkconfig_present BLK_DEV_LOOP; then
224 - eerror "The ZFS test suite requires loop device support enabled."
225 - eerror "Please enable it:"
226 - eerror " CONFIG_BLK_DEV_LOOP=y"
227 - eerror "in /usr/src/linux/.config or"
228 - eerror " Device Drivers --->"
229 - eerror " Block devices --->"
230 - eerror " [X] Loopback device support"
231 - fi
232 - fi
233 - fi
234 - fi
235 -}
236 -
237 -src_prepare() {
238 - default
239 -
240 - if [[ ${PV} == "9999" ]]; then
241 - eautoreconf
242 - else
243 - # Set revision number
244 - sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
245 - fi
246 -
247 - if use python; then
248 - pushd contrib/pyzfs >/dev/null || die
249 - distutils-r1_src_prepare
250 - popd >/dev/null || die
251 - fi
252 -
253 - # prevent errors showing up on zfs-mount stop, #647688
254 - # openrc will unmount all filesystems anyway.
255 - sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" etc/init.d/zfs.in || die
256 -}
257 -
258 -src_configure() {
259 - use custom-cflags || strip-flags
260 - python_setup
261 -
262 - local myconf=(
263 - --bindir="${EPREFIX}/bin"
264 - --enable-shared
265 - --enable-systemd
266 - --enable-sysvinit
267 - --localstatedir="${EPREFIX}/var"
268 - --sbindir="${EPREFIX}/sbin"
269 - --with-config=user
270 - --with-dracutdir="${EPREFIX}/usr/lib/dracut"
271 - --with-linux="${KV_DIR}"
272 - --with-linux-obj="${KV_OUT_DIR}"
273 - --with-udevdir="$(get_udevdir)"
274 - --with-python="${EPYTHON}"
275 - --with-systemdunitdir="$(systemd_get_systemunitdir)"
276 - --with-systemdpresetdir="${EPREFIX}/lib/systemd/system-preset"
277 - $(use_enable debug)
278 - $(use_enable python pyzfs)
279 - $(use_enable static-libs static)
280 - )
281 -
282 - econf "${myconf[@]}"
283 -}
284 -
285 -src_compile() {
286 - default
287 - if use python; then
288 - pushd contrib/pyzfs >/dev/null || die
289 - distutils-r1_src_compile
290 - popd >/dev/null || die
291 - fi
292 -}
293 -
294 -src_install() {
295 - default
296 -
297 - gen_usr_ldscript -a uutil nvpair zpool zfs zfs_core
298 -
299 - use test-suite || rm -rf "${ED}/usr/share/zfs"
300 -
301 - if ! use static-libs; then
302 - find "${ED}/" -name '*.la' -delete || die
303 - fi
304 -
305 - dobashcomp contrib/bash_completion.d/zfs
306 - bashcomp_alias zfs zpool
307 -
308 - # strip executable bit from conf.d file
309 - fperms 0644 /etc/conf.d/zfs
310 -
311 - if use python; then
312 - pushd contrib/pyzfs >/dev/null || die
313 - distutils-r1_src_install
314 - popd >/dev/null || die
315 - fi
316 -
317 - # enforce best available python implementation
318 - python_fix_shebang "${ED}/bin"
319 -}
320 -
321 -pkg_postinst() {
322 - if use rootfs; then
323 - if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
324 - elog "root on zfs requires initramfs to boot"
325 - elog "the following packages known to provide one and tested on regular basis:"
326 - elog " sys-kernel/dracut"
327 - elog " sys-kernel/genkernel"
328 - fi
329 -
330 - if has_version "<=sys-kernel/genkernel-3.5.3.3"; then
331 - einfo "genkernel version 3.5.3.3 and earlier does NOT support"
332 - einfo " unlocking pools with native zfs encryption enabled at boot"
333 - einfo " use dracut or >=genkernel-4 if you requre this functionality"
334 - fi
335 - fi
336 -
337 - if ! use kernel-builtin && [[ ${PV} = "9999" ]]; then
338 - einfo "Adding ${P} to the module database to ensure that the"
339 - einfo "kernel modules and userland utilities stay in sync."
340 - update_moduledb
341 - fi
342 -
343 - [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
344 - einfo "You should add zfs-import to the boot runlevel."
345 - [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
346 - einfo "You should add zfs-mount to the boot runlevel."
347 - [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
348 - einfo "You should add zfs-share to the default runlevel."
349 - [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
350 - einfo "You should add zfs-zed to the default runlevel."
351 -}
352 -
353 -pkg_postrm() {
354 - if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
355 - remove_moduledb
356 - fi
357 -}