Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/
Date: Wed, 07 Oct 2020 00:00:29
Message-Id: 1602028639.eb346d0a9c63cee3d42b6501328a6007f8303bc3.gyakovlev@gentoo
1 commit: eb346d0a9c63cee3d42b6501328a6007f8303bc3
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Tue Oct 6 23:52:11 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 6 23:57:19 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb346d0a
7
8 sys-fs/zfs-kmod: bump to 0.8.5
9
10 Package-Manager: Portage-3.0.8, Repoman-3.0.1
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 sys-fs/zfs-kmod/Manifest | 1 +
14 sys-fs/zfs-kmod/zfs-kmod-0.8.5.ebuild | 181 ++++++++++++++++++++++++++++++++++
15 2 files changed, 182 insertions(+)
16
17 diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
18 index e3ff6c2eec9..e722910db54 100644
19 --- a/sys-fs/zfs-kmod/Manifest
20 +++ b/sys-fs/zfs-kmod/Manifest
21 @@ -1,3 +1,4 @@
22 DIST zfs-0.8.4.tar.gz 9285838 BLAKE2B 776bcd6dfab8825c07d315085e288b29bf543d6957325d5d566b7b78c04505dde9bd25eb6684cb4a1b6a657de8a4e1290d04d2b9079d26d6b834a70f1ec3b569 SHA512 9086dc6a6262dd93ca6ec43f1b4c2e5c804deba708c8a7460b8531aa4802b0bf8cac0917a1a00e6af2e96d4a21cd68b85e226bf571bd94041d0325c457106eb1
23 +DIST zfs-0.8.5.tar.gz 9196381 BLAKE2B 8376f360369c4657ff1fc040fb2bba780bbd5d6a98d149d2fa4ba39478588e213dbf6db218c7bd970839f015a69ae00ac951b90afc1c26b34aadf666b2976cab SHA512 3e6e70b76f7cc5b018adb78ce7c3009f88faf5b3da0a03170b03577cd84a2937b6056621c41fc819fd08bf59b28053caf8fec375cf375816a6786bb5646ed773
24 DIST zfs-2.0.0-rc2.tar.gz 12854085 BLAKE2B 73cabd565c11eef1bebbc391f8c4ba18acd1610f98f1b8afb507bc844f4b6a64ba32d9727e634c7f26c48fe365a841bf071513df234b9b7a87e954610a6d7f3b SHA512 14b17d06124890efef15b3b073e103c9faeecaea761779fff9a8420e3ab72fa611df9875fa766a323d69646e9025f8b19f918ded4c6705af116cf9f14eea4f40
25 DIST zfs-2.0.0-rc3.tar.gz 12860212 BLAKE2B bd29ceb17938180ffda9a26cfee97f4b9b42752cd7a3bf5d72705d94967d219889cc84a71d4c0f59aaf718d596011ecdbf07000788aa39a424087eb7cf62a944 SHA512 c09bebb1d1b19079b51305eea1b3d1a428a46bf1301afc9dfa20871ac670d94dc9f7f9127384b2db501fd909f22a16fad0c1b7383eb9ce31a7c0e696e66a097f
26
27 diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.8.5.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.8.5.ebuild
28 new file mode 100644
29 index 00000000000..8f856e4ad5f
30 --- /dev/null
31 +++ b/sys-fs/zfs-kmod/zfs-kmod-0.8.5.ebuild
32 @@ -0,0 +1,181 @@
33 +# Copyright 1999-2020 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +inherit autotools flag-o-matic linux-mod toolchain-funcs
39 +
40 +DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
41 +HOMEPAGE="https://github.com/openzfs/zfs"
42 +
43 +if [[ ${PV} == "9999" ]]; then
44 + inherit git-r3
45 + EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
46 +else
47 + SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${PV}/zfs-${PV}.tar.gz"
48 + KEYWORDS="~amd64 ~arm64 ~ppc64"
49 + S="${WORKDIR}/zfs-${PV}"
50 + ZFS_KERNEL_COMPAT="5.8"
51 +fi
52 +
53 +LICENSE="CDDL debug? ( GPL-2+ )"
54 +SLOT="0"
55 +IUSE="custom-cflags debug +rootfs"
56 +
57 +DEPEND=""
58 +
59 +RDEPEND="${DEPEND}
60 + !sys-kernel/spl
61 +"
62 +
63 +BDEPEND="
64 + dev-lang/perl
65 + virtual/awk
66 +"
67 +
68 +RESTRICT="debug? ( strip ) test"
69 +
70 +DOCS=( AUTHORS COPYRIGHT META README.md )
71 +
72 +pkg_setup() {
73 + CONFIG_CHECK="
74 + !DEBUG_LOCK_ALLOC
75 + EFI_PARTITION
76 + MODULES
77 + !PAX_KERNEXEC_PLUGIN_METHOD_OR
78 + !TRIM_UNUSED_KSYMS
79 + ZLIB_DEFLATE
80 + ZLIB_INFLATE
81 + "
82 +
83 + use debug && CONFIG_CHECK="${CONFIG_CHECK}
84 + FRAME_POINTER
85 + DEBUG_INFO
86 + !DEBUG_INFO_REDUCED
87 + "
88 +
89 + use rootfs && \
90 + CONFIG_CHECK="${CONFIG_CHECK}
91 + BLK_DEV_INITRD
92 + DEVTMPFS
93 + "
94 +
95 + if use arm64; then
96 + kernel_is -ge 5 && CONFIG_CHECK="${CONFIG_CHECK} !PREEMPT"
97 + fi
98 +
99 + kernel_is -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP"
100 +
101 + if [[ ${PV} != "9999" ]]; then
102 + local kv_major_max kv_minor_max zcompat
103 + zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
104 + kv_major_max="${zcompat%%.*}"
105 + zcompat="${zcompat#*.}"
106 + kv_minor_max="${zcompat%%.*}"
107 + kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
108 + "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
109 +
110 + # 0.8.x requires at least 2.6.32
111 + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
112 + else
113 + # git master requires at least 3.10
114 + kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
115 + fi
116 +
117 + linux-mod_pkg_setup
118 +}
119 +
120 +src_prepare() {
121 + default
122 +
123 + if [[ ${PV} == "9999" ]]; then
124 + eautoreconf
125 + else
126 + # Set module revision number
127 + sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
128 + fi
129 +}
130 +
131 +src_configure() {
132 + set_arch_to_kernel
133 +
134 + use custom-cflags || strip-flags
135 +
136 + filter-ldflags -Wl,*
137 +
138 + local myconf=(
139 + CROSS_COMPILE="${CHOST}-"
140 + HOSTCC="$(tc-getBUILD_CC)"
141 + --bindir="${EPREFIX}/bin"
142 + --sbindir="${EPREFIX}/sbin"
143 + --with-config=kernel
144 + --with-linux="${KV_DIR}"
145 + --with-linux-obj="${KV_OUT_DIR}"
146 + $(use_enable debug)
147 + )
148 +
149 + CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}"
150 +}
151 +
152 +src_compile() {
153 + set_arch_to_kernel
154 +
155 + myemakeargs=(
156 + CROSS_COMPILE="${CHOST}-"
157 + HOSTCC="$(tc-getBUILD_CC)"
158 + V=1
159 + )
160 +
161 + emake "${myemakeargs[@]}"
162 +}
163 +
164 +src_install() {
165 + set_arch_to_kernel
166 +
167 + myemakeargs+=(
168 + DEPMOD="/bin/true"
169 + DESTDIR="${D}"
170 + INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
171 + )
172 +
173 + emake "${myemakeargs[@]}" install
174 +
175 + einstalldocs
176 +}
177 +
178 +pkg_postinst() {
179 + linux-mod_pkg_postinst
180 +
181 + # Remove old modules
182 + if [[ -d "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" ]]; then
183 + ewarn "${PN} now installs modules in ${EROOT}/lib/modules/${KV_FULL}/extra/zfs"
184 + ewarn "Old modules were detected in ${EROOT}/lib/modules/${KV_FULL}/addon/zfs"
185 + ewarn "Automatically removing old modules to avoid problems."
186 + rm -r "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules"
187 + rmdir --ignore-fail-on-non-empty "${EROOT}/lib/modules/${KV_FULL}/addon"
188 + fi
189 +
190 + if use x86 || use arm; then
191 + ewarn "32-bit kernels will likely require increasing vmalloc to"
192 + ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
193 + fi
194 +
195 + ewarn "This version of OpenZFS includes support for new feature flags"
196 + ewarn "that are incompatible with previous versions. GRUB2 support for"
197 + ewarn "/boot with the new feature flags is not yet available."
198 + ewarn "Do *NOT* upgrade root pools to use the new feature flags."
199 + ewarn "Any new pools will be created with the new feature flags by default"
200 + ewarn "and will not be compatible with older versions of ZFSOnLinux. To"
201 + ewarn "create a newpool that is backward compatible wih GRUB2, use "
202 + ewarn
203 + ewarn "zpool create -d -o feature@async_destroy=enabled "
204 + ewarn " -o feature@empty_bpobj=enabled -o feature@lz4_compress=enabled"
205 + ewarn " -o feature@spacemap_histogram=enabled"
206 + ewarn " -o feature@enabled_txg=enabled "
207 + ewarn " -o feature@extensible_dataset=enabled -o feature@bookmarks=enabled"
208 + ewarn " ..."
209 + ewarn
210 + ewarn "GRUB2 support will be updated as soon as either the GRUB2"
211 + ewarn "developers do a tag or the Gentoo developers find time to backport"
212 + ewarn "support from GRUB2 HEAD."
213 +}