diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-09-18 05:18:37 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-09-18 05:18:37 +0100 |
commit | 95a97c3f0b0d048aaf9e183702a1d06b30415b35 (patch) | |
tree | 7f438978df863816967d0e1d3d8ee7ab5e3f12ce /sys-fs | |
parent | a0d1bdbd841fa761e38f468e1009cd058af305fd (diff) |
gentoo auto-resync : 18:09:2022 - 05:18:37
Diffstat (limited to 'sys-fs')
-rw-r--r-- | sys-fs/Manifest.gz | bin | 22226 -> 22229 bytes | |||
-rw-r--r-- | sys-fs/zfs-kmod/Manifest | 11 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/files/2.1.4-ZERO_RANGE.patch | 304 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-2.0.7.ebuild | 212 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-2.1.4-r1.ebuild | 209 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild | 4 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-9999.ebuild | 4 | ||||
-rw-r--r-- | sys-fs/zfs/Manifest | 14 | ||||
-rw-r--r-- | sys-fs/zfs/files/2.0.7-scrub-timers.patch | 99 | ||||
-rw-r--r-- | sys-fs/zfs/files/2.1.2-musl-tests.patch | 58 | ||||
-rw-r--r-- | sys-fs/zfs/files/2.1.2-openrc-vendor.patch | 42 | ||||
-rw-r--r-- | sys-fs/zfs/files/bash-completion-sudo.patch | 35 | ||||
-rw-r--r-- | sys-fs/zfs/zfs-2.0.7-r1.ebuild | 313 | ||||
-rw-r--r-- | sys-fs/zfs/zfs-2.1.4-r1.ebuild | 311 | ||||
-rw-r--r-- | sys-fs/zfs/zfs-2.1.5-r6.ebuild | 1 | ||||
-rw-r--r-- | sys-fs/zfs/zfs-9999.ebuild | 1 |
16 files changed, 6 insertions, 1612 deletions
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz Binary files differindex f50bcf4d996f..7acf80b4c20f 100644 --- a/sys-fs/Manifest.gz +++ b/sys-fs/Manifest.gz diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest index fe2e3c2eeb32..4e27763f94cc 100644 --- a/sys-fs/zfs-kmod/Manifest +++ b/sys-fs/zfs-kmod/Manifest @@ -1,13 +1,6 @@ -AUX 2.1.4-ZERO_RANGE.patch 9454 BLAKE2B 5baaef961eb75ee0b46ccb89a514612795b829fe410da1587330f81c2d9550c3fc049f32952e3d67d06a80a3fcc69fe9121fc9f44c1f467570f2d81f1f3a5386 SHA512 95558f6de1b901cdcd7aaa0cc704bf75375a39a5d89da02a0665494a84646f9974e0bc8ff869b622a3a7031db279ff76029ebc33ec1f5f8a129b560ffa565349 -DIST zfs-2.0.7.tar.gz 14550055 BLAKE2B 80f7297f04a21cd8f3f2043d895b0325512ba0cea3bb9223561237754495c8233d29af5a9418a3c06a87510100240a45ef3d59c7ce776fffb5aafdcd18167c21 SHA512 1135abf74bf74685439018f7cd65fc52088f179d113bdd2e6481689bb0f4a016716a07d859107b74501fda00689e80b2488c7c2c53d5f058d6b659909ed85f6f -DIST zfs-2.0.7.tar.gz.asc 836 BLAKE2B 65e7df58c33ccadc4e0ca9dbc1e8c006abbec8442e2da50872a1ab0cbb841fc45152298e8d3b93ee4320ddae6416e3a856caf80d8efb21b19db53dfedbf00e38 SHA512 b901d8e92faa6cfe6010bd54de88c7d18057f434cb07f8a89672d6c446a0a97b23209ee8f02cfd3b2a8f431c68ec977e7dc9f95fe5d385dba0bb6d37338ba682 -DIST zfs-2.1.4.tar.gz 34896310 BLAKE2B be303f1181f604770536aa4aa61d5319ec408abbd04964cedadd15b3101a15deba6539bb5d833f4fed357f323d74f622d035305df699b213df41ae45bffdd200 SHA512 c7b57c43fc287b22905067ab022df4133d32e1a5dc335f7baf743b4ef88f64c2bf9d41318c2083230d077dd49e68f7d9e6172266e13d4b1eee29d359860f969e -DIST zfs-2.1.4.tar.gz.asc 836 BLAKE2B b311730f72d534c87a782515f35a354bfbefba0513dc0cee5b0b497cf742590f13be6a49ff8a70d7d6503d0ba06b0266e7d290d718337add614812c3d1b0731a SHA512 53880cd5369f468551bab685eb83739ed76aa286886fdd2cbad4270755fe809da730082a91bba61011f59594fac297ce05645ae32c2c73b4a9aa835f2991a1ee DIST zfs-2.1.5-patches.tar.xz 13324 BLAKE2B bfef8abd298cebd54491272b8c1deacace901d9a1acce67cb927bab6447eafd985352fd09f64336aa9d6611bab0e5c761d7973f0a65c408d77bb735a94c60253 SHA512 d2b009664f8eb4f2a8596693011fde578b6eae123c6169e5dfb70bd920c0f987f5177f7b1be008705a421574a8a9bc930f99823785c69e81573f18b0350cb9bd DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1cb0384c9c78b30062f5c29142ac37ab9dbdaf96c91456d11c317d782d3524ade293f03fda983e5992b79e49 SHA512 d9ccf1049cefa9167d25f71fbdca70092cd02368b60f09341e6489fb68dc5f89e87b026b0191f4d81181a8851449124d824a1d959d0e2fb29c8a3d624edc4f03 DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94 -EBUILD zfs-kmod-2.0.7.ebuild 5623 BLAKE2B fdd099d7a5c1c62b0976883d4294eb5175681cc422724cbe8fecfa15fa220741098f919666e8ccaba21751689f380ae6869fd63c2d9098b117f8c0c465963dd9 SHA512 54908f2ec0c95dd4705837d7c36797fab15764ff3895337ad9f22f963024f5d4feb41962705bd81e34173b0e5901b56cac1197c734308d23f682953a11c931df -EBUILD zfs-kmod-2.1.4-r1.ebuild 5292 BLAKE2B b773adbd308aeffac068e0dc4e8055e2ca601efe6440091a8ae82606a3bb7806df171c067dcfec4fef54e77882a7c07bbb8cac9b10fa15107d6ca24643279169 SHA512 7426f4adb9312930bfb07828d512148279dd2b935f7ed796c792b52564afef938efe830df1141cc3a94b5949551f1ca74567ef65beca41ae9cc0cf73fe1ff3df -EBUILD zfs-kmod-2.1.5-r1.ebuild 5598 BLAKE2B 36035bffdb4d0b9f10ff26694ffffed73d2a3cb64c178844d93e6d7c5f654b954d88a3a244a2814b30a91a0525a355c4e2736bf58e7df6c4139f8cca53ba7f69 SHA512 f36370fe97b88620bbb1484ed7992db909ecf3397dbf89be762f1accbb6297343855d76e3c716fe6813e54f3abd7d1de00307d867ee0b9472bf8aa170a16bc9c -EBUILD zfs-kmod-9999.ebuild 5244 BLAKE2B 72cc9bf7af52f3172d06354d6faf2c9e76482421ae56a395dab6445b71a3bfc19da994f57d853c2b2a626384a544b07a398b642c7f27f3fa6e9d3c3c7ffc43fc SHA512 d09b9c8c101d2e8260b38376e2ba94e2e86900fe60fdb56bbefc4ff1292c2aa9250f7d7de37eb2b9a49fbd51500f33306d3083a429eb7c0ca90d593e82e3e147 +EBUILD zfs-kmod-2.1.5-r1.ebuild 5580 BLAKE2B aa39c05aefd62f464322515d88ad98c084afcc024c4f5744feafabe1ad3723f701ab37f8d533c564b175b59b09fd0f369c55434a26aa7a8713750d10b850ed6b SHA512 d9e6e7ea21c87d12fd29372eda8d0fd2f6f85c1949278c253762de3cae816f2b145ee374e9835a8938f015ca9dce72e9ae9762012aa3e5bcdf012b1d59f1bed6 +EBUILD zfs-kmod-9999.ebuild 5226 BLAKE2B a476e6b40685ee5b00e87a01ee535189be72ab06f23fd43ef0ba92ab003f716de82379a124d222ba1fa529fdb69970af1e34be526c7b3fa65616870e3b8eb6c2 SHA512 ea7c7d681d146bf492994b98f647301b58b2d03d46df0c98f72b0eb7d9ea3d39c0bd8ac94c271c5592bac304090af2db28281c15d421863d0340f817bbc096a5 MISC metadata.xml 651 BLAKE2B 477c5d768a2eddab7bc0c14d0845801e25bfd9298fe229a132d7ff11a8560988d0230ec5d4b1447df32f58b9754df0cbe989f2a5600cd3fa99124ea4edc45cdd SHA512 d9bf0598c87bcdaab7d81dd5502caf1400f3c8d3834a6770630d85ed365cd4ebb3beeebae72d2d4d49bcdd0aa6cd709aa57cb2af4195dfc04a9c0cef89cfd724 diff --git a/sys-fs/zfs-kmod/files/2.1.4-ZERO_RANGE.patch b/sys-fs/zfs-kmod/files/2.1.4-ZERO_RANGE.patch deleted file mode 100644 index 338b14208dab..000000000000 --- a/sys-fs/zfs-kmod/files/2.1.4-ZERO_RANGE.patch +++ /dev/null @@ -1,304 +0,0 @@ -https://github.com/openzfs/zfs/commit/c220771a47e4206fb43e6849957657c9504b1b14 -https://github.com/openzfs/zfs/issues/13329 - -From c220771a47e4206fb43e6849957657c9504b1b14 Mon Sep 17 00:00:00 2001 -From: Rich Ercolani <214141+rincebrain@users.noreply.github.com> -Date: Wed, 20 Apr 2022 19:07:03 -0400 -Subject: [PATCH] Corrected oversight in ZERO_RANGE behavior - -It turns out, no, in fact, ZERO_RANGE and PUNCH_HOLE do -have differing semantics in some ways - in particular, -one requires KEEP_SIZE, and the other does not. - -Also added a zero-range test to catch this, corrected a flaw -that made the punch-hole test succeed vacuously, and a typo -in file_write. - -Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> -Signed-off-by: Rich Ercolani <rincebrain@gmail.com> -Closes #13329 -Closes #13338 ---- a/module/os/linux/zfs/zpl_file.c -+++ b/module/os/linux/zfs/zpl_file.c -@@ -781,11 +781,13 @@ zpl_fallocate_common(struct inode *ip, int mode, loff_t offset, loff_t len) - if (mode & (test_mode)) { - flock64_t bf; - -- if (offset > olen) -- goto out_unmark; -+ if (mode & FALLOC_FL_KEEP_SIZE) { -+ if (offset > olen) -+ goto out_unmark; - -- if (offset + len > olen) -- len = olen - offset; -+ if (offset + len > olen) -+ len = olen - offset; -+ } - bf.l_type = F_WRLCK; - bf.l_whence = SEEK_SET; - bf.l_start = offset; ---- a/tests/runfiles/linux.run -+++ b/tests/runfiles/linux.run -@@ -94,7 +94,7 @@ tests = ['events_001_pos', 'events_002_pos', 'zed_rc_filter', 'zed_fd_spill'] - tags = ['functional', 'events'] - - [tests/functional/fallocate:Linux] --tests = ['fallocate_prealloc'] -+tests = ['fallocate_prealloc', 'fallocate_zero-range'] - tags = ['functional', 'fallocate'] - - [tests/functional/fault:Linux] ---- a/tests/zfs-tests/cmd/file_write/file_write.c -+++ b/tests/zfs-tests/cmd/file_write/file_write.c -@@ -251,7 +251,7 @@ usage(char *prog) - "\t[-s offset] [-c write_count] [-d data]\n\n" - "Where [data] equal to zero causes chars " - "0->%d to be repeated throughout, or [data]\n" -- "equal to 'R' for psudorandom data.\n", -+ "equal to 'R' for pseudorandom data.\n", - prog, DATA_RANGE); - - exit(1); ---- a/tests/zfs-tests/include/libtest.shlib -+++ b/tests/zfs-tests/include/libtest.shlib -@@ -4236,6 +4236,22 @@ function punch_hole # offset length file - esac - } - -+function zero_range # offset length file -+{ -+ typeset offset=$1 -+ typeset length=$2 -+ typeset file=$3 -+ -+ case "$UNAME" in -+ Linux) -+ fallocate --zero-range --offset $offset --length $length "$file" -+ ;; -+ *) -+ false -+ ;; -+ esac -+} -+ - # - # Wait for the specified arcstat to reach non-zero quiescence. - # If echo is 1 echo the value after reaching quiescence, otherwise ---- a/tests/zfs-tests/tests/functional/fallocate/Makefile.am -+++ b/tests/zfs-tests/tests/functional/fallocate/Makefile.am -@@ -3,4 +3,5 @@ dist_pkgdata_SCRIPTS = \ - setup.ksh \ - cleanup.ksh \ - fallocate_prealloc.ksh \ -- fallocate_punch-hole.ksh -+ fallocate_punch-hole.ksh \ -+ fallocate_zero-range.ksh ---- a/tests/zfs-tests/tests/functional/fallocate/fallocate_punch-hole.ksh -+++ b/tests/zfs-tests/tests/functional/fallocate/fallocate_punch-hole.ksh -@@ -60,13 +60,17 @@ function cleanup - [[ -e $TESTDIR ]] && log_must rm -f $FILE - } - --function check_disk_size -+function check_reported_size - { - typeset expected_size=$1 - -- disk_size=$(du $TESTDIR/file | awk '{print $1}') -- if [ $disk_size -ne $expected_size ]; then -- log_fail "Incorrect size: $disk_size != $expected_size" -+ if ! [ -e "${FILE}" ]; then -+ log_fail "$FILE does not exist" -+ fi -+ -+ reported_size=$(du "${FILE}" | awk '{print $1}') -+ if [ "$reported_size" != "$expected_size" ]; then -+ log_fail "Incorrect reported size: $reported_size != $expected_size" - fi - } - -@@ -74,9 +78,9 @@ function check_apparent_size - { - typeset expected_size=$1 - -- apparent_size=$(stat_size) -- if [ $apparent_size -ne $expected_size ]; then -- log_fail "Incorrect size: $apparent_size != $expected_size" -+ apparent_size=$(stat_size "${FILE}") -+ if [ "$apparent_size" != "$expected_size" ]; then -+ log_fail "Incorrect apparent size: $apparent_size != $expected_size" - fi - } - -@@ -86,25 +90,30 @@ log_onexit cleanup - - # Create a dense file and check it is the correct size. - log_must file_write -o create -f $FILE -b $BLKSZ -c 8 --log_must check_disk_size $((131072 * 8)) -+sync_pool $TESTPOOL -+log_must check_reported_size 1027 - - # Punch a hole for the first full block. - log_must punch_hole 0 $BLKSZ $FILE --log_must check_disk_size $((131072 * 7)) -+sync_pool $TESTPOOL -+log_must check_reported_size 899 - - # Partially punch a hole in the second block. - log_must punch_hole $BLKSZ $((BLKSZ / 2)) $FILE --log_must check_disk_size $((131072 * 7)) -+sync_pool $TESTPOOL -+log_must check_reported_size 899 - --# Punch a hole which overlaps the third and forth block. -+# Punch a hole which overlaps the third and fourth block. - log_must punch_hole $(((BLKSZ * 2) + (BLKSZ / 2))) $((BLKSZ)) $FILE --log_must check_disk_size $((131072 * 7)) -+sync_pool $TESTPOOL -+log_must check_reported_size 899 - - # Punch a hole from the fifth block past the end of file. The apparent - # file size should not change since --keep-size is implied. - apparent_size=$(stat_size $FILE) - log_must punch_hole $((BLKSZ * 4)) $((BLKSZ * 10)) $FILE --log_must check_disk_size $((131072 * 4)) -+sync_pool $TESTPOOL -+log_must check_reported_size 387 - log_must check_apparent_size $apparent_size - - log_pass "Ensure holes can be punched in files making them sparse" ---- /dev/null -+++ b/tests/zfs-tests/tests/functional/fallocate/fallocate_zero-range.ksh -@@ -0,0 +1,119 @@ -+#!/bin/ksh -p -+# -+# CDDL HEADER START -+# -+# The contents of this file are subject to the terms of the -+# Common Development and Distribution License (the "License"). -+# You may not use this file except in compliance with the License. -+# -+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -+# or http://www.opensolaris.org/os/licensing. -+# See the License for the specific language governing permissions -+# and limitations under the License. -+# -+# When distributing Covered Code, include this CDDL HEADER in each -+# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -+# If applicable, add the following below this CDDL HEADER, with the -+# fields enclosed by brackets "[]" replaced with your own identifying -+# information: Portions Copyright [yyyy] [name of copyright owner] -+# -+# CDDL HEADER END -+# -+ -+# -+# Copyright (c) 2020 by Lawrence Livermore National Security, LLC. -+# Copyright (c) 2021 by The FreeBSD Foundation. -+# -+ -+. $STF_SUITE/include/libtest.shlib -+ -+# -+# DESCRIPTION: -+# Test FALLOC_FL_ZERO_RANGE functionality -+# -+# STRATEGY: -+# 1. Create a dense file -+# 2. Zero various ranges in the file and verify the result. -+# -+ -+verify_runnable "global" -+ -+if is_freebsd; then -+ log_unsupported "FreeBSD does not implement an analogue to ZERO_RANGE." -+fi -+ -+FILE=$TESTDIR/$TESTFILE0 -+BLKSZ=$(get_prop recordsize $TESTPOOL) -+ -+function cleanup -+{ -+ [[ -e $TESTDIR ]] && log_must rm -f $FILE -+} -+ -+# Helpfully, this function expects kilobytes, and check_apparent_size expects bytes. -+function check_reported_size -+{ -+ typeset expected_size=$1 -+ -+ if ! [ -e "${FILE}" ]; then -+ log_fail "$FILE does not exist" -+ fi -+ -+ reported_size=$(du "${FILE}" | awk '{print $1}') -+ if [ "$reported_size" != "$expected_size" ]; then -+ log_fail "Incorrect reported size: $reported_size != $expected_size" -+ fi -+} -+ -+function check_apparent_size -+{ -+ typeset expected_size=$1 -+ -+ apparent_size=$(stat_size "${FILE}") -+ if [ "$apparent_size" != "$expected_size" ]; then -+ log_fail "Incorrect apparent size: $apparent_size != $expected_size" -+ fi -+} -+ -+log_assert "Ensure ranges can be zeroed in files" -+ -+log_onexit cleanup -+ -+# Create a dense file and check it is the correct size. -+log_must file_write -o create -f $FILE -b $BLKSZ -c 8 -+sync_pool $TESTPOOL -+log_must check_reported_size 1027 -+ -+# Zero a range covering the first full block. -+log_must zero_range 0 $BLKSZ $FILE -+sync_pool $TESTPOOL -+log_must check_reported_size 899 -+ -+# Partially zero a range in the second block. -+log_must zero_range $BLKSZ $((BLKSZ / 2)) $FILE -+sync_pool $TESTPOOL -+log_must check_reported_size 899 -+ -+# Zero range which overlaps the third and fourth block. -+log_must zero_range $(((BLKSZ * 2) + (BLKSZ / 2))) $((BLKSZ)) $FILE -+sync_pool $TESTPOOL -+log_must check_reported_size 899 -+ -+# Zero range from the fifth block past the end of file, with --keep-size. -+# The apparent file size must not change, since we did specify --keep-size. -+apparent_size=$(stat_size $FILE) -+log_must fallocate --keep-size --zero-range --offset $((BLKSZ * 4)) --length $((BLKSZ * 10)) "$FILE" -+sync_pool $TESTPOOL -+log_must check_reported_size 387 -+log_must check_apparent_size $apparent_size -+ -+# Zero range from the fifth block past the end of file. The apparent -+# file size should change since --keep-size is not implied, unlike -+# with PUNCH_HOLE. -+apparent_size=$(stat_size $FILE) -+log_must zero_range $((BLKSZ * 4)) $((BLKSZ * 10)) $FILE -+sync_pool $TESTPOOL -+log_must check_reported_size 387 -+log_must check_apparent_size $((BLKSZ * 14)) -+ -+log_pass "Ensure ranges can be zeroed in files" ---- a/tests/zfs-tests/tests/functional/fallocate/setup.ksh -+++ b/tests/zfs-tests/tests/functional/fallocate/setup.ksh -@@ -26,4 +26,7 @@ - . $STF_SUITE/include/libtest.shlib - - DISK=${DISKS%% *} --default_setup $DISK -+default_setup_noexit $DISK -+log_must zfs set compression=off $TESTPOOL -+log_pass -+ - diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.0.7.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.0.7.ebuild deleted file mode 100644 index a928c1eac6f9..000000000000 --- a/sys-fs/zfs-kmod/zfs-kmod-2.0.7.ebuild +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools dist-kernel-utils flag-o-matic linux-mod toolchain-funcs - -DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" -HOMEPAGE="https://github.com/openzfs/zfs" - -if [[ ${PV} == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/openzfs/zfs.git" -else - VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc - inherit verify-sig - - MY_PV="${PV/_rc/-rc}" - SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" - SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )" - S="${WORKDIR}/zfs-${PV%_rc?}" - ZFS_KERNEL_COMPAT="5.15" - - # increments minor eg 5.14 -> 5.15, and still supports override. - ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" - ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" - - if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ppc64" - fi -fi - -LICENSE="CDDL MIT debug? ( GPL-2+ )" -SLOT="0/${PVR}" -IUSE="custom-cflags debug +rootfs" - -RDEPEND="${DEPEND} - !sys-kernel/spl -" - -BDEPEND=" - dev-lang/perl - virtual/awk -" - -# we want dist-kernel block in BDEPEND because of portage resolver. -# since linux-mod.eclass already sets version-unbounded dep, portage -# will pull new versions. So we set it in BDEPEND which takes priority. -# and we don't need in in git ebuild. -if [[ ${PV} != "9999" ]] ; then - BDEPEND+=" - verify-sig? ( sec-keys/openpgp-keys-openzfs ) - dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= ) - " -fi - -# PDEPEND in this form is needed to trick portage suggest -# enabling dist-kernel if only 1 package have it set -PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )" - -RESTRICT="debug? ( strip ) test" - -DOCS=( AUTHORS COPYRIGHT META README.md ) - -pkg_pretend() { - use rootfs || return 0 - - if has_version virtual/dist-kernel && ! use dist-kernel; then - ewarn "You have virtual/dist-kernel installed, but" - ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}" - ewarn "It's recommended to globally enable dist-kernel USE flag" - ewarn "to auto-trigger initrd rebuilds with kernel updates" - fi -} - -pkg_setup() { - CONFIG_CHECK=" - !DEBUG_LOCK_ALLOC - EFI_PARTITION - MODULES - !PAX_KERNEXEC_PLUGIN_METHOD_OR - !TRIM_UNUSED_KSYMS - 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 -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP" - - if [[ ${PV} != "9999" ]]; then - local kv_major_max kv_minor_max zcompat - zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" - kv_major_max="${zcompat%%.*}" - zcompat="${zcompat#*.}" - kv_minor_max="${zcompat%%.*}" - kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \ - "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version" - - fi - - kernel_is -ge 3 10 || die "Linux 3.10 or newer required" - - linux-mod_pkg_setup -} - -src_prepare() { - default - - # Run unconditionally (bug #792627) - eautoreconf - - if [[ ${PV} != "9999" ]]; then - # Set module revision number - sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" - fi -} - -src_configure() { - set_arch_to_kernel - - use custom-cflags || strip-flags - - filter-ldflags -Wl,* - - # Set CROSS_COMPILE in the environment. - # This allows the user to override it via make.conf or via a local Makefile. - # https://bugs.gentoo.org/811600 - export CROSS_COMPILE=${CROSS_COMPILE-${CHOST}-} - - local myconf=( - HOSTCC="$(tc-getBUILD_CC)" - --bindir="${EPREFIX}/bin" - --sbindir="${EPREFIX}/sbin" - --with-config=kernel - --with-linux="${KV_DIR}" - --with-linux-obj="${KV_OUT_DIR}" - $(use_enable debug) - ) - - econf "${myconf[@]}" -} - -src_compile() { - set_arch_to_kernel - - myemakeargs=( - HOSTCC="$(tc-getBUILD_CC)" - V=1 - ) - - emake "${myemakeargs[@]}" -} - -src_install() { - set_arch_to_kernel - - myemakeargs+=( - DEPMOD=: - DESTDIR="${D}" - INSTALL_MOD_PATH="${EPREFIX:-/}" # lib/modules/<kver> added by KBUILD - ) - - emake "${myemakeargs[@]}" install - - einstalldocs -} - -pkg_postinst() { - linux-mod_pkg_postinst - - if [[ -z ${ROOT} ]] && use dist-kernel; then - set_arch_to_pkgmgr - dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" - 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 - - if has_version sys-boot/grub; then - ewarn "This version of OpenZFS 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 OpenZFS. 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." - fi -} diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.4-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.4-r1.ebuild deleted file mode 100644 index 05b9754f0ef2..000000000000 --- a/sys-fs/zfs-kmod/zfs-kmod-2.1.4-r1.ebuild +++ /dev/null @@ -1,209 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools dist-kernel-utils flag-o-matic linux-mod toolchain-funcs - -DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" -HOMEPAGE="https://github.com/openzfs/zfs" - -if [[ ${PV} == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/openzfs/zfs.git" -else - VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc - inherit verify-sig - - MY_PV="${PV/_rc/-rc}" - SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" - SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )" - S="${WORKDIR}/zfs-${PV%_rc?}" - ZFS_KERNEL_COMPAT="5.17" - - # increments minor eg 5.14 -> 5.15, and still supports override. - ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" - ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" - - if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ppc64 ~riscv" - fi -fi - -LICENSE="CDDL MIT debug? ( GPL-2+ )" -SLOT="0/${PVR}" -IUSE="custom-cflags debug +rootfs" - -RDEPEND="${DEPEND} - !sys-kernel/spl -" - -BDEPEND=" - dev-lang/perl - virtual/awk -" - -# we want dist-kernel block in BDEPEND because of portage resolver. -# since linux-mod.eclass already sets version-unbounded dep, portage -# will pull new versions. So we set it in BDEPEND which takes priority. -# and we don't need in in git ebuild. -if [[ ${PV} != "9999" ]] ; then - BDEPEND+=" - verify-sig? ( sec-keys/openpgp-keys-openzfs ) - dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= ) - " -fi - -# PDEPEND in this form is needed to trick portage suggest -# enabling dist-kernel if only 1 package have it set -PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )" - -RESTRICT="debug? ( strip ) test" - -DOCS=( AUTHORS COPYRIGHT META README.md ) - -PATCHES=( - "${FILESDIR}"/${PV}-ZERO_RANGE.patch -) - -pkg_pretend() { - use rootfs || return 0 - - if has_version virtual/dist-kernel && ! use dist-kernel; then - ewarn "You have virtual/dist-kernel installed, but" - ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}" - ewarn "It's recommended to globally enable dist-kernel USE flag" - ewarn "to auto-trigger initrd rebuilds with kernel updates" - fi -} - -pkg_setup() { - CONFIG_CHECK=" - !DEBUG_LOCK_ALLOC - EFI_PARTITION - MODULES - !PAX_KERNEXEC_PLUGIN_METHOD_OR - !TRIM_UNUSED_KSYMS - 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 -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP" - - if [[ ${PV} != "9999" ]]; then - local kv_major_max kv_minor_max zcompat - zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" - kv_major_max="${zcompat%%.*}" - zcompat="${zcompat#*.}" - kv_minor_max="${zcompat%%.*}" - kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \ - "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version" - - fi - - kernel_is -ge 3 10 || die "Linux 3.10 or newer required" - - linux-mod_pkg_setup -} - -src_prepare() { - default - - # Run unconditionally (bug #792627) - eautoreconf - - if [[ ${PV} != "9999" ]]; then - # Set module revision number - sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" - fi -} - -src_configure() { - set_arch_to_kernel - - use custom-cflags || strip-flags - - filter-ldflags -Wl,* - - # Set CROSS_COMPILE in the environment. - # This allows the user to override it via make.conf or via a local Makefile. - # https://bugs.gentoo.org/811600 - export CROSS_COMPILE=${CROSS_COMPILE-${CHOST}-} - - local myconf=( - HOSTCC="$(tc-getBUILD_CC)" - --bindir="${EPREFIX}/bin" - --sbindir="${EPREFIX}/sbin" - --with-config=kernel - --with-linux="${KV_DIR}" - --with-linux-obj="${KV_OUT_DIR}" - $(use_enable debug) - ) - - econf "${myconf[@]}" -} - -src_compile() { - set_arch_to_kernel - - myemakeargs=( - HOSTCC="$(tc-getBUILD_CC)" - V=1 - ) - - emake "${myemakeargs[@]}" -} - -src_install() { - set_arch_to_kernel - - myemakeargs+=( - DEPMOD=: - # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile - DESTDIR="${D}" - ) - - emake "${myemakeargs[@]}" install - - einstalldocs -} - -pkg_postinst() { - linux-mod_pkg_postinst - - if [[ -z ${ROOT} ]] && use dist-kernel; then - set_arch_to_pkgmgr - dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" - 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 - - if has_version sys-boot/grub; then - ewarn "This version of OpenZFS 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 OpenZFS. To" - ewarn "create a newpool that is backward compatible wih GRUB2, use " - ewarn - ewarn "zpool create -o compatibility=grub2 ..." - ewarn - ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features." - fi -} diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild index e15a7aa768a8..56c94fb50e46 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild @@ -35,9 +35,7 @@ LICENSE="CDDL MIT debug? ( GPL-2+ )" SLOT="0/${PVR}" IUSE="custom-cflags debug +rootfs" -RDEPEND="${DEPEND} - !sys-kernel/spl -" +RDEPEND="${DEPEND}" BDEPEND=" dev-lang/perl diff --git a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild index 65567e49fef7..c7623deb64c8 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild @@ -34,9 +34,7 @@ LICENSE="CDDL MIT debug? ( GPL-2+ )" SLOT="0/${PVR}" IUSE="custom-cflags debug +rootfs" -RDEPEND="${DEPEND} - !sys-kernel/spl -" +RDEPEND="${DEPEND}" BDEPEND=" dev-lang/perl diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest index 18d7799ec8be..631e8752b255 100644 --- a/sys-fs/zfs/Manifest +++ b/sys-fs/zfs/Manifest @@ -1,21 +1,11 @@ -AUX 2.0.7-scrub-timers.patch 3128 BLAKE2B f7f55905df7e804bef3818c4b5ce9c34595bcfd77c8d0fa3fb94156d878e077f878a3acd76cc92a57a056d9e8643c9d769cce0b1f067ab228f75d3242178b588 SHA512 a2a649e5b59af8dc26312cf8adf5716671da9e897788af3b6598eec653a5cd73ef25f703ac1b549c9927036738c016acc629c9bfc6dca0335b1d1327f85c6af4 -AUX 2.1.2-musl-tests.patch 1923 BLAKE2B 0029cba42b7914166cec894e30730f205f2c1508dd7f0c46b2567c365b5c6daa1d65cfc9ede9180f4831c924760b6a9a9ac81972e991c439148ad21bfcb3dfda SHA512 be96efa5b0b407388fe4f0066c5516a1b882bb158376d072373d6c73f2dc1414a61eda925fa12a0708d15e5c791c590f4b83809262d21e2160a0d931e608ab80 -AUX 2.1.2-openrc-vendor.patch 1469 BLAKE2B d8c20bbeee95db8eb4c26e6d5b1798e89c3b152c03ddc852dea6810fb170f70e77a200bdbda00953a792d05467f268260ccfcc1d1b20576bfb21c65fde6e93df SHA512 ae5709acef0531146f7ac020fd4038dc76f99dd43c8322b3934522c2e74f90d60106c30de679cb9aaaa3f6ece00ed93e490c0787e573fc0871c30d73842ea04e AUX 2.1.5-dracut-mount.patch 1093 BLAKE2B b22c3195332a6be3656282a16a5a10622effe64b5b4d852285a9d1fb4d59be852421b401c5ff9753a3a9febf6066c7120851199d04e837193a9f794b2304722f SHA512 e482880bc714c60da8758140c4560592de6eabd5a010febccc8bb8f81388ed009d944149c7b463006c67116d240c67d69d58fcaaa6b2f1984cbc64230f7de33d AUX 2.1.5-dracut-non-root.patch 1418 BLAKE2B ed5e530c05b586ae73bacf274448574b72bd48aa395ad03c6ce943979ab880cae221feaaa975329979124a21a2159fc60d92dbced0bcadc678a600dc84a6461b SHA512 ce5834d12ba746e0063df3f23f17b5e7a15e5b84d840fa870a9bd02ae8fdef2a9e2d18dbbac4a3de299d2bddf379ae062338c7fb5acaa2101e55bfcbfa2dc261 AUX 2.1.5-dracut-zfs-bootfs-snapshot-fixes.patch 4362 BLAKE2B 678b99fee828753318dbf59ac478b0c1d71843c040d56d598027578403f69935d271c3dc78ce82540acffee7bd282a055622440ef40410af08f07630b899ef50 SHA512 4a3e4942ac64dea6fe6bd37da9683880ff4cc7b69d797976669dfe7fe48e0603264b033f8ee83ed794a249b127d407b3320bb7249c903016769be6441f10110b AUX 2.1.5-dracut-zfs-missing.patch 309 BLAKE2B e66e700757aa6498b71d714c13e29e671455c77b1b319c7e951b10edc7179f37149b093c5b24fa17b487b9025112bcf31dffb441bbdde7943d90d16443140384 SHA512 0de374270a4814a937e5d97ec4261c5f77ef44fb8f3afc74c4b802d140e4595362b288ff91b8a5c4e9754871969d1f6af05eafa9c91e38c8b913c26ba78b1676 AUX 2.1.5-r2-dracut-non-root.patch 1823 BLAKE2B b6954c1648742cb19b1cea5709bdba78477731232bfd6a180f2b2aa179ba2e10ac968af6658fc9fd9a7a03127098c7e4401f3ad803e603d4e114d995b370da3d SHA512 33b3244de91f3d51ef2c2eff2ea4515890b7fa9b39a077b4034f770772077e75e6c5db187c76aa19dd2fb60dac91de35d70fbd84be3704bb950bbf8d4656c29a -AUX bash-completion-sudo.patch 905 BLAKE2B 92e58ff097893436d589f7df0134e09d2e0699ae82618c4c14caf4b26cb466367a5372d7e0a030aa857d024e3db0faef4bb5fa32c54f41f0d4766693a95ba5ab SHA512 e53c79401f4c634a94af27b2f88a40440b68a4c192fd1944668786650aaa0f1f08dff851dca5b9666ce8bba1f0e2b7cb195314cd9d1314c9bab1194d03122319 -DIST zfs-2.0.7.tar.gz 14550055 BLAKE2B 80f7297f04a21cd8f3f2043d895b0325512ba0cea3bb9223561237754495c8233d29af5a9418a3c06a87510100240a45ef3d59c7ce776fffb5aafdcd18167c21 SHA512 1135abf74bf74685439018f7cd65fc52088f179d113bdd2e6481689bb0f4a016716a07d859107b74501fda00689e80b2488c7c2c53d5f058d6b659909ed85f6f -DIST zfs-2.0.7.tar.gz.asc 836 BLAKE2B 65e7df58c33ccadc4e0ca9dbc1e8c006abbec8442e2da50872a1ab0cbb841fc45152298e8d3b93ee4320ddae6416e3a856caf80d8efb21b19db53dfedbf00e38 SHA512 b901d8e92faa6cfe6010bd54de88c7d18057f434cb07f8a89672d6c446a0a97b23209ee8f02cfd3b2a8f431c68ec977e7dc9f95fe5d385dba0bb6d37338ba682 -DIST zfs-2.1.4.tar.gz 34896310 BLAKE2B be303f1181f604770536aa4aa61d5319ec408abbd04964cedadd15b3101a15deba6539bb5d833f4fed357f323d74f622d035305df699b213df41ae45bffdd200 SHA512 c7b57c43fc287b22905067ab022df4133d32e1a5dc335f7baf743b4ef88f64c2bf9d41318c2083230d077dd49e68f7d9e6172266e13d4b1eee29d359860f969e -DIST zfs-2.1.4.tar.gz.asc 836 BLAKE2B b311730f72d534c87a782515f35a354bfbefba0513dc0cee5b0b497cf742590f13be6a49ff8a70d7d6503d0ba06b0266e7d290d718337add614812c3d1b0731a SHA512 53880cd5369f468551bab685eb83739ed76aa286886fdd2cbad4270755fe809da730082a91bba61011f59594fac297ce05645ae32c2c73b4a9aa835f2991a1ee DIST zfs-2.1.5-patches.tar.xz 13324 BLAKE2B bfef8abd298cebd54491272b8c1deacace901d9a1acce67cb927bab6447eafd985352fd09f64336aa9d6611bab0e5c761d7973f0a65c408d77bb735a94c60253 SHA512 d2b009664f8eb4f2a8596693011fde578b6eae123c6169e5dfb70bd920c0f987f5177f7b1be008705a421574a8a9bc930f99823785c69e81573f18b0350cb9bd DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1cb0384c9c78b30062f5c29142ac37ab9dbdaf96c91456d11c317d782d3524ade293f03fda983e5992b79e49 SHA512 d9ccf1049cefa9167d25f71fbdca70092cd02368b60f09341e6489fb68dc5f89e87b026b0191f4d81181a8851449124d824a1d959d0e2fb29c8a3d624edc4f03 DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94 -EBUILD zfs-2.0.7-r1.ebuild 8668 BLAKE2B 5ee2a32d4d623e526ae551752f911cf816d8a9124dea9d0d311fa91c31bcf58c4c8c21d3020bc2174b57fad0e7ebe46ef3cf570e7b8188f8e898bbf9cd2c4d8f SHA512 3b1187a9693ef1c554f2ae7be0a532d694e7cb7c431a017ebc34cfda9d54e63928d0659e8f238c625986c0f2615c8ebc1bfa23599a2a6651833f126fc4eda635 -EBUILD zfs-2.1.4-r1.ebuild 8878 BLAKE2B 047fa1439d2cf2bc6b4eedcd2e324403a5461b5856b88b880951253981192c0e87525de45e5658aef2e5f3e8eb67326ca17b5961a2b19870c96256c1a92f5a7b SHA512 b57efc204eb954aad1765ac84ae8ae3349e931d54aab955d0be5b3dec2ef8cd55ca7ae263038c9f0e6d4b2511b4d90ea0259cf042f454ceafaccd02f324fab0e -EBUILD zfs-2.1.5-r6.ebuild 9487 BLAKE2B bde2c9f4bc2016dae9844cc0ab79fa54aee24b16adaa00096a30353d246a6467a56cf682f8238cb76856c8f5e336c97107b14fdfc7d59a43f256f38d7a425319 SHA512 0fa329b3ce2469ebcfcdf9795e0f2df908ef4d2c89c11d9be2413db65221a3b5ae2f10925d998773d18b7ba87e4824acefc29a5bda5670dd6b1f747b17bcaa49 -EBUILD zfs-9999.ebuild 8893 BLAKE2B 34446b9139f93a8e8fd45fd8d82dd55c788bb453fef41453b517388e2a9980bdd0d1768b78d85e47bc42e36400364c1e546ff5c68a9fea3a8abea2b016c6f9bd SHA512 1f80d3cb72bbb1eaac7542ed3d0c3119ab1223cfbe454acc474cff5a462bd126638dd6a380274673b14835625288e614763226e4721ed5f6fa5c387025879f38 +EBUILD zfs-2.1.5-r6.ebuild 9454 BLAKE2B 15f19ae3739796159bd70beccda1bbeeb3cfa1044bb55dd1dc29dce6c210acc6442f77ea9bddd7f8ae7c204ae8755af7127fdcadbe3a9fc5ad91a3162d571965 SHA512 f2233c3120ad0468765bedae231c4ab57a1884c00dd3d7c79d4ca0a692ec45ffea5a2eccb6975713887434a4e8649a275c9378887a73fa0ca356fc858e8189be +EBUILD zfs-9999.ebuild 8860 BLAKE2B f866be6f204ad6dba9afc1d5e696731af97aedcd5800a76c9e9ca0f8fc148fd9f4506ff9bd1af30f56df106a8da2375c90e276af980f4519c309f3583f9e38eb SHA512 a34498a45d1d42f4e8baac011c45c993693b37382aa6f7c41ca5f814415d5e992be7f051a72ed2499cfe9840b54b58edd4ad778a8906834ea26565d9a81b5115 MISC metadata.xml 2205 BLAKE2B 82e20a6f5906b8cbbc6eb6e9520cf4e4213ce9cba2b056df5d5db0d4deaa4a20822a88e26286446d105326a8f61c807047a0e1e64494faac48d8ed5708807c02 SHA512 222981f945e98ddef646c593cbc8889f3526af4901c28ab5775ba760ca7d3aff3129b2699e8b7337b59fd33cbba388915cb5b2dc09674432c606f41ff27dbd9b diff --git a/sys-fs/zfs/files/2.0.7-scrub-timers.patch b/sys-fs/zfs/files/2.0.7-scrub-timers.patch deleted file mode 100644 index 7c7bd1b874ea..000000000000 --- a/sys-fs/zfs/files/2.0.7-scrub-timers.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 2c9844d159024d4c742d24639a218213fb53d537 Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Sat, 22 May 2021 22:27:39 -0700 -Subject: [PATCH 1/2] systemd: add weekly and monthly scrub timers - -timers can be enabled as follows: - -systemctl enable zfs-scrub-weekly@rpool.timer --now -systemctl enable zfs-scrub-monthly@datapool.timer --now - -Each timer will pull in zfs-scrub@${poolname}.service, which is not -schedule-specific. - -Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> ---- - etc/systemd/system/.gitignore | 1 + - etc/systemd/system/Makefile.am | 5 ++++- - etc/systemd/system/zfs-scrub-monthly@.timer.in | 12 ++++++++++++ - etc/systemd/system/zfs-scrub-weekly@.timer.in | 12 ++++++++++++ - etc/systemd/system/zfs-scrub@.service.in | 14 ++++++++++++++ - 5 files changed, 43 insertions(+), 1 deletion(-) - create mode 100644 etc/systemd/system/zfs-scrub-monthly@.timer.in - create mode 100644 etc/systemd/system/zfs-scrub-weekly@.timer.in - create mode 100644 etc/systemd/system/zfs-scrub@.service.in - -diff --git a/etc/systemd/system/Makefile.am b/etc/systemd/system/Makefile.am -index c374a52ac..5e65e1db4 100644 ---- a/etc/systemd/system/Makefile.am -+++ b/etc/systemd/system/Makefile.am -@@ -12,7 +12,10 @@ systemdunit_DATA = \ - zfs-volume-wait.service \ - zfs-import.target \ - zfs-volumes.target \ -- zfs.target -+ zfs.target \ -+ zfs-scrub-monthly@.timer \ -+ zfs-scrub-weekly@.timer \ -+ zfs-scrub@.service - - SUBSTFILES += $(systemdpreset_DATA) $(systemdunit_DATA) - -diff --git a/etc/systemd/system/zfs-scrub-monthly@.timer.in b/etc/systemd/system/zfs-scrub-monthly@.timer.in -new file mode 100644 -index 000000000..903068468 ---- /dev/null -+++ b/etc/systemd/system/zfs-scrub-monthly@.timer.in -@@ -0,0 +1,12 @@ -+[Unit] -+Description=Monthly zpool scrub timer for %i -+Documentation=man:zpool-scrub(8) -+ -+[Timer] -+OnCalendar=monthly -+Persistent=true -+RandomizedDelaySec=1h -+Unit=zfs-scrub@%i.service -+ -+[Install] -+WantedBy=timers.target -diff --git a/etc/systemd/system/zfs-scrub-weekly@.timer.in b/etc/systemd/system/zfs-scrub-weekly@.timer.in -new file mode 100644 -index 000000000..ede699500 ---- /dev/null -+++ b/etc/systemd/system/zfs-scrub-weekly@.timer.in -@@ -0,0 +1,12 @@ -+[Unit] -+Description=Weekly zpool scrub timer for %i -+Documentation=man:zpool-scrub(8) -+ -+[Timer] -+OnCalendar=weekly -+Persistent=true -+RandomizedDelaySec=1h -+Unit=zfs-scrub@%i.service -+ -+[Install] -+WantedBy=timers.target -diff --git a/etc/systemd/system/zfs-scrub@.service.in b/etc/systemd/system/zfs-scrub@.service.in -new file mode 100644 -index 000000000..c04ac292a ---- /dev/null -+++ b/etc/systemd/system/zfs-scrub@.service.in -@@ -0,0 +1,14 @@ -+[Unit] -+Description=zpool scrub on %i -+Documentation=man:zpool-scrub(8) -+Requires=zfs.target -+After=zfs.target -+ConditionACPower=true -+ConditionPathIsDirectory=/sys/module/zfs -+ -+[Service] -+ExecStart=/bin/sh -c '\ -+if @sbindir@/zpool status %i | grep "scrub in progress"; then\ -+exec @sbindir@/zpool wait -t scrub %i;\ -+else exec @sbindir@/zpool scrub -w %i; fi' -+ExecStop=-/bin/sh -c '@sbindir@/zpool scrub -p %i 2>/dev/null || true' --- -2.34.1 diff --git a/sys-fs/zfs/files/2.1.2-musl-tests.patch b/sys-fs/zfs/files/2.1.2-musl-tests.patch deleted file mode 100644 index 3d2c563f8c51..000000000000 --- a/sys-fs/zfs/files/2.1.2-musl-tests.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 123c87b3c2d75636da79f57a4b0ed60d2a3133a8 Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Mon, 20 Dec 2021 12:25:11 -0800 -Subject: [PATCH] zfs-test/mmap_seek: fix build on musl - -it needs linux/fs.h for SEEK_DATA and friends - -without linux/fs.h: - -``` -mmap_seek.c -mmap_seek.c: In function 'seek_data': -mmap_seek.c:37:40: error: 'SEEK_DATA' undeclared (first use in this function); -did you mean 'SEEK_SET'? - 37 | off_t data_offset = lseek(fd, offset, SEEK_DATA); -``` - -also it needs sys/sysmacros.h for P2ROUNDUP -without it: - -``` -mmap_seek.c: In function 'main': -mmap_seek.c:122:19: warning: -implicit declaration of function 'P2ROUNDUP' [-Wimplicit-function-declaration] - 122 | seek_hole(fd, 0, P2ROUNDUP(file_size / 2, block_size)); - | ^~~~~~~~~ -powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.o: in function `main': -mmap_seek.c:(.text.startup+0x1b8): undefined reference to `P2ROUNDUP' -powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x1d8): - undefined reference to `P2ROUNDUP' -powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x21c): - undefined reference to `P2ROUNDUP' -collect2: error: ld returned 1 exit status -make[5]: *** [Makefile:754: mmap_seek] Error 1 -``` - -Closes: https://github.com/openzfs/zfs/pull/12891 -Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> ---- - tests/zfs-tests/cmd/mmap_seek/mmap_seek.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c -index f476e1dba9a..bb36527aafe 100644 ---- a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c -+++ b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c -@@ -29,7 +29,11 @@ - #include <stdlib.h> - #include <string.h> - #include <sys/mman.h> -+#include <sys/sysmacros.h> - #include <errno.h> -+#ifdef __linux__ -+#include <linux/fs.h> -+#endif - - static void - seek_data(int fd, off_t offset, off_t expected) diff --git a/sys-fs/zfs/files/2.1.2-openrc-vendor.patch b/sys-fs/zfs/files/2.1.2-openrc-vendor.patch deleted file mode 100644 index abe222aa5b84..000000000000 --- a/sys-fs/zfs/files/2.1.2-openrc-vendor.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 6ef28c526ba7199a3740407d764b6505618ca8ba Mon Sep 17 00:00:00 2001 -From: Peter Levine <plevine457@gmail.com> -Date: Fri, 29 Oct 2021 18:34:37 -0400 -Subject: [PATCH] Set DEFAULT_INIT_SHELL to /sbin/openrc-run for Gentoo and - Alpine - -Gentoo and Alpine always set the rc init scripts' shebang to -#!/sbin/openrc-run, whether or not openrc is installed. - -Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> -Signed-off-by: Peter Levine <plevine457@gmail.com> -Closes #12683 -Closes #12692 ---- - config/zfs-build.m4 | 14 +++++--------- - 1 file changed, 5 insertions(+), 9 deletions(-) - -diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 -index 27041c054c2..ec4a2026bf5 100644 ---- a/config/zfs-build.m4 -+++ b/config/zfs-build.m4 -@@ -564,15 +564,11 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [ - *) DEFAULT_INIT_SCRIPT=lsb ;; - esac - -- # On gentoo, it's possible that OpenRC isn't installed. Check if -- # /sbin/openrc-run exists, and if not, fall back to generic defaults. -- -- DEFAULT_INIT_SHELL="/bin/sh" -- AS_IF([test "$DEFAULT_INIT_SCRIPT" = "openrc"], [ -- AS_IF([test -x "/sbin/openrc-run"], -- [DEFAULT_INIT_SHELL="/sbin/openrc-run"], -- [DEFAULT_INIT_SCRIPT=lsb]) -- ]) -+ case "$VENDOR" in -+ gentoo) DEFAULT_INIT_SHELL="/sbin/openrc-run";; -+ alpine) DEFAULT_INIT_SHELL="/sbin/openrc-run";; -+ *) DEFAULT_INIT_SHELL="/bin/sh" ;; -+ esac - - AC_MSG_RESULT([$DEFAULT_INIT_SCRIPT:$DEFAULT_INIT_SHELL]) - AC_SUBST(DEFAULT_INIT_SCRIPT) diff --git a/sys-fs/zfs/files/bash-completion-sudo.patch b/sys-fs/zfs/files/bash-completion-sudo.patch deleted file mode 100644 index 8ae9d25d2761..000000000000 --- a/sys-fs/zfs/files/bash-completion-sudo.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3829d0b867f6aa4bde8798147dee74a86435d12c Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Fri, 22 Mar 2019 22:04:40 -0700 -Subject: [PATCH] contrib/bash_completion.d/zfs: remove sudo reference - ---- - contrib/bash_completion.d/zfs | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/contrib/bash_completion.d/zfs b/contrib/bash_completion.d/zfs -index 914db43c..b1aded36 100644 ---- a/contrib/bash_completion.d/zfs -+++ b/contrib/bash_completion.d/zfs -@@ -21,13 +21,13 @@ - # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - --if [[ -w /dev/zfs ]]; then -+#if [[ -w /dev/zfs ]]; then - __ZFS_CMD="zfs" - __ZPOOL_CMD="zpool" --else -- __ZFS_CMD="sudo zfs" -- __ZPOOL_CMD="sudo zpool" --fi -+#else -+# __ZFS_CMD="sudo zfs" -+# __ZPOOL_CMD="sudo zpool" -+#fi - - __zfs_get_commands() - { --- -2.21.0 - diff --git a/sys-fs/zfs/zfs-2.0.7-r1.ebuild b/sys-fs/zfs/zfs-2.0.7-r1.ebuild deleted file mode 100644 index 68d9116fd3de..000000000000 --- a/sys-fs/zfs/zfs-2.0.7-r1.ebuild +++ /dev/null @@ -1,313 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{8..10} ) - -inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd 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 - VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc - inherit verify-sig - - MY_P="${P/_rc/-rc}" - SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )" - S="${WORKDIR}/${P%_rc?}" - - if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ppc64" - fi -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. -# see libsoversion_check() below as well -SLOT="0/4" -IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite" - -DEPEND=" - net-libs/libtirpc:= - sys-apps/util-linux - sys-libs/zlib - virtual/libudev:= - dev-libs/openssl:0= - !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}] - || ( - dev-python/packaging[${PYTHON_USEDEP}] - dev-python/distlib[${PYTHON_USEDEP}] - ) - ) -" - -if [[ ${PV} != "9999" ]] ; then - BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" -fi - -# awk is used for some scripts, completions, and the Dracut module -RDEPEND="${DEPEND} - !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) - !prefix? ( virtual/udev ) - sys-fs/udev-init-scripts - virtual/awk - dist-kernel? ( virtual/dist-kernel:= ) - rootfs? ( - app-arch/cpio - app-misc/pax-utils - !<sys-kernel/genkernel-3.5.1.1 - ) - test-suite? ( - app-shells/ksh - sys-apps/kmod[tools] - sys-apps/util-linux - sys-devel/bc - sys-block/parted - sys-fs/lsscsi - sys-fs/mdadm - sys-process/procps - ) -" - -# PDEPEND in this form is needed to trick portage suggest -# enabling dist-kernel if only 1 package have it set, without suggesting to disable -PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )" - -REQUIRED_USE=" - !minimal? ( ${PYTHON_REQUIRED_USE} ) - python? ( !minimal ) - test-suite? ( !minimal ) -" - -RESTRICT="test" - -PATCHES=( - "${FILESDIR}/bash-completion-sudo.patch" - "${FILESDIR}/2.0.7-scrub-timers.patch" - "${FILESDIR}/2.1.2-openrc-vendor.patch" - "${FILESDIR}/2.1.2-musl-tests.patch" -) - -pkg_pretend() { - use rootfs || return 0 - - if has_version virtual/dist-kernel && ! use dist-kernel; then - ewarn "You have virtual/dist-kernel installed, but" - ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}" - ewarn "It's recommended to globally enable dist-kernel USE flag" - ewarn "to auto-trigger initrd rebuilds with kernel updates" - fi -} - -pkg_setup() { - if use kernel_linux; 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 -} - -libsoversion_check() { - - local bugurl libzfs_sover - bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages" - - libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \ - | grep -Eo '[0-9]+:[0-9]+:[0-9]+')" - libzfs_sover="${libzfs_sover%%:*}" - - if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then - echo - eerror "BUG BUG BUG BUG BUG BUG BUG BUG" - eerror "ebuild subslot does not match libzfs soversion!" - eerror "libzfs soversion: ${libzfs_sover}" - eerror "ebuild value: $(ver_cut 2 ${SLOT})" - eerror "This is a bug in the ebuild, please use the following URL to report it" - eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot" - echo - # we want to abort for releases, but just print a warning for live ebuild - # to keep package installable - [[ ${PV} == "9999" ]] || die - fi -} - -src_prepare() { - default - libsoversion_check - - # Run unconditionally (bug #792627) - eautoreconf - - if [[ ${PV} != "9999" ]]; then - # 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 - - # All the same issue: - # Segfaults w/ GCC 12 and 'zfs send' - # bug #856373 - # https://github.com/openzfs/zfs/issues/13620 - # https://github.com/openzfs/zfs/issues/13605 - append-flags -fno-tree-vectorize - - 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="$(systemd_get_systempresetdir)" - --with-vendor=gentoo - $(use_enable debug) - $(use_enable nls) - $(use_enable pam) - $(use_enable python pyzfs) - --disable-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 ; } - - find "${ED}" -name '*.la' -delete || die - - 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() { - udev_reload - - # we always need userspace utils in sync with zfs-kmod - # so force initrd update for userspace as well, to avoid - # situation when zfs-kmod trigger initrd rebuild before - # userspace component is rebuilt - # KV_* variables are provided by linux-info.eclass - if [[ -z ${ROOT} ]] && use dist-kernel; then - dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" - fi - - if use rootfs; then - if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then - elog "Root on zfs requires an initramfs to boot" - elog "The following packages provide one and are tested on a regular basis:" - elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )" - 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}/$(systemd_get_systempresetdir)/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() { - udev_reload - - if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then - remove_moduledb - fi -} diff --git a/sys-fs/zfs/zfs-2.1.4-r1.ebuild b/sys-fs/zfs/zfs-2.1.4-r1.ebuild deleted file mode 100644 index fb6aab2ca7e7..000000000000 --- a/sys-fs/zfs/zfs-2.1.4-r1.ebuild +++ /dev/null @@ -1,311 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{8,9,10} ) - -inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd 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 - VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc - inherit verify-sig - - MY_P="${P/_rc/-rc}" - SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz" - SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )" - S="${WORKDIR}/${P%_rc?}" - - # 2.1.3 unkeyworded briefly for some testing - if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ppc64 ~riscv" - fi -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. -# see libsoversion_check() below as well -SLOT="0/5" -IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite" - -DEPEND=" - net-libs/libtirpc:= - sys-apps/util-linux - sys-libs/zlib - virtual/libudev:= - dev-libs/openssl:0= - !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}] - || ( - dev-python/packaging[${PYTHON_USEDEP}] - dev-python/distlib[${PYTHON_USEDEP}] - ) - ) -" - -if [[ ${PV} != "9999" ]] ; then - BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" -fi - -# awk is used for some scripts, completions, and the Dracut module -RDEPEND="${DEPEND} - !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) - !prefix? ( virtual/udev ) - sys-fs/udev-init-scripts - virtual/awk - dist-kernel? ( virtual/dist-kernel:= ) - rootfs? ( - app-arch/cpio - app-misc/pax-utils - !<sys-kernel/genkernel-3.5.1.1 - ) - test-suite? ( - app-shells/ksh - sys-apps/kmod[tools] - sys-apps/util-linux - sys-devel/bc - sys-block/parted - sys-fs/lsscsi - sys-fs/mdadm - sys-process/procps - ) -" - -# PDEPEND in this form is needed to trick portage suggest -# enabling dist-kernel if only 1 package have it set, without suggesting to disable -PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )" - -REQUIRED_USE=" - !minimal? ( ${PYTHON_REQUIRED_USE} ) - python? ( !minimal ) - test-suite? ( !minimal ) -" - -RESTRICT="test" - -pkg_pretend() { - use rootfs || return 0 - - if has_version virtual/dist-kernel && ! use dist-kernel; then - ewarn "You have virtual/dist-kernel installed, but" - ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}" - ewarn "It's recommended to globally enable dist-kernel USE flag" - ewarn "to auto-trigger initrd rebuilds with kernel updates" - fi -} - -pkg_setup() { - if use kernel_linux; 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 -} - -libsoversion_check() { - local bugurl libzfs_sover - bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages" - - libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \ - | grep -Eo '[0-9]+:[0-9]+:[0-9]+')" - libzfs_sover="${libzfs_sover%%:*}" - - if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then - echo - eerror "BUG BUG BUG BUG BUG BUG BUG BUG" - eerror "ebuild subslot does not match libzfs soversion!" - eerror "libzfs soversion: ${libzfs_sover}" - eerror "ebuild value: $(ver_cut 2 ${SLOT})" - eerror "This is a bug in the ebuild, please use the following URL to report it" - eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot" - echo - # we want to abort for releases, but just print a warning for live ebuild - # to keep package installable - [[ ${PV} == "9999" ]] || die - fi -} - -src_prepare() { - default - libsoversion_check - - # Run unconditionally (bug #792627) - eautoreconf - - if [[ ${PV} != "9999" ]]; then - # 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 - - # All the same issue: - # Segfaults w/ GCC 12 and 'zfs send' - # bug #856373 - # https://github.com/openzfs/zfs/issues/13620 - # https://github.com/openzfs/zfs/issues/13605 - append-flags -fno-tree-vectorize - - local myconf=( - --bindir="${EPREFIX}/bin" - --enable-shared - --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="$(systemd_get_systempresetdir)" - --with-vendor=gentoo - # Building zfs-mount-generator.c on musl breaks as strndupa - # isn't available. But systemd doesn't support musl anyway, so - # just disable building it. - $(use_enable !elibc_musl systemd) - $(use_enable debug) - $(use_enable nls) - $(use_enable pam) - $(use_enable python pyzfs) - --disable-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/{test-runner,zfs-tests,runfiles,*sh} || die ; } - - find "${ED}" -name '*.la' -delete || die - - 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() { - udev_reload - - # we always need userspace utils in sync with zfs-kmod - # so force initrd update for userspace as well, to avoid - # situation when zfs-kmod trigger initrd rebuild before - # userspace component is rebuilt - # KV_* variables are provided by linux-info.eclass - if [[ -z ${ROOT} ]] && use dist-kernel; then - dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" - fi - - if use rootfs; then - if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then - elog "Root on zfs requires an initramfs to boot" - elog "The following packages provide one and are tested on a regular basis:" - elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )" - 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}/$(systemd_get_systempresetdir)/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-load-key" ]] || \ - einfo "You should add zfs-load-key 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() { - udev_reload - - if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then - remove_moduledb - fi -} diff --git a/sys-fs/zfs/zfs-2.1.5-r6.ebuild b/sys-fs/zfs/zfs-2.1.5-r6.ebuild index 1e78e8fefdf5..b641b3d163ea 100644 --- a/sys-fs/zfs/zfs-2.1.5-r6.ebuild +++ b/sys-fs/zfs/zfs-2.1.5-r6.ebuild @@ -75,7 +75,6 @@ RDEPEND="${DEPEND} rootfs? ( app-arch/cpio app-misc/pax-utils - !<sys-kernel/genkernel-3.5.1.1 ) test-suite? ( app-shells/ksh diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild index eb60343f89b3..8e77d0480577 100644 --- a/sys-fs/zfs/zfs-9999.ebuild +++ b/sys-fs/zfs/zfs-9999.ebuild @@ -74,7 +74,6 @@ RDEPEND="${DEPEND} rootfs? ( app-arch/cpio app-misc/pax-utils - !<sys-kernel/genkernel-3.5.1.1 ) test-suite? ( app-shells/ksh |