From 2475ac51234b6ca2597db80dd05deb29667888b0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 4 Jul 2023 04:07:19 +0100 Subject: gentoo auto-resync : 04:07:2023 - 04:07:19 --- sys-fs/zfs/Manifest | 13 +- sys-fs/zfs/files/2.1.5-dracut-mount.patch | 29 -- sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch | 217 -------------- sys-fs/zfs/zfs-2.1.10.ebuild | 326 --------------------- sys-fs/zfs/zfs-2.1.7-r1.ebuild | 337 ---------------------- sys-fs/zfs/zfs-2.2.0_rc1.ebuild | 306 ++++++++++++++++++++ sys-fs/zfs/zfs-9999.ebuild | 22 +- 7 files changed, 320 insertions(+), 930 deletions(-) delete mode 100644 sys-fs/zfs/files/2.1.5-dracut-mount.patch delete mode 100644 sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch delete mode 100644 sys-fs/zfs/zfs-2.1.10.ebuild delete mode 100644 sys-fs/zfs/zfs-2.1.7-r1.ebuild create mode 100644 sys-fs/zfs/zfs-2.2.0_rc1.ebuild (limited to 'sys-fs/zfs') diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest index fdf2d81d9cf4..df66026dd15f 100644 --- a/sys-fs/zfs/Manifest +++ b/sys-fs/zfs/Manifest @@ -1,24 +1,19 @@ -AUX 2.1.5-dracut-mount.patch 1093 BLAKE2B b22c3195332a6be3656282a16a5a10622effe64b5b4d852285a9d1fb4d59be852421b401c5ff9753a3a9febf6066c7120851199d04e837193a9f794b2304722f SHA512 e482880bc714c60da8758140c4560592de6eabd5a010febccc8bb8f81388ed009d944149c7b463006c67116d240c67d69d58fcaaa6b2f1984cbc64230f7de33d 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 2.1.6-fgrep.patch 2183 BLAKE2B b8c9b58cc6d94e9ddeacbe3c5eca9d040f1c6fba84b814c8c553d5c1e15334765d3190286a4ad2298762bc54f66a8b89ef69d115cfbd5a25d928170a1d46a770 SHA512 f65e7ffa8cfd00da7ad6d1fcbf5d61172c52e55ea2630f719b49750692c1c046e8baed0e04cadc841adbd804cf861ec712b0d07dbbcae7c1c3b475326045ae8c AUX 2.1.7-dracut-include-systemd-overrides.patch 1749 BLAKE2B e88570b8f29d882f43a114837f94572a91fc317008ebb02f9d5df9e5a8ba21b5b18a2f48099e7bb1e42c40a9b25af991070b77c11a07d0c194e31dcdf003e9c4 SHA512 0df9068d59cddfa5c7dafb2fcb0f25c700ef48a4e461c07ed6edca57c5d26443d3904bb61131a7b731fd88f2d85eb091c9397daf3198addcc16e478acf4f85dc -AUX 2.1.7-ppc64-ieee128-compat.patch 6889 BLAKE2B 9214915ed5b1d149927d46f749903fbb9b4d243d993041b8c6db039dcb7a3968a315f211e010ef9373b721336d45daef264d951e7ea1e0aed01818ebccae9d02 SHA512 4e3edbe396d0c1fdb7b286417b2bf7fe114b392e09158b3f5d3e3d1c4844bf0d59263309883363175dacd63194fd0d6a120ace35c83989d0546dae825bbb91bd AUX 2.1.7-systemd-zed-restart-always.patch 919 BLAKE2B db72605abfeac766c297fdb617b4dc5e89de949770d407cd206da8e46b6abab6c64b35967bc94c5b35df819dbace12b5e425cb38fc93b4daddef32fceec395b3 SHA512 9070ee16494362e3b7aa8dfe5b47661efbb5cf65ea32e625bd3a7aa5cc0634fb3751e2e9859b7380e0975bbde3294fb2b718444f60309f7cb8c10afabcce3483 -DIST zfs-2.1.10.tar.gz 35101856 BLAKE2B 5b1a17d192097f5eab1ef3192217fa34b276b6f344a5114a5411be43208616ac682ae2129ae9da15b4ba6207171ae82140f823041a8067441459d51d994df271 SHA512 3189c6f822c7b6caba650a43f321114ef0bd42b72f566c44ba2400005c61cc3d420149a72520aed5b94494c51c35629a6f645273941774d964f2b61c31c366b2 -DIST zfs-2.1.10.tar.gz.asc 836 BLAKE2B 5a6b408932cb4f39f5a226598527115aa4fa6c105c8b8ad9f236a5909a948150db712bb1f35e4e16a2b7fc7e434530f93c6a6cd2aab40d628b1ded9891694578 SHA512 a45bcce13e7261f90feda51a131fa0c86e2d3c2711286a462072fb120ccbc85719c2bbecb441147a057accffb841ca82df0ba65e1abc0ece9dea8a97cfa31af5 DIST zfs-2.1.11.tar.gz 35100716 BLAKE2B 991ac2347bcd452812e247358e2c44a04a88e700d25878b5b95f86939e6114e1205e7afabfd2a1ea9220947876511374d7224aa587d3d66184838d705f71a89a SHA512 335a543644d2dbba919213a28cc5922bf6a118fc19069db84562ce056449a2d6ca4ba827e54f304ab7d9be22260aa9b255134f1b12e2bc98890f757f35e48bd7 DIST zfs-2.1.11.tar.gz.asc 836 BLAKE2B 0b904d8e1de2dd08a377efc94e32862192d6b9ccb8628af058a71b3ea51f5e483e0cf527906cd222fe9b41b28ca0b30b0efa07d97c480e5546f6e2bed8cbcb01 SHA512 7329e62012ba64288345d8959611de82502ef1da4020e215462fbb2ed209413ec8638d211a31dd6e70be71c998f1da1d8a0d19e5df1f2778782ebb988c94aa41 DIST zfs-2.1.12.tar.gz 35155013 BLAKE2B 652780e6bf7b63f45909110726d53795fada034f6044c8393fa3980e30217ada6931e3c2bb57210719e3c78c16f973f69287b7e2b475601f4ce12d701d9d96ae SHA512 f48493a21883e441cda705fb085353bed033f1620a1d0f93069c345c76cf2c0759a2e6f7a80c47c9398e9878abfe1d90d931fe5ceaf2588770a71491a434631e DIST zfs-2.1.12.tar.gz.asc 836 BLAKE2B 9215e732981a82254115cd17ec3c9810d4e9e5d5f7bb848778848f911478fc2e4bdbfc563e9835a2e876c26d9e0e8755724a0995baf9ad24e9265123e10cfddf SHA512 69c8b618947fd966eba0bba1c7326ddd463861f051a6cf1d06e23bd6d840fe7503f02adec2c3cbb203fa7b1cced51500f3689c224b653d13d227edd51b5a44f6 -DIST zfs-2.1.7.tar.gz 35092436 BLAKE2B 9c85c3eb72f3bb39bc4fd44aaa80338ca197a4e8183436fee73cd56705abfdaecfaf1b6fbe8dd508ccce707c8259c7ab6e1733b60b17757f0a7ff92d4e52bbad SHA512 6a31eb8fbee90ad1abcfedb9000991761aff7591b11362eb5ec6e0bb4b785a7004a251439409d7bd3f51fc995c859614da6313655337952f70bae07ac8ee0140 -DIST zfs-2.1.7.tar.gz.asc 836 BLAKE2B 648fb818860a1cecc2ec42f23102e0466c038bfe48f5feca1ab58afb9cb439a0fe51cb89941f63a05c14d3b6f95c64dd3910c9a06b9cac14c467b963c65c2948 SHA512 4d4fef707bdfc37a82eb79aa0a21c71e30779bcf2ac54fe2df45a03e3302e2a45cb9f4e4ff0122b892b1e608a9f09e86d1334e0c7d9bf681780505f6e1439f9f DIST zfs-2.1.9.tar.gz 35106538 BLAKE2B d7553cc162687531b254089e29e2e15e2eb6b362cecd8e70c24bbb5dbffbde82036ad2d416f4caeceaa324bee8a2e59d9e3cd8a3bf55a2e3c0718c7af9562812 SHA512 a3c410abe911be7d3d66af8ad7023a810eb4ae3284001e544c3a34275eb17a4916a7c094936a2628a590007c007eea84673efa9f3201fd9f24c499fd5ed3ed75 DIST zfs-2.1.9.tar.gz.asc 836 BLAKE2B 1e76525eab338398dd6ff7539ea4e7d18847d0f40e9093d813ec93fce5fa4c16e09f91c0805ba01a29190f673d131f85442c13035166d6f2d007a7e42dc15486 SHA512 35e1213fcac0458e1243355beba021dfefef455df2b341fbc4b10047f9ed4747df84e319d10ffe4bbcd572fbf014019e0dec200eb4e7d3c116fb805369182cb0 -EBUILD zfs-2.1.10.ebuild 9181 BLAKE2B ea7370b58ed42c3be9f05c6363512bbe6a57930fe9ae158e8cc5012139fb14216fa32a5ea1e739b5df40973d0c10e6aa48ef9df05a1f6a3d47c1c1492432b26e SHA512 6baacc42e25e5addd9e1eaf0c27b604560e75ae503eacb36ea4e176663aec832cf404084c5621bcfb7095363f57e7771b984df10fe607059dc1fa470d4e093ad +DIST zfs-2.2.0-rc1.tar.gz 33656024 BLAKE2B 1157db51d2736905b787a2627e599d7ac527be281edc9a76da0f746ae39483df3b4b8b31e5af504b9b06cd99a3776cd16670a8774d0e68f50014b09971209437 SHA512 22285ea1b34d4dbed311e3855449cad51c6f6ddb29c906f106fa6f4816d8e478f073b29fbc4d9636bf783558e041b20d2f2c5c0c33f65153d3b21da6cd9b7689 +DIST zfs-2.2.0-rc1.tar.gz.asc 195 BLAKE2B 8df7d05729716ca75e8c975df92f8a1976b7712a3c98e3479582550e60bd97af77f80e9b72be094b57650948136ad8a9276e7d4ea0a1d0473a5d56988058bcc8 SHA512 de6ee565f864080dfcf69ecdf832cebdabaa29d9f3dac1ad5f5928e664352aa3da4ed0ba5f2e634e3629f10eedbae9d1613ac3d3a13285fef846f7beabfa2f79 EBUILD zfs-2.1.11.ebuild 8965 BLAKE2B 4daf53f62838d5f2e3241b2c3284d75bf9da11bde29be5261dd3dca76c1fb9d50a6432e84dd8679740501d8d54309bc82862b12ed3d5731c38304f705ce7a566 SHA512 64c567956ff249d55f2cb7a2e8b9e59c66c8296bb6b03b3b1cbf737067958fa13b87ce585ec607df32ced28c772cc761ba6dded15dfde159611ed000ccd8ff02 EBUILD zfs-2.1.12.ebuild 8913 BLAKE2B 5d7b2644a7b3f3e6d92a828565e4cfda615e69c6154abacc823cb8988a35d7ece5bb6c4e3a7b462a35acc45765850b03969f9b1eb4fc15fdb6ae6c40b3822653 SHA512 bc13c33c6124c43b4dcd703a08bee62f35a7c98ec6eb14d82c0ada0425b603da9e82d62f71a2bceefa728646cfa8539d45801df80a1071a257bd44d3ac1af622 -EBUILD zfs-2.1.7-r1.ebuild 9496 BLAKE2B d5336d09ddd165f7306def6fdbfd97cc172a069ef185a3e30ea75421e4e138f96276fa2df4e185568e89dc49c36e64a258fa5b979a6433afbcd41ea7b207c8fa SHA512 a29d0796e982735483d579b174205e6af58a5d3ab098d1855b502bf66f96f12435d303ec2900ecc34cfc0e6f18e7261fcb76ad59660095544d905dda19801d91 EBUILD zfs-2.1.9.ebuild 9178 BLAKE2B 18bd9ef88b73450f9a6b811d2e36ff511a78e098848bb997e90fc39d324b63766493b6e736d26132dd5cff9c44a2915c5f401b732bb0aee648ec821046b26b85 SHA512 10a5ad86a869b4978ce995fb561ddfb92d3739a0e7f4825b28132fc47320fb293e6519cf23f12da84c090ffb3a8b0188edaeee155ab34d8794a32c6c32a1ae22 -EBUILD zfs-9999.ebuild 8851 BLAKE2B d9f1a8ca171d12926f652d30ac7519959c620100aeb46d6e7e4a5c8007e1a28643c1942ef2ee32a4888a50485637ff7d37662e65f2d3f904a619f74004374bf0 SHA512 ca5ae6e39b39ddc580c8198e418512276e7e7a09b6b19d5942f4560394afebcc7ac49d198010126f840aa0c485595962e3660d46c102d80be7d2d66b72e18c43 +EBUILD zfs-2.2.0_rc1.ebuild 8770 BLAKE2B 29ea4a73f9a4d01584d2787d16f68b4900e9aaed90f47c422f2c0b96b3cb7065b5965e676bd900a4efc6f9f68901dd13c7676e7959a9edc70c0e46ba86217ec4 SHA512 a5b11d064ce3b9abe4c9f3c1b875cd9b3a684fd307d39908f250aaf69d73ccdb119afe3e189cbddd9499ff72ce8d773abf3399067b676c19be7cb17955efde68 +EBUILD zfs-9999.ebuild 8770 BLAKE2B 29ea4a73f9a4d01584d2787d16f68b4900e9aaed90f47c422f2c0b96b3cb7065b5965e676bd900a4efc6f9f68901dd13c7676e7959a9edc70c0e46ba86217ec4 SHA512 a5b11d064ce3b9abe4c9f3c1b875cd9b3a684fd307d39908f250aaf69d73ccdb119afe3e189cbddd9499ff72ce8d773abf3399067b676c19be7cb17955efde68 MISC metadata.xml 2205 BLAKE2B 82e20a6f5906b8cbbc6eb6e9520cf4e4213ce9cba2b056df5d5db0d4deaa4a20822a88e26286446d105326a8f61c807047a0e1e64494faac48d8ed5708807c02 SHA512 222981f945e98ddef646c593cbc8889f3526af4901c28ab5775ba760ca7d3aff3129b2699e8b7337b59fd33cbba388915cb5b2dc09674432c606f41ff27dbd9b diff --git a/sys-fs/zfs/files/2.1.5-dracut-mount.patch b/sys-fs/zfs/files/2.1.5-dracut-mount.patch deleted file mode 100644 index 758f4b3a3e99..000000000000 --- a/sys-fs/zfs/files/2.1.5-dracut-mount.patch +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/openzfs/zfs/commit/07f2793e869196fcbcd5057d9ada377674262fe3 -https://bugs.gentoo.org/857228 - -From: Brian Behlendorf -Date: Wed, 29 Jun 2022 15:33:38 -0700 -Subject: [PATCH] dracut: fix typo in mount-zfs.sh.in -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Format the `zpool get` command correctly. The -o option must -be followed by "all" or the requested field name. - -Reviewed-by: Ahelenia ZiemiaƄska -Reviewed-by: George Melikov -Signed-off-by: Brian Behlendorf -Closes #13602 ---- a/contrib/dracut/90zfs/mount-zfs.sh.in -+++ b/contrib/dracut/90zfs/mount-zfs.sh.in -@@ -82,7 +82,7 @@ ZFS_DATASET="${ZFS_DATASET:-${root}}" - ZFS_POOL="${ZFS_DATASET%%/*}" - - --if ! zpool get -Ho name "${ZFS_POOL}" > /dev/null 2>&1; then -+if ! zpool get -Ho value name "${ZFS_POOL}" > /dev/null 2>&1; then - info "ZFS: Importing pool ${ZFS_POOL}..." - # shellcheck disable=SC2086 - if ! zpool import -N ${ZPOOL_IMPORT_OPTS} "${ZFS_POOL}"; then - diff --git a/sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch b/sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch deleted file mode 100644 index 5613cb8ca9d1..000000000000 --- a/sys-fs/zfs/files/2.1.7-ppc64-ieee128-compat.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 8324d738fdb3096bd97336476bb399e6c312289a Mon Sep 17 00:00:00 2001 -From: Richard Yao -Date: Thu, 12 Jan 2023 11:06:57 -0500 -Subject: [PATCH] Linux ppc64le ieee128 compat: Do not redefine __asm on - external headers - -There is an external assembly declaration extension in GNU C that glibc -uses when building with ieee128 floating point support on ppc64le. -Marking that as volatile makes no sense, so the build breaks. - -It does not make sense to only mark this as volatile on Linux, since if -do not want the compiler reordering things on Linux, we do not want the -compiler reordering things on any other platform, so we stop treating -Linux specially and just manually inline the CPP macro so that we can -eliminate it. This should fix the build on ppc64le. - -Closes openzfs/zfs#14308 -Signed-off-by: Richard Yao ---- - .../vdev_raidz_math_powerpc_altivec_common.h | 44 +++++++++---------- - 1 file changed, 20 insertions(+), 24 deletions(-) - -diff --git a/module/zfs/vdev_raidz_math_powerpc_altivec_common.h b/module/zfs/vdev_raidz_math_powerpc_altivec_common.h -index 46d42c5e241..f76eb47a9c6 100644 ---- a/module/zfs/vdev_raidz_math_powerpc_altivec_common.h -+++ b/module/zfs/vdev_raidz_math_powerpc_altivec_common.h -@@ -26,10 +26,6 @@ - #include - #include - --#ifdef __linux__ --#define __asm __asm__ __volatile__ --#endif -- - #define _REG_CNT(_0, _1, _2, _3, _4, _5, _6, _7, N, ...) N - #define REG_CNT(r...) _REG_CNT(r, 8, 7, 6, 5, 4, 3, 2, 1) - -@@ -142,7 +138,7 @@ typedef struct v { - { \ - switch (REG_CNT(r)) { \ - case 8: \ -- __asm( \ -+ __asm__ __volatile__( \ - "lvx 21,0,%[SRC0]\n" \ - "lvx 20,0,%[SRC1]\n" \ - "lvx 19,0,%[SRC2]\n" \ -@@ -172,7 +168,7 @@ typedef struct v { - : "v18", "v19", "v20", "v21"); \ - break; \ - case 4: \ -- __asm( \ -+ __asm__ __volatile__( \ - "lvx 21,0,%[SRC0]\n" \ - "lvx 20,0,%[SRC1]\n" \ - "lvx 19,0,%[SRC2]\n" \ -@@ -189,7 +185,7 @@ typedef struct v { - : "v18", "v19", "v20", "v21"); \ - break; \ - case 2: \ -- __asm( \ -+ __asm__ __volatile__( \ - "lvx 21,0,%[SRC0]\n" \ - "lvx 20,0,%[SRC1]\n" \ - "vxor " VR0(r) "," VR0(r) ",21\n" \ -@@ -208,7 +204,7 @@ typedef struct v { - { \ - switch (REG_CNT(r)) { \ - case 8: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vxor " VR4(r) "," VR4(r) "," VR0(r) "\n" \ - "vxor " VR5(r) "," VR5(r) "," VR1(r) "\n" \ - "vxor " VR6(r) "," VR6(r) "," VR2(r) "\n" \ -@@ -217,7 +213,7 @@ typedef struct v { - : RVR0(r), RVR1(r), RVR2(r), RVR3(r)); \ - break; \ - case 4: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vxor " VR2(r) "," VR2(r) "," VR0(r) "\n" \ - "vxor " VR3(r) "," VR3(r) "," VR1(r) "\n" \ - : UVR2(r), UVR3(r) \ -@@ -232,7 +228,7 @@ typedef struct v { - { \ - switch (REG_CNT(r)) { \ - case 8: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \ - "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \ - "vxor " VR2(r) "," VR2(r) "," VR2(r) "\n" \ -@@ -245,7 +241,7 @@ typedef struct v { - WVR4(r), WVR5(r), WVR6(r), WVR7(r)); \ - break; \ - case 4: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \ - "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \ - "vxor " VR2(r) "," VR2(r) "," VR2(r) "\n" \ -@@ -253,7 +249,7 @@ typedef struct v { - : WVR0(r), WVR1(r), WVR2(r), WVR3(r)); \ - break; \ - case 2: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vxor " VR0(r) "," VR0(r) "," VR0(r) "\n" \ - "vxor " VR1(r) "," VR1(r) "," VR1(r) "\n" \ - : WVR0(r), WVR1(r)); \ -@@ -267,7 +263,7 @@ typedef struct v { - { \ - switch (REG_CNT(r)) { \ - case 8: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vor " VR4(r) "," VR0(r) "," VR0(r) "\n" \ - "vor " VR5(r) "," VR1(r) "," VR1(r) "\n" \ - "vor " VR6(r) "," VR2(r) "," VR2(r) "\n" \ -@@ -276,7 +272,7 @@ typedef struct v { - : RVR0(r), RVR1(r), RVR2(r), RVR3(r)); \ - break; \ - case 4: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vor " VR2(r) "," VR0(r) "," VR0(r) "\n" \ - "vor " VR3(r) "," VR1(r) "," VR1(r) "\n" \ - : WVR2(r), WVR3(r) \ -@@ -291,7 +287,7 @@ typedef struct v { - { \ - switch (REG_CNT(r)) { \ - case 8: \ -- __asm( \ -+ __asm__ __volatile__( \ - "lvx " VR0(r) " ,0,%[SRC0]\n" \ - "lvx " VR1(r) " ,0,%[SRC1]\n" \ - "lvx " VR2(r) " ,0,%[SRC2]\n" \ -@@ -312,7 +308,7 @@ typedef struct v { - [SRC7] "r" ((OFFSET(src, 112)))); \ - break; \ - case 4: \ -- __asm( \ -+ __asm__ __volatile__( \ - "lvx " VR0(r) " ,0,%[SRC0]\n" \ - "lvx " VR1(r) " ,0,%[SRC1]\n" \ - "lvx " VR2(r) " ,0,%[SRC2]\n" \ -@@ -324,7 +320,7 @@ typedef struct v { - [SRC3] "r" ((OFFSET(src, 48)))); \ - break; \ - case 2: \ -- __asm( \ -+ __asm__ __volatile__( \ - "lvx " VR0(r) " ,0,%[SRC0]\n" \ - "lvx " VR1(r) " ,0,%[SRC1]\n" \ - : WVR0(r), WVR1(r) \ -@@ -340,7 +336,7 @@ typedef struct v { - { \ - switch (REG_CNT(r)) { \ - case 8: \ -- __asm( \ -+ __asm__ __volatile__( \ - "stvx " VR0(r) " ,0,%[DST0]\n" \ - "stvx " VR1(r) " ,0,%[DST1]\n" \ - "stvx " VR2(r) " ,0,%[DST2]\n" \ -@@ -362,7 +358,7 @@ typedef struct v { - : "memory"); \ - break; \ - case 4: \ -- __asm( \ -+ __asm__ __volatile__( \ - "stvx " VR0(r) " ,0,%[DST0]\n" \ - "stvx " VR1(r) " ,0,%[DST1]\n" \ - "stvx " VR2(r) " ,0,%[DST2]\n" \ -@@ -375,7 +371,7 @@ typedef struct v { - : "memory"); \ - break; \ - case 2: \ -- __asm( \ -+ __asm__ __volatile__( \ - "stvx " VR0(r) " ,0,%[DST0]\n" \ - "stvx " VR1(r) " ,0,%[DST1]\n" \ - : : [DST0] "r" ((OFFSET(dst, 0))), \ -@@ -400,7 +396,7 @@ typedef struct v { - - #define MUL2_SETUP() \ - { \ -- __asm( \ -+ __asm__ __volatile__( \ - "vspltisb " VR(16) ",14\n" \ - "vspltisb " VR(17) ",15\n" \ - "vaddubm " VR(16) "," VR(17) "," VR(16) "\n" \ -@@ -412,7 +408,7 @@ typedef struct v { - { \ - switch (REG_CNT(r)) { \ - case 4: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vcmpgtsb 19," VR(17) "," VR0(r) "\n" \ - "vcmpgtsb 18," VR(17) "," VR1(r) "\n" \ - "vcmpgtsb 21," VR(17) "," VR2(r) "\n" \ -@@ -434,7 +430,7 @@ typedef struct v { - : "v18", "v19", "v20", "v21"); \ - break; \ - case 2: \ -- __asm( \ -+ __asm__ __volatile__( \ - "vcmpgtsb 19," VR(17) "," VR0(r) "\n" \ - "vcmpgtsb 18," VR(17) "," VR1(r) "\n" \ - "vand 19,19," VR(16) "\n" \ -@@ -478,7 +474,7 @@ typedef struct v { - { \ - switch (REG_CNT(r)) { \ - case 2: \ -- __asm( \ -+ __asm__ __volatile__( \ - /* lts for upper part */ \ - "vspltisb 15,15\n" \ - "lvx 10,0,%[lt0]\n" \ diff --git a/sys-fs/zfs/zfs-2.1.10.ebuild b/sys-fs/zfs/zfs-2.1.10.ebuild deleted file mode 100644 index e70bffe327e0..000000000000 --- a/sys-fs/zfs/zfs-2.1.10.ebuild +++ /dev/null @@ -1,326 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{9..11} ) - -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 ~riscv ~sparc" - 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 selinux 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="app-alternatives/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 - app-alternatives/awk - dist-kernel? ( virtual/dist-kernel:= ) - rootfs? ( - app-arch/cpio - app-misc/pax-utils - ) - selinux? ( sec-policy/selinux-zfs ) - 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=( - # bug #854333 - "${FILESDIR}"/2.1.5-r2-dracut-non-root.patch - - "${FILESDIR}"/2.1.5-dracut-zfs-missing.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_unpack() { - if use verify-sig ; then - # Needed for downloaded patch (which is unsigned, which is fine) - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc} - fi - - default -} - -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.7-r1.ebuild b/sys-fs/zfs/zfs-2.1.7-r1.ebuild deleted file mode 100644 index bff5bc82cb80..000000000000 --- a/sys-fs/zfs/zfs-2.1.7-r1.ebuild +++ /dev/null @@ -1,337 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{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?}" - - if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ppc64 ~riscv ~sparc" - 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 selinux 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="app-alternatives/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 - app-alternatives/awk - dist-kernel? ( virtual/dist-kernel:= ) - rootfs? ( - app-arch/cpio - app-misc/pax-utils - ) - selinux? ( sec-policy/selinux-zfs ) - 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=( - # bug #854333 - "${FILESDIR}"/2.1.5-r2-dracut-non-root.patch - - "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch - - # bug #857228 - "${FILESDIR}"/2.1.5-dracut-mount.patch - - "${FILESDIR}"/2.1.6-fgrep.patch - # systemd fixups - "${FILESDIR}"/2.1.7-dracut-include-systemd-overrides.patch - "${FILESDIR}"/2.1.7-systemd-zed-restart-always.patch - - # https://github.com/openzfs/zfs/issues/14308 - "${FILESDIR}"/2.1.7-ppc64-ieee128-compat.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_unpack() { - if use verify-sig ; then - # Needed for downloaded patch (which is unsigned, which is fine) - verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc} - fi - - default -} - -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.2.0_rc1.ebuild b/sys-fs/zfs/zfs-2.2.0_rc1.ebuild new file mode 100644 index 000000000000..e9d67dd0d80e --- /dev/null +++ b/sys-fs/zfs/zfs-2.2.0_rc1.ebuild @@ -0,0 +1,306 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_OPTIONAL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..11} ) + +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}/${MY_P}" + + if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc" + 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 selinux test-suite" + +DEPEND=" + dev-libs/openssl:= + net-libs/libtirpc:= + sys-apps/util-linux + sys-libs/zlib + virtual/libudev:= + !minimal? ( ${PYTHON_DEPS} ) + pam? ( sys-libs/pam ) + python? ( + $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') + ) +" + +BDEPEND=" + app-alternatives/awk + virtual/pkgconfig + nls? ( sys-devel/gettext ) + python? ( + ${DISTUTILS_DEPS} + || ( + 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 ) + app-alternatives/awk + sys-fs/udev-init-scripts + dist-kernel? ( virtual/dist-kernel:= ) + rootfs? ( + app-arch/cpio + app-misc/pax-utils + ) + selinux? ( sec-policy/selinux-zfs ) + 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}"/2.1.5-dracut-zfs-missing.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 + + # Tries to use /etc/conf.d which we reserve for OpenRC + sed -i -e '/EnvironmentFile/d' etc/systemd/system/zfs*.in || die + + # 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-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. + # UPDATE: it has been fixed since, + # https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a + # but we still leave it as this for now. + $(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 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 +} diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild index 647324b9a308..e9d67dd0d80e 100644 --- a/sys-fs/zfs/zfs-9999.ebuild +++ b/sys-fs/zfs/zfs-9999.ebuild @@ -22,7 +22,7 @@ else 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?}" + S="${WORKDIR}/${MY_P}" if [[ ${PV} != *_rc* ]]; then KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc" @@ -37,11 +37,11 @@ SLOT="0/5" IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite" DEPEND=" + dev-libs/openssl:= net-libs/libtirpc:= sys-apps/util-linux sys-libs/zlib virtual/libudev:= - dev-libs/openssl:0= !minimal? ( ${PYTHON_DEPS} ) pam? ( sys-libs/pam ) python? ( @@ -49,7 +49,8 @@ DEPEND=" ) " -BDEPEND="app-alternatives/awk +BDEPEND=" + app-alternatives/awk virtual/pkgconfig nls? ( sys-devel/gettext ) python? ( @@ -66,11 +67,12 @@ if [[ ${PV} != "9999" ]] ; then fi # awk is used for some scripts, completions, and the Dracut module -RDEPEND="${DEPEND} +RDEPEND=" + ${DEPEND} !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) !prefix? ( virtual/udev ) - sys-fs/udev-init-scripts app-alternatives/awk + sys-fs/udev-init-scripts dist-kernel? ( virtual/dist-kernel:= ) rootfs? ( app-arch/cpio @@ -179,6 +181,9 @@ src_prepare() { popd >/dev/null || die fi + # Tries to use /etc/conf.d which we reserve for OpenRC + sed -i -e '/EnvironmentFile/d' etc/systemd/system/zfs*.in || die + # 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 @@ -188,13 +193,6 @@ 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 -- cgit v1.2.3