Gentoo Archives: gentoo-commits

From: Alice Ferrazzi <alicef@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/kernel:master commit in: sys-kernel/dracut-crypt-ssh/, sys-kernel/linux-headers/, sys-kernel/rt-sources/, ...
Date: Fri, 02 Nov 2018 07:24:49
Message-Id: 1541143452.45a6d830fb44980db4f9c03b7285d3a19fde42f5.alicef@gentoo
1 commit: 45a6d830fb44980db4f9c03b7285d3a19fde42f5
2 Author: Alice Ferrazzi <alicef <AT> gentoo <DOT> org>
3 AuthorDate: Fri Nov 2 07:20:57 2018 +0000
4 Commit: Alice Ferrazzi <alicef <AT> gentoo <DOT> org>
5 CommitDate: Fri Nov 2 07:24:12 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/kernel.git/commit/?id=45a6d830
7
8 Initial commit of kernel related packages
9
10 Signed-off-by: Alice Ferrazzi <alicef <AT> gentoo.org>
11
12 eclass/kernel-2.eclass | 1637 ++++++++++++++++++++
13 eclass/linux-info.eclass | 966 ++++++++++++
14 eclass/linux-mod.eclass | 758 +++++++++
15 .../aufs-sources/aufs-sources-4.14.52.ebuild | 84 +
16 .../aufs-sources/aufs-sources-4.14.65.ebuild | 84 +
17 .../aufs-sources/aufs-sources-4.14.71.ebuild | 84 +
18 .../aufs-sources/aufs-sources-4.14.72.ebuild | 84 +
19 .../aufs-sources/aufs-sources-4.14.73.ebuild | 84 +
20 .../aufs-sources/aufs-sources-4.14.74.ebuild | 84 +
21 .../aufs-sources/aufs-sources-4.14.75.ebuild | 84 +
22 .../aufs-sources/aufs-sources-4.14.76.ebuild | 84 +
23 .../aufs-sources/aufs-sources-4.14.77.ebuild | 84 +
24 .../aufs-sources/aufs-sources-4.14.78.ebuild | 84 +
25 .../aufs-sources/aufs-sources-4.18.10.ebuild | 84 +
26 .../aufs-sources/aufs-sources-4.18.11.ebuild | 84 +
27 .../aufs-sources/aufs-sources-4.18.12.ebuild | 84 +
28 .../aufs-sources/aufs-sources-4.18.13.ebuild | 84 +
29 .../aufs-sources/aufs-sources-4.18.14.ebuild | 84 +
30 .../aufs-sources/aufs-sources-4.18.15.ebuild | 84 +
31 .../aufs-sources/aufs-sources-4.18.16.ebuild | 84 +
32 sys-kernel/aufs-sources/aufs-sources-4.18.9.ebuild | 84 +
33 sys-kernel/aufs-sources/aufs-sources-4.19.0.ebuild | 84 +
34 sys-kernel/aufs-sources/files/README.gentoo | 21 +
35 sys-kernel/aufs-sources/files/README.gentoo-r1 | 21 +
36 sys-kernel/aufs-sources/metadata.xml | 25 +
37 .../bliss-initramfs/bliss-initramfs-7.1.3.ebuild | 45 +
38 sys-kernel/bliss-initramfs/metadata.xml | 8 +
39 sys-kernel/ck-sources/ck-sources-4.14.63.ebuild | 64 +
40 sys-kernel/ck-sources/ck-sources-4.14.66.ebuild | 64 +
41 sys-kernel/ck-sources/ck-sources-4.14.67.ebuild | 64 +
42 sys-kernel/ck-sources/ck-sources-4.14.69.ebuild | 64 +
43 sys-kernel/ck-sources/ck-sources-4.14.71.ebuild | 64 +
44 sys-kernel/ck-sources/ck-sources-4.14.73.ebuild | 64 +
45 sys-kernel/ck-sources/ck-sources-4.14.75.ebuild | 57 +
46 sys-kernel/ck-sources/ck-sources-4.14.78.ebuild | 57 +
47 sys-kernel/ck-sources/ck-sources-4.18.11.ebuild | 54 +
48 sys-kernel/ck-sources/ck-sources-4.18.13.ebuild | 47 +
49 sys-kernel/ck-sources/ck-sources-4.18.16.ebuild | 47 +
50 sys-kernel/ck-sources/ck-sources-4.18.5.ebuild | 54 +
51 sys-kernel/ck-sources/ck-sources-4.18.7.ebuild | 54 +
52 sys-kernel/ck-sources/ck-sources-4.18.9.ebuild | 54 +
53 sys-kernel/ck-sources/ck-sources-4.9.120.ebuild | 59 +
54 sys-kernel/ck-sources/ck-sources-4.9.123.ebuild | 59 +
55 sys-kernel/ck-sources/ck-sources-4.9.124.ebuild | 59 +
56 sys-kernel/ck-sources/ck-sources-4.9.126.ebuild | 59 +
57 sys-kernel/ck-sources/ck-sources-4.9.128.ebuild | 59 +
58 sys-kernel/ck-sources/ck-sources-4.9.130.ebuild | 59 +
59 sys-kernel/ck-sources/ck-sources-4.9.132.ebuild | 52 +
60 sys-kernel/ck-sources/ck-sources-4.9.135.ebuild | 52 +
61 sys-kernel/ck-sources/metadata.xml | 26 +
62 sys-kernel/cryptodev/cryptodev-1.9.ebuild | 56 +
63 sys-kernel/cryptodev/cryptodev-9999.ebuild | 57 +
64 .../cryptodev-1.9-fix-build-with-4.14-629958.patch | 44 +
65 .../files/ioctl.c-Fix-build-with-linux-4.17.patch | 39 +
66 sys-kernel/cryptodev/metadata.xml | 8 +
67 .../dracut-crypt-ssh-1.0.6-r1.ebuild | 20 +
68 sys-kernel/dracut-crypt-ssh/metadata.xml | 15 +
69 sys-kernel/dracut/dracut-044-r1.ebuild | 259 ++++
70 sys-kernel/dracut/dracut-044-r3.ebuild | 246 +++
71 sys-kernel/dracut/dracut-045-r2.ebuild | 164 ++
72 sys-kernel/dracut/dracut-046-r1.ebuild | 165 ++
73 sys-kernel/dracut/dracut-047-r1.ebuild | 154 ++
74 sys-kernel/dracut/dracut-048-r1.ebuild | 152 ++
75 sys-kernel/dracut/dracut-048.ebuild | 148 ++
76 sys-kernel/dracut/dracut-9999.ebuild | 158 ++
77 ...-lib.sh-dev_unit_name-guard-against-dev-b.patch | 32 +
78 ...temd-initrd-add-initrd-root-device.target.patch | 24 +
79 ...03-50-dracut.install-use-bin-bash-shebang.patch | 23 +
80 sys-kernel/dracut/files/045-systemdutildir.patch | 45 +
81 sys-kernel/dracut/files/046-amd-microcode.patch | 30 +
82 .../047-all-fix-issues-found-by-shellcheck.patch | 77 +
83 ...mouth-fix-detection-of-plymouth-directory.patch | 31 +
84 ...dracut-install-simplify-ldd-parsing-logic.patch | 41 +
85 sys-kernel/dracut/files/dracut-044-bash-4.4.patch | 80 +
86 .../dracut-044-preserve-xattrs-when-copying.patch | 51 +
87 sys-kernel/dracut/metadata.xml | 24 +
88 sys-kernel/genkernel-next/genkernel-next-66.ebuild | 51 +
89 sys-kernel/genkernel-next/genkernel-next-68.ebuild | 51 +
90 sys-kernel/genkernel-next/metadata.xml | 19 +
91 .../files/genkernel-3.4.52.4-crc32c.patch | 130 ++
92 .../files/genkernel-3.4.52.4-grub-mkconfig.patch | 17 +
93 .../files/genkernel-3.4.52.4-system-map.patch | 38 +
94 sys-kernel/genkernel/files/genkernel.bash | 73 +
95 sys-kernel/genkernel/files/initramfs.mounts | 23 +
96 sys-kernel/genkernel/genkernel-3.4.52.3.ebuild | 154 ++
97 sys-kernel/genkernel/genkernel-3.4.52.4-r1.ebuild | 155 ++
98 sys-kernel/genkernel/genkernel-3.4.52.4-r2.ebuild | 156 ++
99 sys-kernel/genkernel/genkernel-3.4.52.4-r3.ebuild | 157 ++
100 sys-kernel/genkernel/genkernel-3.5.1.1.ebuild | 158 ++
101 sys-kernel/genkernel/genkernel-3.5.2.0-r1.ebuild | 159 ++
102 sys-kernel/genkernel/genkernel-3.5.2.1.ebuild | 159 ++
103 sys-kernel/genkernel/genkernel-3.5.2.2.ebuild | 159 ++
104 sys-kernel/genkernel/genkernel-3.5.2.3.ebuild | 159 ++
105 sys-kernel/genkernel/genkernel-3.5.2.4.ebuild | 159 ++
106 sys-kernel/genkernel/genkernel-3.5.2.5.ebuild | 159 ++
107 sys-kernel/genkernel/genkernel-3.5.3.2.ebuild | 159 ++
108 sys-kernel/genkernel/genkernel-3.5.3.3.ebuild | 159 ++
109 sys-kernel/genkernel/genkernel-9999.ebuild | 159 ++
110 sys-kernel/genkernel/metadata.xml | 19 +
111 .../gentoo-sources/gentoo-sources-4.14.52.ebuild | 28 +
112 .../gentoo-sources/gentoo-sources-4.14.65.ebuild | 28 +
113 .../gentoo-sources/gentoo-sources-4.14.71.ebuild | 28 +
114 .../gentoo-sources/gentoo-sources-4.14.72.ebuild | 28 +
115 .../gentoo-sources/gentoo-sources-4.14.73.ebuild | 28 +
116 .../gentoo-sources/gentoo-sources-4.14.74.ebuild | 28 +
117 .../gentoo-sources/gentoo-sources-4.14.75.ebuild | 28 +
118 .../gentoo-sources/gentoo-sources-4.14.76.ebuild | 28 +
119 .../gentoo-sources/gentoo-sources-4.14.77.ebuild | 28 +
120 .../gentoo-sources/gentoo-sources-4.14.78.ebuild | 28 +
121 .../gentoo-sources/gentoo-sources-4.18.10.ebuild | 28 +
122 .../gentoo-sources/gentoo-sources-4.18.11.ebuild | 28 +
123 .../gentoo-sources/gentoo-sources-4.18.12.ebuild | 28 +
124 .../gentoo-sources/gentoo-sources-4.18.13.ebuild | 28 +
125 .../gentoo-sources/gentoo-sources-4.18.14.ebuild | 28 +
126 .../gentoo-sources/gentoo-sources-4.18.15.ebuild | 28 +
127 .../gentoo-sources/gentoo-sources-4.18.16.ebuild | 28 +
128 .../gentoo-sources/gentoo-sources-4.18.9.ebuild | 28 +
129 .../gentoo-sources/gentoo-sources-4.19.0.ebuild | 28 +
130 .../gentoo-sources/gentoo-sources-4.4.150.ebuild | 28 +
131 .../gentoo-sources/gentoo-sources-4.4.157.ebuild | 28 +
132 .../gentoo-sources/gentoo-sources-4.4.159.ebuild | 28 +
133 .../gentoo-sources/gentoo-sources-4.4.160.ebuild | 28 +
134 .../gentoo-sources/gentoo-sources-4.4.161.ebuild | 28 +
135 .../gentoo-sources/gentoo-sources-4.4.162.ebuild | 28 +
136 .../gentoo-sources/gentoo-sources-4.9.122.ebuild | 28 +
137 .../gentoo-sources/gentoo-sources-4.9.132.ebuild | 28 +
138 .../gentoo-sources/gentoo-sources-4.9.133.ebuild | 28 +
139 .../gentoo-sources/gentoo-sources-4.9.134.ebuild | 28 +
140 .../gentoo-sources/gentoo-sources-4.9.135.ebuild | 28 +
141 .../gentoo-sources/gentoo-sources-4.9.49-r1.ebuild | 28 +
142 sys-kernel/gentoo-sources/metadata.xml | 14 +
143 sys-kernel/git-sources/git-sources-4.19_rc1.ebuild | 40 +
144 sys-kernel/git-sources/git-sources-4.19_rc2.ebuild | 40 +
145 sys-kernel/git-sources/git-sources-4.19_rc3.ebuild | 40 +
146 sys-kernel/git-sources/git-sources-4.19_rc4.ebuild | 40 +
147 sys-kernel/git-sources/git-sources-4.19_rc5.ebuild | 40 +
148 sys-kernel/git-sources/git-sources-4.19_rc6.ebuild | 40 +
149 sys-kernel/git-sources/git-sources-4.19_rc7.ebuild | 40 +
150 sys-kernel/git-sources/git-sources-4.19_rc8.ebuild | 40 +
151 sys-kernel/git-sources/metadata.xml | 18 +
152 .../hardened-sources-4.8.17-r2.ebuild | 44 +
153 .../hardened-sources-4.9.21.ebuild | 45 +
154 .../hardened-sources-4.9.22.ebuild | 45 +
155 .../hardened-sources-4.9.23.ebuild | 45 +
156 .../hardened-sources-4.9.24.ebuild | 45 +
157 sys-kernel/hardened-sources/metadata.xml | 23 +
158 sys-kernel/kergen/kergen-0.1.3.ebuild | 17 +
159 sys-kernel/kergen/kergen-0.1.4.ebuild | 17 +
160 sys-kernel/kergen/metadata.xml | 11 +
161 sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild | 76 +
162 sys-kernel/kpatch/kpatch-0.6.0.ebuild | 76 +
163 sys-kernel/kpatch/kpatch-0.6.2.ebuild | 76 +
164 sys-kernel/kpatch/kpatch-9999.ebuild | 77 +
165 sys-kernel/kpatch/metadata.xml | 8 +
166 sys-kernel/linux-docs/linux-docs-4.1.ebuild | 64 +
167 sys-kernel/linux-docs/linux-docs-4.4.ebuild | 64 +
168 sys-kernel/linux-docs/linux-docs-4.9.ebuild | 64 +
169 sys-kernel/linux-docs/metadata.xml | 10 +
170 .../linux-firmware/linux-firmware-20181026.ebuild | 114 ++
171 .../linux-firmware/linux-firmware-99999999.ebuild | 114 ++
172 sys-kernel/linux-firmware/metadata.xml | 19 +
173 sys-kernel/linux-headers/linux-headers-3.18.ebuild | 53 +
174 sys-kernel/linux-headers/linux-headers-4.13.ebuild | 55 +
175 .../linux-headers/linux-headers-4.14-r1.ebuild | 57 +
176 .../linux-headers/linux-headers-4.15-r1.ebuild | 57 +
177 .../linux-headers/linux-headers-4.16-r2.ebuild | 60 +
178 sys-kernel/linux-headers/linux-headers-4.16.ebuild | 60 +
179 sys-kernel/linux-headers/linux-headers-4.17.ebuild | 57 +
180 sys-kernel/linux-headers/linux-headers-4.18.ebuild | 60 +
181 sys-kernel/linux-headers/linux-headers-4.19.ebuild | 60 +
182 sys-kernel/linux-headers/linux-headers-4.4.ebuild | 55 +
183 sys-kernel/linux-headers/linux-headers-4.9.ebuild | 55 +
184 sys-kernel/linux-headers/metadata.xml | 11 +
185 sys-kernel/metadata.xml | 39 +
186 sys-kernel/mips-sources/metadata.xml | 21 +
187 .../mips-sources/mips-sources-4.14.67.ebuild | 346 +++++
188 .../mips-sources/mips-sources-4.17.19.ebuild | 346 +++++
189 .../mips-sources/mips-sources-4.4.152.ebuild | 350 +++++
190 .../mips-sources/mips-sources-4.9.124.ebuild | 346 +++++
191 sys-kernel/pf-sources/metadata.xml | 8 +
192 sys-kernel/pf-sources/pf-sources-4.10_p3.ebuild | 77 +
193 sys-kernel/pf-sources/pf-sources-4.11_p3.ebuild | 77 +
194 sys-kernel/pf-sources/pf-sources-4.11_p4.ebuild | 77 +
195 sys-kernel/pf-sources/pf-sources-4.13_p4.ebuild | 77 +
196 sys-kernel/pf-sources/pf-sources-4.4_p8.ebuild | 77 +
197 sys-kernel/pf-sources/pf-sources-4.5_p4.ebuild | 77 +
198 sys-kernel/pf-sources/pf-sources-4.8_p8.ebuild | 77 +
199 sys-kernel/raspberrypi-image/metadata.xml | 11 +
200 .../raspberrypi-image-4.1.17_p20160209.ebuild | 62 +
201 .../raspberrypi-image-4.1.19_p20160309.ebuild | 62 +
202 .../raspberrypi-image-9999.ebuild | 57 +
203 sys-kernel/raspberrypi-sources/metadata.xml | 11 +
204 .../raspberrypi-sources-4.10.9999.ebuild | 27 +
205 .../raspberrypi-sources-4.11.9999.ebuild | 27 +
206 .../raspberrypi-sources-4.12.9999.ebuild | 27 +
207 .../raspberrypi-sources-4.13.9999.ebuild | 27 +
208 .../raspberrypi-sources-4.14.9999.ebuild | 27 +
209 .../raspberrypi-sources-4.4.9999.ebuild | 27 +
210 .../raspberrypi-sources-4.9.9999.ebuild | 27 +
211 .../rt-sources/files/rt-sources-posix-printf.patch | 40 +
212 sys-kernel/rt-sources/metadata.xml | 21 +
213 .../rt-sources/rt-sources-3.18.121_p106.ebuild | 58 +
214 .../rt-sources/rt-sources-3.18.123_p107.ebuild | 58 +
215 .../rt-sources/rt-sources-4.14.69_p43.ebuild | 54 +
216 .../rt-sources/rt-sources-4.14.71_p44.ebuild | 54 +
217 .../rt-sources/rt-sources-4.16.18_p12.ebuild | 54 +
218 sys-kernel/rt-sources/rt-sources-4.18.12_p7.ebuild | 54 +
219 sys-kernel/rt-sources/rt-sources-4.18.16_p9.ebuild | 54 +
220 sys-kernel/rt-sources/rt-sources-4.18.7_p5.ebuild | 54 +
221 .../rt-sources/rt-sources-4.4.148_p165.ebuild | 58 +
222 .../rt-sources/rt-sources-4.4.157_p174.ebuild | 58 +
223 .../rt-sources/rt-sources-4.4.162_p175.ebuild | 58 +
224 .../rt-sources/rt-sources-4.9.115_p93.ebuild | 58 +
225 sys-kernel/spl/metadata.xml | 15 +
226 sys-kernel/spl/spl-0.6.5.11.ebuild | 112 ++
227 sys-kernel/spl/spl-0.7.11.ebuild | 111 ++
228 sys-kernel/spl/spl-0.7.8.ebuild | 111 ++
229 sys-kernel/spl/spl-0.7.9-r1.ebuild | 120 ++
230 sys-kernel/spl/spl-0.7.9.ebuild | 111 ++
231 sys-kernel/spl/spl-0.7.9999.ebuild | 113 ++
232 sys-kernel/spl/spl-9999.ebuild | 112 ++
233 sys-kernel/vanilla-sources/metadata.xml | 19 +
234 .../vanilla-sources/vanilla-sources-3.16.60.ebuild | 16 +
235 .../vanilla-sources/vanilla-sources-4.14.78.ebuild | 16 +
236 .../vanilla-sources/vanilla-sources-4.18.16.ebuild | 16 +
237 .../vanilla-sources/vanilla-sources-4.19.0.ebuild | 16 +
238 .../vanilla-sources/vanilla-sources-4.4.162.ebuild | 16 +
239 .../vanilla-sources/vanilla-sources-4.9.135.ebuild | 16 +
240 sys-kernel/xbox-sources/metadata.xml | 13 +
241 .../xbox-sources/xbox-sources-2.6.16.26.ebuild | 24 +
242 sys-kernel/zen-sources/metadata.xml | 8 +
243 .../zen-sources/zen-sources-4.14.9999.ebuild | 39 +
244 .../zen-sources/zen-sources-4.15.9999.ebuild | 39 +
245 .../zen-sources/zen-sources-4.16.9999.ebuild | 39 +
246 234 files changed, 18260 insertions(+)
247
248 diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
249 new file mode 100644
250 index 0000000..8e595d5
251 --- /dev/null
252 +++ b/eclass/kernel-2.eclass
253 @@ -0,0 +1,1637 @@
254 +# Copyright 1999-2018 Gentoo Foundation
255 +# Distributed under the terms of the GNU General Public License v2
256 +
257 +# @ECLASS: kernel-2.eclass
258 +# @MAINTAINER:
259 +# Gentoo Kernel project <kernel@g.o>
260 +# @AUTHOR:
261 +# John Mylchreest <johnm@g.o>
262 +# Mike Pagano <mpagano@g.o>
263 +# <so many, many others, please add yourself>
264 +# @SUPPORTED_EAPIS: 2 3 4 5 6
265 +# @BLURB: Eclass for kernel packages
266 +# @DESCRIPTION:
267 +# This is the kernel.eclass rewrite for a clean base regarding the 2.6
268 +# series of kernel with back-compatibility for 2.4
269 +# Please direct your bugs to the current eclass maintainer :)
270 +# added functionality:
271 +# unipatch - a flexible, singular method to extract, add and remove patches.
272 +
273 +# @ECLASS-VARIABLE: K_USEPV
274 +# @DEFAULT_UNSET
275 +# @DESCRIPTION:
276 +# When setting the EXTRAVERSION variable, it should
277 +# add PV to the end.
278 +# this is useful for things like wolk. IE:
279 +# EXTRAVERSION would be something like : -wolk-4.19-r1
280 +
281 +# @ECLASS-VARIABLE: K_NOSETEXTRAVERSION
282 +# @DEFAULT_UNSET
283 +# @DESCRIPTION:
284 +# if this is set then EXTRAVERSION will not be
285 +# automatically set within the kernel Makefile
286 +
287 +# @ECLASS-VARIABLE: K_NOUSENAME
288 +# @DEFAULT_UNSET
289 +# @DESCRIPTION:
290 +# if this is set then EXTRAVERSION will not include the
291 +# first part of ${PN} in EXTRAVERSION
292 +
293 +# @ECLASS-VARIABLE: K_NOUSEPR
294 +# @DEFAULT_UNSET
295 +# @DESCRIPTION:
296 +# if this is set then EXTRAVERSION will not include the
297 +# anything based on ${PR}.
298 +
299 +# @ECLASS-VARIABLE: K_PREPATCHED
300 +# @DEFAULT_UNSET
301 +# @DESCRIPTION:
302 +# if the patchset is prepatched (ie: mm-sources,
303 +# ck-sources, ac-sources) it will use PR (ie: -r5) as
304 +# the patchset version for
305 +# and not use it as a true package revision
306 +
307 +# @ECLASS-VARIABLE: K_EXTRAEINFO
308 +# @DEFAULT_UNSET
309 +# @DESCRIPTION:
310 +# this is a new-line seperated list of einfo displays in
311 +# postinst and can be used to carry additional postinst
312 +# messages
313 +
314 +# @ECLASS-VARIABLE: K_EXTRAELOG
315 +# @DEFAULT_UNSET
316 +# @DESCRIPTION:
317 +# same as K_EXTRAEINFO except using elog instead of einfo
318 +
319 +# @ECLASS-VARIABLE: K_EXTRAEWARN
320 +# @DEFAULT_UNSET
321 +# @DESCRIPTION:
322 +# same as K_EXTRAEINFO except using ewarn instead of einfo
323 +
324 +# @ECLASS-VARIABLE: K_SYMLINK
325 +# @DEFAULT_UNSET
326 +# @DESCRIPTION:
327 +# if this is set, then forcably create symlink anyway
328 +
329 +# @ECLASS-VARIABLE: K_BASE_VER
330 +# @DEFAULT_UNSET
331 +# @DESCRIPTION:
332 +# for git-sources, declare the base version this patch is
333 +# based off of.
334 +
335 +# @ECLASS-VARIABLE: K_DEFCONFIG
336 +# @DEFAULT_UNSET
337 +# @DESCRIPTION:
338 +# Allow specifying a different defconfig target.
339 +# If length zero, defaults to "defconfig".
340 +
341 +# @ECLASS-VARIABLE: K_WANT_GENPATCHES
342 +# @DEFAULT_UNSET
343 +# @DESCRIPTION:
344 +# Apply genpatches to kernel source. Provide any
345 +# combination of "base", "extras" or "experimental".
346 +
347 +# @ECLASS-VARIABLE: K_EXP_GENPATCHES_PULL
348 +# @DEFAULT_UNSET
349 +# @DESCRIPTION:
350 +# If set, we pull "experimental" regardless of the USE FLAG
351 +# but expect the ebuild maintainer to use K_EXP_GENPATCHES_LIST.
352 +
353 +# @ECLASS-VARIABLE: K_EXP_GENPATCHES_NOUSE
354 +# @DEFAULT_UNSET
355 +# @DESCRIPTION:
356 +# If set, no USE flag will be provided for "experimental";
357 +# as a result the user cannot choose to apply those patches.
358 +
359 +# @ECLASS-VARIABLE: K_EXP_GENPATCHES_LIST
360 +# @DEFAULT_UNSET
361 +# @DESCRIPTION:
362 +# A list of patches to pick from "experimental" to apply when
363 +# the USE flag is unset and K_EXP_GENPATCHES_PULL is set.
364 +
365 +# @ECLASS-VARIABLE: K_FROM_GIT
366 +# @DEFAULT_UNSET
367 +# @DESCRIPTION:
368 +# If set, this variable signals that the kernel sources derives
369 +# from a git tree and special handling will be applied so that
370 +# any patches that are applied will actually apply.
371 +
372 +# @ECLASS-VARIABLE: K_GENPATCHES_VER
373 +# @DEFAULT_UNSET
374 +# @DESCRIPTION:
375 +# The version of the genpatches tarball(s) to apply.
376 +# A value of "5" would apply genpatches-2.6.12-5 to
377 +# my-sources-2.6.12.ebuild
378 +
379 +# @ECLASS-VARIABLE: K_SECURITY_UNSUPPORTED
380 +# @DEFAULT_UNSET
381 +# @DESCRIPTION:
382 +# If set, this kernel is unsupported by Gentoo Security
383 +# to the current eclass maintainer :)
384 +
385 +# @ECLASS-VARIABLE: K_DEBLOB_AVAILABLE
386 +# @DEFAULT_UNSET
387 +# @DESCRIPTION:
388 +# A value of "0" will disable all of the optional deblob
389 +# code. If empty, will be set to "1" if deblobbing is
390 +# possible. Test ONLY for "1".
391 +
392 +# @ECLASS-VARIABLE: K_DEBLOB_TAG
393 +# @DEFAULT_UNSET
394 +# @DESCRIPTION:
395 +# This will be the version of deblob script. It's a upstream SVN tag
396 +# such asw -gnu or -gnu1.
397 +
398 +# @ECLASS-VARIABLE: K_PREDEBLOBBED
399 +# @DEFAULT_UNSET
400 +# @DESCRIPTION:
401 +# This kernel was already deblobbed elsewhere.
402 +# If false, either optional deblobbing will be available
403 +# or the license will note the inclusion of linux-firmware code.
404 +
405 +# @ECLASS-VARIABLE: K_LONGTERM
406 +# @DEFAULT_UNSET
407 +# @DESCRIPTION:
408 +# If set, the eclass will search for the kernel source
409 +# in the long term directories on the upstream servers
410 +# as the location has been changed by upstream
411 +
412 +# @ECLASS-VARIABLE: H_SUPPORTEDARCH
413 +# @DEFAULT_UNSET
414 +# @DESCRIPTION:
415 +# this should be a space separated list of ARCH's which
416 +# can be supported by the headers ebuild
417 +
418 +# @ECLASS-VARIABLE: UNIPATCH_LIST
419 +# @DEFAULT_UNSET
420 +# @DESCRIPTION:
421 +# space delimetered list of patches to be applied to the kernel
422 +
423 +# @ECLASS-VARIABLE: UNIPATCH_EXCLUDE
424 +# @DEFAULT_UNSET
425 +# @DESCRIPTION:
426 +# An addition var to support exlusion based completely
427 +# on "<passedstring>*" and not "<passedno#>_*"
428 +# this should _NOT_ be used from the ebuild as this is
429 +# reserved for end users passing excludes from the cli
430 +
431 +# @ECLASS-VARIABLE: UNIPATCH_DOCS
432 +# @DEFAULT_UNSET
433 +# @DESCRIPTION:
434 +# space delimemeted list of docs to be installed to
435 +# the doc dir
436 +
437 +# @ECLASS-VARIABLE: UNIPATCH_STRICTORDER
438 +# @DEFAULT_UNSET
439 +# @DESCRIPTION:
440 +# if this is set places patches into directories of
441 +# order, so they are applied in the order passed
442 +# Changing any other variable in this eclass is not supported; you can request
443 +# for additional variables to be added by contacting the current maintainer.
444 +# If you do change them, there is a chance that we will not fix resulting bugs;
445 +# that of course does not mean we're not willing to help.
446 +
447 +PYTHON_COMPAT=( python{2_6,2_7} )
448 +
449 +inherit toolchain-funcs python-any-r1
450 +[[ ${EAPI:-0} == [012345] ]] && inherit epatch
451 +[[ ${EAPI:-0} == [0123456] ]] && inherit estack eapi7-ver
452 +case ${EAPI:-0} in
453 + 2|3|4|5|6)
454 + EXPORT_FUNCTIONS src_{unpack,prepare,compile,install,test} \
455 + pkg_{setup,preinst,postinst,postrm} ;;
456 + *) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
457 +esac
458 +
459 +# Added by Daniel Ostrow <dostrow@g.o>
460 +# This is an ugly hack to get around an issue with a 32-bit userland on ppc64.
461 +# I will remove it when I come up with something more reasonable.
462 +[[ ${PROFILE_ARCH} == "ppc64" ]] && CHOST="powerpc64-${CHOST#*-}"
463 +
464 +export CTARGET=${CTARGET:-${CHOST}}
465 +if [[ ${CTARGET} == ${CHOST} && ${CATEGORY/cross-} != ${CATEGORY} ]]; then
466 + export CTARGET=${CATEGORY/cross-}
467 +fi
468 +
469 +HOMEPAGE="https://www.kernel.org/ https://www.gentoo.org/ ${HOMEPAGE}"
470 +: ${LICENSE:="GPL-2"}
471 +
472 +# This is the latest KV_PATCH of the deblob tool available from the
473 +# libre-sources upstream. If you bump this, you MUST regenerate the Manifests
474 +# for ALL kernel-2 consumer packages where deblob is available.
475 +: ${DEBLOB_MAX_VERSION:=38}
476 +
477 +# No need to run scanelf/strip on kernel sources/headers (bug #134453).
478 +RESTRICT="binchecks strip"
479 +
480 +# set LINUX_HOSTCFLAGS if not already set
481 +: ${LINUX_HOSTCFLAGS:="-Wall -Wstrict-prototypes -Os -fomit-frame-pointer -I${S}/include"}
482 +
483 +
484 +# @FUNCTION: debug-print-kernel2-variables
485 +# @USAGE:
486 +# @DESCRIPTION:
487 +# this function exists only to help debug kernel-2.eclass
488 +# if you are adding new functionality in, put a call to it
489 +# at the start of src_unpack, or during SRC_URI/dep generation.
490 +
491 +debug-print-kernel2-variables() {
492 + for v in PVR CKV OKV KV KV_FULL KV_MAJOR KV_MINOR KV_PATCH RELEASETYPE \
493 + RELEASE UNIPATCH_LIST_DEFAULT UNIPATCH_LIST_GENPATCHES \
494 + UNIPATCH_LIST S KERNEL_URI K_WANT_GENPATCHES ; do
495 + debug-print "${v}: ${!v}"
496 + done
497 +}
498 +
499 +# @FUNCTION: handle_genpatches
500 +# @USAGE: [--set-unipatch-list]
501 +# @DESCRIPTION:
502 +# add genpatches to list of patches to apply if wanted
503 +
504 +handle_genpatches() {
505 + local tarball want_unipatch_list
506 + [[ -z ${K_WANT_GENPATCHES} || -z ${K_GENPATCHES_VER} ]] && return 1
507 +
508 + if [[ -n ${1} ]]; then
509 + # set UNIPATCH_LIST_GENPATCHES only on explicit request
510 + # since that requires 'use' call which can be used only in phase
511 + # functions, while the function is also called in global scope
512 + if [[ ${1} == --set-unipatch-list ]]; then
513 + want_unipatch_list=1
514 + else
515 + die "Usage: ${FUNCNAME} [--set-unipatch-list]"
516 + fi
517 + fi
518 +
519 + debug-print "Inside handle_genpatches"
520 + local OKV_ARRAY
521 + IFS="." read -r -a OKV_ARRAY <<<"${OKV}"
522 +
523 + # for > 3.0 kernels, handle genpatches tarball name
524 + # genpatches for 3.0 and 3.0.1 might be named
525 + # genpatches-3.0-1.base.tar.xz and genpatches-3.0-2.base.tar.xz
526 + # respectively. Handle this.
527 +
528 + for i in ${K_WANT_GENPATCHES} ; do
529 + if [[ ${KV_MAJOR} -ge 3 ]]; then
530 + if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then
531 + tarball="genpatches-${KV_MAJOR}.${KV_MINOR}-${K_GENPATCHES_VER}.${i}.tar.xz"
532 + else
533 + tarball="genpatches-${KV_MAJOR}.${KV_PATCH}-${K_GENPATCHES_VER}.${i}.tar.xz"
534 + fi
535 + else
536 + tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.xz"
537 + fi
538 +
539 + local use_cond_start="" use_cond_end=""
540 +
541 + if [[ "${i}" == "experimental" && -z ${K_EXP_GENPATCHES_PULL} && -z ${K_EXP_GENPATCHES_NOUSE} ]] ; then
542 + use_cond_start="experimental? ( "
543 + use_cond_end=" )"
544 +
545 + if [[ -n ${want_unipatch_list} ]] && use experimental ; then
546 + UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
547 + debug-print "genpatches tarball: $tarball"
548 + fi
549 + elif [[ -n ${want_unipatch_list} ]]; then
550 + UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
551 + debug-print "genpatches tarball: $tarball"
552 + fi
553 + GENPATCHES_URI+=" ${use_cond_start}mirror://gentoo/${tarball}${use_cond_end}"
554 + done
555 +}
556 +
557 +# @FUNCTION: detect_version
558 +# @USAGE:
559 +# @DESCRIPTION:
560 +# this function will detect and set
561 +# - OKV: Original Kernel Version (2.6.0/2.6.0-test11)
562 +# - KV: Kernel Version (2.6.0-gentoo/2.6.0-test11-gentoo-r1)
563 +# - EXTRAVERSION: The additional version appended to OKV (-gentoo/-gentoo-r1)
564 +detect_version() {
565 +
566 + # We've already run, so nothing to do here.
567 + [[ -n ${KV_FULL} ]] && return 0
568 +
569 + # CKV is used as a comparison kernel version, which is used when
570 + # PV doesnt reflect the genuine kernel version.
571 + # this gets set to the portage style versioning. ie:
572 + # CKV=2.6.11_rc4
573 + CKV=${CKV:-${PV}}
574 + OKV=${OKV:-${CKV}}
575 + OKV=${OKV/_beta/-test}
576 + OKV=${OKV/_rc/-rc}
577 + OKV=${OKV/-r*}
578 + OKV=${OKV/_p*}
579 +
580 + KV_MAJOR=$(ver_cut 1 ${OKV})
581 + # handle if OKV is X.Y or X.Y.Z (e.g. 3.0 or 3.0.1)
582 + local OKV_ARRAY
583 + IFS="." read -r -a OKV_ARRAY <<<"${OKV}"
584 +
585 + # if KV_MAJOR >= 3, then we have no more KV_MINOR
586 + #if [[ ${KV_MAJOR} -lt 3 ]]; then
587 + if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then
588 + KV_MINOR=$(ver_cut 2 ${OKV})
589 + KV_PATCH=$(ver_cut 3 ${OKV})
590 + if [[ ${KV_MAJOR}${KV_MINOR}${KV_PATCH} -ge 269 ]]; then
591 + KV_EXTRA=$(ver_cut 4- ${OKV})
592 + KV_EXTRA=${KV_EXTRA/[-_]*}
593 + else
594 + KV_PATCH=$(ver_cut 3- ${OKV})
595 + fi
596 + else
597 + KV_PATCH=$(ver_cut 2 ${OKV})
598 + KV_EXTRA=$(ver_cut 3- ${OKV})
599 + KV_EXTRA=${KV_EXTRA/[-_]*}
600 + fi
601 +
602 + debug-print "KV_EXTRA is ${KV_EXTRA}"
603 +
604 + KV_PATCH=${KV_PATCH/[-_]*}
605 +
606 + local v n=0 missing
607 + #if [[ ${KV_MAJOR} -lt 3 ]]; then
608 + if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then
609 + for v in CKV OKV KV_{MAJOR,MINOR,PATCH} ; do
610 + [[ -z ${!v} ]] && n=1 && missing="${missing}${v} ";
611 + done
612 + else
613 + for v in CKV OKV KV_{MAJOR,PATCH} ; do
614 + [[ -z ${!v} ]] && n=1 && missing="${missing}${v} ";
615 + done
616 + fi
617 +
618 + [[ $n -eq 1 ]] && \
619 + eerror "Missing variables: ${missing}" && \
620 + die "Failed to extract kernel version (try explicit CKV in ebuild)!"
621 + unset v n missing
622 +
623 +# if [[ ${KV_MAJOR} -ge 3 ]]; then
624 + if [[ ${#OKV_ARRAY[@]} -lt 3 ]]; then
625 + KV_PATCH_ARR=(${KV_PATCH//\./ })
626 +
627 + # at this point 031412, Linus is putting all 3.x kernels in a
628 + # 3.x directory, may need to revisit when 4.x is released
629 + KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.x"
630 +
631 + [[ -n "${K_LONGTERM}" ]] &&
632 + KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm/v${KV_MAJOR}.${KV_PATCH_ARR}"
633 + else
634 + #KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.0"
635 + #KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}"
636 + if [[ ${KV_MAJOR} -ge 3 ]]; then
637 + KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.x"
638 + else
639 + KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}"
640 + fi
641 +
642 + [[ -n "${K_LONGTERM}" ]] &&
643 + #KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm"
644 + KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm/v${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
645 + fi
646 +
647 + debug-print "KERNEL_BASE_URI is ${KERNEL_BASE_URI}"
648 +
649 + if [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]]; then
650 + # handle non genpatch using sources correctly
651 + if [[ -z ${K_WANT_GENPATCHES} && -z ${K_GENPATCHES_VER} && ${KV_PATCH} -gt 0 ]]; then
652 + KERNEL_URI="${KERNEL_BASE_URI}/patch-${OKV}.xz"
653 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.xz"
654 + fi
655 + KERNEL_URI="${KERNEL_URI} ${KERNEL_BASE_URI}/linux-${KV_MAJOR}.${KV_MINOR}.tar.xz"
656 + else
657 + KERNEL_URI="${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
658 + fi
659 +
660 + RELEASE=${CKV/${OKV}}
661 + RELEASE=${RELEASE/_beta}
662 + RELEASE=${RELEASE/_rc/-rc}
663 + RELEASE=${RELEASE/_pre/-pre}
664 + # We cannot trivally call kernel_is here, because it calls us to detect the
665 + # version
666 + #kernel_is ge 2 6 && RELEASE=${RELEASE/-pre/-git}
667 + [ $(($KV_MAJOR * 1000 + ${KV_MINOR:-0})) -ge 2006 ] && RELEASE=${RELEASE/-pre/-git}
668 + RELEASETYPE=${RELEASE//[0-9]}
669 +
670 + # Now we know that RELEASE is the -rc/-git
671 + # and RELEASETYPE is the same but with its numerics stripped
672 + # we can work on better sorting EXTRAVERSION.
673 + # first of all, we add the release
674 + EXTRAVERSION="${RELEASE}"
675 + debug-print "0 EXTRAVERSION:${EXTRAVERSION}"
676 + [[ -n ${KV_EXTRA} ]] && [[ ${KV_MAJOR} -lt 3 ]] && EXTRAVERSION=".${KV_EXTRA}${EXTRAVERSION}"
677 +
678 + debug-print "1 EXTRAVERSION:${EXTRAVERSION}"
679 + if [[ -n "${K_NOUSEPR}" ]]; then
680 + # Don't add anything based on PR to EXTRAVERSION
681 + debug-print "1.0 EXTRAVERSION:${EXTRAVERSION}"
682 + elif [[ -n ${K_PREPATCHED} ]]; then
683 + debug-print "1.1 EXTRAVERSION:${EXTRAVERSION}"
684 + EXTRAVERSION="${EXTRAVERSION}-${PN/-*}${PR/r}"
685 + elif [[ "${ETYPE}" = "sources" ]]; then
686 + debug-print "1.2 EXTRAVERSION:${EXTRAVERSION}"
687 + # For some sources we want to use the PV in the extra version
688 + # This is because upstream releases with a completely different
689 + # versioning scheme.
690 + case ${PN/-*} in
691 + wolk) K_USEPV=1;;
692 + vserver) K_USEPV=1;;
693 + esac
694 +
695 + [[ -z "${K_NOUSENAME}" ]] && EXTRAVERSION="${EXTRAVERSION}-${PN/-*}"
696 + [[ -n "${K_USEPV}" ]] && EXTRAVERSION="${EXTRAVERSION}-${PV//_/-}"
697 + [[ -n "${PR//r0}" ]] && EXTRAVERSION="${EXTRAVERSION}-${PR}"
698 + fi
699 + debug-print "2 EXTRAVERSION:${EXTRAVERSION}"
700 +
701 + # The only messing around which should actually effect this is for KV_EXTRA
702 + # since this has to limit OKV to MAJ.MIN.PAT and strip EXTRA off else
703 + # KV_FULL evaluates to MAJ.MIN.PAT.EXT.EXT after EXTRAVERSION
704 +
705 + if [[ -n ${KV_EXTRA} ]]; then
706 + if [[ -n ${KV_MINOR} ]]; then
707 + OKV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
708 + else
709 + OKV="${KV_MAJOR}.${KV_PATCH}"
710 + fi
711 + KERNEL_URI="${KERNEL_BASE_URI}/patch-${CKV}.xz
712 + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
713 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.xz"
714 + fi
715 +
716 + # We need to set this using OKV, but we need to set it before we do any
717 + # messing around with OKV based on RELEASETYPE
718 + KV_FULL=${OKV}${EXTRAVERSION}
719 +
720 + # we will set this for backwards compatibility.
721 + S="${WORKDIR}"/linux-${KV_FULL}
722 + KV=${KV_FULL}
723 +
724 + # -rc-git pulls can be achieved by specifying CKV
725 + # for example:
726 + # CKV="2.6.11_rc3_pre2"
727 + # will pull:
728 + # linux-2.6.10.tar.xz & patch-2.6.11-rc3.xz & patch-2.6.11-rc3-git2.xz
729 +
730 + if [[ ${KV_MAJOR}${KV_MINOR} -eq 26 ]]; then
731 +
732 + if [[ ${RELEASETYPE} == -rc ]] || [[ ${RELEASETYPE} == -pre ]]; then
733 + OKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_PATCH} - 1))"
734 + KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.xz
735 + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
736 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.xz"
737 + fi
738 +
739 + if [[ ${RELEASETYPE} == -git ]]; then
740 + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.xz
741 + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
742 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.xz"
743 + fi
744 +
745 + if [[ ${RELEASETYPE} == -rc-git ]]; then
746 + OKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_PATCH} - 1))"
747 + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.xz
748 + ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.xz
749 + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
750 +
751 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.xz ${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.xz"
752 + fi
753 + else
754 + KV_PATCH_ARR=(${KV_PATCH//\./ })
755 +
756 + # the different majorminor versions have different patch start versions
757 + OKV_DICT=(["2"]="${KV_MAJOR}.$((${KV_PATCH_ARR} - 1))" ["3"]="2.6.39" ["4"]="3.19")
758 +
759 + if [[ ${RELEASETYPE} == -rc ]] || [[ ${RELEASETYPE} == -pre ]]; then
760 +
761 + OKV=${K_BASE_VER:-$OKV_DICT["${KV_MAJOR}"]}
762 +
763 + # as of 12/5/2017, the rc patch is no longer offered as a compressed
764 + # file, and no longer is it mirrored on kernel.org
765 + if [[ ${KV_MAJOR} -ge 4 ]] && [[ ${KV_PATCH} -ge 12 ]]; then
766 + KERNEL_URI="https://git.kernel.org/torvalds/p/v${KV_FULL}/v${OKV} -> patch-${KV_FULL}.patch
767 + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
768 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.patch"
769 + else
770 + KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.xz
771 + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
772 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.xz"
773 + fi
774 + fi
775 +
776 + if [[ ${RELEASETYPE} == -git ]]; then
777 + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.xz
778 + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
779 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.xz"
780 + fi
781 +
782 + if [[ ${RELEASETYPE} == -rc-git ]]; then
783 + OKV=${K_BASE_VER:-$OKV_DICT["${KV_MAJOR}"]}
784 + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz
785 + ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz
786 + ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
787 +
788 + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz ${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz"
789 + fi
790 +
791 +
792 + fi
793 +
794 + debug-print-kernel2-variables
795 +
796 + handle_genpatches
797 +}
798 +
799 +# @FUNCTION: kernel_is
800 +# @USAGE: <conditional version | version>
801 +# @DESCRIPTION:
802 +# user for comparing kernel versions
803 +# or just identifying a version
804 +# e.g kernel_is 2 4
805 +# e.g kernel_is ge 4.8.11
806 +# Note: duplicated in linux-info.eclass
807 +kernel_is() {
808 + # ALL of these should be set before we can safely continue this function.
809 + # some of the sources have in the past had only one set.
810 + local v n=0
811 + for v in OKV KV_{MAJOR,MINOR,PATCH} ; do [[ -z ${!v} ]] && n=1 ; done
812 + [[ $n -eq 1 ]] && detect_version
813 + unset v n
814 +
815 + # Now we can continue
816 + local operator test value
817 +
818 + case ${1#-} in
819 + lt) operator="-lt"; shift;;
820 + gt) operator="-gt"; shift;;
821 + le) operator="-le"; shift;;
822 + ge) operator="-ge"; shift;;
823 + eq) operator="-eq"; shift;;
824 + *) operator="-eq";;
825 + esac
826 + [[ $# -gt 3 ]] && die "Error in kernel-2_kernel_is(): too many parameters"
827 +
828 + : $(( test = (KV_MAJOR << 16) + (KV_MINOR << 8) + KV_PATCH ))
829 + : $(( value = (${1:-${KV_MAJOR}} << 16) + (${2:-${KV_MINOR}} << 8) + ${3:-${KV_PATCH}} ))
830 + [ ${test} ${operator} ${value} ]
831 +}
832 +
833 +# @FUNCTION: kernel_is_2_4
834 +# @USAGE:
835 +# @DESCRIPTION:
836 +# return true if kernel is version 2.4
837 +kernel_is_2_4() {
838 + kernel_is 2 4
839 +}
840 +
841 +# @FUNCTION: kernel_is_2_6
842 +# @USAGE:
843 +# @DESCRIPTION:
844 +# return true if kernel is version 2.6
845 +kernel_is_2_6() {
846 + kernel_is 2 6 || kernel_is 2 5
847 +}
848 +
849 +# Capture the sources type and set DEPENDs
850 +if [[ ${ETYPE} == sources ]]; then
851 + DEPEND="!build? (
852 + sys-apps/sed
853 + >=sys-devel/binutils-2.11.90.0.31
854 + )"
855 + RDEPEND="!build? (
856 + dev-lang/perl
857 + sys-devel/bc
858 + sys-devel/bison
859 + sys-devel/flex
860 + sys-devel/make
861 + >=sys-libs/ncurses-5.2
862 + virtual/libelf
863 + )"
864 +
865 + SLOT="${PVR}"
866 + DESCRIPTION="Sources based on the Linux Kernel."
867 + IUSE="symlink build"
868 +
869 + # Bug #266157, deblob for libre support
870 + if [[ -z ${K_PREDEBLOBBED} ]] ; then
871 + # Bug #359865, force a call to detect_version if needed
872 + kernel_is ge 2 6 27 && \
873 + [[ -z "${K_DEBLOB_AVAILABLE}" ]] && \
874 + kernel_is le 2 6 ${DEBLOB_MAX_VERSION} && \
875 + K_DEBLOB_AVAILABLE=1
876 + if [[ ${K_DEBLOB_AVAILABLE} == "1" ]] ; then
877 + IUSE="${IUSE} deblob"
878 +
879 + # Reflect that kernels contain firmware blobs unless otherwise
880 + # stripped
881 + LICENSE="${LICENSE} !deblob? ( linux-firmware )"
882 +
883 + DEPEND+=" deblob? ( ${PYTHON_DEPS} )"
884 +
885 + if [[ -n KV_MINOR ]]; then
886 + DEBLOB_PV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
887 + else
888 + DEBLOB_PV="${KV_MAJOR}.${KV_PATCH}"
889 + fi
890 +
891 + if [[ ${KV_MAJOR} -ge 3 ]]; then
892 + DEBLOB_PV="${KV_MAJOR}.${KV_MINOR}"
893 + fi
894 +
895 + # deblob svn tag, default is -gnu, to change, use K_DEBLOB_TAG in ebuild
896 + K_DEBLOB_TAG=${K_DEBLOB_TAG:--gnu}
897 + DEBLOB_A="deblob-${DEBLOB_PV}"
898 + DEBLOB_CHECK_A="deblob-check-${DEBLOB_PV}"
899 + DEBLOB_HOMEPAGE="https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/"
900 + DEBLOB_URI_PATH="${DEBLOB_PV}${K_DEBLOB_TAG}"
901 + DEBLOB_CHECK_URI="${DEBLOB_HOMEPAGE}/${DEBLOB_URI_PATH}/deblob-check -> ${DEBLOB_CHECK_A}"
902 + DEBLOB_URI="${DEBLOB_HOMEPAGE}/${DEBLOB_URI_PATH}/${DEBLOB_A}"
903 + HOMEPAGE="${HOMEPAGE} ${DEBLOB_HOMEPAGE}"
904 +
905 + KERNEL_URI="${KERNEL_URI}
906 + deblob? (
907 + ${DEBLOB_URI}
908 + ${DEBLOB_CHECK_URI}
909 + )"
910 + else
911 + # We have no way to deblob older kernels, so just mark them as
912 + # tainted with non-libre materials.
913 + LICENSE="${LICENSE} linux-firmware"
914 + fi
915 + fi
916 +
917 +elif [[ ${ETYPE} == headers ]]; then
918 + DESCRIPTION="Linux system headers"
919 + IUSE="headers-only"
920 +
921 + # Since we should NOT honour KBUILD_OUTPUT in headers
922 + # lets unset it here.
923 + unset KBUILD_OUTPUT
924 +
925 + SLOT="0"
926 +fi
927 +
928 +# Cross-compile support functions
929 +
930 +# @FUNCTION: kernel_header_destdir
931 +# @USAGE:
932 +# @DESCRIPTION:
933 +# return header destination directory
934 +kernel_header_destdir() {
935 + [[ ${CTARGET} == ${CHOST} ]] \
936 + && echo /usr/include \
937 + || echo /usr/${CTARGET}/usr/include
938 +}
939 +
940 +# @FUNCTION: cross_pre_c_headers
941 +# @USAGE:
942 +# @DESCRIPTION:
943 +# set use if necessary for cross compile support
944 +cross_pre_c_headers() {
945 + use headers-only && [[ ${CHOST} != ${CTARGET} ]]
946 +}
947 +
948 +# @FUNCTION: env_setup_xmakeopts
949 +# @USAGE:
950 +# @DESCRIPTION:
951 +# set the ARCH/CROSS_COMPILE when cross compiling
952 +
953 +env_setup_xmakeopts() {
954 + # Kernel ARCH != portage ARCH
955 + export KARCH=$(tc-arch-kernel)
956 +
957 + # When cross-compiling, we need to set the ARCH/CROSS_COMPILE
958 + # variables properly or bad things happen !
959 + xmakeopts="ARCH=${KARCH}"
960 + if [[ ${CTARGET} != ${CHOST} ]] && ! cross_pre_c_headers ; then
961 + xmakeopts="${xmakeopts} CROSS_COMPILE=${CTARGET}-"
962 + elif type -p ${CHOST}-ar > /dev/null ; then
963 + xmakeopts="${xmakeopts} CROSS_COMPILE=${CHOST}-"
964 + fi
965 + export xmakeopts
966 +}
967 +
968 +# @FUNCTION: unpack_2_4
969 +# @USAGE:
970 +# @DESCRIPTION:
971 +# unpack and generate .config for 2.4 kernels
972 +
973 +unpack_2_4() {
974 + # this file is required for other things to build properly,
975 + # so we autogenerate it
976 + make -s mrproper ${xmakeopts} || die "make mrproper failed"
977 + make -s symlinks ${xmakeopts} || die "make symlinks failed"
978 + make -s include/linux/version.h ${xmakeopts} || die "make include/linux/version.h failed"
979 + echo ">>> version.h compiled successfully."
980 +}
981 +
982 +# @FUNCTION: unpack_2_6
983 +# @USAGE:
984 +# @DESCRIPTION:
985 +# unpack and generate .config for 2.6 kernels
986 +
987 +unpack_2_6() {
988 + # this file is required for other things to build properly, so we
989 + # autogenerate it ... generate a .config to keep version.h build from
990 + # spitting out an annoying warning
991 + make -s mrproper ${xmakeopts} 2>/dev/null \
992 + || die "make mrproper failed"
993 +
994 + # quick fix for bug #132152 which triggers when it cannot include linux
995 + # headers (ie, we have not installed it yet)
996 + if ! make -s defconfig ${xmakeopts} &>/dev/null 2>&1 ; then
997 + touch .config
998 + eerror "make defconfig failed."
999 + eerror "assuming you dont have any headers installed yet and continuing"
1000 + fi
1001 +
1002 + make -s include/linux/version.h ${xmakeopts} 2>/dev/null \
1003 + || die "make include/linux/version.h failed"
1004 + rm -f .config >/dev/null
1005 +}
1006 +
1007 +# @FUNCTION: universal_unpack
1008 +# @USAGE:
1009 +# @DESCRIPTION:
1010 +# unpack kernel sources
1011 +
1012 +universal_unpack() {
1013 + debug-print "Inside universal_unpack"
1014 +
1015 + local OKV_ARRAY
1016 + IFS="." read -r -a OKV_ARRAY <<<"${OKV}"
1017 +
1018 + cd "${WORKDIR}"
1019 + if [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]]; then
1020 + unpack linux-${KV_MAJOR}.${KV_MINOR}.tar.xz
1021 + else
1022 + unpack linux-${OKV}.tar.xz
1023 + fi
1024 +
1025 + if [[ -d "linux" ]]; then
1026 + debug-print "Moving linux to linux-${KV_FULL}"
1027 + mv linux linux-${KV_FULL} \
1028 + || die "Unable to move source tree to ${KV_FULL}."
1029 + elif [[ "${OKV}" != "${KV_FULL}" ]]; then
1030 + if [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]] &&
1031 + [[ "${ETYPE}" = "sources" ]]; then
1032 + debug-print "moving linux-${KV_MAJOR}.${KV_MINOR} to linux-${KV_FULL} "
1033 + mv linux-${KV_MAJOR}.${KV_MINOR} linux-${KV_FULL} \
1034 + || die "Unable to move source tree to ${KV_FULL}."
1035 + else
1036 + debug-print "moving linux-${OKV} to linux-${KV_FULL} "
1037 + mv linux-${OKV} linux-${KV_FULL} \
1038 + || die "Unable to move source tree to ${KV_FULL}."
1039 + fi
1040 + elif [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]]; then
1041 + mv linux-${KV_MAJOR}.${KV_MINOR} linux-${KV_FULL} \
1042 + || die "Unable to move source tree to ${KV_FULL}."
1043 + fi
1044 + cd "${S}"
1045 +
1046 + # remove all backup files
1047 + find . -iname "*~" -exec rm {} \; 2> /dev/null
1048 +
1049 +}
1050 +
1051 +# @FUNCTION: unpack_set_extraversion
1052 +# @USAGE:
1053 +# @DESCRIPTION:
1054 +# handle EXTRAVERSION
1055 +
1056 +unpack_set_extraversion() {
1057 + cd "${S}"
1058 + sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" Makefile
1059 + cd "${OLDPWD}"
1060 +}
1061 +
1062 +# @FUNCTION: unpack_fix_install_path
1063 +# @USAGE:
1064 +# @DESCRIPTION:
1065 +# Should be done after patches have been applied
1066 +# Otherwise patches that modify the same area of Makefile will fail
1067 +
1068 +unpack_fix_install_path() {
1069 + cd "${S}"
1070 + sed -i -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' Makefile
1071 +}
1072 +
1073 +# Compile Functions
1074 +
1075 +# @FUNCTION: compile_headers
1076 +# @USAGE:
1077 +# @DESCRIPTION:
1078 +# header compilation
1079 +
1080 +compile_headers() {
1081 + env_setup_xmakeopts
1082 +
1083 + # if we couldnt obtain HOSTCFLAGS from the Makefile,
1084 + # then set it to something sane
1085 + local HOSTCFLAGS=$(getfilevar HOSTCFLAGS "${S}"/Makefile)
1086 + HOSTCFLAGS=${HOSTCFLAGS:--Wall -Wstrict-prototypes -O2 -fomit-frame-pointer}
1087 +
1088 + if kernel_is 2 4; then
1089 + yes "" | make oldconfig ${xmakeopts}
1090 + echo ">>> make oldconfig complete"
1091 + make dep ${xmakeopts}
1092 + elif kernel_is 2 6; then
1093 + # 2.6.18 introduces headers_install which means we dont need any
1094 + # of this crap anymore :D
1095 + kernel_is ge 2 6 18 && return 0
1096 +
1097 + # autoconf.h isnt generated unless it already exists. plus, we have
1098 + # no guarantee that any headers are installed on the system...
1099 + [[ -f ${EROOT}usr/include/linux/autoconf.h ]] \
1100 + || touch include/linux/autoconf.h
1101 +
1102 + # if K_DEFCONFIG isn't set, force to "defconfig"
1103 + # needed by mips
1104 + if [[ -z ${K_DEFCONFIG} ]]; then
1105 + if kernel_is ge 2 6 16 ; then
1106 + case ${CTARGET} in
1107 + powerpc64*) K_DEFCONFIG="ppc64_defconfig";;
1108 + powerpc*) K_DEFCONFIG="pmac32_defconfig";;
1109 + *) K_DEFCONFIG="defconfig";;
1110 + esac
1111 + else
1112 + K_DEFCONFIG="defconfig"
1113 + fi
1114 + fi
1115 +
1116 + # if there arent any installed headers, then there also isnt an asm
1117 + # symlink in /usr/include/, and make defconfig will fail, so we have
1118 + # to force an include path with $S.
1119 + HOSTCFLAGS="${HOSTCFLAGS} -I${S}/include/"
1120 + ln -sf asm-${KARCH} "${S}"/include/asm || die
1121 + cross_pre_c_headers && return 0
1122 +
1123 + make ${K_DEFCONFIG} HOSTCFLAGS="${HOSTCFLAGS}" ${xmakeopts} || die "defconfig failed (${K_DEFCONFIG})"
1124 + if compile_headers_tweak_config ; then
1125 + yes "" | make oldconfig HOSTCFLAGS="${HOSTCFLAGS}" ${xmakeopts} || die "2nd oldconfig failed"
1126 + fi
1127 + make prepare HOSTCFLAGS="${HOSTCFLAGS}" ${xmakeopts} || die "prepare failed"
1128 + make prepare-all HOSTCFLAGS="${HOSTCFLAGS}" ${xmakeopts} || die "prepare failed"
1129 + fi
1130 +}
1131 +
1132 +# @FUNCTION: compile_headers_tweak_config
1133 +# @USAGE:
1134 +# @DESCRIPTION:
1135 +# some targets can be very very picky, so let's finesse the
1136 +# .config based upon any info we may have
1137 +
1138 +compile_headers_tweak_config() {
1139 + case ${CTARGET} in
1140 + sh*)
1141 + sed -i '/CONFIG_CPU_SH/d' .config || die
1142 + echo "CONFIG_CPU_SH${CTARGET:2:1}=y" >> .config
1143 + return 0;;
1144 + esac
1145 +
1146 + # no changes, so lets do nothing
1147 + return 1
1148 +}
1149 +
1150 +# install functions
1151 +
1152 +# @FUNCTION: install_universal
1153 +# @USAGE:
1154 +# @DESCRIPTION:
1155 +# Fix permissions in tarball
1156 +
1157 +install_universal() {
1158 + cd "${WORKDIR}"
1159 + chown -R 0:0 * >& /dev/null
1160 + chmod -R a+r-w+X,u+w *
1161 + cd ${OLDPWD}
1162 +}
1163 +
1164 +# @FUNCTION: install_headers
1165 +# @USAGE:
1166 +# @DESCRIPTION:
1167 +# Install headers
1168 +
1169 +install_headers() {
1170 + local ddir=$(kernel_header_destdir)
1171 +
1172 + # 2.6.18 introduces headers_install which means we dont need any
1173 + # of this crap anymore :D
1174 + if kernel_is ge 2 6 18 ; then
1175 + env_setup_xmakeopts
1176 + emake headers_install INSTALL_HDR_PATH="${ED}"${ddir}/.. ${xmakeopts} || die
1177 +
1178 + # let other packages install some of these headers
1179 + rm -rf "${ED}"${ddir}/scsi || die #glibc/uclibc/etc...
1180 + return 0
1181 + fi
1182 +
1183 + # Do not use "linux/*" as that can cause problems with very long
1184 + # $S values where the cmdline to cp is too long
1185 + pushd "${S}" >/dev/null
1186 + dodir ${ddir}/linux
1187 + cp -pPR "${S}"/include/linux "${ED}"${ddir}/ || die
1188 + rm -rf "${ED}"${ddir}/linux/modules || die
1189 +
1190 + dodir ${ddir}/asm
1191 + cp -pPR "${S}"/include/asm/* "${ED}"${ddir}/asm || die
1192 +
1193 + if kernel_is 2 6 ; then
1194 + dodir ${ddir}/asm-generic
1195 + cp -pPR "${S}"/include/asm-generic/* "${ED}"${ddir}/asm-generic || die
1196 + fi
1197 +
1198 + # clean up
1199 + find "${D}" -name '*.orig' -exec rm -f {} \;
1200 +
1201 + popd >/dev/null
1202 +}
1203 +
1204 +# @FUNCTION: install_sources
1205 +# @USAGE:
1206 +# @DESCRIPTION:
1207 +# Install sources
1208 +
1209 +install_sources() {
1210 + local file
1211 +
1212 + cd "${S}"
1213 + dodir /usr/src
1214 + echo ">>> Copying sources ..."
1215 +
1216 + file="$(find ${WORKDIR} -iname "docs" -type d)"
1217 + if [[ -n ${file} ]]; then
1218 + for file in $(find ${file} -type f); do
1219 + echo "${file//*docs\/}" >> "${S}"/patches.txt
1220 + echo "===================================================" >> "${S}"/patches.txt
1221 + cat ${file} >> "${S}"/patches.txt
1222 + echo "===================================================" >> "${S}"/patches.txt
1223 + echo "" >> "${S}"/patches.txt
1224 + done
1225 + fi
1226 +
1227 + mv "${WORKDIR}"/linux* "${ED}"usr/src || die
1228 +
1229 + if [[ -n "${UNIPATCH_DOCS}" ]] ; then
1230 + for i in ${UNIPATCH_DOCS}; do
1231 + dodoc "${T}"/${i}
1232 + done
1233 + fi
1234 +}
1235 +
1236 +# @FUNCTION: preinst_headers
1237 +# @USAGE:
1238 +# @DESCRIPTION:
1239 +# Headers preinst steps
1240 +
1241 +preinst_headers() {
1242 + local ddir=$(kernel_header_destdir)
1243 + [[ -L ${EPREFIX}${ddir}/linux ]] && { rm "${EPREFIX}"${ddir}/linux || die; }
1244 + [[ -L ${EPREFIX}${ddir}/asm ]] && { rm "${EPREFIX}"${ddir}/asm || die; }
1245 +}
1246 +
1247 +# @FUNCTION: postinst_sources
1248 +# @USAGE:
1249 +# @DESCRIPTION:
1250 +# Sources post installation function.
1251 +# see inline comments
1252 +
1253 +postinst_sources() {
1254 + local MAKELINK=0
1255 +
1256 + # if we have USE=symlink, then force K_SYMLINK=1
1257 + use symlink && K_SYMLINK=1
1258 +
1259 + # We do support security on a deblobbed kernel, bug #555878.
1260 + # If some particular kernel version doesn't have security
1261 + # supported because of USE=deblob or otherwise, one can still
1262 + # set K_SECURITY_UNSUPPORTED on a per ebuild basis.
1263 + #[[ $K_DEBLOB_AVAILABLE == 1 ]] && \
1264 + # use deblob && \
1265 + # K_SECURITY_UNSUPPORTED=deblob
1266 +
1267 + # if we are to forcably symlink, delete it if it already exists first.
1268 + if [[ ${K_SYMLINK} > 0 ]]; then
1269 + [[ -h ${EROOT}usr/src/linux ]] && { rm "${EROOT}"usr/src/linux || die; }
1270 + MAKELINK=1
1271 + fi
1272 +
1273 + # if the link doesnt exist, lets create it
1274 + [[ ! -h ${EROOT}usr/src/linux ]] && MAKELINK=1
1275 +
1276 + if [[ ${MAKELINK} == 1 ]]; then
1277 + ln -sf linux-${KV_FULL} "${EROOT}"usr/src/linux || die
1278 + fi
1279 +
1280 + # Don't forget to make directory for sysfs
1281 + [[ ! -d ${EROOT}sys ]] && kernel_is 2 6 && { mkdir "${EROOT}"sys || die ; }
1282 +
1283 + echo
1284 + elog "If you are upgrading from a previous kernel, you may be interested"
1285 + elog "in the following document:"
1286 + elog " - General upgrade guide: https://wiki.gentoo.org/wiki/Kernel/Upgrade"
1287 + echo
1288 +
1289 + # if K_EXTRAEINFO is set then lets display it now
1290 + if [[ -n ${K_EXTRAEINFO} ]]; then
1291 + echo ${K_EXTRAEINFO} | fmt |
1292 + while read -s ELINE; do einfo "${ELINE}"; done
1293 + fi
1294 +
1295 + # if K_EXTRAELOG is set then lets display it now
1296 + if [[ -n ${K_EXTRAELOG} ]]; then
1297 + echo ${K_EXTRAELOG} | fmt |
1298 + while read -s ELINE; do elog "${ELINE}"; done
1299 + fi
1300 +
1301 + # if K_EXTRAEWARN is set then lets display it now
1302 + if [[ -n ${K_EXTRAEWARN} ]]; then
1303 + echo ${K_EXTRAEWARN} | fmt |
1304 + while read -s ELINE; do ewarn "${ELINE}"; done
1305 + fi
1306 +
1307 + # optionally display security unsupported message
1308 + # Start with why
1309 + if [[ -n ${K_SECURITY_UNSUPPORTED} ]]; then
1310 + ewarn "${PN} is UNSUPPORTED by Gentoo Security."
1311 + fi
1312 + # And now the general message.
1313 + if [[ -n ${K_SECURITY_UNSUPPORTED} ]]; then
1314 + ewarn "This means that it is likely to be vulnerable to recent security issues."
1315 + echo
1316 + ewarn "Upstream kernel developers recommend always running the latest "
1317 + ewarn "release of any current long term supported Linux kernel version."
1318 + ewarn "To see a list of these versions, their most current release and "
1319 + ewarn "long term support status, please go to https://www.kernel.org ."
1320 + echo
1321 + ewarn "For specific information on why this kernel is unsupported, please read:"
1322 + ewarn "https://wiki.gentoo.org/wiki/Project:Kernel_Security"
1323 + fi
1324 +
1325 + # warn sparc users that they need to do cross-compiling with >= 2.6.25(bug #214765)
1326 + KV_MAJOR=$(ver_cut 1 ${OKV})
1327 + KV_MINOR=$(ver_cut 2 ${OKV})
1328 + KV_PATCH=$(ver_cut 3 ${OKV})
1329 + if [[ "$(tc-arch)" = "sparc" ]]; then
1330 + if [[ $(gcc-major-version) -lt 4 && $(gcc-minor-version) -lt 4 ]]; then
1331 + if [[ ${KV_MAJOR} -ge 3 || ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} > 2.6.24 ]] ; then
1332 + echo
1333 + elog "NOTE: Since 2.6.25 the kernel Makefile has changed in a way that"
1334 + elog "you now need to do"
1335 + elog " make CROSS_COMPILE=sparc64-unknown-linux-gnu-"
1336 + elog "instead of just"
1337 + elog " make"
1338 + elog "to compile the kernel. For more information please browse to"
1339 + elog "https://bugs.gentoo.org/show_bug.cgi?id=214765"
1340 + echo
1341 + fi
1342 + fi
1343 + fi
1344 +}
1345 +
1346 +# pkg_setup functions
1347 +
1348 +# @FUNCTION: setup_headers
1349 +# @USAGE:
1350 +# @DESCRIPTION:
1351 +# Determine if ${PN} supports arch
1352 +
1353 +setup_headers() {
1354 + [[ -z ${H_SUPPORTEDARCH} ]] && H_SUPPORTEDARCH=${PN/-*/}
1355 + for i in ${H_SUPPORTEDARCH}; do
1356 + [[ $(tc-arch) == "${i}" ]] && H_ACCEPT_ARCH="yes"
1357 + done
1358 +
1359 + if [[ ${H_ACCEPT_ARCH} != "yes" ]]; then
1360 + echo
1361 + eerror "This version of ${PN} does not support $(tc-arch)."
1362 + eerror "Please merge the appropriate sources, in most cases"
1363 + eerror "(but not all) this will be called $(tc-arch)-headers."
1364 + die "Package unsupported for $(tc-arch)"
1365 + fi
1366 +}
1367 +
1368 +# @FUNCTION: unipatch
1369 +# @USAGE: <list of patches to apply>
1370 +# @DESCRIPTION:
1371 +# Universal function that will apply patches to source
1372 +
1373 +unipatch() {
1374 + local i x y z extention PIPE_CMD UNIPATCH_DROP KPATCH_DIR PATCH_DEPTH ELINE
1375 + local STRICT_COUNT PATCH_LEVEL myLC_ALL myLANG
1376 +
1377 + # set to a standard locale to ensure sorts are ordered properly.
1378 + myLC_ALL="${LC_ALL}"
1379 + myLANG="${LANG}"
1380 + LC_ALL="C"
1381 + LANG=""
1382 +
1383 + [ -z "${KPATCH_DIR}" ] && KPATCH_DIR="${WORKDIR}/patches/"
1384 + [ ! -d ${KPATCH_DIR} ] && mkdir -p ${KPATCH_DIR}
1385 +
1386 + # We're gonna need it when doing patches with a predefined patchlevel
1387 + eshopts_push -s extglob
1388 +
1389 + # This function will unpack all passed tarballs, add any passed patches,
1390 + # and remove any passed patchnumbers
1391 + # usage can be either via an env var or by params
1392 + # although due to the nature we pass this within this eclass
1393 + # it shall be by param only.
1394 + # -z "${UNIPATCH_LIST}" ] && UNIPATCH_LIST="${@}"
1395 + UNIPATCH_LIST="${@}"
1396 +
1397 + #unpack any passed tarballs
1398 + for i in ${UNIPATCH_LIST}; do
1399 + if echo ${i} | grep -qs -e "\.tar" -e "\.tbz" -e "\.tgz" ; then
1400 + if [ -n "${UNIPATCH_STRICTORDER}" ]; then
1401 + unset z
1402 + STRICT_COUNT=$((10#${STRICT_COUNT} + 1))
1403 + for((y=0; y<$((6 - ${#STRICT_COUNT})); y++));
1404 + do z="${z}0";
1405 + done
1406 + PATCH_ORDER="${z}${STRICT_COUNT}"
1407 +
1408 + mkdir -p "${KPATCH_DIR}/${PATCH_ORDER}"
1409 + pushd "${KPATCH_DIR}/${PATCH_ORDER}" >/dev/null
1410 + unpack ${i##*/}
1411 + popd >/dev/null
1412 + else
1413 + pushd "${KPATCH_DIR}" >/dev/null
1414 + unpack ${i##*/}
1415 + popd >/dev/null
1416 + fi
1417 +
1418 + [[ ${i} == *:* ]] && echo ">>> Strict patch levels not currently supported for tarballed patchsets"
1419 + else
1420 + extention=${i/*./}
1421 + extention=${extention/:*/}
1422 + PIPE_CMD=""
1423 + case ${extention} in
1424 + xz) PIPE_CMD="xz -dc";;
1425 + lzma) PIPE_CMD="lzma -dc";;
1426 + bz2) PIPE_CMD="bzip2 -dc";;
1427 + patch*) PIPE_CMD="cat";;
1428 + diff) PIPE_CMD="cat";;
1429 + gz|Z|z) PIPE_CMD="gzip -dc";;
1430 + ZIP|zip) PIPE_CMD="unzip -p";;
1431 + *) UNIPATCH_DROP="${UNIPATCH_DROP} ${i/:*/}";;
1432 + esac
1433 +
1434 + PATCH_LEVEL=${i/*([^:])?(:)}
1435 + i=${i/:*/}
1436 + x=${i/*\//}
1437 + x=${x/\.${extention}/}
1438 +
1439 + if [ -n "${PIPE_CMD}" ]; then
1440 + if [ ! -r "${i}" ]; then
1441 + echo
1442 + eerror "FATAL: unable to locate:"
1443 + eerror "${i}"
1444 + eerror "for read-only. The file either has incorrect permissions"
1445 + eerror "or does not exist."
1446 + die Unable to locate ${i}
1447 + fi
1448 +
1449 + if [ -n "${UNIPATCH_STRICTORDER}" ]; then
1450 + unset z
1451 + STRICT_COUNT=$((10#${STRICT_COUNT} + 1))
1452 + for((y=0; y<$((6 - ${#STRICT_COUNT})); y++));
1453 + do z="${z}0";
1454 + done
1455 + PATCH_ORDER="${z}${STRICT_COUNT}"
1456 +
1457 + mkdir -p ${KPATCH_DIR}/${PATCH_ORDER}/
1458 + $(${PIPE_CMD} ${i} > ${KPATCH_DIR}/${PATCH_ORDER}/${x}.patch${PATCH_LEVEL}) || die "uncompressing patch failed"
1459 + else
1460 + $(${PIPE_CMD} ${i} > ${KPATCH_DIR}/${x}.patch${PATCH_LEVEL}) || die "uncompressing patch failed"
1461 + fi
1462 + fi
1463 + fi
1464 +
1465 + # If experimental was not chosen by the user, drop experimental patches not in K_EXP_GENPATCHES_LIST.
1466 + if [[ "${i}" == *"genpatches-"*".experimental."* && -n ${K_EXP_GENPATCHES_PULL} ]] ; then
1467 + if [[ -z ${K_EXP_GENPATCHES_NOUSE} ]] && use experimental; then
1468 + continue
1469 + fi
1470 +
1471 + local j
1472 + for j in ${KPATCH_DIR}/*/50*_*.patch*; do
1473 + for k in ${K_EXP_GENPATCHES_LIST} ; do
1474 + [[ "$(basename ${j})" == ${k}* ]] && continue 2
1475 + done
1476 + UNIPATCH_DROP+=" $(basename ${j})"
1477 + done
1478 + else
1479 + UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
1480 + debug-print "genpatches tarball: $tarball"
1481 +
1482 + # check gcc version < 4.9.X uses patch 5000 and = 4.9.X uses patch 5010
1483 + if [[ $(gcc-major-version) -eq 4 ]] && [[ $(gcc-minor-version) -ne 9 ]]; then
1484 + # drop 5000_enable-additional-cpu-optimizations-for-gcc-4.9.patch
1485 + if [[ $UNIPATCH_DROP != *"5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"* ]]; then
1486 + UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
1487 + fi
1488 + else
1489 + if [[ $UNIPATCH_DROP != *"5000_enable-additional-cpu-optimizations-for-gcc.patch"* ]]; then
1490 + #drop 5000_enable-additional-cpu-optimizations-for-gcc.patch
1491 + UNIPATCH_DROP+=" 5000_enable-additional-cpu-optimizations-for-gcc.patch"
1492 + fi
1493 + fi
1494 + fi
1495 + done
1496 +
1497 + #populate KPATCH_DIRS so we know where to look to remove the excludes
1498 + x=${KPATCH_DIR}
1499 + KPATCH_DIR=""
1500 + for i in $(find ${x} -type d | sort -n); do
1501 + KPATCH_DIR="${KPATCH_DIR} ${i}"
1502 + done
1503 +
1504 + # do not apply fbcondecor patch to sparc/sparc64 as it breaks boot
1505 + # bug #272676
1506 + if [[ "$(tc-arch)" = "sparc" || "$(tc-arch)" = "sparc64" ]]; then
1507 + if [[ ${KV_MAJOR} -ge 3 || ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} > 2.6.28 ]]; then
1508 + if [[ ! -z ${K_WANT_GENPATCHES} ]] ; then
1509 + UNIPATCH_DROP="${UNIPATCH_DROP} *_fbcondecor*.patch"
1510 + echo
1511 + ewarn "fbcondecor currently prevents sparc/sparc64 from booting"
1512 + ewarn "for kernel versions >= 2.6.29. Removing fbcondecor patch."
1513 + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=272676 for details"
1514 + echo
1515 + fi
1516 + fi
1517 + fi
1518 +
1519 + #so now lets get rid of the patchno's we want to exclude
1520 + UNIPATCH_DROP="${UNIPATCH_EXCLUDE} ${UNIPATCH_DROP}"
1521 + for i in ${UNIPATCH_DROP}; do
1522 + ebegin "Excluding Patch #${i}"
1523 + for x in ${KPATCH_DIR}; do rm -f ${x}/${i}* 2>/dev/null; done
1524 + eend $?
1525 + done
1526 +
1527 + # and now, finally, we patch it :)
1528 + for x in ${KPATCH_DIR}; do
1529 + for i in $(find ${x} -maxdepth 1 -iname "*.patch*" -or -iname "*.diff*" | sort -n); do
1530 + STDERR_T="${T}/${i/*\//}"
1531 + STDERR_T="${STDERR_T/.patch*/.err}"
1532 +
1533 + [ -z ${i/*.patch*/} ] && PATCH_DEPTH=${i/*.patch/}
1534 + #[ -z ${i/*.diff*/} ] && PATCH_DEPTH=${i/*.diff/}
1535 +
1536 + if [ -z "${PATCH_DEPTH}" ]; then PATCH_DEPTH=0; fi
1537 +
1538 + ####################################################################
1539 + # IMPORTANT: This is temporary code to support Linux git 3.15_rc1! #
1540 + # #
1541 + # The patch contains a removal of a symlink, followed by addition #
1542 + # of a file with the same name as the symlink in the same #
1543 + # location; this causes the dry-run to fail, filed bug #507656. #
1544 + # #
1545 + # https://bugs.gentoo.org/show_bug.cgi?id=507656 #
1546 + ####################################################################
1547 + if [[ -n ${K_FROM_GIT} ]] ; then
1548 + if [[ ${KV_MAJOR} -gt 3 || ( ${KV_MAJOR} -eq 3 && ${KV_PATCH} -gt 15 ) &&
1549 + ${RELEASETYPE} == -rc ]] ; then
1550 + ebegin "Applying ${i/*\//} (-p1)"
1551 + if [ $(patch -p1 --no-backup-if-mismatch -f < ${i} >> ${STDERR_T}) "$?" -le 2 ]; then
1552 + eend 0
1553 + rm ${STDERR_T} || die
1554 + break
1555 + else
1556 + eend 1
1557 + eerror "Failed to apply patch ${i/*\//}"
1558 + eerror "Please attach ${STDERR_T} to any bug you may post."
1559 + eshopts_pop
1560 + die "Failed to apply ${i/*\//} on patch depth 1."
1561 + fi
1562 + fi
1563 + fi
1564 + ####################################################################
1565 +
1566 + while [ ${PATCH_DEPTH} -lt 5 ]; do
1567 + echo "Attempting Dry-run:" >> ${STDERR_T}
1568 + echo "cmd: patch -p${PATCH_DEPTH} --no-backup-if-mismatch --dry-run -f < ${i}" >> ${STDERR_T}
1569 + echo "=======================================================" >> ${STDERR_T}
1570 + if [ $(patch -p${PATCH_DEPTH} --no-backup-if-mismatch --dry-run -f < ${i} >> ${STDERR_T}) $? -eq 0 ]; then
1571 + ebegin "Applying ${i/*\//} (-p${PATCH_DEPTH})"
1572 + echo "Attempting patch:" > ${STDERR_T}
1573 + echo "cmd: patch -p${PATCH_DEPTH} --no-backup-if-mismatch -f < ${i}" >> ${STDERR_T}
1574 + echo "=======================================================" >> ${STDERR_T}
1575 + if [ $(patch -p${PATCH_DEPTH} --no-backup-if-mismatch -f < ${i} >> ${STDERR_T}) "$?" -eq 0 ]; then
1576 + eend 0
1577 + rm ${STDERR_T} || die
1578 + break
1579 + else
1580 + eend 1
1581 + eerror "Failed to apply patch ${i/*\//}"
1582 + eerror "Please attach ${STDERR_T} to any bug you may post."
1583 + eshopts_pop
1584 + die "Failed to apply ${i/*\//} on patch depth ${PATCH_DEPTH}."
1585 + fi
1586 + else
1587 + PATCH_DEPTH=$((${PATCH_DEPTH} + 1))
1588 + fi
1589 + done
1590 + if [ ${PATCH_DEPTH} -eq 5 ]; then
1591 + eerror "Failed to dry-run patch ${i/*\//}"
1592 + eerror "Please attach ${STDERR_T} to any bug you may post."
1593 + eshopts_pop
1594 + die "Unable to dry-run patch on any patch depth lower than 5."
1595 + fi
1596 + done
1597 + done
1598 +
1599 + # When genpatches is used, we want to install 0000_README which documents
1600 + # the patches that were used; such that the user can see them, bug #301478.
1601 + if [[ ! -z ${K_WANT_GENPATCHES} ]] ; then
1602 + UNIPATCH_DOCS="${UNIPATCH_DOCS} 0000_README"
1603 + fi
1604 +
1605 + # When files listed in UNIPATCH_DOCS are found in KPATCH_DIR's, we copy it
1606 + # to the temporary directory and remember them in UNIPATCH_DOCS to install
1607 + # them during the install phase.
1608 + local tmp
1609 + for x in ${KPATCH_DIR}; do
1610 + for i in ${UNIPATCH_DOCS}; do
1611 + if [[ -f ${x}/${i} ]] ; then
1612 + tmp="${tmp} ${i}"
1613 + cp -f "${x}/${i}" "${T}"/ || die
1614 + fi
1615 + done
1616 + done
1617 + UNIPATCH_DOCS="${tmp}"
1618 +
1619 + # clean up KPATCH_DIR's - fixes bug #53610
1620 + for x in ${KPATCH_DIR}; do rm -Rf ${x}; done
1621 +
1622 + LC_ALL="${myLC_ALL}"
1623 + LANG="${myLANG}"
1624 + eshopts_pop
1625 +}
1626 +
1627 +# @FUNCTION: getfilevar
1628 +# @USAGE: <variable> <configfile>
1629 +# @DESCRIPTION:
1630 +# pulled from linux-info
1631 +
1632 +getfilevar() {
1633 + local workingdir basefname basedname xarch=$(tc-arch-kernel)
1634 +
1635 + if [[ -z ${1} ]] && [[ ! -f ${2} ]]; then
1636 + echo -e "\n"
1637 + eerror "getfilevar requires 2 variables, with the second a valid file."
1638 + eerror " getfilevar <VARIABLE> <CONFIGFILE>"
1639 + else
1640 + workingdir=${PWD}
1641 + basefname=$(basename ${2})
1642 + basedname=$(dirname ${2})
1643 + unset ARCH
1644 +
1645 + cd ${basedname}
1646 + echo -e "include ${basefname}\ne:\n\t@echo \$(${1})" | \
1647 + make ${BUILD_FIXES} -s -f - e 2>/dev/null
1648 + cd ${workingdir}
1649 +
1650 + ARCH=${xarch}
1651 + fi
1652 +}
1653 +
1654 +# @FUNCTION: detect_arch
1655 +# @USAGE:
1656 +# @DESCRIPTION:
1657 +# This function sets ARCH_URI and ARCH_PATCH
1658 +# with the neccessary info for the arch sepecific compatibility
1659 +# patchsets.
1660 +
1661 +detect_arch() {
1662 +
1663 + local ALL_ARCH LOOP_ARCH LOOP_ARCH_L COMPAT_URI i TC_ARCH_KERNEL
1664 +
1665 + # COMPAT_URI is the contents of ${ARCH}_URI
1666 + # ARCH_URI is the URI for all the ${ARCH}_URI patches
1667 + # ARCH_PATCH is ARCH_URI broken into files for UNIPATCH
1668 +
1669 + ARCH_URI=""
1670 + ARCH_PATCH=""
1671 + TC_ARCH_KERNEL=""
1672 + ALL_ARCH="ALPHA AMD64 ARM HPPA IA64 M68K MIPS PPC PPC64 S390 SH SPARC X86"
1673 +
1674 + for LOOP_ARCH in ${ALL_ARCH}; do
1675 + COMPAT_URI="${LOOP_ARCH}_URI"
1676 + COMPAT_URI="${!COMPAT_URI}"
1677 +
1678 + declare -l LOOP_ARCH_L=${LOOP_ARCH}
1679 +
1680 + [[ -n ${COMPAT_URI} ]] && \
1681 + ARCH_URI="${ARCH_URI} ${LOOP_ARCH_L}? ( ${COMPAT_URI} )"
1682 +
1683 + declare -u TC_ARCH_KERNEL=$(tc-arch-kernel)
1684 + if [[ ${LOOP_ARCH} == ${TC_ARCH_KERNEL} ]]; then
1685 + for i in ${COMPAT_URI}; do
1686 + ARCH_PATCH="${ARCH_PATCH} ${DISTDIR}/${i/*\//}"
1687 + done
1688 + fi
1689 +
1690 + done
1691 +}
1692 +
1693 +# @FUNCTION: headers___fix
1694 +# @USAGE:
1695 +# @DESCRIPTION:
1696 +# Voodoo to partially fix broken upstream headers.
1697 +# note: do not put inline/asm/volatile together (breaks "inline asm volatile")
1698 +
1699 +headers___fix() {
1700 + sed -i \
1701 + -e '/^\#define.*_TYPES_H/{:loop n; bloop}' \
1702 + -e 's:\<\([us]\(8\|16\|32\|64\)\)\>:__\1:g' \
1703 + -e "s/\([[:space:]]\)inline\([[:space:](]\)/\1__inline__\2/g" \
1704 + -e "s/\([[:space:]]\)asm\([[:space:](]\)/\1__asm__\2/g" \
1705 + -e "s/\([[:space:]]\)volatile\([[:space:](]\)/\1__volatile__\2/g" \
1706 + "$@"
1707 +}
1708 +
1709 +# @FUNCTION: kernel-2_src_unpack
1710 +# @USAGE:
1711 +# @DESCRIPTION:
1712 +# unpack sources, handle genpatches, deblob
1713 +
1714 +kernel-2_src_unpack() {
1715 + universal_unpack
1716 + debug-print "Doing unipatch"
1717 +
1718 + # request UNIPATCH_LIST_GENPATCHES in phase since it calls 'use'
1719 + handle_genpatches --set-unipatch-list
1720 + [[ -n ${UNIPATCH_LIST} || -n ${UNIPATCH_LIST_DEFAULT} || -n ${UNIPATCH_LIST_GENPATCHES} ]] && \
1721 + unipatch "${UNIPATCH_LIST_DEFAULT} ${UNIPATCH_LIST_GENPATCHES} ${UNIPATCH_LIST}"
1722 +
1723 + debug-print "Doing premake"
1724 +
1725 + # allow ebuilds to massage the source tree after patching but before
1726 + # we run misc `make` functions below
1727 + [[ $(type -t kernel-2_hook_premake) == "function" ]] && kernel-2_hook_premake
1728 +
1729 + debug-print "Doing unpack_set_extraversion"
1730 +
1731 + [[ -z ${K_NOSETEXTRAVERSION} ]] && unpack_set_extraversion
1732 + unpack_fix_install_path
1733 +
1734 + # Setup xmakeopts and cd into sourcetree.
1735 + env_setup_xmakeopts
1736 + cd "${S}"
1737 +
1738 + # We dont need a version.h for anything other than headers
1739 + # at least, I should hope we dont. If this causes problems
1740 + # take out the if/fi block and inform me please.
1741 + # unpack_2_6 should now be 2.6.17 safe anyways
1742 + if [[ ${ETYPE} == headers ]]; then
1743 + kernel_is 2 4 && unpack_2_4
1744 + kernel_is 2 6 && unpack_2_6
1745 + fi
1746 +
1747 + if [[ $K_DEBLOB_AVAILABLE == 1 ]] && use deblob ; then
1748 + cp "${DISTDIR}/${DEBLOB_A}" "${T}" || die "cp ${DEBLOB_A} failed"
1749 + cp "${DISTDIR}/${DEBLOB_CHECK_A}" "${T}/deblob-check" || die "cp ${DEBLOB_CHECK_A} failed"
1750 + chmod +x "${T}/${DEBLOB_A}" "${T}/deblob-check" || die "chmod deblob scripts failed"
1751 + fi
1752 +
1753 + # fix a problem on ppc where TOUT writes to /usr/src/linux breaking sandbox
1754 + # only do this for kernel < 2.6.27 since this file does not exist in later
1755 + # kernels
1756 + if [[ -n ${KV_MINOR} && ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} < 2.6.27 ]] ; then
1757 + sed -i \
1758 + -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \
1759 + "${S}"/arch/ppc/Makefile
1760 + else
1761 + sed -i \
1762 + -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \
1763 + "${S}"/arch/powerpc/Makefile
1764 + fi
1765 +}
1766 +
1767 +# @FUNCTION: kernel-2_src_prepare
1768 +# @USAGE:
1769 +# @DESCRIPTION:
1770 +# Apply any user patches
1771 +
1772 +kernel-2_src_prepare() {
1773 +
1774 + debug-print "Applying any user patches"
1775 +
1776 + # apply any user patches
1777 + case ${EAPI:-0} in
1778 + 0|1|2|3|4|5) epatch_user ;;
1779 + 6) eapply_user ;;
1780 + esac
1781 +}
1782 +
1783 +# @FUNCTION: kernel-2_src_compile
1784 +# @USAGE:
1785 +# @DESCRIPTION:
1786 +# conpile headers or run deblob script
1787 +
1788 +kernel-2_src_compile() {
1789 + cd "${S}"
1790 + [[ ${ETYPE} == headers ]] && compile_headers
1791 +
1792 + if [[ $K_DEBLOB_AVAILABLE == 1 ]] && use deblob ; then
1793 + echo ">>> Running deblob script ..."
1794 + python_setup
1795 + sh "${T}/${DEBLOB_A}" --force || die "Deblob script failed to run!!!"
1796 + fi
1797 +}
1798 +
1799 +# @FUNCTION: kernel-2_src_test
1800 +# @USAGE:
1801 +# @DESCRIPTION:
1802 +# if you leave it to the default src_test, it will run make to
1803 +# find whether test/check targets are present; since "make test"
1804 +# actually produces a few support files, they are installed even
1805 +# though the package is binchecks-restricted.
1806 +#
1807 +# Avoid this altogether by making the function moot.
1808 +kernel-2_src_test() { :; }
1809 +
1810 +# @FUNCTION: kernel-2_pkg_preinst
1811 +# @DESCRIPTION:
1812 +# if ETYPE = headers, call preinst_headers
1813 +
1814 +kernel-2_pkg_preinst() {
1815 + [[ ${ETYPE} == headers ]] && preinst_headers
1816 +}
1817 +
1818 +# @FUNCTION: kernel-2_src_install
1819 +# @USAGE:
1820 +# @DESCRIPTION:
1821 +# Install headers or sources dependant on ETYPE
1822 +
1823 +kernel-2_src_install() {
1824 + install_universal
1825 + [[ ${ETYPE} == headers ]] && install_headers
1826 + [[ ${ETYPE} == sources ]] && install_sources
1827 +}
1828 +
1829 +# @FUNCTION: kernel-2_pkg_postinst
1830 +# @USAGE:
1831 +# @DESCRIPTION:
1832 +# call postinst_sources for ETYPE = sources
1833 +
1834 +kernel-2_pkg_postinst() {
1835 + [[ ${ETYPE} == sources ]] && postinst_sources
1836 +}
1837 +
1838 +# @FUNCTION: kernel-2_pkg_setup
1839 +# @USAGE:
1840 +# @DESCRIPTION:
1841 +# check for supported kernel version, die if ETYPE is unknown, call setup_headers
1842 +# if necessary
1843 +
1844 +kernel-2_pkg_setup() {
1845 + if kernel_is 2 4; then
1846 + if [[ $(gcc-major-version) -ge 4 ]] ; then
1847 + echo
1848 + ewarn "Be warned !! >=sys-devel/gcc-4.0.0 isn't supported with linux-2.4!"
1849 + ewarn "Either switch to another gcc-version (via gcc-config) or use a"
1850 + ewarn "newer kernel that supports gcc-4."
1851 + echo
1852 + ewarn "Also be aware that bugreports about gcc-4 not working"
1853 + ewarn "with linux-2.4 based ebuilds will be closed as INVALID!"
1854 + echo
1855 + fi
1856 + fi
1857 +
1858 + ABI="${KERNEL_ABI}"
1859 + if [[ ${ETYPE} != sources ]] && [[ ${ETYPE} != headers ]]; then
1860 + eerror "Unknown ETYPE=\"${ETYPE}\", must be \"sources\" or \"headers\""
1861 + die "Unknown ETYPE=\"${ETYPE}\", must be \"sources\" or \"headers\""
1862 + fi
1863 +
1864 + [[ ${ETYPE} == headers ]] && setup_headers
1865 + [[ ${ETYPE} == sources ]] && echo ">>> Preparing to unpack ..."
1866 +}
1867 +
1868 +# @FUNCTION: kernel-2_pkg_postrm
1869 +# @USAGE:
1870 +# @DESCRIPTION:
1871 +# Notify the user that after a depclean, there may be sources
1872 +# left behind that need to be manually cleaned
1873 +
1874 +kernel-2_pkg_postrm() {
1875 + # This warning only makes sense for kernel sources.
1876 + [[ ${ETYPE} == headers ]] && return 0
1877 +
1878 + # If there isn't anything left behind, then don't complain.
1879 + [[ -e ${EROOT}usr/src/linux-${KV_FULL} ]] || return 0
1880 + echo
1881 + ewarn "Note: Even though you have successfully unmerged "
1882 + ewarn "your kernel package, directories in kernel source location: "
1883 + ewarn "${EROOT}usr/src/linux-${KV_FULL}"
1884 + ewarn "with modified files will remain behind. By design, package managers"
1885 + ewarn "will not remove these modified files and the directories they reside in."
1886 + echo
1887 + ewarn "For more detailed kernel removal instructions, please see: "
1888 + ewarn "https://wiki.gentoo.org/wiki/Kernel/Removal"
1889 + echo
1890 +}
1891
1892 diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
1893 new file mode 100644
1894 index 0000000..98ec0ac
1895 --- /dev/null
1896 +++ b/eclass/linux-info.eclass
1897 @@ -0,0 +1,966 @@
1898 +# Copyright 1999-2018 Gentoo Foundation
1899 +# Distributed under the terms of the GNU General Public License v2
1900 +
1901 +# @ECLASS: linux-info.eclass
1902 +# @MAINTAINER:
1903 +# kernel@g.o
1904 +# @AUTHOR:
1905 +# Original author: John Mylchreest <johnm@g.o>
1906 +# @BLURB: eclass used for accessing kernel related information
1907 +# @DESCRIPTION:
1908 +# This eclass is used as a central eclass for accessing kernel
1909 +# related information for source or binary already installed.
1910 +# It is vital for linux-mod.eclass to function correctly, and is split
1911 +# out so that any ebuild behaviour "templates" are abstracted out
1912 +# using additional eclasses.
1913 +#
1914 +# "kernel config" in this file means:
1915 +# The .config of the currently installed sources is used as the first
1916 +# preference, with a fall-back to bundled config (/proc/config.gz) if available.
1917 +#
1918 +# Before using any of the config-handling functions in this eclass, you must
1919 +# ensure that one of the following functions has been called (in order of
1920 +# preference), otherwise you will get bugs like #364041):
1921 +# linux-info_pkg_setup
1922 +# linux-info_get_any_version
1923 +# get_version
1924 +# get_running_version
1925 +
1926 +# A Couple of env vars are available to effect usage of this eclass
1927 +# These are as follows:
1928 +
1929 +# @ECLASS-VARIABLE: KERNEL_DIR
1930 +# @DESCRIPTION:
1931 +# A string containing the directory of the target kernel sources. The default value is
1932 +# "/usr/src/linux"
1933 +
1934 +# @ECLASS-VARIABLE: CONFIG_CHECK
1935 +# @DESCRIPTION:
1936 +# A string containing a list of .config options to check for before
1937 +# proceeding with the install.
1938 +#
1939 +# e.g.: CONFIG_CHECK="MTRR"
1940 +#
1941 +# You can also check that an option doesn't exist by
1942 +# prepending it with an exclamation mark (!).
1943 +#
1944 +# e.g.: CONFIG_CHECK="!MTRR"
1945 +#
1946 +# To simply warn about a missing option, prepend a '~'.
1947 +# It may be combined with '!'.
1948 +#
1949 +# In general, most checks should be non-fatal. The only time fatal checks should
1950 +# be used is for building kernel modules or cases that a compile will fail
1951 +# without the option.
1952 +#
1953 +# This is to allow usage of binary kernels, and minimal systems without kernel
1954 +# sources.
1955 +
1956 +# @ECLASS-VARIABLE: ERROR_<CFG>
1957 +# @DESCRIPTION:
1958 +# A string containing the error message to display when the check against CONFIG_CHECK
1959 +# fails. <CFG> should reference the appropriate option used in CONFIG_CHECK.
1960 +#
1961 +# e.g.: ERROR_MTRR="MTRR exists in the .config but shouldn't!!"
1962 +
1963 +# @ECLASS-VARIABLE: KBUILD_OUTPUT
1964 +# @DESCRIPTION:
1965 +# A string passed on commandline, or set from the kernel makefile. It contains the directory
1966 +# which is to be used as the kernel object directory.
1967 +
1968 +# There are also a couple of variables which are set by this, and shouldn't be
1969 +# set by hand. These are as follows:
1970 +
1971 +# @ECLASS-VARIABLE: KV_FULL
1972 +# @DESCRIPTION:
1973 +# A read-only variable. It's a string containing the full kernel version. ie: 2.6.9-gentoo-johnm-r1
1974 +
1975 +# @ECLASS-VARIABLE: KV_MAJOR
1976 +# @DESCRIPTION:
1977 +# A read-only variable. It's an integer containing the kernel major version. ie: 2
1978 +
1979 +# @ECLASS-VARIABLE: KV_MINOR
1980 +# @DESCRIPTION:
1981 +# A read-only variable. It's an integer containing the kernel minor version. ie: 6
1982 +
1983 +# @ECLASS-VARIABLE: KV_PATCH
1984 +# @DESCRIPTION:
1985 +# A read-only variable. It's an integer containing the kernel patch version. ie: 9
1986 +
1987 +# @ECLASS-VARIABLE: KV_EXTRA
1988 +# @DESCRIPTION:
1989 +# A read-only variable. It's a string containing the kernel EXTRAVERSION. ie: -gentoo
1990 +
1991 +# @ECLASS-VARIABLE: KV_LOCAL
1992 +# @DESCRIPTION:
1993 +# A read-only variable. It's a string containing the kernel LOCALVERSION concatenation. ie: -johnm
1994 +
1995 +# @ECLASS-VARIABLE: KV_DIR
1996 +# @DESCRIPTION:
1997 +# A read-only variable. It's a string containing the kernel source directory, will be null if
1998 +# KERNEL_DIR is invalid.
1999 +
2000 +# @ECLASS-VARIABLE: KV_OUT_DIR
2001 +# @DESCRIPTION:
2002 +# A read-only variable. It's a string containing the kernel object directory, will be KV_DIR unless
2003 +# KBUILD_OUTPUT is used. This should be used for referencing .config.
2004 +
2005 +# And to ensure all the weirdness with crosscompile
2006 +inherit toolchain-funcs
2007 +[[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver
2008 +
2009 +EXPORT_FUNCTIONS pkg_setup
2010 +
2011 +IUSE="kernel_linux"
2012 +
2013 +# Overwritable environment Var's
2014 +# ---------------------------------------
2015 +KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
2016 +
2017 +
2018 +# Bug fixes
2019 +# fix to bug #75034
2020 +case ${ARCH} in
2021 + ppc) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
2022 + ppc64) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
2023 +esac
2024 +
2025 +# @FUNCTION: set_arch_to_kernel
2026 +# @DESCRIPTION:
2027 +# Set the env ARCH to match what the kernel expects.
2028 +set_arch_to_kernel() { export ARCH=$(tc-arch-kernel); }
2029 +# @FUNCTION: set_arch_to_portage
2030 +# @DESCRIPTION:
2031 +# Set the env ARCH to match what portage expects.
2032 +set_arch_to_portage() { export ARCH=$(tc-arch); }
2033 +
2034 +# qeinfo "Message"
2035 +# -------------------
2036 +# qeinfo is a quiet einfo call when EBUILD_PHASE
2037 +# should not have visible output.
2038 +qout() {
2039 + local outputmsg type
2040 + type=${1}
2041 + shift
2042 + outputmsg="${@}"
2043 + case "${EBUILD_PHASE}" in
2044 + depend) unset outputmsg;;
2045 + clean) unset outputmsg;;
2046 + preinst) unset outputmsg;;
2047 + esac
2048 + [ -n "${outputmsg}" ] && ${type} "${outputmsg}"
2049 +}
2050 +
2051 +qeinfo() { qout einfo "${@}" ; }
2052 +qewarn() { qout ewarn "${@}" ; }
2053 +qeerror() { qout eerror "${@}" ; }
2054 +
2055 +# File Functions
2056 +# ---------------------------------------
2057 +
2058 +# @FUNCTION: getfilevar
2059 +# @USAGE: variable configfile
2060 +# @RETURN: the value of the variable
2061 +# @DESCRIPTION:
2062 +# It detects the value of the variable defined in the file configfile. This is
2063 +# done by including the configfile, and printing the variable with Make.
2064 +# It WILL break if your makefile has missing dependencies!
2065 +getfilevar() {
2066 + local ERROR basefname basedname myARCH="${ARCH}" M="${S}"
2067 + ERROR=0
2068 +
2069 + [ -z "${1}" ] && ERROR=1
2070 + [ ! -f "${2}" ] && ERROR=1
2071 +
2072 + if [ "${ERROR}" = 1 ]
2073 + then
2074 + echo -e "\n"
2075 + eerror "getfilevar requires 2 variables, with the second a valid file."
2076 + eerror " getfilevar <VARIABLE> <CONFIGFILE>"
2077 + else
2078 + basefname="$(basename ${2})"
2079 + basedname="$(dirname ${2})"
2080 + unset ARCH
2081 +
2082 + # We use nonfatal because we want the caller to take care of things #373151
2083 + [[ ${EAPI:-0} == [0123] ]] && nonfatal() { "$@"; }
2084 + case ${EBUILD_PHASE_FUNC} in
2085 + pkg_info|pkg_nofetch|pkg_pretend) M="${T}" ;;
2086 + esac
2087 + echo -e "e:\\n\\t@echo \$(${1})\\ninclude ${basefname}" | \
2088 + nonfatal emake -C "${basedname}" M="${M}" ${BUILD_FIXES} -s -f - 2>/dev/null
2089 +
2090 + ARCH=${myARCH}
2091 + fi
2092 +}
2093 +
2094 +# @FUNCTION: getfilevar_noexec
2095 +# @USAGE: variable configfile
2096 +# @RETURN: the value of the variable
2097 +# @DESCRIPTION:
2098 +# It detects the value of the variable defined in the file configfile.
2099 +# This is done with sed matching an expression only. If the variable is defined,
2100 +# you will run into problems. See getfilevar for those cases.
2101 +getfilevar_noexec() {
2102 + local ERROR basefname basedname mycat myARCH="${ARCH}"
2103 + ERROR=0
2104 + mycat='cat'
2105 +
2106 + [ -z "${1}" ] && ERROR=1
2107 + [ ! -f "${2}" ] && ERROR=1
2108 + [ "${2%.gz}" != "${2}" ] && mycat='zcat'
2109 +
2110 + if [ "${ERROR}" = 1 ]
2111 + then
2112 + echo -e "\n"
2113 + eerror "getfilevar_noexec requires 2 variables, with the second a valid file."
2114 + eerror " getfilevar_noexec <VARIABLE> <CONFIGFILE>"
2115 + else
2116 + ${mycat} "${2}" | \
2117 + sed -n \
2118 + -e "/^[[:space:]]*${1}[[:space:]]*:\\?=[[:space:]]*\(.*\)\$/{
2119 + s,^[^=]*[[:space:]]*=[[:space:]]*,,g ;
2120 + s,[[:space:]]*\$,,g ;
2121 + p
2122 + }"
2123 + fi
2124 +}
2125 +
2126 +# @ECLASS-VARIABLE: _LINUX_CONFIG_EXISTS_DONE
2127 +# @INTERNAL
2128 +# @DESCRIPTION:
2129 +# This is only set if one of the linux_config_*exists functions has been called.
2130 +# We use it for a QA warning that the check for a config has not been performed,
2131 +# as linux_chkconfig* in non-legacy mode WILL return an undefined value if no
2132 +# config is available at all.
2133 +_LINUX_CONFIG_EXISTS_DONE=
2134 +
2135 +linux_config_qa_check() {
2136 + local f="$1"
2137 + if [ -z "${_LINUX_CONFIG_EXISTS_DONE}" ]; then
2138 + ewarn "QA: You called $f before any linux_config_exists!"
2139 + ewarn "QA: The return value of $f will NOT guaranteed later!"
2140 + fi
2141 +
2142 + if ! use kernel_linux; then
2143 + die "$f called on non-Linux system, please fix the ebuild"
2144 + fi
2145 +}
2146 +
2147 +# @FUNCTION: linux_config_src_exists
2148 +# @RETURN: true or false
2149 +# @DESCRIPTION:
2150 +# It returns true if .config exists in a build directory otherwise false
2151 +linux_config_src_exists() {
2152 + export _LINUX_CONFIG_EXISTS_DONE=1
2153 + use kernel_linux && [[ -n ${KV_OUT_DIR} && -s ${KV_OUT_DIR}/.config ]]
2154 +}
2155 +
2156 +# @FUNCTION: linux_config_bin_exists
2157 +# @RETURN: true or false
2158 +# @DESCRIPTION:
2159 +# It returns true if .config exists in /proc, otherwise false
2160 +linux_config_bin_exists() {
2161 + export _LINUX_CONFIG_EXISTS_DONE=1
2162 + use kernel_linux && [[ -s /proc/config.gz ]]
2163 +}
2164 +
2165 +# @FUNCTION: linux_config_exists
2166 +# @RETURN: true or false
2167 +# @DESCRIPTION:
2168 +# It returns true if .config exists otherwise false
2169 +#
2170 +# This function MUST be checked before using any of the linux_chkconfig_*
2171 +# functions.
2172 +linux_config_exists() {
2173 + linux_config_src_exists || linux_config_bin_exists
2174 +}
2175 +
2176 +# @FUNCTION: linux_config_path
2177 +# @DESCRIPTION:
2178 +# Echo the name of the config file to use. If none are found,
2179 +# then return false.
2180 +linux_config_path() {
2181 + if linux_config_src_exists; then
2182 + echo "${KV_OUT_DIR}/.config"
2183 + elif linux_config_bin_exists; then
2184 + echo "/proc/config.gz"
2185 + else
2186 + return 1
2187 + fi
2188 +}
2189 +
2190 +# @FUNCTION: require_configured_kernel
2191 +# @DESCRIPTION:
2192 +# This function verifies that the current kernel is configured (it checks against the existence of .config)
2193 +# otherwise it dies.
2194 +require_configured_kernel() {
2195 + if ! use kernel_linux; then
2196 + die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
2197 + fi
2198 +
2199 + if ! linux_config_src_exists; then
2200 + qeerror "Could not find a usable .config in the kernel source directory."
2201 + qeerror "Please ensure that ${KERNEL_DIR} points to a configured set of Linux sources."
2202 + qeerror "If you are using KBUILD_OUTPUT, please set the environment var so that"
2203 + qeerror "it points to the necessary object directory so that it might find .config."
2204 + die "Kernel not configured; no .config found in ${KV_OUT_DIR}"
2205 + fi
2206 + get_version || die "Unable to determine configured kernel version"
2207 +}
2208 +
2209 +# @FUNCTION: linux_chkconfig_present
2210 +# @USAGE: option
2211 +# @RETURN: true or false
2212 +# @DESCRIPTION:
2213 +# It checks that CONFIG_<option>=y or CONFIG_<option>=m is present in the current kernel .config
2214 +# If linux_config_exists returns false, the results of this are UNDEFINED. You
2215 +# MUST call linux_config_exists first.
2216 +linux_chkconfig_present() {
2217 + linux_config_qa_check linux_chkconfig_present
2218 + [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == [my] ]]
2219 +}
2220 +
2221 +# @FUNCTION: linux_chkconfig_module
2222 +# @USAGE: option
2223 +# @RETURN: true or false
2224 +# @DESCRIPTION:
2225 +# It checks that CONFIG_<option>=m is present in the current kernel .config
2226 +# If linux_config_exists returns false, the results of this are UNDEFINED. You
2227 +# MUST call linux_config_exists first.
2228 +linux_chkconfig_module() {
2229 + linux_config_qa_check linux_chkconfig_module
2230 + [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == m ]]
2231 +}
2232 +
2233 +# @FUNCTION: linux_chkconfig_builtin
2234 +# @USAGE: option
2235 +# @RETURN: true or false
2236 +# @DESCRIPTION:
2237 +# It checks that CONFIG_<option>=y is present in the current kernel .config
2238 +# If linux_config_exists returns false, the results of this are UNDEFINED. You
2239 +# MUST call linux_config_exists first.
2240 +linux_chkconfig_builtin() {
2241 + linux_config_qa_check linux_chkconfig_builtin
2242 + [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == y ]]
2243 +}
2244 +
2245 +# @FUNCTION: linux_chkconfig_string
2246 +# @USAGE: option
2247 +# @RETURN: CONFIG_<option>
2248 +# @DESCRIPTION:
2249 +# It prints the CONFIG_<option> value of the current kernel .config (it requires a configured kernel).
2250 +# If linux_config_exists returns false, the results of this are UNDEFINED. You
2251 +# MUST call linux_config_exists first.
2252 +linux_chkconfig_string() {
2253 + linux_config_qa_check linux_chkconfig_string
2254 + getfilevar_noexec "CONFIG_$1" "$(linux_config_path)"
2255 +}
2256 +
2257 +# Versioning Functions
2258 +# ---------------------------------------
2259 +
2260 +# @FUNCTION: kernel_is
2261 +# @USAGE: [-lt -gt -le -ge -eq] major_number [minor_number patch_number]
2262 +# @RETURN: true or false
2263 +# @DESCRIPTION:
2264 +# It returns true when the current kernel version satisfies the comparison against the passed version.
2265 +# -eq is the default comparison.
2266 +#
2267 +# @CODE
2268 +# For Example where KV = 2.6.9
2269 +# kernel_is 2 4 returns false
2270 +# kernel_is 2 returns true
2271 +# kernel_is 2 6 returns true
2272 +# kernel_is 2 6 8 returns false
2273 +# kernel_is 2 6 9 returns true
2274 +# @CODE
2275 +
2276 +# Note: duplicated in kernel-2.eclass
2277 +kernel_is() {
2278 + if ! use kernel_linux; then
2279 + die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
2280 + fi
2281 +
2282 + # if we haven't determined the version yet, we need to.
2283 + linux-info_get_any_version
2284 +
2285 + # Now we can continue
2286 + local operator test value
2287 +
2288 + case ${1#-} in
2289 + lt) operator="-lt"; shift;;
2290 + gt) operator="-gt"; shift;;
2291 + le) operator="-le"; shift;;
2292 + ge) operator="-ge"; shift;;
2293 + eq) operator="-eq"; shift;;
2294 + *) operator="-eq";;
2295 + esac
2296 + [[ $# -gt 3 ]] && die "Error in kernel-2_kernel_is(): too many parameters"
2297 +
2298 + : $(( test = (KV_MAJOR << 16) + (KV_MINOR << 8) + KV_PATCH ))
2299 + : $(( value = (${1:-${KV_MAJOR}} << 16) + (${2:-${KV_MINOR}} << 8) + ${3:-${KV_PATCH}} ))
2300 + [ ${test} ${operator} ${value} ]
2301 +}
2302 +
2303 +get_localversion() {
2304 + local lv_list i x
2305 +
2306 + local shopt_save=$(shopt -p nullglob)
2307 + shopt -s nullglob
2308 + local files=( ${1}/localversion* )
2309 + ${shopt_save}
2310 +
2311 + # ignore files with ~ in it.
2312 + for i in "${files[@]}"; do
2313 + [[ -n ${i//*~*} ]] && lv_list="${lv_list} ${i}"
2314 + done
2315 +
2316 + for i in ${lv_list}; do
2317 + x="${x}$(<${i})"
2318 + done
2319 + x=${x/ /}
2320 + echo ${x}
2321 +}
2322 +
2323 +# Check if the Makefile is valid for direct parsing.
2324 +# Check status results:
2325 +# - PASS, use 'getfilevar' to extract values
2326 +# - FAIL, use 'getfilevar_noexec' to extract values
2327 +# The check may fail if:
2328 +# - make is not present
2329 +# - corruption exists in the kernel makefile
2330 +get_makefile_extract_function() {
2331 + local a='' b='' mkfunc='getfilevar'
2332 + a="$(getfilevar VERSION ${KERNEL_MAKEFILE})"
2333 + b="$(getfilevar_noexec VERSION ${KERNEL_MAKEFILE})"
2334 + [[ "${a}" != "${b}" ]] && mkfunc='getfilevar_noexec'
2335 + echo "${mkfunc}"
2336 +}
2337 +
2338 +# internal variable, so we know to only print the warning once
2339 +get_version_warning_done=
2340 +
2341 +# @FUNCTION: get_version
2342 +# @DESCRIPTION:
2343 +# It gets the version of the kernel inside KERNEL_DIR and populates the KV_FULL variable
2344 +# (if KV_FULL is already set it does nothing).
2345 +#
2346 +# The kernel version variables (KV_MAJOR, KV_MINOR, KV_PATCH, KV_EXTRA and KV_LOCAL) are also set.
2347 +#
2348 +# The KV_DIR is set using the KERNEL_DIR env var, the KV_DIR_OUT is set using a valid
2349 +# KBUILD_OUTPUT (in a decreasing priority list, we look for the env var, makefile var or the
2350 +# symlink /lib/modules/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}/build).
2351 +get_version() {
2352 + if ! use kernel_linux; then
2353 + die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
2354 + fi
2355 +
2356 + local tmplocal
2357 +
2358 + # no need to execute this twice assuming KV_FULL is populated.
2359 + # we can force by unsetting KV_FULL
2360 + [ -n "${KV_FULL}" ] && return 0
2361 +
2362 + # if we dont know KV_FULL, then we need too.
2363 + # make sure KV_DIR isnt set since we need to work it out via KERNEL_DIR
2364 + unset KV_DIR
2365 +
2366 + # KV_DIR will contain the full path to the sources directory we should use
2367 + [ -z "${get_version_warning_done}" ] && \
2368 + qeinfo "Determining the location of the kernel source code"
2369 + [ -d "${KERNEL_DIR}" ] && KV_DIR="${KERNEL_DIR}"
2370 +
2371 + if [ -z "${KV_DIR}" ]
2372 + then
2373 + if [ -z "${get_version_warning_done}" ]; then
2374 + get_version_warning_done=1
2375 + qewarn "Unable to find kernel sources at ${KERNEL_DIR}"
2376 + #qeinfo "This package requires Linux sources."
2377 + if [ "${KERNEL_DIR}" == "/usr/src/linux" ] ; then
2378 + qeinfo "Please make sure that ${KERNEL_DIR} points at your running kernel, "
2379 + qeinfo "(or the kernel you wish to build against)."
2380 + qeinfo "Alternatively, set the KERNEL_DIR environment variable to the kernel sources location"
2381 + else
2382 + qeinfo "Please ensure that the KERNEL_DIR environment variable points at full Linux sources of the kernel you wish to compile against."
2383 + fi
2384 + fi
2385 + return 1
2386 + fi
2387 +
2388 + # See if the kernel dir is actually an output dir. #454294
2389 + if [ -z "${KBUILD_OUTPUT}" -a -L "${KERNEL_DIR}/source" ]; then
2390 + KBUILD_OUTPUT=${KERNEL_DIR}
2391 + KERNEL_DIR=$(readlink -f "${KERNEL_DIR}/source")
2392 + KV_DIR=${KERNEL_DIR}
2393 + fi
2394 +
2395 + if [ -z "${get_version_warning_done}" ]; then
2396 + qeinfo "Found kernel source directory:"
2397 + qeinfo " ${KV_DIR}"
2398 + fi
2399 +
2400 + if [ ! -s "${KV_DIR}/Makefile" ]
2401 + then
2402 + if [ -z "${get_version_warning_done}" ]; then
2403 + get_version_warning_done=1
2404 + qeerror "Could not find a Makefile in the kernel source directory."
2405 + qeerror "Please ensure that ${KERNEL_DIR} points to a complete set of Linux sources"
2406 + fi
2407 + return 1
2408 + fi
2409 +
2410 + # OK so now we know our sources directory, but they might be using
2411 + # KBUILD_OUTPUT, and we need this for .config and localversions-*
2412 + # so we better find it eh?
2413 + # do we pass KBUILD_OUTPUT on the CLI?
2414 + local OUTPUT_DIR=${KBUILD_OUTPUT}
2415 +
2416 + # keep track of it
2417 + KERNEL_MAKEFILE="${KV_DIR}/Makefile"
2418 +
2419 + if [[ -z ${OUTPUT_DIR} ]]; then
2420 + # Decide the function used to extract makefile variables.
2421 + local mkfunc=$(get_makefile_extract_function "${KERNEL_MAKEFILE}")
2422 +
2423 + # And if we didn't pass it, we can take a nosey in the Makefile.
2424 + OUTPUT_DIR=$(${mkfunc} KBUILD_OUTPUT "${KERNEL_MAKEFILE}")
2425 + fi
2426 +
2427 + # And contrary to existing functions I feel we shouldn't trust the
2428 + # directory name to find version information as this seems insane.
2429 + # So we parse ${KERNEL_MAKEFILE}. We should be able to trust that
2430 + # the Makefile is simple enough to use the noexec extract function.
2431 + # This has been true for every release thus far, and it's faster
2432 + # than using make to evaluate the Makefile every time.
2433 + KV_MAJOR=$(getfilevar_noexec VERSION "${KERNEL_MAKEFILE}")
2434 + KV_MINOR=$(getfilevar_noexec PATCHLEVEL "${KERNEL_MAKEFILE}")
2435 + KV_PATCH=$(getfilevar_noexec SUBLEVEL "${KERNEL_MAKEFILE}")
2436 + KV_EXTRA=$(getfilevar_noexec EXTRAVERSION "${KERNEL_MAKEFILE}")
2437 +
2438 + if [ -z "${KV_MAJOR}" -o -z "${KV_MINOR}" -o -z "${KV_PATCH}" ]
2439 + then
2440 + if [ -z "${get_version_warning_done}" ]; then
2441 + get_version_warning_done=1
2442 + qeerror "Could not detect kernel version."
2443 + qeerror "Please ensure that ${KERNEL_DIR} points to a complete set of Linux sources."
2444 + fi
2445 + return 1
2446 + fi
2447 +
2448 + [ -d "${OUTPUT_DIR}" ] && KV_OUT_DIR="${OUTPUT_DIR}"
2449 + if [ -n "${KV_OUT_DIR}" ];
2450 + then
2451 + qeinfo "Found kernel object directory:"
2452 + qeinfo " ${KV_OUT_DIR}"
2453 + fi
2454 + # and if we STILL have not got it, then we better just set it to KV_DIR
2455 + KV_OUT_DIR="${KV_OUT_DIR:-${KV_DIR}}"
2456 +
2457 + # Grab the kernel release from the output directory.
2458 + # TODO: we MUST detect kernel.release being out of date, and 'return 1' from
2459 + # this function.
2460 + if [ -s "${KV_OUT_DIR}"/include/config/kernel.release ]; then
2461 + KV_LOCAL=$(<"${KV_OUT_DIR}"/include/config/kernel.release)
2462 + elif [ -s "${KV_OUT_DIR}"/.kernelrelease ]; then
2463 + KV_LOCAL=$(<"${KV_OUT_DIR}"/.kernelrelease)
2464 + else
2465 + KV_LOCAL=
2466 + fi
2467 +
2468 + # KV_LOCAL currently contains the full release; discard the first bits.
2469 + tmplocal=${KV_LOCAL#${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}}
2470 +
2471 + # If the updated local version was not changed, the tree is not prepared.
2472 + # Clear out KV_LOCAL in that case.
2473 + # TODO: this does not detect a change in the localversion part between
2474 + # kernel.release and the value that would be generated.
2475 + if [ "$KV_LOCAL" = "$tmplocal" ]; then
2476 + KV_LOCAL=
2477 + else
2478 + KV_LOCAL=$tmplocal
2479 + fi
2480 +
2481 + # and in newer versions we can also pull LOCALVERSION if it is set.
2482 + # but before we do this, we need to find if we use a different object directory.
2483 + # This *WILL* break if the user is using localversions, but we assume it was
2484 + # caught before this if they are.
2485 + if [[ -z ${OUTPUT_DIR} ]] ; then
2486 + # Try to locate a kernel that is most relevant for us.
2487 + for OUTPUT_DIR in "${SYSROOT}" "${ROOT%/}" "" ; do
2488 + OUTPUT_DIR+="/lib/modules/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}${KV_LOCAL}/build"
2489 + if [[ -e ${OUTPUT_DIR} ]] ; then
2490 + break
2491 + fi
2492 + done
2493 + fi
2494 +
2495 + # And we should set KV_FULL to the full expanded version
2496 + KV_FULL="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}${KV_LOCAL}"
2497 +
2498 + qeinfo "Found sources for kernel version:"
2499 + qeinfo " ${KV_FULL}"
2500 +
2501 + return 0
2502 +}
2503 +
2504 +# @FUNCTION: get_running_version
2505 +# @DESCRIPTION:
2506 +# It gets the version of the current running kernel and the result is the same as get_version() if the
2507 +# function can find the sources.
2508 +get_running_version() {
2509 + if ! use kernel_linux; then
2510 + die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
2511 + fi
2512 +
2513 + KV_FULL=$(uname -r)
2514 +
2515 + if [[ -f ${ROOT%/}/lib/modules/${KV_FULL}/source/Makefile && -f ${ROOT%/}/lib/modules/${KV_FULL}/build/Makefile ]]; then
2516 + KERNEL_DIR=$(readlink -f ${ROOT%/}/lib/modules/${KV_FULL}/source)
2517 + KBUILD_OUTPUT=$(readlink -f ${ROOT%/}/lib/modules/${KV_FULL}/build)
2518 + unset KV_FULL
2519 + get_version
2520 + return $?
2521 + elif [[ -f ${ROOT%/}/lib/modules/${KV_FULL}/source/Makefile ]]; then
2522 + KERNEL_DIR=$(readlink -f ${ROOT%/}/lib/modules/${KV_FULL}/source)
2523 + unset KV_FULL
2524 + get_version
2525 + return $?
2526 + elif [[ -f ${ROOT%/}/lib/modules/${KV_FULL}/build/Makefile ]]; then
2527 + KERNEL_DIR=$(readlink -f ${ROOT%/}/lib/modules/${KV_FULL}/build)
2528 + unset KV_FULL
2529 + get_version
2530 + return $?
2531 + else
2532 + # This handles a variety of weird kernel versions. Make sure to update
2533 + # tests/linux-info_get_running_version.sh if you want to change this.
2534 + local kv_full=${KV_FULL//[-+_]*}
2535 + KV_MAJOR=$(ver_cut 1 ${kv_full})
2536 + KV_MINOR=$(ver_cut 2 ${kv_full})
2537 + KV_PATCH=$(ver_cut 3 ${kv_full})
2538 + KV_EXTRA="${KV_FULL#${KV_MAJOR}.${KV_MINOR}${KV_PATCH:+.${KV_PATCH}}}"
2539 + : ${KV_PATCH:=0}
2540 + fi
2541 + return 0
2542 +}
2543 +
2544 +# This next function is named with the eclass prefix to avoid conflicts with
2545 +# some old versionator-like eclass functions.
2546 +
2547 +# @FUNCTION: linux-info_get_any_version
2548 +# @DESCRIPTION:
2549 +# This attempts to find the version of the sources, and otherwise falls back to
2550 +# the version of the running kernel.
2551 +linux-info_get_any_version() {
2552 + if ! use kernel_linux; then
2553 + die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
2554 + fi
2555 +
2556 + if ! get_version; then
2557 + ewarn "Unable to calculate Linux Kernel version for build, attempting to use running version"
2558 + if ! get_running_version; then
2559 + die "Unable to determine any Linux Kernel version, please report a bug"
2560 + fi
2561 + fi
2562 +}
2563 +
2564 +
2565 +# ebuild check functions
2566 +# ---------------------------------------
2567 +
2568 +# @FUNCTION: check_kernel_built
2569 +# @DESCRIPTION:
2570 +# This function verifies that the current kernel sources have been already prepared otherwise it dies.
2571 +check_kernel_built() {
2572 + if ! use kernel_linux; then
2573 + die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
2574 + fi
2575 +
2576 + # if we haven't determined the version yet, we need to
2577 + require_configured_kernel
2578 +
2579 + local versionh_path
2580 + if kernel_is -ge 3 7; then
2581 + versionh_path="include/generated/uapi/linux/version.h"
2582 + else
2583 + versionh_path="include/linux/version.h"
2584 + fi
2585 +
2586 + if [ ! -f "${KV_OUT_DIR}/${versionh_path}" ]
2587 + then
2588 + eerror "These sources have not yet been prepared."
2589 + eerror "We cannot build against an unprepared tree."
2590 + eerror "To resolve this, please type the following:"
2591 + eerror
2592 + eerror "# cd ${KV_DIR}"
2593 + eerror "# make oldconfig"
2594 + eerror "# make modules_prepare"
2595 + eerror
2596 + eerror "Then please try merging this module again."
2597 + die "Kernel sources need compiling first"
2598 + fi
2599 +}
2600 +
2601 +# @FUNCTION: check_modules_supported
2602 +# @DESCRIPTION:
2603 +# This function verifies that the current kernel support modules (it checks CONFIG_MODULES=y) otherwise it dies.
2604 +check_modules_supported() {
2605 + if ! use kernel_linux; then
2606 + die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
2607 + fi
2608 +
2609 + # if we haven't determined the version yet, we need too.
2610 + require_configured_kernel
2611 +
2612 + if ! linux_chkconfig_builtin "MODULES"; then
2613 + eerror "These sources do not support loading external modules."
2614 + eerror "to be able to use this module please enable \"Loadable modules support\""
2615 + eerror "in your kernel, recompile and then try merging this module again."
2616 + die "No support for external modules in ${KV_FULL} config"
2617 + fi
2618 +}
2619 +
2620 +# @FUNCTION: check_extra_config
2621 +# @DESCRIPTION:
2622 +# It checks the kernel config options specified by CONFIG_CHECK. It dies only when a required config option (i.e.
2623 +# the prefix ~ is not used) doesn't satisfy the directive. Ignored on non-Linux systems.
2624 +check_extra_config() {
2625 + use kernel_linux || return
2626 +
2627 + local config negate die error reworkmodulenames
2628 + local soft_errors_count=0 hard_errors_count=0 config_required=0
2629 + # store the value of the QA check, because otherwise we won't catch usages
2630 + # after if check_extra_config is called AND other direct calls are done
2631 + # later.
2632 + local old_LINUX_CONFIG_EXISTS_DONE="${_LINUX_CONFIG_EXISTS_DONE}"
2633 +
2634 + # if we haven't determined the version yet, we need to
2635 + linux-info_get_any_version
2636 +
2637 + # Determine if we really need a .config. The only time when we don't need
2638 + # one is when all of the CONFIG_CHECK options are prefixed with "~".
2639 + for config in ${CONFIG_CHECK}; do
2640 + if [[ "${config:0:1}" != "~" ]]; then
2641 + config_required=1
2642 + break
2643 + fi
2644 + done
2645 +
2646 + if [[ ${config_required} == 0 ]]; then
2647 + # In the case where we don't require a .config, we can now bail out
2648 + # if the user has no .config as there is nothing to do. Otherwise
2649 + # code later will cause a failure due to missing .config.
2650 + if ! linux_config_exists; then
2651 + ewarn "Unable to check for the following kernel config options due"
2652 + ewarn "to absence of any configured kernel sources or compiled"
2653 + ewarn "config:"
2654 + for config in ${CONFIG_CHECK}; do
2655 + config=${config#\~}
2656 + config=${config#\!}
2657 + local_error="ERROR_${config}"
2658 + msg="${!local_error}"
2659 + if [[ -z ${msg} ]]; then
2660 + local_error="WARNING_${config}"
2661 + msg="${!local_error}"
2662 + fi
2663 + ewarn " - ${config}${msg:+ - }${msg}"
2664 + done
2665 + ewarn "You're on your own to make sure they are set if needed."
2666 + export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"
2667 + return 0
2668 + fi
2669 + else
2670 + require_configured_kernel
2671 + fi
2672 +
2673 + einfo "Checking for suitable kernel configuration options..."
2674 +
2675 + for config in ${CONFIG_CHECK}
2676 + do
2677 + # if we specify any fatal, ensure we honor them
2678 + die=1
2679 + error=0
2680 + negate=0
2681 + reworkmodulenames=0
2682 +
2683 + if [[ ${config:0:1} == "~" ]]; then
2684 + die=0
2685 + config=${config:1}
2686 + elif [[ ${config:0:1} == "@" ]]; then
2687 + die=0
2688 + reworkmodulenames=1
2689 + config=${config:1}
2690 + fi
2691 + if [[ ${config:0:1} == "!" ]]; then
2692 + negate=1
2693 + config=${config:1}
2694 + fi
2695 +
2696 + if [[ ${negate} == 1 ]]; then
2697 + linux_chkconfig_present ${config} && error=2
2698 + elif [[ ${reworkmodulenames} == 1 ]]; then
2699 + local temp_config="${config//*:}" i n
2700 + config="${config//:*}"
2701 + if linux_chkconfig_present ${config}; then
2702 + for i in ${MODULE_NAMES}; do
2703 + n="${i//${temp_config}}"
2704 + [[ -z ${n//\(*} ]] && \
2705 + MODULE_IGNORE="${MODULE_IGNORE} ${temp_config}"
2706 + done
2707 + error=2
2708 + fi
2709 + else
2710 + linux_chkconfig_present ${config} || error=1
2711 + fi
2712 +
2713 + if [[ ${error} > 0 ]]; then
2714 + local report_func="eerror" local_error
2715 + local_error="ERROR_${config}"
2716 + local_error="${!local_error}"
2717 +
2718 + if [[ -z "${local_error}" ]]; then
2719 + # using old, deprecated format.
2720 + local_error="${config}_ERROR"
2721 + local_error="${!local_error}"
2722 + fi
2723 + if [[ ${die} == 0 && -z "${local_error}" ]]; then
2724 + #soft errors can be warnings
2725 + local_error="WARNING_${config}"
2726 + local_error="${!local_error}"
2727 + if [[ -n "${local_error}" ]] ; then
2728 + report_func="ewarn"
2729 + fi
2730 + fi
2731 +
2732 + if [[ -z "${local_error}" ]]; then
2733 + [[ ${error} == 1 ]] \
2734 + && local_error="is not set when it should be." \
2735 + || local_error="should not be set. But it is."
2736 + local_error="CONFIG_${config}:\t ${local_error}"
2737 + fi
2738 + if [[ ${die} == 0 ]]; then
2739 + ${report_func} " ${local_error}"
2740 + soft_errors_count=$[soft_errors_count + 1]
2741 + else
2742 + ${report_func} " ${local_error}"
2743 + hard_errors_count=$[hard_errors_count + 1]
2744 + fi
2745 + fi
2746 + done
2747 +
2748 + if [[ ${hard_errors_count} > 0 ]]; then
2749 + eerror "Please check to make sure these options are set correctly."
2750 + eerror "Failure to do so may cause unexpected problems."
2751 + eerror "Once you have satisfied these options, please try merging"
2752 + eerror "this package again."
2753 + export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"
2754 + die "Incorrect kernel configuration options"
2755 + elif [[ ${soft_errors_count} > 0 ]]; then
2756 + ewarn "Please check to make sure these options are set correctly."
2757 + ewarn "Failure to do so may cause unexpected problems."
2758 + else
2759 + eend 0
2760 + fi
2761 + export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"
2762 +}
2763 +
2764 +check_zlibinflate() {
2765 + if ! use kernel_linux; then
2766 + die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
2767 + fi
2768 +
2769 + # if we haven't determined the version yet, we need to
2770 + require_configured_kernel
2771 +
2772 + # although I restructured this code - I really really really dont support it!
2773 +
2774 + # bug #27882 - zlib routines are only linked into the kernel
2775 + # if something compiled into the kernel calls them
2776 + #
2777 + # plus, for the cloop module, it appears that there's no way
2778 + # to get cloop.o to include a static zlib if CONFIG_MODVERSIONS
2779 + # is on
2780 +
2781 + local INFLATE
2782 + local DEFLATE
2783 +
2784 + einfo "Determining the usability of ZLIB_INFLATE support in your kernel"
2785 +
2786 + ebegin "checking ZLIB_INFLATE"
2787 + linux_chkconfig_builtin CONFIG_ZLIB_INFLATE
2788 + eend $? || die
2789 +
2790 + ebegin "checking ZLIB_DEFLATE"
2791 + linux_chkconfig_builtin CONFIG_ZLIB_DEFLATE
2792 + eend $? || die
2793 +
2794 + local LINENO_START
2795 + local LINENO_END
2796 + local SYMBOLS
2797 + local x
2798 +
2799 + LINENO_END="$(grep -n 'CONFIG_ZLIB_INFLATE y' ${KV_DIR}/lib/Config.in | cut -d : -f 1)"
2800 + LINENO_START="$(head -n $LINENO_END ${KV_DIR}/lib/Config.in | grep -n 'if \[' | tail -n 1 | cut -d : -f 1)"
2801 + (( LINENO_AMOUNT = $LINENO_END - $LINENO_START ))
2802 + (( LINENO_END = $LINENO_END - 1 ))
2803 + SYMBOLS="$(head -n $LINENO_END ${KV_DIR}/lib/Config.in | tail -n $LINENO_AMOUNT | sed -e 's/^.*\(CONFIG_[^\" ]*\).*/\1/g;')"
2804 +
2805 + # okay, now we have a list of symbols
2806 + # we need to check each one in turn, to see whether it is set or not
2807 + for x in $SYMBOLS ; do
2808 + if [ "${!x}" = "y" ]; then
2809 + # we have a winner!
2810 + einfo "${x} ensures zlib is linked into your kernel - excellent"
2811 + return 0
2812 + fi
2813 + done
2814 +
2815 + eerror
2816 + eerror "This kernel module requires ZLIB library support."
2817 + eerror "You have enabled zlib support in your kernel, but haven't enabled"
2818 + eerror "enabled any option that will ensure that zlib is linked into your"
2819 + eerror "kernel."
2820 + eerror
2821 + eerror "Please ensure that you enable at least one of these options:"
2822 + eerror
2823 +
2824 + for x in $SYMBOLS ; do
2825 + eerror " * $x"
2826 + done
2827 +
2828 + eerror
2829 + eerror "Please remember to recompile and install your kernel, and reboot"
2830 + eerror "into your new kernel before attempting to load this kernel module."
2831 +
2832 + die "Kernel doesn't include zlib support"
2833 +}
2834 +
2835 +################################
2836 +# Default pkg_setup
2837 +# Also used when inheriting linux-mod to force a get_version call
2838 +# @FUNCTION: linux-info_pkg_setup
2839 +# @DESCRIPTION:
2840 +# Force a get_version() call when inherited from linux-mod.eclass and then check if the kernel is configured
2841 +# to support the options specified in CONFIG_CHECK (if not null)
2842 +linux-info_pkg_setup() {
2843 + use kernel_linux || return
2844 +
2845 + linux-info_get_any_version
2846 +
2847 + if kernel_is 2 4; then
2848 + if [ "$( gcc-major-version )" -eq "4" ] ; then
2849 + echo
2850 + ewarn "Be warned !! >=sys-devel/gcc-4.0.0 isn't supported with"
2851 + ewarn "linux-2.4 (or modules building against a linux-2.4 kernel)!"
2852 + echo
2853 + ewarn "Either switch to another gcc-version (via gcc-config) or use a"
2854 + ewarn "newer kernel that supports gcc-4."
2855 + echo
2856 + ewarn "Also be aware that bugreports about gcc-4 not working"
2857 + ewarn "with linux-2.4 based ebuilds will be closed as INVALID!"
2858 + echo
2859 + fi
2860 + fi
2861 +
2862 + [ -n "${CONFIG_CHECK}" ] && check_extra_config;
2863 +}
2864
2865 diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
2866 new file mode 100644
2867 index 0000000..920790b
2868 --- /dev/null
2869 +++ b/eclass/linux-mod.eclass
2870 @@ -0,0 +1,758 @@
2871 +# Copyright 1999-2018 Gentoo Foundation
2872 +# Distributed under the terms of the GNU General Public License v2
2873 +
2874 +# @ECLASS: linux-mod.eclass
2875 +# @MAINTAINER:
2876 +# kernel@g.o
2877 +# @AUTHOR:
2878 +# John Mylchreest <johnm@g.o>,
2879 +# Stefan Schweizer <genstef@g.o>
2880 +# @BLURB: It provides the functionality required to install external modules against a kernel source tree.
2881 +# @DESCRIPTION:
2882 +# This eclass is used to interface with linux-info.eclass in such a way
2883 +# to provide the functionality and initial functions
2884 +# required to install external modules against a kernel source
2885 +# tree.
2886 +
2887 +# A Couple of env vars are available to effect usage of this eclass
2888 +# These are as follows:
2889 +
2890 +# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE
2891 +# @DESCRIPTION:
2892 +# A string containing the USE flag to use for making this eclass optional
2893 +# The recommended non-empty value is 'modules'
2894 +
2895 +# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE_IUSE_DEFAULT
2896 +# @DESCRIPTION:
2897 +# A boolean to control the IUSE default state for the MODULES_OPTIONAL_USE USE
2898 +# flag. Default value is unset (false). True represented by 1 or 'on', other
2899 +# values including unset treated as false.
2900 +
2901 +# @ECLASS-VARIABLE: KERNEL_DIR
2902 +# @DESCRIPTION:
2903 +# A string containing the directory of the target kernel sources. The default value is
2904 +# "/usr/src/linux"
2905 +
2906 +# @ECLASS-VARIABLE: ECONF_PARAMS
2907 +# @DESCRIPTION:
2908 +# It's a string containing the parameters to pass to econf.
2909 +# If this is not set, then econf isn't run.
2910 +
2911 +# @ECLASS-VARIABLE: BUILD_PARAMS
2912 +# @DESCRIPTION:
2913 +# It's a string with the parameters to pass to emake.
2914 +
2915 +# @ECLASS-VARIABLE: BUILD_TARGETS
2916 +# @DESCRIPTION:
2917 +# It's a string with the build targets to pass to make. The default value is "clean module"
2918 +
2919 +# @ECLASS-VARIABLE: MODULE_NAMES
2920 +# @DESCRIPTION:
2921 +# It's a string containing the modules to be built automatically using the default
2922 +# src_compile/src_install. It will only make ${BUILD_TARGETS} once in any directory.
2923 +#
2924 +# The structure of each MODULE_NAMES entry is as follows:
2925 +#
2926 +# modulename(libdir:srcdir:objdir)
2927 +#
2928 +# where:
2929 +#
2930 +# modulename = name of the module file excluding the .ko
2931 +# libdir = place in system modules directory where module is installed (by default it's misc)
2932 +# srcdir = place for ebuild to cd to before running make (by default it's ${S})
2933 +# objdir = place the .ko and objects are located after make runs (by default it's set to srcdir)
2934 +#
2935 +# To get an idea of how these variables are used, here's a few lines
2936 +# of code from around line 540 in this eclass:
2937 +#
2938 +# einfo "Installing ${modulename} module"
2939 +# cd ${objdir} || die "${objdir} does not exist"
2940 +# insinto /lib/modules/${KV_FULL}/${libdir}
2941 +# doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed"
2942 +#
2943 +# For example:
2944 +# MODULE_NAMES="module_pci(pci:${S}/pci:${S}) module_usb(usb:${S}/usb:${S})"
2945 +#
2946 +# what this would do is
2947 +#
2948 +# cd "${S}"/pci
2949 +# make ${BUILD_PARAMS} ${BUILD_TARGETS}
2950 +# cd "${S}"
2951 +# insinto /lib/modules/${KV_FULL}/pci
2952 +# doins module_pci.${KV_OBJ}
2953 +#
2954 +# cd "${S}"/usb
2955 +# make ${BUILD_PARAMS} ${BUILD_TARGETS}
2956 +# cd "${S}"
2957 +# insinto /lib/modules/${KV_FULL}/usb
2958 +# doins module_usb.${KV_OBJ}
2959 +
2960 +# There is also support for automated modprobe.d file generation.
2961 +# This can be explicitly enabled by setting any of the following variables.
2962 +
2963 +# @ECLASS-VARIABLE: MODULESD_<modulename>_ENABLED
2964 +# @DESCRIPTION:
2965 +# This is used to disable the modprobe.d file generation otherwise the file will be
2966 +# always generated (unless no MODULESD_<modulename>_* variable is provided). Set to "no" to disable
2967 +# the generation of the file and the installation of the documentation.
2968 +
2969 +# @ECLASS-VARIABLE: MODULESD_<modulename>_EXAMPLES
2970 +# @DESCRIPTION:
2971 +# This is a bash array containing a list of examples which should
2972 +# be used. If you want us to try and take a guess set this to "guess".
2973 +#
2974 +# For each array_component it's added an options line in the modprobe.d file
2975 +#
2976 +# options array_component
2977 +#
2978 +# where array_component is "<modulename> options" (see modprobe.conf(5))
2979 +
2980 +# @ECLASS-VARIABLE: MODULESD_<modulename>_ALIASES
2981 +# @DESCRIPTION:
2982 +# This is a bash array containing a list of associated aliases.
2983 +#
2984 +# For each array_component it's added an alias line in the modprobe.d file
2985 +#
2986 +# alias array_component
2987 +#
2988 +# where array_component is "wildcard <modulename>" (see modprobe.conf(5))
2989 +
2990 +# @ECLASS-VARIABLE: MODULESD_<modulename>_ADDITIONS
2991 +# @DESCRIPTION:
2992 +# This is a bash array containing a list of additional things to
2993 +# add to the bottom of the file. This can be absolutely anything.
2994 +# Each entry is a new line.
2995 +
2996 +# @ECLASS-VARIABLE: MODULESD_<modulename>_DOCS
2997 +# @DESCRIPTION:
2998 +# This is a string list which contains the full path to any associated
2999 +# documents for <modulename>. These files are installed in the live tree.
3000 +
3001 +# @ECLASS-VARIABLE: KV_OBJ
3002 +# @DESCRIPTION:
3003 +# It's a read-only variable. It contains the extension of the kernel modules.
3004 +
3005 +inherit eutils linux-info multilib
3006 +EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst src_install src_compile pkg_postrm
3007 +
3008 +case ${MODULES_OPTIONAL_USE_IUSE_DEFAULT:-n} in
3009 + [nNfF]*|[oO][fF]*|0|-) _modules_optional_use_iuse_default='' ;;
3010 + *) _modules_optional_use_iuse_default='+' ;;
3011 +esac
3012 +
3013 +[[ -n "${_modules_optional_use_iuse_default}" ]] && case ${EAPI:-0} in
3014 + 0) die "EAPI=${EAPI} is not supported with MODULES_OPTIONAL_USE_IUSE_DEFAULT due to lack of IUSE defaults" ;;
3015 +esac
3016 +
3017 +IUSE="kernel_linux ${MODULES_OPTIONAL_USE:+${_modules_optional_use_iuse_default}}${MODULES_OPTIONAL_USE}"
3018 +SLOT="0"
3019 +RDEPEND="${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (} kernel_linux? ( virtual/modutils ) ${MODULES_OPTIONAL_USE:+)}"
3020 +DEPEND="${RDEPEND}
3021 + ${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (}
3022 + sys-apps/sed
3023 + kernel_linux? ( virtual/linux-sources virtual/libelf )
3024 + ${MODULES_OPTIONAL_USE:+)}"
3025 +
3026 +# eclass utilities
3027 +# ----------------------------------
3028 +
3029 +check_vermagic() {
3030 + debug-print-function ${FUNCNAME} $*
3031 +
3032 + local curr_gcc_ver=$(gcc -dumpversion)
3033 + local tmpfile old_chost old_gcc_ver result=0
3034 + [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
3035 +
3036 + tmpfile=`find "${KV_DIR}/" -iname "*.o.cmd" -exec grep usr/lib/gcc {} \; -quit`
3037 + tmpfile=${tmpfile//*usr/lib}
3038 + tmpfile=${tmpfile//\/include*}
3039 + old_chost=${tmpfile//*gcc\/}
3040 + old_chost=${old_chost//\/*}
3041 + old_gcc_ver=${tmpfile//*\/}
3042 +
3043 + if [[ -z ${old_gcc_ver} || -z ${old_chost} ]]; then
3044 + ewarn ""
3045 + ewarn "Unable to detect what version of GCC was used to compile"
3046 + ewarn "the kernel. Build will continue, but you may experience problems."
3047 + elif [[ ${curr_gcc_ver} != ${old_gcc_ver} ]]; then
3048 + ewarn ""
3049 + ewarn "The version of GCC you are using (${curr_gcc_ver}) does"
3050 + ewarn "not match the version of GCC used to compile the"
3051 + ewarn "kernel (${old_gcc_ver})."
3052 + result=1
3053 + elif [[ ${CHOST} != ${old_chost} ]]; then
3054 + ewarn ""
3055 + ewarn "The current CHOST (${CHOST}) does not match the chost"
3056 + ewarn "used when compiling the kernel (${old_chost})."
3057 + result=1
3058 + fi
3059 +
3060 + if [[ ${result} -gt 0 ]]; then
3061 + ewarn ""
3062 + ewarn "Build will not continue, because you will experience problems."
3063 + ewarn "To fix this either change the version of GCC you wish to use"
3064 + ewarn "to match the kernel, or recompile the kernel first."
3065 + die "GCC Version Mismatch."
3066 + fi
3067 +}
3068 +
3069 +# @FUNCTION: use_m
3070 +# @RETURN: true or false
3071 +# @DESCRIPTION:
3072 +# It checks if the kernel version is greater than 2.6.5.
3073 +use_m() {
3074 + debug-print-function ${FUNCNAME} $*
3075 +
3076 + # if we haven't determined the version yet, we need too.
3077 + get_version;
3078 +
3079 + # if the kernel version is greater than 2.6.6 then we should use
3080 + # M= instead of SUBDIRS=
3081 + [ ${KV_MAJOR} -eq 3 ] && return 0
3082 + [ ${KV_MAJOR} -eq 2 -a ${KV_MINOR} -gt 5 -a ${KV_PATCH} -gt 5 ] && \
3083 + return 0 || return 1
3084 +}
3085 +
3086 +# @FUNCTION: convert_to_m
3087 +# @USAGE: /path/to/the/file
3088 +# @DESCRIPTION:
3089 +# It converts a file (e.g. a makefile) to use M= instead of SUBDIRS=
3090 +convert_to_m() {
3091 + debug-print-function ${FUNCNAME} $*
3092 +
3093 + if use_m
3094 + then
3095 + [ ! -f "${1}" ] && \
3096 + die "convert_to_m() requires a filename as an argument"
3097 + ebegin "Converting ${1/${WORKDIR}\//} to use M= instead of SUBDIRS="
3098 + sed -i 's:SUBDIRS=:M=:g' "${1}"
3099 + eend $?
3100 + fi
3101 +}
3102 +
3103 +# internal function
3104 +#
3105 +# FUNCTION: update_depmod
3106 +# DESCRIPTION:
3107 +# It updates the modules.dep file for the current kernel.
3108 +update_depmod() {
3109 + debug-print-function ${FUNCNAME} $*
3110 +
3111 + # if we haven't determined the version yet, we need too.
3112 + get_version;
3113 +
3114 + ebegin "Updating module dependencies for ${KV_FULL}"
3115 + if [ -r "${KV_OUT_DIR}"/System.map ]
3116 + then
3117 + depmod -ae -F "${KV_OUT_DIR}"/System.map -b "${ROOT:-/}" ${KV_FULL}
3118 + eend $?
3119 + else
3120 + ewarn
3121 + ewarn "${KV_OUT_DIR}/System.map not found."
3122 + ewarn "You must manually update the kernel module dependencies using depmod."
3123 + eend 1
3124 + ewarn
3125 + fi
3126 +}
3127 +
3128 +# internal function
3129 +#
3130 +# FUNCTION: move_old_moduledb
3131 +# DESCRIPTION:
3132 +# It updates the location of the database used by the module-rebuild utility.
3133 +move_old_moduledb() {
3134 + debug-print-function ${FUNCNAME} $*
3135 +
3136 + local OLDDIR="${ROOT%/}"/usr/share/module-rebuild
3137 + local NEWDIR="${ROOT%/}"/var/lib/module-rebuild
3138 +
3139 + if [[ -f "${OLDDIR}"/moduledb ]]; then
3140 + [[ ! -d "${NEWDIR}" ]] && mkdir -p "${NEWDIR}"
3141 + [[ ! -f "${NEWDIR}"/moduledb ]] && \
3142 + mv "${OLDDIR}"/moduledb "${NEWDIR}"/moduledb
3143 + rm -f "${OLDDIR}"/*
3144 + rmdir "${OLDDIR}"
3145 + fi
3146 +}
3147 +
3148 +# internal function
3149 +#
3150 +# FUNCTION: update_moduledb
3151 +# DESCRIPTION:
3152 +# It adds the package to the /var/lib/module-rebuild/moduledb database used by the module-rebuild utility.
3153 +update_moduledb() {
3154 + debug-print-function ${FUNCNAME} $*
3155 +
3156 + local MODULEDB_DIR="${ROOT%/}"/var/lib/module-rebuild
3157 + move_old_moduledb
3158 +
3159 + if [[ ! -f "${MODULEDB_DIR}"/moduledb ]]; then
3160 + [[ ! -d "${MODULEDB_DIR}" ]] && mkdir -p "${MODULEDB_DIR}"
3161 + touch "${MODULEDB_DIR}"/moduledb
3162 + fi
3163 +
3164 + if ! grep -qs ${CATEGORY}/${PN}-${PVR} "${MODULEDB_DIR}"/moduledb ; then
3165 + einfo "Adding module to moduledb."
3166 + echo "a:1:${CATEGORY}/${PN}-${PVR}" >> "${MODULEDB_DIR}"/moduledb
3167 + fi
3168 +}
3169 +
3170 +# internal function
3171 +#
3172 +# FUNCTION: remove_moduledb
3173 +# DESCRIPTION:
3174 +# It removes the package from the /var/lib/module-rebuild/moduledb database used by
3175 +# the module-rebuild utility.
3176 +remove_moduledb() {
3177 + debug-print-function ${FUNCNAME} $*
3178 +
3179 + local MODULEDB_DIR="${ROOT%/}"/var/lib/module-rebuild
3180 + move_old_moduledb
3181 +
3182 + if grep -qs ${CATEGORY}/${PN}-${PVR} "${MODULEDB_DIR}"/moduledb ; then
3183 + einfo "Removing ${CATEGORY}/${PN}-${PVR} from moduledb."
3184 + sed -i -e "/.*${CATEGORY}\/${PN}-${PVR}.*/d" "${MODULEDB_DIR}"/moduledb
3185 + fi
3186 +}
3187 +
3188 +# @FUNCTION: set_kvobj
3189 +# @DESCRIPTION:
3190 +# It sets the KV_OBJ variable.
3191 +set_kvobj() {
3192 + debug-print-function ${FUNCNAME} $*
3193 +
3194 + if kernel_is ge 2 6
3195 + then
3196 + KV_OBJ="ko"
3197 + else
3198 + KV_OBJ="o"
3199 + fi
3200 + # Do we really need to know this?
3201 + # Lets silence it.
3202 + # einfo "Using KV_OBJ=${KV_OBJ}"
3203 +}
3204 +
3205 +get-KERNEL_CC() {
3206 + debug-print-function ${FUNCNAME} $*
3207 +
3208 + if [[ -n ${KERNEL_CC} ]] ; then
3209 + echo "${KERNEL_CC}"
3210 + return
3211 + fi
3212 +
3213 + local kernel_cc
3214 + if [ -n "${KERNEL_ABI}" ]; then
3215 + # In future, an arch might want to define CC_$ABI
3216 + #kernel_cc="$(get_abi_CC)"
3217 + #[ -z "${kernel_cc}" ] &&
3218 + kernel_cc="$(tc-getCC $(ABI=${KERNEL_ABI} get_abi_CHOST))"
3219 + else
3220 + kernel_cc=$(tc-getCC)
3221 + fi
3222 + echo "${kernel_cc}"
3223 +}
3224 +
3225 +# internal function
3226 +#
3227 +# FUNCTION:
3228 +# USAGE: /path/to/the/modulename_without_extension
3229 +# RETURN: A file in /etc/modprobe.d
3230 +# DESCRIPTION:
3231 +# This function will generate and install the neccessary modprobe.d file from the
3232 +# information contained in the modules exported parms.
3233 +# (see the variables MODULESD_<modulename>_ENABLED, MODULESD_<modulename>_EXAMPLES,
3234 +# MODULESD_<modulename>_ALIASES, MODULESD_<modulename>_ADDITION and MODULESD_<modulename>_DOCS).
3235 +#
3236 +# At the end the documentation specified with MODULESD_<modulename>_DOCS is installed.
3237 +generate_modulesd() {
3238 + debug-print-function ${FUNCNAME} $*
3239 + [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
3240 +
3241 + local currm_path currm currm_t t myIFS myVAR
3242 + local module_docs module_enabled module_aliases \
3243 + module_additions module_examples module_modinfo module_opts
3244 +
3245 + for currm_path in ${@}
3246 + do
3247 + currm=${currm_path//*\/}
3248 + currm=$(echo ${currm} | tr '[:lower:]' '[:upper:]')
3249 + currm_t=${currm}
3250 + while [[ -z ${currm_t//*-*} ]]; do
3251 + currm_t=${currm_t/-/_}
3252 + done
3253 +
3254 + module_docs="$(eval echo \${MODULESD_${currm_t}_DOCS})"
3255 + module_enabled="$(eval echo \${MODULESD_${currm_t}_ENABLED})"
3256 + module_aliases="$(eval echo \${#MODULESD_${currm_t}_ALIASES[*]})"
3257 + module_additions="$(eval echo \${#MODULESD_${currm_t}_ADDITIONS[*]})"
3258 + module_examples="$(eval echo \${#MODULESD_${currm_t}_EXAMPLES[*]})"
3259 +
3260 + [[ ${module_aliases} -eq 0 ]] && unset module_aliases
3261 + [[ ${module_additions} -eq 0 ]] && unset module_additions
3262 + [[ ${module_examples} -eq 0 ]] && unset module_examples
3263 +
3264 + # If we specify we dont want it, then lets exit, otherwise we assume
3265 + # that if its set, we do want it.
3266 + [[ ${module_enabled} == no ]] && return 0
3267 +
3268 + # unset any unwanted variables.
3269 + for t in ${!module_*}
3270 + do
3271 + [[ -z ${!t} ]] && unset ${t}
3272 + done
3273 +
3274 + [[ -z ${!module_*} ]] && return 0
3275 +
3276 + # OK so now if we have got this far, then we know we want to continue
3277 + # and generate the modprobe.d file.
3278 + module_modinfo="$(modinfo -p ${currm_path}.${KV_OBJ})"
3279 + module_config="${T}/modulesd-${currm}"
3280 +
3281 + ebegin "Preparing file for modprobe.d"
3282 + #-----------------------------------------------------------------------
3283 + echo "# modprobe.d configuration file for ${currm}" >> "${module_config}"
3284 + #-----------------------------------------------------------------------
3285 + [[ -n ${module_docs} ]] && \
3286 + echo "# For more information please read:" >> "${module_config}"
3287 + for t in ${module_docs}
3288 + do
3289 + echo "# ${t//*\/}" >> "${module_config}"
3290 + done
3291 + echo >> "${module_config}"
3292 +
3293 + #-----------------------------------------------------------------------
3294 + if [[ ${module_aliases} -gt 0 ]]
3295 + then
3296 + echo "# Internal Aliases - Do not edit" >> "${module_config}"
3297 + echo "# ------------------------------" >> "${module_config}"
3298 +
3299 + for((t=0; t<${module_aliases}; t++))
3300 + do
3301 + echo "alias $(eval echo \${MODULESD_${currm}_ALIASES[$t]})" \
3302 + >> "${module_config}"
3303 + done
3304 + echo '' >> "${module_config}"
3305 + fi
3306 +
3307 + #-----------------------------------------------------------------------
3308 + if [[ -n ${module_modinfo} ]]
3309 + then
3310 + echo >> "${module_config}"
3311 + echo "# Configurable module parameters" >> "${module_config}"
3312 + echo "# ------------------------------" >> "${module_config}"
3313 + myIFS="${IFS}"
3314 + IFS="$(echo -en "\n\b")"
3315 +
3316 + for t in ${module_modinfo}
3317 + do
3318 + myVAR="$(echo ${t#*:} | grep -o "[^ ]*[0-9][ =][^ ]*" | tail -1 | grep -o "[0-9]")"
3319 + if [[ -n ${myVAR} ]]
3320 + then
3321 + module_opts="${module_opts} ${t%%:*}:${myVAR}"
3322 + fi
3323 + echo -e "# ${t%%:*}:\t${t#*:}" >> "${module_config}"
3324 + done
3325 + IFS="${myIFS}"
3326 + echo '' >> "${module_config}"
3327 + fi
3328 +
3329 + #-----------------------------------------------------------------------
3330 + if [[ $(eval echo \${MODULESD_${currm}_ALIASES[0]}) == guess ]]
3331 + then
3332 + # So lets do some guesswork eh?
3333 + if [[ -n ${module_opts} ]]
3334 + then
3335 + echo "# For Example..." >> "${module_config}"
3336 + echo "# --------------" >> "${module_config}"
3337 + for t in ${module_opts}
3338 + do
3339 + echo "# options ${currm} ${t//:*}=${t//*:}" >> "${module_config}"
3340 + done
3341 + echo '' >> "${module_config}"
3342 + fi
3343 + elif [[ ${module_examples} -gt 0 ]]
3344 + then
3345 + echo "# For Example..." >> "${module_config}"
3346 + echo "# --------------" >> "${module_config}"
3347 + for((t=0; t<${module_examples}; t++))
3348 + do
3349 + echo "options $(eval echo \${MODULESD_${currm}_EXAMPLES[$t]})" \
3350 + >> "${module_config}"
3351 + done
3352 + echo '' >> "${module_config}"
3353 + fi
3354 +
3355 + #-----------------------------------------------------------------------
3356 + if [[ ${module_additions} -gt 0 ]]
3357 + then
3358 + for((t=0; t<${module_additions}; t++))
3359 + do
3360 + echo "$(eval echo \${MODULESD_${currm}_ADDITIONS[$t]})" \
3361 + >> "${module_config}"
3362 + done
3363 + echo '' >> "${module_config}"
3364 + fi
3365 +
3366 + #-----------------------------------------------------------------------
3367 +
3368 + # then we install it
3369 + insinto /etc/modprobe.d
3370 + newins "${module_config}" "${currm_path//*\/}.conf"
3371 +
3372 + # and install any documentation we might have.
3373 + [[ -n ${module_docs} ]] && dodoc ${module_docs}
3374 + done
3375 + eend 0
3376 + return 0
3377 +}
3378 +
3379 +# internal function
3380 +#
3381 +# FUNCTION: find_module_params
3382 +# USAGE: A string "NAME(LIBDIR:SRCDIR:OBJDIR)"
3383 +# RETURN: The string "modulename:NAME libdir:LIBDIR srcdir:SRCDIR objdir:OBJDIR"
3384 +# DESCRIPTION:
3385 +# Analyze the specification NAME(LIBDIR:SRCDIR:OBJDIR) of one module as described in MODULE_NAMES.
3386 +find_module_params() {
3387 + debug-print-function ${FUNCNAME} $*
3388 +
3389 + local matched_offset=0 matched_opts=0 test="${@}" temp_var result
3390 + local i=0 y=0 z=0
3391 +
3392 + for((i=0; i<=${#test}; i++))
3393 + do
3394 + case ${test:${i}:1} in
3395 + \() matched_offset[0]=${i};;
3396 + \:) matched_opts=$((${matched_opts} + 1));
3397 + matched_offset[${matched_opts}]="${i}";;
3398 + \)) matched_opts=$((${matched_opts} + 1));
3399 + matched_offset[${matched_opts}]="${i}";;
3400 + esac
3401 + done
3402 +
3403 + for((i=0; i<=${matched_opts}; i++))
3404 + do
3405 + # i = offset were working on
3406 + # y = last offset
3407 + # z = current offset - last offset
3408 + # temp_var = temporary name
3409 + case ${i} in
3410 + 0) tempvar=${test:0:${matched_offset[0]}};;
3411 + *) y=$((${matched_offset[$((${i} - 1))]} + 1))
3412 + z=$((${matched_offset[${i}]} - ${matched_offset[$((${i} - 1))]}));
3413 + z=$((${z} - 1))
3414 + tempvar=${test:${y}:${z}};;
3415 + esac
3416 +
3417 + case ${i} in
3418 + 0) result="${result} modulename:${tempvar}";;
3419 + 1) result="${result} libdir:${tempvar}";;
3420 + 2) result="${result} srcdir:${tempvar}";;
3421 + 3) result="${result} objdir:${tempvar}";;
3422 + esac
3423 + done
3424 +
3425 + echo ${result}
3426 +}
3427 +
3428 +# default ebuild functions
3429 +# --------------------------------
3430 +
3431 +# @FUNCTION: linux-mod_pkg_setup
3432 +# @DESCRIPTION:
3433 +# It checks the CONFIG_CHECK options (see linux-info.eclass(5)), verifies that the kernel is
3434 +# configured, verifies that the sources are prepared, verifies that the modules support is builtin
3435 +# in the kernel and sets the object extension KV_OBJ.
3436 +linux-mod_pkg_setup() {
3437 + debug-print-function ${FUNCNAME} $*
3438 + [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
3439 +
3440 + local is_bin="${MERGE_TYPE}"
3441 +
3442 + # If we are installing a binpkg, take a different path.
3443 + # use MERGE_TYPE if available (eapi>=4); else use non-PMS EMERGE_FROM (eapi<4)
3444 + if has ${EAPI} 0 1 2 3; then
3445 + is_bin=${EMERGE_FROM}
3446 + fi
3447 +
3448 + if [[ ${is_bin} == binary ]]; then
3449 + linux-mod_pkg_setup_binary
3450 + return
3451 + fi
3452 +
3453 + # External modules use kernel symbols (bug #591832)
3454 + CONFIG_CHECK+=" !TRIM_UNUSED_KSYMS"
3455 +
3456 + linux-info_pkg_setup;
3457 + require_configured_kernel
3458 + check_kernel_built;
3459 + strip_modulenames;
3460 + [[ -n ${MODULE_NAMES} ]] && check_modules_supported
3461 + set_kvobj;
3462 + # Commented out with permission from johnm until a fixed version for arches
3463 + # who intentionally use different kernel and userland compilers can be
3464 + # introduced - Jason Wever <weeve@g.o>, 23 Oct 2005
3465 + #check_vermagic;
3466 +}
3467 +
3468 +# @FUNCTION: linux-mod_pkg_setup_binary
3469 +# @DESCRIPTION:
3470 +# Perform all kernel option checks non-fatally, as the .config and
3471 +# /proc/config.gz might not be present. Do not do anything that requires kernel
3472 +# sources.
3473 +linux-mod_pkg_setup_binary() {
3474 + debug-print-function ${FUNCNAME} $*
3475 + local new_CONFIG_CHECK
3476 + # ~ needs always to be quoted, else bash expands it.
3477 + for config in $CONFIG_CHECK ; do
3478 + optional='~'
3479 + [[ ${config:0:1} == "~" ]] && optional=''
3480 + new_CONFIG_CHECK="${new_CONFIG_CHECK} ${optional}${config}"
3481 + done
3482 + CONFIG_CHECK="${new_CONFIG_CHECK}"
3483 + linux-info_pkg_setup;
3484 +}
3485 +
3486 +strip_modulenames() {
3487 + debug-print-function ${FUNCNAME} $*
3488 +
3489 + local i
3490 + for i in ${MODULE_IGNORE}; do
3491 + MODULE_NAMES=${MODULE_NAMES//${i}(*}
3492 + done
3493 +}
3494 +
3495 +# @FUNCTION: linux-mod_src_compile
3496 +# @DESCRIPTION:
3497 +# It compiles all the modules specified in MODULE_NAMES. For each module the econf command is
3498 +# executed only if ECONF_PARAMS is defined, the name of the target is specified by BUILD_TARGETS
3499 +# while the options are in BUILD_PARAMS (all the modules share these variables). The compilation
3500 +# happens inside ${srcdir}.
3501 +#
3502 +# Look at the description of these variables for more details.
3503 +linux-mod_src_compile() {
3504 + debug-print-function ${FUNCNAME} $*
3505 + [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
3506 +
3507 + local modulename libdir srcdir objdir i n myABI="${ABI}"
3508 + set_arch_to_kernel
3509 + ABI="${KERNEL_ABI}"
3510 +
3511 + BUILD_TARGETS=${BUILD_TARGETS:-clean module}
3512 + strip_modulenames;
3513 + cd "${S}"
3514 + touch Module.symvers
3515 + for i in ${MODULE_NAMES}
3516 + do
3517 + unset libdir srcdir objdir
3518 + for n in $(find_module_params ${i})
3519 + do
3520 + eval ${n/:*}=${n/*:/}
3521 + done
3522 + libdir=${libdir:-misc}
3523 + srcdir=${srcdir:-${S}}
3524 + objdir=${objdir:-${srcdir}}
3525 +
3526 + if [ ! -f "${srcdir}/.built" ];
3527 + then
3528 + cd "${srcdir}"
3529 + ln -s "${S}"/Module.symvers Module.symvers
3530 + einfo "Preparing ${modulename} module"
3531 + if [[ -n ${ECONF_PARAMS} ]]
3532 + then
3533 + econf ${ECONF_PARAMS} || \
3534 + die "Unable to run econf ${ECONF_PARAMS}"
3535 + fi
3536 +
3537 + # This looks messy, but it is needed to handle multiple variables
3538 + # being passed in the BUILD_* stuff where the variables also have
3539 + # spaces that must be preserved. If don't do this, then the stuff
3540 + # inside the variables gets used as targets for Make, which then
3541 + # fails.
3542 + eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" \
3543 + CROSS_COMPILE=${CHOST}- \
3544 + LDFLAGS=\"$(get_abi_LDFLAGS)\" \
3545 + ${BUILD_FIXES} \
3546 + ${BUILD_PARAMS} \
3547 + ${BUILD_TARGETS} " \
3548 + || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"
3549 + cd "${OLDPWD}"
3550 + touch "${srcdir}"/.built
3551 + fi
3552 + done
3553 +
3554 + set_arch_to_portage
3555 + ABI="${myABI}"
3556 +}
3557 +
3558 +# @FUNCTION: linux-mod_src_install
3559 +# @DESCRIPTION:
3560 +# It install the modules specified in MODULES_NAME. The modules should be inside the ${objdir}
3561 +# directory and they are installed inside /lib/modules/${KV_FULL}/${libdir}.
3562 +#
3563 +# The modprobe.d configuration file is automatically generated if the
3564 +# MODULESD_<modulename>_* variables are defined. The only way to stop this process is by
3565 +# setting MODULESD_<modulename>_ENABLED=no. At the end the documentation specified via
3566 +# MODULESD_<modulename>_DOCS is also installed.
3567 +#
3568 +# Look at the description of these variables for more details.
3569 +linux-mod_src_install() {
3570 + debug-print-function ${FUNCNAME} $*
3571 + [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
3572 +
3573 + local modulename libdir srcdir objdir i n
3574 +
3575 + strip_modulenames;
3576 + for i in ${MODULE_NAMES}
3577 + do
3578 + unset libdir srcdir objdir
3579 + for n in $(find_module_params ${i})
3580 + do
3581 + eval ${n/:*}=${n/*:/}
3582 + done
3583 + libdir=${libdir:-misc}
3584 + srcdir=${srcdir:-${S}}
3585 + objdir=${objdir:-${srcdir}}
3586 +
3587 + einfo "Installing ${modulename} module"
3588 + cd "${objdir}" || die "${objdir} does not exist"
3589 + insinto /lib/modules/${KV_FULL}/${libdir}
3590 + doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed"
3591 + cd "${OLDPWD}"
3592 +
3593 + generate_modulesd "${objdir}/${modulename}"
3594 + done
3595 +}
3596 +
3597 +# @FUNCTION: linux-mod_pkg_preinst
3598 +# @DESCRIPTION:
3599 +# It checks what to do after having merged the package.
3600 +linux-mod_pkg_preinst() {
3601 + debug-print-function ${FUNCNAME} $*
3602 + [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
3603 +
3604 + [ -d "${D%/}/lib/modules" ] && UPDATE_DEPMOD=true || UPDATE_DEPMOD=false
3605 + [ -d "${D%/}/lib/modules" ] && UPDATE_MODULEDB=true || UPDATE_MODULEDB=false
3606 +}
3607 +
3608 +# @FUNCTION: linux-mod_pkg_postinst
3609 +# @DESCRIPTION:
3610 +# It executes /sbin/depmod and adds the package to the /var/lib/module-rebuild/moduledb
3611 +# database (if ${D}/lib/modules is created)"
3612 +linux-mod_pkg_postinst() {
3613 + debug-print-function ${FUNCNAME} $*
3614 + [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
3615 +
3616 + ${UPDATE_DEPMOD} && update_depmod;
3617 + ${UPDATE_MODULEDB} && update_moduledb;
3618 +}
3619 +
3620 +# @FUNCTION: linux-mod_pkg_postrm
3621 +# @DESCRIPTION:
3622 +# It removes the package from the /var/lib/module-rebuild/moduledb database but it doens't
3623 +# call /sbin/depmod because the modules are still installed.
3624 +linux-mod_pkg_postrm() {
3625 + debug-print-function ${FUNCNAME} $*
3626 + [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
3627 + remove_moduledb;
3628 +}
3629
3630 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.52.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.52.ebuild
3631 new file mode 100644
3632 index 0000000..3f568b1
3633 --- /dev/null
3634 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.52.ebuild
3635 @@ -0,0 +1,84 @@
3636 +# Copyright 1999-2018 Gentoo Foundation
3637 +# Distributed under the terms of the GNU General Public License v2
3638 +
3639 +EAPI=6
3640 +
3641 +ETYPE="sources"
3642 +K_WANT_GENPATCHES="base extras experimental"
3643 +K_GENPATCHES_VER=57
3644 +UNIPATCH_STRICTORDER=1
3645 +inherit kernel-2 eutils readme.gentoo-r1
3646 +
3647 +AUFS_VERSION=4.14_p20180702
3648 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
3649 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
3650 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
3651 +
3652 +KEYWORDS="~amd64 ~x86"
3653 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
3654 +IUSE="experimental module vanilla"
3655 +
3656 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
3657 +SRC_URI="
3658 + ${KERNEL_URI}
3659 + ${ARCH_URI}
3660 + ${AUFS_URI}
3661 + !vanilla? ( ${GENPATCHES_URI} )
3662 + "
3663 +
3664 +PDEPEND="=sys-fs/aufs-util-4*"
3665 +
3666 +README_GENTOO_SUFFIX="-r1"
3667 +
3668 +src_unpack() {
3669 + detect_version
3670 + detect_arch
3671 + if use vanilla; then
3672 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
3673 + ewarn "You are using USE=vanilla"
3674 + ewarn "This will drop all support from the gentoo kernel security team"
3675 + fi
3676 +
3677 + UNIPATCH_LIST="
3678 + "${WORKDIR}"/aufs4-kbuild.patch
3679 + "${WORKDIR}"/aufs4-base.patch
3680 + "${WORKDIR}"/aufs4-mmap.patch"
3681 +
3682 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
3683 +
3684 + unpack ${AUFS_TARBALL}
3685 +
3686 + einfo "Using aufs4 version: ${AUFS_VERSION}"
3687 +
3688 + kernel-2_src_unpack
3689 +}
3690 +
3691 +src_prepare() {
3692 + kernel-2_src_prepare
3693 + if ! use module; then
3694 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
3695 + fi
3696 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
3697 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
3698 +}
3699 +
3700 +src_install() {
3701 + kernel-2_src_install
3702 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
3703 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
3704 + readme.gentoo_create_doc
3705 +}
3706 +
3707 +pkg_postinst() {
3708 + kernel-2_pkg_postinst
3709 + einfo "For more info on this patchset, and how to report problems, see:"
3710 + einfo "${HOMEPAGE}"
3711 + has_version sys-fs/aufs-util || \
3712 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
3713 +
3714 + readme.gentoo_print_elog
3715 +}
3716 +
3717 +pkg_postrm() {
3718 + kernel-2_pkg_postrm
3719 +}
3720
3721 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.65.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.65.ebuild
3722 new file mode 100644
3723 index 0000000..07e3a54
3724 --- /dev/null
3725 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.65.ebuild
3726 @@ -0,0 +1,84 @@
3727 +# Copyright 1999-2018 Gentoo Foundation
3728 +# Distributed under the terms of the GNU General Public License v2
3729 +
3730 +EAPI=6
3731 +
3732 +ETYPE="sources"
3733 +K_WANT_GENPATCHES="base extras experimental"
3734 +K_GENPATCHES_VER=71
3735 +UNIPATCH_STRICTORDER=1
3736 +inherit kernel-2 eutils readme.gentoo-r1
3737 +
3738 +AUFS_VERSION=4.14.56+_p20181008
3739 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
3740 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
3741 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
3742 +
3743 +KEYWORDS="~amd64 ~x86"
3744 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
3745 +IUSE="experimental module vanilla"
3746 +
3747 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
3748 +SRC_URI="
3749 + ${KERNEL_URI}
3750 + ${ARCH_URI}
3751 + ${AUFS_URI}
3752 + !vanilla? ( ${GENPATCHES_URI} )
3753 + "
3754 +
3755 +PDEPEND="=sys-fs/aufs-util-4*"
3756 +
3757 +README_GENTOO_SUFFIX="-r1"
3758 +
3759 +src_unpack() {
3760 + detect_version
3761 + detect_arch
3762 + if use vanilla; then
3763 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
3764 + ewarn "You are using USE=vanilla"
3765 + ewarn "This will drop all support from the gentoo kernel security team"
3766 + fi
3767 +
3768 + UNIPATCH_LIST="
3769 + "${WORKDIR}"/aufs4-kbuild.patch
3770 + "${WORKDIR}"/aufs4-base.patch
3771 + "${WORKDIR}"/aufs4-mmap.patch"
3772 +
3773 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
3774 +
3775 + unpack ${AUFS_TARBALL}
3776 +
3777 + einfo "Using aufs4 version: ${AUFS_VERSION}"
3778 +
3779 + kernel-2_src_unpack
3780 +}
3781 +
3782 +src_prepare() {
3783 + kernel-2_src_prepare
3784 + if ! use module; then
3785 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
3786 + fi
3787 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
3788 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
3789 +}
3790 +
3791 +src_install() {
3792 + kernel-2_src_install
3793 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
3794 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
3795 + readme.gentoo_create_doc
3796 +}
3797 +
3798 +pkg_postinst() {
3799 + kernel-2_pkg_postinst
3800 + einfo "For more info on this patchset, and how to report problems, see:"
3801 + einfo "${HOMEPAGE}"
3802 + has_version sys-fs/aufs-util || \
3803 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
3804 +
3805 + readme.gentoo_print_elog
3806 +}
3807 +
3808 +pkg_postrm() {
3809 + kernel-2_pkg_postrm
3810 +}
3811
3812 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.71.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.71.ebuild
3813 new file mode 100644
3814 index 0000000..c8d291f
3815 --- /dev/null
3816 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.71.ebuild
3817 @@ -0,0 +1,84 @@
3818 +# Copyright 1999-2018 Gentoo Foundation
3819 +# Distributed under the terms of the GNU General Public License v2
3820 +
3821 +EAPI=6
3822 +
3823 +ETYPE="sources"
3824 +K_WANT_GENPATCHES="base extras experimental"
3825 +K_GENPATCHES_VER=77
3826 +UNIPATCH_STRICTORDER=1
3827 +inherit kernel-2 eutils readme.gentoo-r1
3828 +
3829 +AUFS_VERSION=4.14.56+_p20181008
3830 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
3831 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
3832 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
3833 +
3834 +KEYWORDS="~amd64 ~x86"
3835 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
3836 +IUSE="experimental module vanilla"
3837 +
3838 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
3839 +SRC_URI="
3840 + ${KERNEL_URI}
3841 + ${ARCH_URI}
3842 + ${AUFS_URI}
3843 + !vanilla? ( ${GENPATCHES_URI} )
3844 + "
3845 +
3846 +PDEPEND="=sys-fs/aufs-util-4*"
3847 +
3848 +README_GENTOO_SUFFIX="-r1"
3849 +
3850 +src_unpack() {
3851 + detect_version
3852 + detect_arch
3853 + if use vanilla; then
3854 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
3855 + ewarn "You are using USE=vanilla"
3856 + ewarn "This will drop all support from the gentoo kernel security team"
3857 + fi
3858 +
3859 + UNIPATCH_LIST="
3860 + "${WORKDIR}"/aufs4-kbuild.patch
3861 + "${WORKDIR}"/aufs4-base.patch
3862 + "${WORKDIR}"/aufs4-mmap.patch"
3863 +
3864 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
3865 +
3866 + unpack ${AUFS_TARBALL}
3867 +
3868 + einfo "Using aufs4 version: ${AUFS_VERSION}"
3869 +
3870 + kernel-2_src_unpack
3871 +}
3872 +
3873 +src_prepare() {
3874 + kernel-2_src_prepare
3875 + if ! use module; then
3876 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
3877 + fi
3878 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
3879 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
3880 +}
3881 +
3882 +src_install() {
3883 + kernel-2_src_install
3884 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
3885 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
3886 + readme.gentoo_create_doc
3887 +}
3888 +
3889 +pkg_postinst() {
3890 + kernel-2_pkg_postinst
3891 + einfo "For more info on this patchset, and how to report problems, see:"
3892 + einfo "${HOMEPAGE}"
3893 + has_version sys-fs/aufs-util || \
3894 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
3895 +
3896 + readme.gentoo_print_elog
3897 +}
3898 +
3899 +pkg_postrm() {
3900 + kernel-2_pkg_postrm
3901 +}
3902
3903 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.72.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.72.ebuild
3904 new file mode 100644
3905 index 0000000..3d93e29
3906 --- /dev/null
3907 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.72.ebuild
3908 @@ -0,0 +1,84 @@
3909 +# Copyright 1999-2018 Gentoo Foundation
3910 +# Distributed under the terms of the GNU General Public License v2
3911 +
3912 +EAPI=6
3913 +
3914 +ETYPE="sources"
3915 +K_WANT_GENPATCHES="base extras experimental"
3916 +K_GENPATCHES_VER=78
3917 +UNIPATCH_STRICTORDER=1
3918 +inherit kernel-2 eutils readme.gentoo-r1
3919 +
3920 +AUFS_VERSION=4.14.56+_p20181008
3921 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
3922 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
3923 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
3924 +
3925 +KEYWORDS="~amd64 ~x86"
3926 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
3927 +IUSE="experimental module vanilla"
3928 +
3929 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
3930 +SRC_URI="
3931 + ${KERNEL_URI}
3932 + ${ARCH_URI}
3933 + ${AUFS_URI}
3934 + !vanilla? ( ${GENPATCHES_URI} )
3935 + "
3936 +
3937 +PDEPEND="=sys-fs/aufs-util-4*"
3938 +
3939 +README_GENTOO_SUFFIX="-r1"
3940 +
3941 +src_unpack() {
3942 + detect_version
3943 + detect_arch
3944 + if use vanilla; then
3945 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
3946 + ewarn "You are using USE=vanilla"
3947 + ewarn "This will drop all support from the gentoo kernel security team"
3948 + fi
3949 +
3950 + UNIPATCH_LIST="
3951 + "${WORKDIR}"/aufs4-kbuild.patch
3952 + "${WORKDIR}"/aufs4-base.patch
3953 + "${WORKDIR}"/aufs4-mmap.patch"
3954 +
3955 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
3956 +
3957 + unpack ${AUFS_TARBALL}
3958 +
3959 + einfo "Using aufs4 version: ${AUFS_VERSION}"
3960 +
3961 + kernel-2_src_unpack
3962 +}
3963 +
3964 +src_prepare() {
3965 + kernel-2_src_prepare
3966 + if ! use module; then
3967 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
3968 + fi
3969 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
3970 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
3971 +}
3972 +
3973 +src_install() {
3974 + kernel-2_src_install
3975 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
3976 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
3977 + readme.gentoo_create_doc
3978 +}
3979 +
3980 +pkg_postinst() {
3981 + kernel-2_pkg_postinst
3982 + einfo "For more info on this patchset, and how to report problems, see:"
3983 + einfo "${HOMEPAGE}"
3984 + has_version sys-fs/aufs-util || \
3985 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
3986 +
3987 + readme.gentoo_print_elog
3988 +}
3989 +
3990 +pkg_postrm() {
3991 + kernel-2_pkg_postrm
3992 +}
3993
3994 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.73.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.73.ebuild
3995 new file mode 100644
3996 index 0000000..4c2d64a
3997 --- /dev/null
3998 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.73.ebuild
3999 @@ -0,0 +1,84 @@
4000 +# Copyright 1999-2018 Gentoo Foundation
4001 +# Distributed under the terms of the GNU General Public License v2
4002 +
4003 +EAPI=6
4004 +
4005 +ETYPE="sources"
4006 +K_WANT_GENPATCHES="base extras experimental"
4007 +K_GENPATCHES_VER=79
4008 +UNIPATCH_STRICTORDER=1
4009 +inherit kernel-2 eutils readme.gentoo-r1
4010 +
4011 +AUFS_VERSION=4.14.56+_p20181008
4012 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4013 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4014 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4015 +
4016 +KEYWORDS="~amd64 ~x86"
4017 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4018 +IUSE="experimental module vanilla"
4019 +
4020 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4021 +SRC_URI="
4022 + ${KERNEL_URI}
4023 + ${ARCH_URI}
4024 + ${AUFS_URI}
4025 + !vanilla? ( ${GENPATCHES_URI} )
4026 + "
4027 +
4028 +PDEPEND="=sys-fs/aufs-util-4*"
4029 +
4030 +README_GENTOO_SUFFIX="-r1"
4031 +
4032 +src_unpack() {
4033 + detect_version
4034 + detect_arch
4035 + if use vanilla; then
4036 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4037 + ewarn "You are using USE=vanilla"
4038 + ewarn "This will drop all support from the gentoo kernel security team"
4039 + fi
4040 +
4041 + UNIPATCH_LIST="
4042 + "${WORKDIR}"/aufs4-kbuild.patch
4043 + "${WORKDIR}"/aufs4-base.patch
4044 + "${WORKDIR}"/aufs4-mmap.patch"
4045 +
4046 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4047 +
4048 + unpack ${AUFS_TARBALL}
4049 +
4050 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4051 +
4052 + kernel-2_src_unpack
4053 +}
4054 +
4055 +src_prepare() {
4056 + kernel-2_src_prepare
4057 + if ! use module; then
4058 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4059 + fi
4060 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4061 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4062 +}
4063 +
4064 +src_install() {
4065 + kernel-2_src_install
4066 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4067 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4068 + readme.gentoo_create_doc
4069 +}
4070 +
4071 +pkg_postinst() {
4072 + kernel-2_pkg_postinst
4073 + einfo "For more info on this patchset, and how to report problems, see:"
4074 + einfo "${HOMEPAGE}"
4075 + has_version sys-fs/aufs-util || \
4076 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4077 +
4078 + readme.gentoo_print_elog
4079 +}
4080 +
4081 +pkg_postrm() {
4082 + kernel-2_pkg_postrm
4083 +}
4084
4085 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.74.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.74.ebuild
4086 new file mode 100644
4087 index 0000000..eadd06c
4088 --- /dev/null
4089 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.74.ebuild
4090 @@ -0,0 +1,84 @@
4091 +# Copyright 1999-2018 Gentoo Foundation
4092 +# Distributed under the terms of the GNU General Public License v2
4093 +
4094 +EAPI=6
4095 +
4096 +ETYPE="sources"
4097 +K_WANT_GENPATCHES="base extras experimental"
4098 +K_GENPATCHES_VER=80
4099 +UNIPATCH_STRICTORDER=1
4100 +inherit kernel-2 eutils readme.gentoo-r1
4101 +
4102 +AUFS_VERSION=4.14.56+_p20181008
4103 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4104 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4105 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4106 +
4107 +KEYWORDS="~amd64 ~x86"
4108 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4109 +IUSE="experimental module vanilla"
4110 +
4111 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4112 +SRC_URI="
4113 + ${KERNEL_URI}
4114 + ${ARCH_URI}
4115 + ${AUFS_URI}
4116 + !vanilla? ( ${GENPATCHES_URI} )
4117 + "
4118 +
4119 +PDEPEND="=sys-fs/aufs-util-4*"
4120 +
4121 +README_GENTOO_SUFFIX="-r1"
4122 +
4123 +src_unpack() {
4124 + detect_version
4125 + detect_arch
4126 + if use vanilla; then
4127 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4128 + ewarn "You are using USE=vanilla"
4129 + ewarn "This will drop all support from the gentoo kernel security team"
4130 + fi
4131 +
4132 + UNIPATCH_LIST="
4133 + "${WORKDIR}"/aufs4-kbuild.patch
4134 + "${WORKDIR}"/aufs4-base.patch
4135 + "${WORKDIR}"/aufs4-mmap.patch"
4136 +
4137 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4138 +
4139 + unpack ${AUFS_TARBALL}
4140 +
4141 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4142 +
4143 + kernel-2_src_unpack
4144 +}
4145 +
4146 +src_prepare() {
4147 + kernel-2_src_prepare
4148 + if ! use module; then
4149 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4150 + fi
4151 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4152 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4153 +}
4154 +
4155 +src_install() {
4156 + kernel-2_src_install
4157 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4158 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4159 + readme.gentoo_create_doc
4160 +}
4161 +
4162 +pkg_postinst() {
4163 + kernel-2_pkg_postinst
4164 + einfo "For more info on this patchset, and how to report problems, see:"
4165 + einfo "${HOMEPAGE}"
4166 + has_version sys-fs/aufs-util || \
4167 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4168 +
4169 + readme.gentoo_print_elog
4170 +}
4171 +
4172 +pkg_postrm() {
4173 + kernel-2_pkg_postrm
4174 +}
4175
4176 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.75.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.75.ebuild
4177 new file mode 100644
4178 index 0000000..e34ce12
4179 --- /dev/null
4180 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.75.ebuild
4181 @@ -0,0 +1,84 @@
4182 +# Copyright 1999-2018 Gentoo Foundation
4183 +# Distributed under the terms of the GNU General Public License v2
4184 +
4185 +EAPI=6
4186 +
4187 +ETYPE="sources"
4188 +K_WANT_GENPATCHES="base extras experimental"
4189 +K_GENPATCHES_VER=81
4190 +UNIPATCH_STRICTORDER=1
4191 +inherit kernel-2 eutils readme.gentoo-r1
4192 +
4193 +AUFS_VERSION=4.14.56+_p20181008
4194 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4195 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4196 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4197 +
4198 +KEYWORDS="~amd64 ~x86"
4199 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4200 +IUSE="experimental module vanilla"
4201 +
4202 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4203 +SRC_URI="
4204 + ${KERNEL_URI}
4205 + ${ARCH_URI}
4206 + ${AUFS_URI}
4207 + !vanilla? ( ${GENPATCHES_URI} )
4208 + "
4209 +
4210 +PDEPEND="=sys-fs/aufs-util-4*"
4211 +
4212 +README_GENTOO_SUFFIX="-r1"
4213 +
4214 +src_unpack() {
4215 + detect_version
4216 + detect_arch
4217 + if use vanilla; then
4218 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4219 + ewarn "You are using USE=vanilla"
4220 + ewarn "This will drop all support from the gentoo kernel security team"
4221 + fi
4222 +
4223 + UNIPATCH_LIST="
4224 + "${WORKDIR}"/aufs4-kbuild.patch
4225 + "${WORKDIR}"/aufs4-base.patch
4226 + "${WORKDIR}"/aufs4-mmap.patch"
4227 +
4228 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4229 +
4230 + unpack ${AUFS_TARBALL}
4231 +
4232 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4233 +
4234 + kernel-2_src_unpack
4235 +}
4236 +
4237 +src_prepare() {
4238 + kernel-2_src_prepare
4239 + if ! use module; then
4240 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4241 + fi
4242 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4243 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4244 +}
4245 +
4246 +src_install() {
4247 + kernel-2_src_install
4248 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4249 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4250 + readme.gentoo_create_doc
4251 +}
4252 +
4253 +pkg_postinst() {
4254 + kernel-2_pkg_postinst
4255 + einfo "For more info on this patchset, and how to report problems, see:"
4256 + einfo "${HOMEPAGE}"
4257 + has_version sys-fs/aufs-util || \
4258 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4259 +
4260 + readme.gentoo_print_elog
4261 +}
4262 +
4263 +pkg_postrm() {
4264 + kernel-2_pkg_postrm
4265 +}
4266
4267 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.76.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.76.ebuild
4268 new file mode 100644
4269 index 0000000..c470534
4270 --- /dev/null
4271 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.76.ebuild
4272 @@ -0,0 +1,84 @@
4273 +# Copyright 1999-2018 Gentoo Foundation
4274 +# Distributed under the terms of the GNU General Public License v2
4275 +
4276 +EAPI=6
4277 +
4278 +ETYPE="sources"
4279 +K_WANT_GENPATCHES="base extras experimental"
4280 +K_GENPATCHES_VER=82
4281 +UNIPATCH_STRICTORDER=1
4282 +inherit kernel-2 eutils readme.gentoo-r1
4283 +
4284 +AUFS_VERSION=4.14.56+_p20181008
4285 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4286 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4287 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4288 +
4289 +KEYWORDS="~amd64 ~x86"
4290 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4291 +IUSE="experimental module vanilla"
4292 +
4293 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4294 +SRC_URI="
4295 + ${KERNEL_URI}
4296 + ${ARCH_URI}
4297 + ${AUFS_URI}
4298 + !vanilla? ( ${GENPATCHES_URI} )
4299 + "
4300 +
4301 +PDEPEND="=sys-fs/aufs-util-4*"
4302 +
4303 +README_GENTOO_SUFFIX="-r1"
4304 +
4305 +src_unpack() {
4306 + detect_version
4307 + detect_arch
4308 + if use vanilla; then
4309 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4310 + ewarn "You are using USE=vanilla"
4311 + ewarn "This will drop all support from the gentoo kernel security team"
4312 + fi
4313 +
4314 + UNIPATCH_LIST="
4315 + "${WORKDIR}"/aufs4-kbuild.patch
4316 + "${WORKDIR}"/aufs4-base.patch
4317 + "${WORKDIR}"/aufs4-mmap.patch"
4318 +
4319 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4320 +
4321 + unpack ${AUFS_TARBALL}
4322 +
4323 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4324 +
4325 + kernel-2_src_unpack
4326 +}
4327 +
4328 +src_prepare() {
4329 + kernel-2_src_prepare
4330 + if ! use module; then
4331 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4332 + fi
4333 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4334 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4335 +}
4336 +
4337 +src_install() {
4338 + kernel-2_src_install
4339 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4340 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4341 + readme.gentoo_create_doc
4342 +}
4343 +
4344 +pkg_postinst() {
4345 + kernel-2_pkg_postinst
4346 + einfo "For more info on this patchset, and how to report problems, see:"
4347 + einfo "${HOMEPAGE}"
4348 + has_version sys-fs/aufs-util || \
4349 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4350 +
4351 + readme.gentoo_print_elog
4352 +}
4353 +
4354 +pkg_postrm() {
4355 + kernel-2_pkg_postrm
4356 +}
4357
4358 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.77.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.77.ebuild
4359 new file mode 100644
4360 index 0000000..733afd7
4361 --- /dev/null
4362 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.77.ebuild
4363 @@ -0,0 +1,84 @@
4364 +# Copyright 1999-2018 Gentoo Foundation
4365 +# Distributed under the terms of the GNU General Public License v2
4366 +
4367 +EAPI=6
4368 +
4369 +ETYPE="sources"
4370 +K_WANT_GENPATCHES="base extras experimental"
4371 +K_GENPATCHES_VER=84
4372 +UNIPATCH_STRICTORDER=1
4373 +inherit kernel-2 eutils readme.gentoo-r1
4374 +
4375 +AUFS_VERSION=4.14.56+_p20181008
4376 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4377 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4378 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4379 +
4380 +KEYWORDS="~amd64 ~x86"
4381 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4382 +IUSE="experimental module vanilla"
4383 +
4384 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4385 +SRC_URI="
4386 + ${KERNEL_URI}
4387 + ${ARCH_URI}
4388 + ${AUFS_URI}
4389 + !vanilla? ( ${GENPATCHES_URI} )
4390 + "
4391 +
4392 +PDEPEND="=sys-fs/aufs-util-4*"
4393 +
4394 +README_GENTOO_SUFFIX="-r1"
4395 +
4396 +src_unpack() {
4397 + detect_version
4398 + detect_arch
4399 + if use vanilla; then
4400 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4401 + ewarn "You are using USE=vanilla"
4402 + ewarn "This will drop all support from the gentoo kernel security team"
4403 + fi
4404 +
4405 + UNIPATCH_LIST="
4406 + "${WORKDIR}"/aufs4-kbuild.patch
4407 + "${WORKDIR}"/aufs4-base.patch
4408 + "${WORKDIR}"/aufs4-mmap.patch"
4409 +
4410 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4411 +
4412 + unpack ${AUFS_TARBALL}
4413 +
4414 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4415 +
4416 + kernel-2_src_unpack
4417 +}
4418 +
4419 +src_prepare() {
4420 + kernel-2_src_prepare
4421 + if ! use module; then
4422 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4423 + fi
4424 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4425 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4426 +}
4427 +
4428 +src_install() {
4429 + kernel-2_src_install
4430 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4431 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4432 + readme.gentoo_create_doc
4433 +}
4434 +
4435 +pkg_postinst() {
4436 + kernel-2_pkg_postinst
4437 + einfo "For more info on this patchset, and how to report problems, see:"
4438 + einfo "${HOMEPAGE}"
4439 + has_version sys-fs/aufs-util || \
4440 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4441 +
4442 + readme.gentoo_print_elog
4443 +}
4444 +
4445 +pkg_postrm() {
4446 + kernel-2_pkg_postrm
4447 +}
4448
4449 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.78.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.78.ebuild
4450 new file mode 100644
4451 index 0000000..9550ecf
4452 --- /dev/null
4453 +++ b/sys-kernel/aufs-sources/aufs-sources-4.14.78.ebuild
4454 @@ -0,0 +1,84 @@
4455 +# Copyright 1999-2018 Gentoo Foundation
4456 +# Distributed under the terms of the GNU General Public License v2
4457 +
4458 +EAPI=6
4459 +
4460 +ETYPE="sources"
4461 +K_WANT_GENPATCHES="base extras experimental"
4462 +K_GENPATCHES_VER=85
4463 +UNIPATCH_STRICTORDER=1
4464 +inherit kernel-2 eutils readme.gentoo-r1
4465 +
4466 +AUFS_VERSION=4.14.56+_p20181008
4467 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4468 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4469 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4470 +
4471 +KEYWORDS="~amd64 ~x86"
4472 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4473 +IUSE="experimental module vanilla"
4474 +
4475 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4476 +SRC_URI="
4477 + ${KERNEL_URI}
4478 + ${ARCH_URI}
4479 + ${AUFS_URI}
4480 + !vanilla? ( ${GENPATCHES_URI} )
4481 + "
4482 +
4483 +PDEPEND="=sys-fs/aufs-util-4*"
4484 +
4485 +README_GENTOO_SUFFIX="-r1"
4486 +
4487 +src_unpack() {
4488 + detect_version
4489 + detect_arch
4490 + if use vanilla; then
4491 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4492 + ewarn "You are using USE=vanilla"
4493 + ewarn "This will drop all support from the gentoo kernel security team"
4494 + fi
4495 +
4496 + UNIPATCH_LIST="
4497 + "${WORKDIR}"/aufs4-kbuild.patch
4498 + "${WORKDIR}"/aufs4-base.patch
4499 + "${WORKDIR}"/aufs4-mmap.patch"
4500 +
4501 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4502 +
4503 + unpack ${AUFS_TARBALL}
4504 +
4505 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4506 +
4507 + kernel-2_src_unpack
4508 +}
4509 +
4510 +src_prepare() {
4511 + kernel-2_src_prepare
4512 + if ! use module; then
4513 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4514 + fi
4515 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4516 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4517 +}
4518 +
4519 +src_install() {
4520 + kernel-2_src_install
4521 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4522 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4523 + readme.gentoo_create_doc
4524 +}
4525 +
4526 +pkg_postinst() {
4527 + kernel-2_pkg_postinst
4528 + einfo "For more info on this patchset, and how to report problems, see:"
4529 + einfo "${HOMEPAGE}"
4530 + has_version sys-fs/aufs-util || \
4531 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4532 +
4533 + readme.gentoo_print_elog
4534 +}
4535 +
4536 +pkg_postrm() {
4537 + kernel-2_pkg_postrm
4538 +}
4539
4540 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.10.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.10.ebuild
4541 new file mode 100644
4542 index 0000000..04513e7
4543 --- /dev/null
4544 +++ b/sys-kernel/aufs-sources/aufs-sources-4.18.10.ebuild
4545 @@ -0,0 +1,84 @@
4546 +# Copyright 1999-2018 Gentoo Foundation
4547 +# Distributed under the terms of the GNU General Public License v2
4548 +
4549 +EAPI=6
4550 +
4551 +ETYPE="sources"
4552 +K_WANT_GENPATCHES="base extras experimental"
4553 +K_GENPATCHES_VER=13
4554 +UNIPATCH_STRICTORDER=1
4555 +inherit kernel-2 eutils readme.gentoo-r1
4556 +
4557 +AUFS_VERSION=4.18_p20181008
4558 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4559 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4560 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4561 +
4562 +KEYWORDS="~amd64 ~x86"
4563 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4564 +IUSE="experimental module vanilla"
4565 +
4566 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4567 +SRC_URI="
4568 + ${KERNEL_URI}
4569 + ${ARCH_URI}
4570 + ${AUFS_URI}
4571 + !vanilla? ( ${GENPATCHES_URI} )
4572 + "
4573 +
4574 +PDEPEND="=sys-fs/aufs-util-4*"
4575 +
4576 +README_GENTOO_SUFFIX="-r1"
4577 +
4578 +src_unpack() {
4579 + detect_version
4580 + detect_arch
4581 + if use vanilla; then
4582 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4583 + ewarn "You are using USE=vanilla"
4584 + ewarn "This will drop all support from the gentoo kernel security team"
4585 + fi
4586 +
4587 + UNIPATCH_LIST="
4588 + "${WORKDIR}"/aufs4-kbuild.patch
4589 + "${WORKDIR}"/aufs4-base.patch
4590 + "${WORKDIR}"/aufs4-mmap.patch"
4591 +
4592 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4593 +
4594 + unpack ${AUFS_TARBALL}
4595 +
4596 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4597 +
4598 + kernel-2_src_unpack
4599 +}
4600 +
4601 +src_prepare() {
4602 + kernel-2_src_prepare
4603 + if ! use module; then
4604 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4605 + fi
4606 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4607 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4608 +}
4609 +
4610 +src_install() {
4611 + kernel-2_src_install
4612 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4613 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4614 + readme.gentoo_create_doc
4615 +}
4616 +
4617 +pkg_postinst() {
4618 + kernel-2_pkg_postinst
4619 + einfo "For more info on this patchset, and how to report problems, see:"
4620 + einfo "${HOMEPAGE}"
4621 + has_version sys-fs/aufs-util || \
4622 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4623 +
4624 + readme.gentoo_print_elog
4625 +}
4626 +
4627 +pkg_postrm() {
4628 + kernel-2_pkg_postrm
4629 +}
4630
4631 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.11.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.11.ebuild
4632 new file mode 100644
4633 index 0000000..952a3f8
4634 --- /dev/null
4635 +++ b/sys-kernel/aufs-sources/aufs-sources-4.18.11.ebuild
4636 @@ -0,0 +1,84 @@
4637 +# Copyright 1999-2018 Gentoo Foundation
4638 +# Distributed under the terms of the GNU General Public License v2
4639 +
4640 +EAPI=6
4641 +
4642 +ETYPE="sources"
4643 +K_WANT_GENPATCHES="base extras experimental"
4644 +K_GENPATCHES_VER=14
4645 +UNIPATCH_STRICTORDER=1
4646 +inherit kernel-2 eutils readme.gentoo-r1
4647 +
4648 +AUFS_VERSION=4.18.11+_p20181008
4649 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4650 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4651 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4652 +
4653 +KEYWORDS="~amd64 ~x86"
4654 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4655 +IUSE="experimental module vanilla"
4656 +
4657 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4658 +SRC_URI="
4659 + ${KERNEL_URI}
4660 + ${ARCH_URI}
4661 + ${AUFS_URI}
4662 + !vanilla? ( ${GENPATCHES_URI} )
4663 + "
4664 +
4665 +PDEPEND="=sys-fs/aufs-util-4*"
4666 +
4667 +README_GENTOO_SUFFIX="-r1"
4668 +
4669 +src_unpack() {
4670 + detect_version
4671 + detect_arch
4672 + if use vanilla; then
4673 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4674 + ewarn "You are using USE=vanilla"
4675 + ewarn "This will drop all support from the gentoo kernel security team"
4676 + fi
4677 +
4678 + UNIPATCH_LIST="
4679 + "${WORKDIR}"/aufs4-kbuild.patch
4680 + "${WORKDIR}"/aufs4-base.patch
4681 + "${WORKDIR}"/aufs4-mmap.patch"
4682 +
4683 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4684 +
4685 + unpack ${AUFS_TARBALL}
4686 +
4687 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4688 +
4689 + kernel-2_src_unpack
4690 +}
4691 +
4692 +src_prepare() {
4693 + kernel-2_src_prepare
4694 + if ! use module; then
4695 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4696 + fi
4697 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4698 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4699 +}
4700 +
4701 +src_install() {
4702 + kernel-2_src_install
4703 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4704 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4705 + readme.gentoo_create_doc
4706 +}
4707 +
4708 +pkg_postinst() {
4709 + kernel-2_pkg_postinst
4710 + einfo "For more info on this patchset, and how to report problems, see:"
4711 + einfo "${HOMEPAGE}"
4712 + has_version sys-fs/aufs-util || \
4713 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4714 +
4715 + readme.gentoo_print_elog
4716 +}
4717 +
4718 +pkg_postrm() {
4719 + kernel-2_pkg_postrm
4720 +}
4721
4722 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.12.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.12.ebuild
4723 new file mode 100644
4724 index 0000000..41f3c60
4725 --- /dev/null
4726 +++ b/sys-kernel/aufs-sources/aufs-sources-4.18.12.ebuild
4727 @@ -0,0 +1,84 @@
4728 +# Copyright 1999-2018 Gentoo Foundation
4729 +# Distributed under the terms of the GNU General Public License v2
4730 +
4731 +EAPI=6
4732 +
4733 +ETYPE="sources"
4734 +K_WANT_GENPATCHES="base extras experimental"
4735 +K_GENPATCHES_VER=15
4736 +UNIPATCH_STRICTORDER=1
4737 +inherit kernel-2 eutils readme.gentoo-r1
4738 +
4739 +AUFS_VERSION=4.18.11+_p20181008
4740 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4741 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4742 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4743 +
4744 +KEYWORDS="~amd64 ~x86"
4745 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4746 +IUSE="experimental module vanilla"
4747 +
4748 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4749 +SRC_URI="
4750 + ${KERNEL_URI}
4751 + ${ARCH_URI}
4752 + ${AUFS_URI}
4753 + !vanilla? ( ${GENPATCHES_URI} )
4754 + "
4755 +
4756 +PDEPEND="=sys-fs/aufs-util-4*"
4757 +
4758 +README_GENTOO_SUFFIX="-r1"
4759 +
4760 +src_unpack() {
4761 + detect_version
4762 + detect_arch
4763 + if use vanilla; then
4764 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4765 + ewarn "You are using USE=vanilla"
4766 + ewarn "This will drop all support from the gentoo kernel security team"
4767 + fi
4768 +
4769 + UNIPATCH_LIST="
4770 + "${WORKDIR}"/aufs4-kbuild.patch
4771 + "${WORKDIR}"/aufs4-base.patch
4772 + "${WORKDIR}"/aufs4-mmap.patch"
4773 +
4774 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4775 +
4776 + unpack ${AUFS_TARBALL}
4777 +
4778 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4779 +
4780 + kernel-2_src_unpack
4781 +}
4782 +
4783 +src_prepare() {
4784 + kernel-2_src_prepare
4785 + if ! use module; then
4786 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4787 + fi
4788 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4789 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4790 +}
4791 +
4792 +src_install() {
4793 + kernel-2_src_install
4794 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4795 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4796 + readme.gentoo_create_doc
4797 +}
4798 +
4799 +pkg_postinst() {
4800 + kernel-2_pkg_postinst
4801 + einfo "For more info on this patchset, and how to report problems, see:"
4802 + einfo "${HOMEPAGE}"
4803 + has_version sys-fs/aufs-util || \
4804 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4805 +
4806 + readme.gentoo_print_elog
4807 +}
4808 +
4809 +pkg_postrm() {
4810 + kernel-2_pkg_postrm
4811 +}
4812
4813 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.13.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.13.ebuild
4814 new file mode 100644
4815 index 0000000..dfd53d0
4816 --- /dev/null
4817 +++ b/sys-kernel/aufs-sources/aufs-sources-4.18.13.ebuild
4818 @@ -0,0 +1,84 @@
4819 +# Copyright 1999-2018 Gentoo Foundation
4820 +# Distributed under the terms of the GNU General Public License v2
4821 +
4822 +EAPI=6
4823 +
4824 +ETYPE="sources"
4825 +K_WANT_GENPATCHES="base extras experimental"
4826 +K_GENPATCHES_VER=16
4827 +UNIPATCH_STRICTORDER=1
4828 +inherit kernel-2 eutils readme.gentoo-r1
4829 +
4830 +AUFS_VERSION=4.18.11+_p20181008
4831 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4832 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4833 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4834 +
4835 +KEYWORDS="~amd64 ~x86"
4836 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4837 +IUSE="experimental module vanilla"
4838 +
4839 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4840 +SRC_URI="
4841 + ${KERNEL_URI}
4842 + ${ARCH_URI}
4843 + ${AUFS_URI}
4844 + !vanilla? ( ${GENPATCHES_URI} )
4845 + "
4846 +
4847 +PDEPEND="=sys-fs/aufs-util-4*"
4848 +
4849 +README_GENTOO_SUFFIX="-r1"
4850 +
4851 +src_unpack() {
4852 + detect_version
4853 + detect_arch
4854 + if use vanilla; then
4855 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4856 + ewarn "You are using USE=vanilla"
4857 + ewarn "This will drop all support from the gentoo kernel security team"
4858 + fi
4859 +
4860 + UNIPATCH_LIST="
4861 + "${WORKDIR}"/aufs4-kbuild.patch
4862 + "${WORKDIR}"/aufs4-base.patch
4863 + "${WORKDIR}"/aufs4-mmap.patch"
4864 +
4865 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4866 +
4867 + unpack ${AUFS_TARBALL}
4868 +
4869 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4870 +
4871 + kernel-2_src_unpack
4872 +}
4873 +
4874 +src_prepare() {
4875 + kernel-2_src_prepare
4876 + if ! use module; then
4877 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4878 + fi
4879 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4880 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4881 +}
4882 +
4883 +src_install() {
4884 + kernel-2_src_install
4885 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4886 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4887 + readme.gentoo_create_doc
4888 +}
4889 +
4890 +pkg_postinst() {
4891 + kernel-2_pkg_postinst
4892 + einfo "For more info on this patchset, and how to report problems, see:"
4893 + einfo "${HOMEPAGE}"
4894 + has_version sys-fs/aufs-util || \
4895 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4896 +
4897 + readme.gentoo_print_elog
4898 +}
4899 +
4900 +pkg_postrm() {
4901 + kernel-2_pkg_postrm
4902 +}
4903
4904 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.14.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.14.ebuild
4905 new file mode 100644
4906 index 0000000..18f5b37
4907 --- /dev/null
4908 +++ b/sys-kernel/aufs-sources/aufs-sources-4.18.14.ebuild
4909 @@ -0,0 +1,84 @@
4910 +# Copyright 1999-2018 Gentoo Foundation
4911 +# Distributed under the terms of the GNU General Public License v2
4912 +
4913 +EAPI=6
4914 +
4915 +ETYPE="sources"
4916 +K_WANT_GENPATCHES="base extras experimental"
4917 +K_GENPATCHES_VER=17
4918 +UNIPATCH_STRICTORDER=1
4919 +inherit kernel-2 eutils readme.gentoo-r1
4920 +
4921 +AUFS_VERSION=4.18.11+_p20181008
4922 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
4923 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
4924 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
4925 +
4926 +KEYWORDS="~amd64 ~x86"
4927 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
4928 +IUSE="experimental module vanilla"
4929 +
4930 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
4931 +SRC_URI="
4932 + ${KERNEL_URI}
4933 + ${ARCH_URI}
4934 + ${AUFS_URI}
4935 + !vanilla? ( ${GENPATCHES_URI} )
4936 + "
4937 +
4938 +PDEPEND="=sys-fs/aufs-util-4*"
4939 +
4940 +README_GENTOO_SUFFIX="-r1"
4941 +
4942 +src_unpack() {
4943 + detect_version
4944 + detect_arch
4945 + if use vanilla; then
4946 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
4947 + ewarn "You are using USE=vanilla"
4948 + ewarn "This will drop all support from the gentoo kernel security team"
4949 + fi
4950 +
4951 + UNIPATCH_LIST="
4952 + "${WORKDIR}"/aufs4-kbuild.patch
4953 + "${WORKDIR}"/aufs4-base.patch
4954 + "${WORKDIR}"/aufs4-mmap.patch"
4955 +
4956 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
4957 +
4958 + unpack ${AUFS_TARBALL}
4959 +
4960 + einfo "Using aufs4 version: ${AUFS_VERSION}"
4961 +
4962 + kernel-2_src_unpack
4963 +}
4964 +
4965 +src_prepare() {
4966 + kernel-2_src_prepare
4967 + if ! use module; then
4968 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
4969 + fi
4970 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
4971 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
4972 +}
4973 +
4974 +src_install() {
4975 + kernel-2_src_install
4976 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4977 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
4978 + readme.gentoo_create_doc
4979 +}
4980 +
4981 +pkg_postinst() {
4982 + kernel-2_pkg_postinst
4983 + einfo "For more info on this patchset, and how to report problems, see:"
4984 + einfo "${HOMEPAGE}"
4985 + has_version sys-fs/aufs-util || \
4986 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
4987 +
4988 + readme.gentoo_print_elog
4989 +}
4990 +
4991 +pkg_postrm() {
4992 + kernel-2_pkg_postrm
4993 +}
4994
4995 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.15.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.15.ebuild
4996 new file mode 100644
4997 index 0000000..43b26f2
4998 --- /dev/null
4999 +++ b/sys-kernel/aufs-sources/aufs-sources-4.18.15.ebuild
5000 @@ -0,0 +1,84 @@
5001 +# Copyright 1999-2018 Gentoo Foundation
5002 +# Distributed under the terms of the GNU General Public License v2
5003 +
5004 +EAPI=6
5005 +
5006 +ETYPE="sources"
5007 +K_WANT_GENPATCHES="base extras experimental"
5008 +K_GENPATCHES_VER=18
5009 +UNIPATCH_STRICTORDER=1
5010 +inherit kernel-2 eutils readme.gentoo-r1
5011 +
5012 +AUFS_VERSION=4.18.11+_p20181008
5013 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
5014 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
5015 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
5016 +
5017 +KEYWORDS="~amd64 ~x86"
5018 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
5019 +IUSE="experimental module vanilla"
5020 +
5021 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
5022 +SRC_URI="
5023 + ${KERNEL_URI}
5024 + ${ARCH_URI}
5025 + ${AUFS_URI}
5026 + !vanilla? ( ${GENPATCHES_URI} )
5027 + "
5028 +
5029 +PDEPEND="=sys-fs/aufs-util-4*"
5030 +
5031 +README_GENTOO_SUFFIX="-r1"
5032 +
5033 +src_unpack() {
5034 + detect_version
5035 + detect_arch
5036 + if use vanilla; then
5037 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
5038 + ewarn "You are using USE=vanilla"
5039 + ewarn "This will drop all support from the gentoo kernel security team"
5040 + fi
5041 +
5042 + UNIPATCH_LIST="
5043 + "${WORKDIR}"/aufs4-kbuild.patch
5044 + "${WORKDIR}"/aufs4-base.patch
5045 + "${WORKDIR}"/aufs4-mmap.patch"
5046 +
5047 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
5048 +
5049 + unpack ${AUFS_TARBALL}
5050 +
5051 + einfo "Using aufs4 version: ${AUFS_VERSION}"
5052 +
5053 + kernel-2_src_unpack
5054 +}
5055 +
5056 +src_prepare() {
5057 + kernel-2_src_prepare
5058 + if ! use module; then
5059 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
5060 + fi
5061 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
5062 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
5063 +}
5064 +
5065 +src_install() {
5066 + kernel-2_src_install
5067 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
5068 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
5069 + readme.gentoo_create_doc
5070 +}
5071 +
5072 +pkg_postinst() {
5073 + kernel-2_pkg_postinst
5074 + einfo "For more info on this patchset, and how to report problems, see:"
5075 + einfo "${HOMEPAGE}"
5076 + has_version sys-fs/aufs-util || \
5077 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
5078 +
5079 + readme.gentoo_print_elog
5080 +}
5081 +
5082 +pkg_postrm() {
5083 + kernel-2_pkg_postrm
5084 +}
5085
5086 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.16.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.16.ebuild
5087 new file mode 100644
5088 index 0000000..471393e
5089 --- /dev/null
5090 +++ b/sys-kernel/aufs-sources/aufs-sources-4.18.16.ebuild
5091 @@ -0,0 +1,84 @@
5092 +# Copyright 1999-2018 Gentoo Foundation
5093 +# Distributed under the terms of the GNU General Public License v2
5094 +
5095 +EAPI=6
5096 +
5097 +ETYPE="sources"
5098 +K_WANT_GENPATCHES="base extras experimental"
5099 +K_GENPATCHES_VER=19
5100 +UNIPATCH_STRICTORDER=1
5101 +inherit kernel-2 eutils readme.gentoo-r1
5102 +
5103 +AUFS_VERSION=4.18.11+_p20181008
5104 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
5105 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
5106 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
5107 +
5108 +KEYWORDS="~amd64 ~x86"
5109 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
5110 +IUSE="experimental module vanilla"
5111 +
5112 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
5113 +SRC_URI="
5114 + ${KERNEL_URI}
5115 + ${ARCH_URI}
5116 + ${AUFS_URI}
5117 + !vanilla? ( ${GENPATCHES_URI} )
5118 + "
5119 +
5120 +PDEPEND="=sys-fs/aufs-util-4*"
5121 +
5122 +README_GENTOO_SUFFIX="-r1"
5123 +
5124 +src_unpack() {
5125 + detect_version
5126 + detect_arch
5127 + if use vanilla; then
5128 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
5129 + ewarn "You are using USE=vanilla"
5130 + ewarn "This will drop all support from the gentoo kernel security team"
5131 + fi
5132 +
5133 + UNIPATCH_LIST="
5134 + "${WORKDIR}"/aufs4-kbuild.patch
5135 + "${WORKDIR}"/aufs4-base.patch
5136 + "${WORKDIR}"/aufs4-mmap.patch"
5137 +
5138 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
5139 +
5140 + unpack ${AUFS_TARBALL}
5141 +
5142 + einfo "Using aufs4 version: ${AUFS_VERSION}"
5143 +
5144 + kernel-2_src_unpack
5145 +}
5146 +
5147 +src_prepare() {
5148 + kernel-2_src_prepare
5149 + if ! use module; then
5150 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
5151 + fi
5152 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
5153 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
5154 +}
5155 +
5156 +src_install() {
5157 + kernel-2_src_install
5158 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
5159 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
5160 + readme.gentoo_create_doc
5161 +}
5162 +
5163 +pkg_postinst() {
5164 + kernel-2_pkg_postinst
5165 + einfo "For more info on this patchset, and how to report problems, see:"
5166 + einfo "${HOMEPAGE}"
5167 + has_version sys-fs/aufs-util || \
5168 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
5169 +
5170 + readme.gentoo_print_elog
5171 +}
5172 +
5173 +pkg_postrm() {
5174 + kernel-2_pkg_postrm
5175 +}
5176
5177 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.9.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.9.ebuild
5178 new file mode 100644
5179 index 0000000..4ba7781
5180 --- /dev/null
5181 +++ b/sys-kernel/aufs-sources/aufs-sources-4.18.9.ebuild
5182 @@ -0,0 +1,84 @@
5183 +# Copyright 1999-2018 Gentoo Foundation
5184 +# Distributed under the terms of the GNU General Public License v2
5185 +
5186 +EAPI=6
5187 +
5188 +ETYPE="sources"
5189 +K_WANT_GENPATCHES="base extras experimental"
5190 +K_GENPATCHES_VER=12
5191 +UNIPATCH_STRICTORDER=1
5192 +inherit kernel-2 eutils readme.gentoo-r1
5193 +
5194 +AUFS_VERSION=4.18.11+_p20181008
5195 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
5196 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
5197 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
5198 +
5199 +KEYWORDS="~amd64 ~x86"
5200 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
5201 +IUSE="experimental module vanilla"
5202 +
5203 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
5204 +SRC_URI="
5205 + ${KERNEL_URI}
5206 + ${ARCH_URI}
5207 + ${AUFS_URI}
5208 + !vanilla? ( ${GENPATCHES_URI} )
5209 + "
5210 +
5211 +PDEPEND="=sys-fs/aufs-util-4*"
5212 +
5213 +README_GENTOO_SUFFIX="-r1"
5214 +
5215 +src_unpack() {
5216 + detect_version
5217 + detect_arch
5218 + if use vanilla; then
5219 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
5220 + ewarn "You are using USE=vanilla"
5221 + ewarn "This will drop all support from the gentoo kernel security team"
5222 + fi
5223 +
5224 + UNIPATCH_LIST="
5225 + "${WORKDIR}"/aufs4-kbuild.patch
5226 + "${WORKDIR}"/aufs4-base.patch
5227 + "${WORKDIR}"/aufs4-mmap.patch"
5228 +
5229 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
5230 +
5231 + unpack ${AUFS_TARBALL}
5232 +
5233 + einfo "Using aufs4 version: ${AUFS_VERSION}"
5234 +
5235 + kernel-2_src_unpack
5236 +}
5237 +
5238 +src_prepare() {
5239 + kernel-2_src_prepare
5240 + if ! use module; then
5241 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
5242 + fi
5243 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
5244 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
5245 +}
5246 +
5247 +src_install() {
5248 + kernel-2_src_install
5249 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
5250 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
5251 + readme.gentoo_create_doc
5252 +}
5253 +
5254 +pkg_postinst() {
5255 + kernel-2_pkg_postinst
5256 + einfo "For more info on this patchset, and how to report problems, see:"
5257 + einfo "${HOMEPAGE}"
5258 + has_version sys-fs/aufs-util || \
5259 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
5260 +
5261 + readme.gentoo_print_elog
5262 +}
5263 +
5264 +pkg_postrm() {
5265 + kernel-2_pkg_postrm
5266 +}
5267
5268 diff --git a/sys-kernel/aufs-sources/aufs-sources-4.19.0.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.19.0.ebuild
5269 new file mode 100644
5270 index 0000000..4882884
5271 --- /dev/null
5272 +++ b/sys-kernel/aufs-sources/aufs-sources-4.19.0.ebuild
5273 @@ -0,0 +1,84 @@
5274 +# Copyright 1999-2018 Gentoo Authors
5275 +# Distributed under the terms of the GNU General Public License v2
5276 +
5277 +EAPI=6
5278 +
5279 +ETYPE="sources"
5280 +K_WANT_GENPATCHES="base extras experimental"
5281 +K_GENPATCHES_VER=1
5282 +UNIPATCH_STRICTORDER=1
5283 +inherit kernel-2 eutils readme.gentoo-r1
5284 +
5285 +AUFS_VERSION=4.19_p20181029
5286 +AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
5287 +# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
5288 +AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
5289 +
5290 +KEYWORDS="~amd64 ~x86"
5291 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
5292 +IUSE="experimental module vanilla"
5293 +
5294 +DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
5295 +SRC_URI="
5296 + ${KERNEL_URI}
5297 + ${ARCH_URI}
5298 + ${AUFS_URI}
5299 + !vanilla? ( ${GENPATCHES_URI} )
5300 + "
5301 +
5302 +PDEPEND="=sys-fs/aufs-util-4*"
5303 +
5304 +README_GENTOO_SUFFIX="-r1"
5305 +
5306 +src_unpack() {
5307 + detect_version
5308 + detect_arch
5309 + if use vanilla; then
5310 + unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
5311 + ewarn "You are using USE=vanilla"
5312 + ewarn "This will drop all support from the gentoo kernel security team"
5313 + fi
5314 +
5315 + UNIPATCH_LIST="
5316 + "${WORKDIR}"/aufs4-kbuild.patch
5317 + "${WORKDIR}"/aufs4-base.patch
5318 + "${WORKDIR}"/aufs4-mmap.patch"
5319 +
5320 + use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
5321 +
5322 + unpack ${AUFS_TARBALL}
5323 +
5324 + einfo "Using aufs4 version: ${AUFS_VERSION}"
5325 +
5326 + kernel-2_src_unpack
5327 +}
5328 +
5329 +src_prepare() {
5330 + kernel-2_src_prepare
5331 + if ! use module; then
5332 + sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
5333 + fi
5334 + cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
5335 + cp -rf "${WORKDIR}"/{Documentation,fs} . || die
5336 +}
5337 +
5338 +src_install() {
5339 + kernel-2_src_install
5340 + dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
5341 + docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
5342 + readme.gentoo_create_doc
5343 +}
5344 +
5345 +pkg_postinst() {
5346 + kernel-2_pkg_postinst
5347 + einfo "For more info on this patchset, and how to report problems, see:"
5348 + einfo "${HOMEPAGE}"
5349 + has_version sys-fs/aufs-util || \
5350 + elog "In order to use aufs FS you need to install sys-fs/aufs-util"
5351 +
5352 + readme.gentoo_print_elog
5353 +}
5354 +
5355 +pkg_postrm() {
5356 + kernel-2_pkg_postrm
5357 +}
5358
5359 diff --git a/sys-kernel/aufs-sources/files/README.gentoo b/sys-kernel/aufs-sources/files/README.gentoo
5360 new file mode 100644
5361 index 0000000..d9afb84
5362 --- /dev/null
5363 +++ b/sys-kernel/aufs-sources/files/README.gentoo
5364 @@ -0,0 +1,21 @@
5365 +
5366 +There several other patches in aufs3.
5367 +They are all optional. When you meet some problems, they will help you. You
5368 +can find them in the documentation directory.
5369 +
5370 + - aufs3-loopback.patch
5371 + Supports a nested loopback mount in a branch-fs. This patch is
5372 + unnecessary until aufs produces a message such like "you may want to try
5373 + another patch for loopback file".
5374 +
5375 + - vfs-ino.patch
5376 + Modifies a system global kernel internal function get_next_ino() in
5377 + order to stop assigning 0 for an inode-number. Not directly related to
5378 + aufs, but recommended generally.
5379 +
5380 + - tmpfs-ibitmap.patch/tmpfs-idr.patch
5381 + Keeps the tmpfs inode number as the lowest value. Effective to reduce
5382 + the size of aufs XINO files for tmpfs branch. Also it prevents the
5383 + duplication of inode number, which is important for backup
5384 + tools, aubrsync or other utilities. When you find aufs XINO files for
5385 + tmpfs branch growing too much, try this patch.
5386
5387 diff --git a/sys-kernel/aufs-sources/files/README.gentoo-r1 b/sys-kernel/aufs-sources/files/README.gentoo-r1
5388 new file mode 100644
5389 index 0000000..d59b18d
5390 --- /dev/null
5391 +++ b/sys-kernel/aufs-sources/files/README.gentoo-r1
5392 @@ -0,0 +1,21 @@
5393 +
5394 +There several other patches in aufs3.
5395 +They are all optional. When you meet some problems, they will help you. You
5396 +can find them in the documentation directory.
5397 +
5398 + - aufs3-loopback.patch
5399 + Supports a nested loopback mount in a branch-fs. This patch is
5400 + unnecessary until aufs produces a message such like "you may want to try
5401 + another patch for loopback file".
5402 +
5403 + - vfs-ino.patch
5404 + Modifies a system global kernel internal function get_next_ino() in
5405 + order to stop assigning 0 for an inode-number. Not directly related to
5406 + aufs, but recommended generally.
5407 +
5408 + - tmpfs-idr.patch
5409 + Keeps the tmpfs inode number as the lowest value. Effective to reduce
5410 + the size of aufs XINO files for tmpfs branch. Also it prevents the
5411 + duplication of inode number, which is important for backup
5412 + tools, aubrsync or other utilities. When you find aufs XINO files for
5413 + tmpfs branch growing too much, try this patch.
5414
5415 diff --git a/sys-kernel/aufs-sources/metadata.xml b/sys-kernel/aufs-sources/metadata.xml
5416 new file mode 100644
5417 index 0000000..22b452c
5418 --- /dev/null
5419 +++ b/sys-kernel/aufs-sources/metadata.xml
5420 @@ -0,0 +1,25 @@
5421 +<?xml version="1.0" encoding="UTF-8"?>
5422 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
5423 +<pkgmetadata>
5424 + <maintainer type="person">
5425 + <email>jlec@g.o</email>
5426 + </maintainer>
5427 + <use>
5428 + <flag name="experimental">
5429 + Apply experimental patches; for more information,
5430 + see "https://wiki.gentoo.org/wiki/Project:Kernel/Experimental".
5431 + </flag>
5432 + <flag name="module">
5433 + Patch kernel to allow aufs being build as a module.
5434 + </flag>
5435 + <flag name="vanilla">
5436 + Use vanilla kernel sources without applying genpatches.
5437 + WARNING: This flag will drop all support from the Gentoo Kernel
5438 + Security team
5439 + </flag>
5440 + </use>
5441 + <upstream>
5442 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
5443 + <remote-id type="sourceforge">aufs</remote-id>
5444 + </upstream>
5445 +</pkgmetadata>
5446
5447 diff --git a/sys-kernel/bliss-initramfs/bliss-initramfs-7.1.3.ebuild b/sys-kernel/bliss-initramfs/bliss-initramfs-7.1.3.ebuild
5448 new file mode 100644
5449 index 0000000..442f2fe
5450 --- /dev/null
5451 +++ b/sys-kernel/bliss-initramfs/bliss-initramfs-7.1.3.ebuild
5452 @@ -0,0 +1,45 @@
5453 +# Copyright 1999-2018 Gentoo Foundation
5454 +# Distributed under the terms of the GNU General Public License v2
5455 +
5456 +EAPI=6
5457 +
5458 +PYTHON_COMPAT=( python{3_4,3_5,3_6} )
5459 +inherit python-single-r1
5460 +
5461 +GITHUB_USER="fearedbliss"
5462 +GITHUB_REPO="bliss-initramfs"
5463 +GITHUB_TAG="${PV}"
5464 +
5465 +DESCRIPTION="Boot your system's rootfs from ZFS, LVM, RAID, or a variety of other configs."
5466 +HOMEPAGE="https://github.com/${GITHUB_USER}/${GITHUB_REPO}"
5467 +SRC_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}/archive/${GITHUB_TAG}.tar.gz -> ${P}.tar.gz"
5468 +
5469 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
5470 +RESTRICT="strip"
5471 +LICENSE="BSD-2"
5472 +SLOT="0"
5473 +KEYWORDS="-* amd64"
5474 +
5475 +RDEPEND="
5476 + ${PYTHON_DEPS}
5477 + app-arch/cpio
5478 + virtual/udev"
5479 +
5480 +S="${WORKDIR}/${GITHUB_REPO}-${GITHUB_TAG}"
5481 +
5482 +src_install() {
5483 + # Copy the main executable
5484 + local executable="mkinitrd.py"
5485 + exeinto "/opt/${PN}"
5486 + doexe "${executable}"
5487 +
5488 + # Copy the libraries required by this executable
5489 + cp -r "${S}/files" "${D}/opt/${PN}" || die
5490 + cp -r "${S}/pkg" "${D}/opt/${PN}" || die
5491 +
5492 + # Copy documentation files
5493 + dodoc README USAGE
5494 +
5495 + # Make a symbolic link: /sbin/bliss-initramfs
5496 + dosym "${EPREFIX}/opt/${PN}/${executable}" "/sbin/${PN}"
5497 +}
5498
5499 diff --git a/sys-kernel/bliss-initramfs/metadata.xml b/sys-kernel/bliss-initramfs/metadata.xml
5500 new file mode 100644
5501 index 0000000..b328d87
5502 --- /dev/null
5503 +++ b/sys-kernel/bliss-initramfs/metadata.xml
5504 @@ -0,0 +1,8 @@
5505 +<?xml version='1.0' encoding='UTF-8'?>
5506 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
5507 +<pkgmetadata>
5508 + <!-- maintainer-needed -->
5509 + <upstream>
5510 + <remote-id type="github">fearedbliss/bliss-initramfs</remote-id>
5511 + </upstream>
5512 +</pkgmetadata>
5513
5514 diff --git a/sys-kernel/ck-sources/ck-sources-4.14.63.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.63.ebuild
5515 new file mode 100644
5516 index 0000000..a0c19c5
5517 --- /dev/null
5518 +++ b/sys-kernel/ck-sources/ck-sources-4.14.63.ebuild
5519 @@ -0,0 +1,64 @@
5520 +# Copyright 1999-2018 Gentoo Foundation
5521 +# Distributed under the terms of the GNU General Public License v2
5522 +
5523 +EAPI="6"
5524 +ETYPE="sources"
5525 +KEYWORDS="~amd64 ~x86"
5526 +
5527 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
5528 + http://kernel.kolivas.org/"
5529 +
5530 +IUSE="experimental"
5531 +
5532 +K_WANT_GENPATCHES="base extras experimental"
5533 +K_GENPATCHES_VER="69"
5534 +K_SECURITY_UNSUPPORTED="1"
5535 +K_DEBLOB_AVAILABLE="1"
5536 +
5537 +PYTHON_COMPAT=( python2_7 )
5538 +inherit python-any-r1 kernel-2
5539 +detect_version
5540 +detect_arch
5541 +
5542 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
5543 +
5544 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
5545 +
5546 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
5547 +
5548 +MUQSS_VERSION="162"
5549 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
5550 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
5551 +
5552 +# clearly identify package name in distrdir
5553 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
5554 +
5555 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
5556 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
5557 +
5558 +# Fix for: https://github.com/gentoo/gentoo/pull/6942
5559 +BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
5560 +BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
5561 +BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
5562 +
5563 +# Upstream: https://github.com/ckolivas/linux/pull/9/
5564 +IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
5565 +IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
5566 +IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
5567 +
5568 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
5569 +
5570 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
5571 +UNIPATCH_STRICTORDER="yes"
5572 +
5573 +pkg_setup() {
5574 + use deblob && python-any-r1_pkg_setup
5575 + kernel-2_pkg_setup
5576 +}
5577 +
5578 +pkg_postinst() {
5579 + elog "CPU optimizations patch (from genpatches) is off by default."
5580 + elog "Set USE=\"experimental\" if you need this patch / feature."
5581 + elog "This can be set in /etc/portage/package.use (or make.conf)"
5582 + elog "make menuconfig as usual to edit .config for this feature."
5583 +}
5584
5585 diff --git a/sys-kernel/ck-sources/ck-sources-4.14.66.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.66.ebuild
5586 new file mode 100644
5587 index 0000000..baa6ef3
5588 --- /dev/null
5589 +++ b/sys-kernel/ck-sources/ck-sources-4.14.66.ebuild
5590 @@ -0,0 +1,64 @@
5591 +# Copyright 1999-2018 Gentoo Foundation
5592 +# Distributed under the terms of the GNU General Public License v2
5593 +
5594 +EAPI="6"
5595 +ETYPE="sources"
5596 +KEYWORDS="~amd64 ~x86"
5597 +
5598 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
5599 + http://kernel.kolivas.org/"
5600 +
5601 +IUSE="experimental"
5602 +
5603 +K_WANT_GENPATCHES="base extras experimental"
5604 +K_GENPATCHES_VER="72"
5605 +K_SECURITY_UNSUPPORTED="1"
5606 +K_DEBLOB_AVAILABLE="1"
5607 +
5608 +PYTHON_COMPAT=( python2_7 )
5609 +inherit python-any-r1 kernel-2
5610 +detect_version
5611 +detect_arch
5612 +
5613 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
5614 +
5615 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
5616 +
5617 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
5618 +
5619 +MUQSS_VERSION="162"
5620 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
5621 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
5622 +
5623 +# clearly identify package name in distrdir
5624 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
5625 +
5626 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
5627 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
5628 +
5629 +# Fix for: https://github.com/gentoo/gentoo/pull/6942
5630 +BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
5631 +BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
5632 +BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
5633 +
5634 +# Upstream: https://github.com/ckolivas/linux/pull/9/
5635 +IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
5636 +IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
5637 +IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
5638 +
5639 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
5640 +
5641 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
5642 +UNIPATCH_STRICTORDER="yes"
5643 +
5644 +pkg_setup() {
5645 + use deblob && python-any-r1_pkg_setup
5646 + kernel-2_pkg_setup
5647 +}
5648 +
5649 +pkg_postinst() {
5650 + elog "CPU optimizations patch (from genpatches) is off by default."
5651 + elog "Set USE=\"experimental\" if you need this patch / feature."
5652 + elog "This can be set in /etc/portage/package.use (or make.conf)"
5653 + elog "make menuconfig as usual to edit .config for this feature."
5654 +}
5655
5656 diff --git a/sys-kernel/ck-sources/ck-sources-4.14.67.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.67.ebuild
5657 new file mode 100644
5658 index 0000000..19fdd21
5659 --- /dev/null
5660 +++ b/sys-kernel/ck-sources/ck-sources-4.14.67.ebuild
5661 @@ -0,0 +1,64 @@
5662 +# Copyright 1999-2018 Gentoo Foundation
5663 +# Distributed under the terms of the GNU General Public License v2
5664 +
5665 +EAPI="6"
5666 +ETYPE="sources"
5667 +KEYWORDS="~amd64 ~x86"
5668 +
5669 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
5670 + http://kernel.kolivas.org/"
5671 +
5672 +IUSE="experimental"
5673 +
5674 +K_WANT_GENPATCHES="base extras experimental"
5675 +K_GENPATCHES_VER="73"
5676 +K_SECURITY_UNSUPPORTED="1"
5677 +K_DEBLOB_AVAILABLE="1"
5678 +
5679 +PYTHON_COMPAT=( python2_7 )
5680 +inherit python-any-r1 kernel-2
5681 +detect_version
5682 +detect_arch
5683 +
5684 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
5685 +
5686 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
5687 +
5688 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
5689 +
5690 +MUQSS_VERSION="162"
5691 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
5692 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
5693 +
5694 +# clearly identify package name in distrdir
5695 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
5696 +
5697 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
5698 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
5699 +
5700 +# Fix for: https://github.com/gentoo/gentoo/pull/6942
5701 +BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
5702 +BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
5703 +BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
5704 +
5705 +# Upstream: https://github.com/ckolivas/linux/pull/9/
5706 +IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
5707 +IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
5708 +IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
5709 +
5710 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
5711 +
5712 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
5713 +UNIPATCH_STRICTORDER="yes"
5714 +
5715 +pkg_setup() {
5716 + use deblob && python-any-r1_pkg_setup
5717 + kernel-2_pkg_setup
5718 +}
5719 +
5720 +pkg_postinst() {
5721 + elog "CPU optimizations patch (from genpatches) is off by default."
5722 + elog "Set USE=\"experimental\" if you need this patch / feature."
5723 + elog "This can be set in /etc/portage/package.use (or make.conf)"
5724 + elog "make menuconfig as usual to edit .config for this feature."
5725 +}
5726
5727 diff --git a/sys-kernel/ck-sources/ck-sources-4.14.69.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.69.ebuild
5728 new file mode 100644
5729 index 0000000..911cc37
5730 --- /dev/null
5731 +++ b/sys-kernel/ck-sources/ck-sources-4.14.69.ebuild
5732 @@ -0,0 +1,64 @@
5733 +# Copyright 1999-2018 Gentoo Foundation
5734 +# Distributed under the terms of the GNU General Public License v2
5735 +
5736 +EAPI="6"
5737 +ETYPE="sources"
5738 +KEYWORDS="~amd64 ~x86"
5739 +
5740 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
5741 + http://kernel.kolivas.org/"
5742 +
5743 +IUSE="experimental"
5744 +
5745 +K_WANT_GENPATCHES="base extras experimental"
5746 +K_GENPATCHES_VER="75"
5747 +K_SECURITY_UNSUPPORTED="1"
5748 +K_DEBLOB_AVAILABLE="1"
5749 +
5750 +PYTHON_COMPAT=( python2_7 )
5751 +inherit python-any-r1 kernel-2
5752 +detect_version
5753 +detect_arch
5754 +
5755 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
5756 +
5757 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
5758 +
5759 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
5760 +
5761 +MUQSS_VERSION="162"
5762 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
5763 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
5764 +
5765 +# clearly identify package name in distrdir
5766 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
5767 +
5768 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
5769 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
5770 +
5771 +# Fix for: https://github.com/gentoo/gentoo/pull/6942
5772 +BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
5773 +BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
5774 +BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
5775 +
5776 +# Upstream: https://github.com/ckolivas/linux/pull/9/
5777 +IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
5778 +IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
5779 +IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
5780 +
5781 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
5782 +
5783 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
5784 +UNIPATCH_STRICTORDER="yes"
5785 +
5786 +pkg_setup() {
5787 + use deblob && python-any-r1_pkg_setup
5788 + kernel-2_pkg_setup
5789 +}
5790 +
5791 +pkg_postinst() {
5792 + elog "CPU optimizations patch (from genpatches) is off by default."
5793 + elog "Set USE=\"experimental\" if you need this patch / feature."
5794 + elog "This can be set in /etc/portage/package.use (or make.conf)"
5795 + elog "make menuconfig as usual to edit .config for this feature."
5796 +}
5797
5798 diff --git a/sys-kernel/ck-sources/ck-sources-4.14.71.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.71.ebuild
5799 new file mode 100644
5800 index 0000000..0a60f04
5801 --- /dev/null
5802 +++ b/sys-kernel/ck-sources/ck-sources-4.14.71.ebuild
5803 @@ -0,0 +1,64 @@
5804 +# Copyright 2018 kuzetsa℠ and others
5805 +# Distributed under the terms of the GNU General Public License v2
5806 +
5807 +EAPI="6"
5808 +ETYPE="sources"
5809 +KEYWORDS="~amd64 ~x86"
5810 +
5811 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
5812 + http://kernel.kolivas.org/"
5813 +
5814 +IUSE="experimental"
5815 +
5816 +K_WANT_GENPATCHES="base extras experimental"
5817 +K_GENPATCHES_VER="77"
5818 +K_SECURITY_UNSUPPORTED="1"
5819 +K_DEBLOB_AVAILABLE="1"
5820 +
5821 +PYTHON_COMPAT=( python2_7 )
5822 +inherit python-any-r1 kernel-2
5823 +detect_version
5824 +detect_arch
5825 +
5826 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
5827 +
5828 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
5829 +
5830 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
5831 +
5832 +MUQSS_VERSION="162"
5833 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
5834 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
5835 +
5836 +# clearly identify package name in distrdir
5837 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
5838 +
5839 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
5840 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
5841 +
5842 +# Fix for: https://github.com/gentoo/gentoo/pull/6942
5843 +BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
5844 +BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
5845 +BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
5846 +
5847 +# Upstream: https://github.com/ckolivas/linux/pull/9/
5848 +IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
5849 +IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
5850 +IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
5851 +
5852 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
5853 +
5854 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
5855 +UNIPATCH_STRICTORDER="yes"
5856 +
5857 +pkg_setup() {
5858 + use deblob && python-any-r1_pkg_setup
5859 + kernel-2_pkg_setup
5860 +}
5861 +
5862 +pkg_postinst() {
5863 + elog "CPU optimizations patch (from genpatches) is off by default."
5864 + elog "Set USE=\"experimental\" if you need this patch / feature."
5865 + elog "This can be set in /etc/portage/package.use (or make.conf)"
5866 + elog "make menuconfig as usual to edit .config for this feature."
5867 +}
5868
5869 diff --git a/sys-kernel/ck-sources/ck-sources-4.14.73.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.73.ebuild
5870 new file mode 100644
5871 index 0000000..9e4b49a
5872 --- /dev/null
5873 +++ b/sys-kernel/ck-sources/ck-sources-4.14.73.ebuild
5874 @@ -0,0 +1,64 @@
5875 +# Copyright 2018 kuzetsa℠ and others
5876 +# Distributed under the terms of the GNU General Public License v2
5877 +
5878 +EAPI="6"
5879 +ETYPE="sources"
5880 +KEYWORDS="~amd64 ~x86"
5881 +
5882 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
5883 + http://kernel.kolivas.org/"
5884 +
5885 +IUSE="experimental"
5886 +
5887 +K_WANT_GENPATCHES="base extras experimental"
5888 +K_GENPATCHES_VER="79"
5889 +K_SECURITY_UNSUPPORTED="1"
5890 +K_DEBLOB_AVAILABLE="1"
5891 +
5892 +PYTHON_COMPAT=( python2_7 )
5893 +inherit python-any-r1 kernel-2
5894 +detect_version
5895 +detect_arch
5896 +
5897 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
5898 +
5899 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
5900 +
5901 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
5902 +
5903 +MUQSS_VERSION="162"
5904 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
5905 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
5906 +
5907 +# clearly identify package name in distrdir
5908 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
5909 +
5910 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
5911 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
5912 +
5913 +# Fix for: https://github.com/gentoo/gentoo/pull/6942
5914 +BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
5915 +BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
5916 +BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
5917 +
5918 +# Upstream: https://github.com/ckolivas/linux/pull/9/
5919 +IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
5920 +IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
5921 +IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
5922 +
5923 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
5924 +
5925 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
5926 +UNIPATCH_STRICTORDER="yes"
5927 +
5928 +pkg_setup() {
5929 + use deblob && python-any-r1_pkg_setup
5930 + kernel-2_pkg_setup
5931 +}
5932 +
5933 +pkg_postinst() {
5934 + elog "CPU optimizations patch (from genpatches) is off by default."
5935 + elog "Set USE=\"experimental\" if you need this patch / feature."
5936 + elog "This can be set in /etc/portage/package.use (or make.conf)"
5937 + elog "make menuconfig as usual to edit .config for this feature."
5938 +}
5939
5940 diff --git a/sys-kernel/ck-sources/ck-sources-4.14.75.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.75.ebuild
5941 new file mode 100644
5942 index 0000000..1156a3a
5943 --- /dev/null
5944 +++ b/sys-kernel/ck-sources/ck-sources-4.14.75.ebuild
5945 @@ -0,0 +1,57 @@
5946 +# Copyright 2018 kuzetsa℠ and others
5947 +# Distributed under the terms of the GNU General Public License v2
5948 +
5949 +EAPI="6"
5950 +ETYPE="sources"
5951 +KEYWORDS="~amd64 ~x86"
5952 +
5953 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
5954 + http://kernel.kolivas.org/"
5955 +
5956 +IUSE="experimental"
5957 +
5958 +K_WANT_GENPATCHES="base extras experimental"
5959 +K_GENPATCHES_VER="81"
5960 +K_SECURITY_UNSUPPORTED="1"
5961 +K_DEBLOB_AVAILABLE="1"
5962 +
5963 +PYTHON_COMPAT=( python2_7 )
5964 +inherit python-any-r1 kernel-2
5965 +detect_version
5966 +detect_arch
5967 +
5968 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
5969 +
5970 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
5971 +
5972 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
5973 +
5974 +MUQSS_VERSION="162"
5975 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
5976 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
5977 +
5978 +# clearly identify package name in distrdir
5979 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
5980 +
5981 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
5982 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
5983 +
5984 +# Fix for: https://github.com/gentoo/gentoo/pull/6942
5985 +BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
5986 +BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
5987 +BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
5988 +
5989 +# Upstream: https://github.com/ckolivas/linux/pull/9/
5990 +IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
5991 +IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
5992 +IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
5993 +
5994 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
5995 +
5996 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
5997 +UNIPATCH_STRICTORDER="yes"
5998 +
5999 +pkg_setup() {
6000 + use deblob && python-any-r1_pkg_setup
6001 + kernel-2_pkg_setup
6002 +}
6003
6004 diff --git a/sys-kernel/ck-sources/ck-sources-4.14.78.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.78.ebuild
6005 new file mode 100644
6006 index 0000000..712f46c
6007 --- /dev/null
6008 +++ b/sys-kernel/ck-sources/ck-sources-4.14.78.ebuild
6009 @@ -0,0 +1,57 @@
6010 +# Copyright 2018 kuzetsa℠ and others
6011 +# Distributed under the terms of the GNU General Public License v2
6012 +
6013 +EAPI="6"
6014 +ETYPE="sources"
6015 +KEYWORDS="~amd64 ~x86"
6016 +
6017 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6018 + http://kernel.kolivas.org/"
6019 +
6020 +IUSE="experimental"
6021 +
6022 +K_WANT_GENPATCHES="base extras experimental"
6023 +K_GENPATCHES_VER="85"
6024 +K_SECURITY_UNSUPPORTED="1"
6025 +K_DEBLOB_AVAILABLE="1"
6026 +
6027 +PYTHON_COMPAT=( python2_7 )
6028 +inherit python-any-r1 kernel-2
6029 +detect_version
6030 +detect_arch
6031 +
6032 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6033 +
6034 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6035 +
6036 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6037 +
6038 +MUQSS_VERSION="162"
6039 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6040 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6041 +
6042 +# clearly identify package name in distrdir
6043 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6044 +
6045 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6046 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6047 +
6048 +# Fix for: https://github.com/gentoo/gentoo/pull/6942
6049 +BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
6050 +BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
6051 +BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
6052 +
6053 +# Upstream: https://github.com/ckolivas/linux/pull/9/
6054 +IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
6055 +IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
6056 +IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
6057 +
6058 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
6059 +
6060 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
6061 +UNIPATCH_STRICTORDER="yes"
6062 +
6063 +pkg_setup() {
6064 + use deblob && python-any-r1_pkg_setup
6065 + kernel-2_pkg_setup
6066 +}
6067
6068 diff --git a/sys-kernel/ck-sources/ck-sources-4.18.11.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.11.ebuild
6069 new file mode 100644
6070 index 0000000..b009eb9
6071 --- /dev/null
6072 +++ b/sys-kernel/ck-sources/ck-sources-4.18.11.ebuild
6073 @@ -0,0 +1,54 @@
6074 +# Copyright 2018 kuzetsa℠ and others
6075 +# Distributed under the terms of the GNU General Public License v2
6076 +
6077 +EAPI="6"
6078 +ETYPE="sources"
6079 +KEYWORDS="~amd64 ~x86"
6080 +
6081 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6082 + http://kernel.kolivas.org/"
6083 +
6084 +IUSE="experimental"
6085 +
6086 +K_WANT_GENPATCHES="base extras experimental"
6087 +K_GENPATCHES_VER="14"
6088 +K_SECURITY_UNSUPPORTED="1"
6089 +K_DEBLOB_AVAILABLE="1"
6090 +
6091 +PYTHON_COMPAT=( python2_7 )
6092 +inherit python-any-r1 kernel-2
6093 +detect_version
6094 +detect_arch
6095 +
6096 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6097 +
6098 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6099 +
6100 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6101 +
6102 +MUQSS_VERSION="173"
6103 +MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
6104 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6105 +
6106 +# clearly identify package name in distrdir
6107 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6108 +
6109 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6110 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6111 +
6112 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
6113 +
6114 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
6115 +UNIPATCH_STRICTORDER="yes"
6116 +
6117 +pkg_setup() {
6118 + use deblob && python-any-r1_pkg_setup
6119 + kernel-2_pkg_setup
6120 +}
6121 +
6122 +pkg_postinst() {
6123 + elog "CPU optimizations patch (from genpatches) is off by default."
6124 + elog "Set USE=\"experimental\" if you need this patch / feature."
6125 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6126 + elog "make menuconfig as usual to edit .config for this feature."
6127 +}
6128
6129 diff --git a/sys-kernel/ck-sources/ck-sources-4.18.13.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.13.ebuild
6130 new file mode 100644
6131 index 0000000..1c6f971
6132 --- /dev/null
6133 +++ b/sys-kernel/ck-sources/ck-sources-4.18.13.ebuild
6134 @@ -0,0 +1,47 @@
6135 +# Copyright 2018 kuzetsa℠ and others
6136 +# Distributed under the terms of the GNU General Public License v2
6137 +
6138 +EAPI="6"
6139 +ETYPE="sources"
6140 +KEYWORDS="~amd64 ~x86"
6141 +
6142 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6143 + http://kernel.kolivas.org/"
6144 +
6145 +IUSE="experimental"
6146 +
6147 +K_WANT_GENPATCHES="base extras experimental"
6148 +K_GENPATCHES_VER="16"
6149 +K_SECURITY_UNSUPPORTED="1"
6150 +K_DEBLOB_AVAILABLE="1"
6151 +
6152 +PYTHON_COMPAT=( python2_7 )
6153 +inherit python-any-r1 kernel-2
6154 +detect_version
6155 +detect_arch
6156 +
6157 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6158 +
6159 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6160 +
6161 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6162 +
6163 +MUQSS_VERSION="173"
6164 +MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
6165 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6166 +
6167 +# clearly identify package name in distrdir
6168 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6169 +
6170 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6171 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6172 +
6173 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
6174 +
6175 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
6176 +UNIPATCH_STRICTORDER="yes"
6177 +
6178 +pkg_setup() {
6179 + use deblob && python-any-r1_pkg_setup
6180 + kernel-2_pkg_setup
6181 +}
6182
6183 diff --git a/sys-kernel/ck-sources/ck-sources-4.18.16.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.16.ebuild
6184 new file mode 100644
6185 index 0000000..044e8de
6186 --- /dev/null
6187 +++ b/sys-kernel/ck-sources/ck-sources-4.18.16.ebuild
6188 @@ -0,0 +1,47 @@
6189 +# Copyright 2018 kuzetsa℠ and others
6190 +# Distributed under the terms of the GNU General Public License v2
6191 +
6192 +EAPI="6"
6193 +ETYPE="sources"
6194 +KEYWORDS="~amd64 ~x86"
6195 +
6196 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6197 + http://kernel.kolivas.org/"
6198 +
6199 +IUSE="experimental"
6200 +
6201 +K_WANT_GENPATCHES="base extras experimental"
6202 +K_GENPATCHES_VER="19"
6203 +K_SECURITY_UNSUPPORTED="1"
6204 +K_DEBLOB_AVAILABLE="1"
6205 +
6206 +PYTHON_COMPAT=( python2_7 )
6207 +inherit python-any-r1 kernel-2
6208 +detect_version
6209 +detect_arch
6210 +
6211 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6212 +
6213 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6214 +
6215 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6216 +
6217 +MUQSS_VERSION="173"
6218 +MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
6219 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6220 +
6221 +# clearly identify package name in distrdir
6222 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6223 +
6224 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6225 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6226 +
6227 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
6228 +
6229 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
6230 +UNIPATCH_STRICTORDER="yes"
6231 +
6232 +pkg_setup() {
6233 + use deblob && python-any-r1_pkg_setup
6234 + kernel-2_pkg_setup
6235 +}
6236
6237 diff --git a/sys-kernel/ck-sources/ck-sources-4.18.5.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.5.ebuild
6238 new file mode 100644
6239 index 0000000..b7c502b
6240 --- /dev/null
6241 +++ b/sys-kernel/ck-sources/ck-sources-4.18.5.ebuild
6242 @@ -0,0 +1,54 @@
6243 +# Copyright 1999-2018 Gentoo Foundation
6244 +# Distributed under the terms of the GNU General Public License v2
6245 +
6246 +EAPI="6"
6247 +ETYPE="sources"
6248 +KEYWORDS="~amd64 ~x86"
6249 +
6250 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6251 + http://kernel.kolivas.org/"
6252 +
6253 +IUSE="experimental"
6254 +
6255 +K_WANT_GENPATCHES="base extras experimental"
6256 +K_GENPATCHES_VER="8"
6257 +K_SECURITY_UNSUPPORTED="1"
6258 +K_DEBLOB_AVAILABLE="1"
6259 +
6260 +PYTHON_COMPAT=( python2_7 )
6261 +inherit python-any-r1 kernel-2
6262 +detect_version
6263 +detect_arch
6264 +
6265 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6266 +
6267 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6268 +
6269 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6270 +
6271 +MUQSS_VERSION="173"
6272 +MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
6273 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6274 +
6275 +# clearly identify package name in distrdir
6276 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6277 +
6278 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6279 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6280 +
6281 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
6282 +
6283 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
6284 +UNIPATCH_STRICTORDER="yes"
6285 +
6286 +pkg_setup() {
6287 + use deblob && python-any-r1_pkg_setup
6288 + kernel-2_pkg_setup
6289 +}
6290 +
6291 +pkg_postinst() {
6292 + elog "CPU optimizations patch (from genpatches) is off by default."
6293 + elog "Set USE=\"experimental\" if you need this patch / feature."
6294 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6295 + elog "make menuconfig as usual to edit .config for this feature."
6296 +}
6297
6298 diff --git a/sys-kernel/ck-sources/ck-sources-4.18.7.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.7.ebuild
6299 new file mode 100644
6300 index 0000000..63fee71
6301 --- /dev/null
6302 +++ b/sys-kernel/ck-sources/ck-sources-4.18.7.ebuild
6303 @@ -0,0 +1,54 @@
6304 +# Copyright 1999-2018 Gentoo Foundation
6305 +# Distributed under the terms of the GNU General Public License v2
6306 +
6307 +EAPI="6"
6308 +ETYPE="sources"
6309 +KEYWORDS="~amd64 ~x86"
6310 +
6311 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6312 + http://kernel.kolivas.org/"
6313 +
6314 +IUSE="experimental"
6315 +
6316 +K_WANT_GENPATCHES="base extras experimental"
6317 +K_GENPATCHES_VER="10"
6318 +K_SECURITY_UNSUPPORTED="1"
6319 +K_DEBLOB_AVAILABLE="1"
6320 +
6321 +PYTHON_COMPAT=( python2_7 )
6322 +inherit python-any-r1 kernel-2
6323 +detect_version
6324 +detect_arch
6325 +
6326 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6327 +
6328 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6329 +
6330 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6331 +
6332 +MUQSS_VERSION="173"
6333 +MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
6334 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6335 +
6336 +# clearly identify package name in distrdir
6337 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6338 +
6339 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6340 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6341 +
6342 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
6343 +
6344 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
6345 +UNIPATCH_STRICTORDER="yes"
6346 +
6347 +pkg_setup() {
6348 + use deblob && python-any-r1_pkg_setup
6349 + kernel-2_pkg_setup
6350 +}
6351 +
6352 +pkg_postinst() {
6353 + elog "CPU optimizations patch (from genpatches) is off by default."
6354 + elog "Set USE=\"experimental\" if you need this patch / feature."
6355 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6356 + elog "make menuconfig as usual to edit .config for this feature."
6357 +}
6358
6359 diff --git a/sys-kernel/ck-sources/ck-sources-4.18.9.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.9.ebuild
6360 new file mode 100644
6361 index 0000000..14f9f65
6362 --- /dev/null
6363 +++ b/sys-kernel/ck-sources/ck-sources-4.18.9.ebuild
6364 @@ -0,0 +1,54 @@
6365 +# Copyright 2018 kuzetsa℠ and others
6366 +# Distributed under the terms of the GNU General Public License v2
6367 +
6368 +EAPI="6"
6369 +ETYPE="sources"
6370 +KEYWORDS="~amd64 ~x86"
6371 +
6372 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6373 + http://kernel.kolivas.org/"
6374 +
6375 +IUSE="experimental"
6376 +
6377 +K_WANT_GENPATCHES="base extras experimental"
6378 +K_GENPATCHES_VER="12"
6379 +K_SECURITY_UNSUPPORTED="1"
6380 +K_DEBLOB_AVAILABLE="1"
6381 +
6382 +PYTHON_COMPAT=( python2_7 )
6383 +inherit python-any-r1 kernel-2
6384 +detect_version
6385 +detect_arch
6386 +
6387 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6388 +
6389 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6390 +
6391 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6392 +
6393 +MUQSS_VERSION="173"
6394 +MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
6395 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6396 +
6397 +# clearly identify package name in distrdir
6398 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6399 +
6400 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6401 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6402 +
6403 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
6404 +
6405 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
6406 +UNIPATCH_STRICTORDER="yes"
6407 +
6408 +pkg_setup() {
6409 + use deblob && python-any-r1_pkg_setup
6410 + kernel-2_pkg_setup
6411 +}
6412 +
6413 +pkg_postinst() {
6414 + elog "CPU optimizations patch (from genpatches) is off by default."
6415 + elog "Set USE=\"experimental\" if you need this patch / feature."
6416 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6417 + elog "make menuconfig as usual to edit .config for this feature."
6418 +}
6419
6420 diff --git a/sys-kernel/ck-sources/ck-sources-4.9.120.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.120.ebuild
6421 new file mode 100644
6422 index 0000000..3f00921
6423 --- /dev/null
6424 +++ b/sys-kernel/ck-sources/ck-sources-4.9.120.ebuild
6425 @@ -0,0 +1,59 @@
6426 +# Copyright 1999-2018 Gentoo Foundation
6427 +# Distributed under the terms of the GNU General Public License v2
6428 +
6429 +EAPI="6"
6430 +ETYPE="sources"
6431 +KEYWORDS="~amd64 ~x86"
6432 +
6433 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6434 + http://kernel.kolivas.org/"
6435 +
6436 +IUSE="experimental"
6437 +
6438 +K_WANT_GENPATCHES="base extras experimental"
6439 +K_GENPATCHES_VER="124"
6440 +K_SECURITY_UNSUPPORTED="1"
6441 +K_DEBLOB_AVAILABLE="1"
6442 +
6443 +PYTHON_COMPAT=( python2_7 )
6444 +inherit python-any-r1 kernel-2
6445 +detect_version
6446 +detect_arch
6447 +
6448 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6449 +
6450 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6451 +
6452 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6453 +
6454 +MUQSS_VERSION="150"
6455 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6456 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6457 +
6458 +# clearly identify package name in distrdir
6459 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6460 +
6461 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6462 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6463 +
6464 +# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
6465 +FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
6466 +FRZR_FILE="${PN}-4.9-freezer-fix.patch"
6467 +FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
6468 +
6469 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
6470 +
6471 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
6472 +UNIPATCH_STRICTORDER="yes"
6473 +
6474 +pkg_setup() {
6475 + use deblob && python-any-r1_pkg_setup
6476 + kernel-2_pkg_setup
6477 +}
6478 +
6479 +pkg_postinst() {
6480 + elog "CPU optimizations patch (from genpatches) is off by default."
6481 + elog "Set USE=\"experimental\" if you need this patch / feature."
6482 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6483 + elog "make menuconfig as usual to edit .config for this feature."
6484 +}
6485
6486 diff --git a/sys-kernel/ck-sources/ck-sources-4.9.123.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.123.ebuild
6487 new file mode 100644
6488 index 0000000..95b48d8
6489 --- /dev/null
6490 +++ b/sys-kernel/ck-sources/ck-sources-4.9.123.ebuild
6491 @@ -0,0 +1,59 @@
6492 +# Copyright 1999-2018 Gentoo Foundation
6493 +# Distributed under the terms of the GNU General Public License v2
6494 +
6495 +EAPI="6"
6496 +ETYPE="sources"
6497 +KEYWORDS="~amd64 ~x86"
6498 +
6499 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6500 + http://kernel.kolivas.org/"
6501 +
6502 +IUSE="experimental"
6503 +
6504 +K_WANT_GENPATCHES="base extras experimental"
6505 +K_GENPATCHES_VER="127"
6506 +K_SECURITY_UNSUPPORTED="1"
6507 +K_DEBLOB_AVAILABLE="1"
6508 +
6509 +PYTHON_COMPAT=( python2_7 )
6510 +inherit python-any-r1 kernel-2
6511 +detect_version
6512 +detect_arch
6513 +
6514 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6515 +
6516 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6517 +
6518 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6519 +
6520 +MUQSS_VERSION="150"
6521 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6522 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6523 +
6524 +# clearly identify package name in distrdir
6525 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6526 +
6527 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6528 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6529 +
6530 +# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
6531 +FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
6532 +FRZR_FILE="${PN}-4.9-freezer-fix.patch"
6533 +FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
6534 +
6535 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
6536 +
6537 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
6538 +UNIPATCH_STRICTORDER="yes"
6539 +
6540 +pkg_setup() {
6541 + use deblob && python-any-r1_pkg_setup
6542 + kernel-2_pkg_setup
6543 +}
6544 +
6545 +pkg_postinst() {
6546 + elog "CPU optimizations patch (from genpatches) is off by default."
6547 + elog "Set USE=\"experimental\" if you need this patch / feature."
6548 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6549 + elog "make menuconfig as usual to edit .config for this feature."
6550 +}
6551
6552 diff --git a/sys-kernel/ck-sources/ck-sources-4.9.124.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.124.ebuild
6553 new file mode 100644
6554 index 0000000..b4e180d
6555 --- /dev/null
6556 +++ b/sys-kernel/ck-sources/ck-sources-4.9.124.ebuild
6557 @@ -0,0 +1,59 @@
6558 +# Copyright 1999-2018 Gentoo Foundation
6559 +# Distributed under the terms of the GNU General Public License v2
6560 +
6561 +EAPI="6"
6562 +ETYPE="sources"
6563 +KEYWORDS="~amd64 ~x86"
6564 +
6565 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6566 + http://kernel.kolivas.org/"
6567 +
6568 +IUSE="experimental"
6569 +
6570 +K_WANT_GENPATCHES="base extras experimental"
6571 +K_GENPATCHES_VER="128"
6572 +K_SECURITY_UNSUPPORTED="1"
6573 +K_DEBLOB_AVAILABLE="1"
6574 +
6575 +PYTHON_COMPAT=( python2_7 )
6576 +inherit python-any-r1 kernel-2
6577 +detect_version
6578 +detect_arch
6579 +
6580 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6581 +
6582 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6583 +
6584 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6585 +
6586 +MUQSS_VERSION="150"
6587 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6588 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6589 +
6590 +# clearly identify package name in distrdir
6591 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6592 +
6593 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6594 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6595 +
6596 +# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
6597 +FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
6598 +FRZR_FILE="${PN}-4.9-freezer-fix.patch"
6599 +FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
6600 +
6601 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
6602 +
6603 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
6604 +UNIPATCH_STRICTORDER="yes"
6605 +
6606 +pkg_setup() {
6607 + use deblob && python-any-r1_pkg_setup
6608 + kernel-2_pkg_setup
6609 +}
6610 +
6611 +pkg_postinst() {
6612 + elog "CPU optimizations patch (from genpatches) is off by default."
6613 + elog "Set USE=\"experimental\" if you need this patch / feature."
6614 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6615 + elog "make menuconfig as usual to edit .config for this feature."
6616 +}
6617
6618 diff --git a/sys-kernel/ck-sources/ck-sources-4.9.126.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.126.ebuild
6619 new file mode 100644
6620 index 0000000..4cc750c
6621 --- /dev/null
6622 +++ b/sys-kernel/ck-sources/ck-sources-4.9.126.ebuild
6623 @@ -0,0 +1,59 @@
6624 +# Copyright 1999-2018 Gentoo Foundation
6625 +# Distributed under the terms of the GNU General Public License v2
6626 +
6627 +EAPI="6"
6628 +ETYPE="sources"
6629 +KEYWORDS="~amd64 ~x86"
6630 +
6631 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6632 + http://kernel.kolivas.org/"
6633 +
6634 +IUSE="experimental"
6635 +
6636 +K_WANT_GENPATCHES="base extras experimental"
6637 +K_GENPATCHES_VER="130"
6638 +K_SECURITY_UNSUPPORTED="1"
6639 +K_DEBLOB_AVAILABLE="1"
6640 +
6641 +PYTHON_COMPAT=( python2_7 )
6642 +inherit python-any-r1 kernel-2
6643 +detect_version
6644 +detect_arch
6645 +
6646 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6647 +
6648 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6649 +
6650 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6651 +
6652 +MUQSS_VERSION="150"
6653 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6654 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6655 +
6656 +# clearly identify package name in distrdir
6657 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6658 +
6659 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6660 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6661 +
6662 +# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
6663 +FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
6664 +FRZR_FILE="${PN}-4.9-freezer-fix.patch"
6665 +FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
6666 +
6667 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
6668 +
6669 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
6670 +UNIPATCH_STRICTORDER="yes"
6671 +
6672 +pkg_setup() {
6673 + use deblob && python-any-r1_pkg_setup
6674 + kernel-2_pkg_setup
6675 +}
6676 +
6677 +pkg_postinst() {
6678 + elog "CPU optimizations patch (from genpatches) is off by default."
6679 + elog "Set USE=\"experimental\" if you need this patch / feature."
6680 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6681 + elog "make menuconfig as usual to edit .config for this feature."
6682 +}
6683
6684 diff --git a/sys-kernel/ck-sources/ck-sources-4.9.128.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.128.ebuild
6685 new file mode 100644
6686 index 0000000..41bbe58
6687 --- /dev/null
6688 +++ b/sys-kernel/ck-sources/ck-sources-4.9.128.ebuild
6689 @@ -0,0 +1,59 @@
6690 +# Copyright 2018 kuzetsa℠ and others
6691 +# Distributed under the terms of the GNU General Public License v2
6692 +
6693 +EAPI="6"
6694 +ETYPE="sources"
6695 +KEYWORDS="~amd64 ~x86"
6696 +
6697 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6698 + http://kernel.kolivas.org/"
6699 +
6700 +IUSE="experimental"
6701 +
6702 +K_WANT_GENPATCHES="base extras experimental"
6703 +K_GENPATCHES_VER="132"
6704 +K_SECURITY_UNSUPPORTED="1"
6705 +K_DEBLOB_AVAILABLE="1"
6706 +
6707 +PYTHON_COMPAT=( python2_7 )
6708 +inherit python-any-r1 kernel-2
6709 +detect_version
6710 +detect_arch
6711 +
6712 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6713 +
6714 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6715 +
6716 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6717 +
6718 +MUQSS_VERSION="150"
6719 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6720 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6721 +
6722 +# clearly identify package name in distrdir
6723 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6724 +
6725 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6726 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6727 +
6728 +# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
6729 +FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
6730 +FRZR_FILE="${PN}-4.9-freezer-fix.patch"
6731 +FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
6732 +
6733 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
6734 +
6735 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
6736 +UNIPATCH_STRICTORDER="yes"
6737 +
6738 +pkg_setup() {
6739 + use deblob && python-any-r1_pkg_setup
6740 + kernel-2_pkg_setup
6741 +}
6742 +
6743 +pkg_postinst() {
6744 + elog "CPU optimizations patch (from genpatches) is off by default."
6745 + elog "Set USE=\"experimental\" if you need this patch / feature."
6746 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6747 + elog "make menuconfig as usual to edit .config for this feature."
6748 +}
6749
6750 diff --git a/sys-kernel/ck-sources/ck-sources-4.9.130.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.130.ebuild
6751 new file mode 100644
6752 index 0000000..63e70f3
6753 --- /dev/null
6754 +++ b/sys-kernel/ck-sources/ck-sources-4.9.130.ebuild
6755 @@ -0,0 +1,59 @@
6756 +# Copyright 2018 kuzetsa℠ and others
6757 +# Distributed under the terms of the GNU General Public License v2
6758 +
6759 +EAPI="6"
6760 +ETYPE="sources"
6761 +KEYWORDS="~amd64 ~x86"
6762 +
6763 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6764 + http://kernel.kolivas.org/"
6765 +
6766 +IUSE="experimental"
6767 +
6768 +K_WANT_GENPATCHES="base extras experimental"
6769 +K_GENPATCHES_VER="134"
6770 +K_SECURITY_UNSUPPORTED="1"
6771 +K_DEBLOB_AVAILABLE="1"
6772 +
6773 +PYTHON_COMPAT=( python2_7 )
6774 +inherit python-any-r1 kernel-2
6775 +detect_version
6776 +detect_arch
6777 +
6778 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6779 +
6780 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6781 +
6782 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6783 +
6784 +MUQSS_VERSION="150"
6785 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6786 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6787 +
6788 +# clearly identify package name in distrdir
6789 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6790 +
6791 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6792 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6793 +
6794 +# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
6795 +FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
6796 +FRZR_FILE="${PN}-4.9-freezer-fix.patch"
6797 +FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
6798 +
6799 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
6800 +
6801 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
6802 +UNIPATCH_STRICTORDER="yes"
6803 +
6804 +pkg_setup() {
6805 + use deblob && python-any-r1_pkg_setup
6806 + kernel-2_pkg_setup
6807 +}
6808 +
6809 +pkg_postinst() {
6810 + elog "CPU optimizations patch (from genpatches) is off by default."
6811 + elog "Set USE=\"experimental\" if you need this patch / feature."
6812 + elog "This can be set in /etc/portage/package.use (or make.conf)"
6813 + elog "make menuconfig as usual to edit .config for this feature."
6814 +}
6815
6816 diff --git a/sys-kernel/ck-sources/ck-sources-4.9.132.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.132.ebuild
6817 new file mode 100644
6818 index 0000000..7809ea8
6819 --- /dev/null
6820 +++ b/sys-kernel/ck-sources/ck-sources-4.9.132.ebuild
6821 @@ -0,0 +1,52 @@
6822 +# Copyright 2018 kuzetsa℠ and others
6823 +# Distributed under the terms of the GNU General Public License v2
6824 +
6825 +EAPI="6"
6826 +ETYPE="sources"
6827 +KEYWORDS="~amd64 ~x86"
6828 +
6829 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6830 + http://kernel.kolivas.org/"
6831 +
6832 +IUSE="experimental"
6833 +
6834 +K_WANT_GENPATCHES="base extras experimental"
6835 +K_GENPATCHES_VER="136"
6836 +K_SECURITY_UNSUPPORTED="1"
6837 +K_DEBLOB_AVAILABLE="1"
6838 +
6839 +PYTHON_COMPAT=( python2_7 )
6840 +inherit python-any-r1 kernel-2
6841 +detect_version
6842 +detect_arch
6843 +
6844 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6845 +
6846 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6847 +
6848 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6849 +
6850 +MUQSS_VERSION="150"
6851 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6852 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6853 +
6854 +# clearly identify package name in distrdir
6855 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6856 +
6857 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6858 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6859 +
6860 +# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
6861 +FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
6862 +FRZR_FILE="${PN}-4.9-freezer-fix.patch"
6863 +FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
6864 +
6865 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
6866 +
6867 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
6868 +UNIPATCH_STRICTORDER="yes"
6869 +
6870 +pkg_setup() {
6871 + use deblob && python-any-r1_pkg_setup
6872 + kernel-2_pkg_setup
6873 +}
6874
6875 diff --git a/sys-kernel/ck-sources/ck-sources-4.9.135.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.135.ebuild
6876 new file mode 100644
6877 index 0000000..4e9d7c1
6878 --- /dev/null
6879 +++ b/sys-kernel/ck-sources/ck-sources-4.9.135.ebuild
6880 @@ -0,0 +1,52 @@
6881 +# Copyright 2018 kuzetsa℠ and others
6882 +# Distributed under the terms of the GNU General Public License v2
6883 +
6884 +EAPI="6"
6885 +ETYPE="sources"
6886 +KEYWORDS="~amd64 ~x86"
6887 +
6888 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
6889 + http://kernel.kolivas.org/"
6890 +
6891 +IUSE="experimental"
6892 +
6893 +K_WANT_GENPATCHES="base extras experimental"
6894 +K_GENPATCHES_VER="139"
6895 +K_SECURITY_UNSUPPORTED="1"
6896 +K_DEBLOB_AVAILABLE="1"
6897 +
6898 +PYTHON_COMPAT=( python2_7 )
6899 +inherit python-any-r1 kernel-2
6900 +detect_version
6901 +detect_arch
6902 +
6903 +DEPEND="deblob? ( ${PYTHON_DEPS} )"
6904 +
6905 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
6906 +
6907 +DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
6908 +
6909 +MUQSS_VERSION="150"
6910 +MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
6911 +MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
6912 +
6913 +# clearly identify package name in distrdir
6914 +MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
6915 +
6916 +CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
6917 +CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
6918 +
6919 +# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
6920 +FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
6921 +FRZR_FILE="${PN}-4.9-freezer-fix.patch"
6922 +FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
6923 +
6924 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
6925 +
6926 +UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
6927 +UNIPATCH_STRICTORDER="yes"
6928 +
6929 +pkg_setup() {
6930 + use deblob && python-any-r1_pkg_setup
6931 + kernel-2_pkg_setup
6932 +}
6933
6934 diff --git a/sys-kernel/ck-sources/metadata.xml b/sys-kernel/ck-sources/metadata.xml
6935 new file mode 100644
6936 index 0000000..3dcc977
6937 --- /dev/null
6938 +++ b/sys-kernel/ck-sources/metadata.xml
6939 @@ -0,0 +1,26 @@
6940 +<?xml version='1.0' encoding='UTF-8'?>
6941 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
6942 +<pkgmetadata>
6943 + <maintainer type="person">
6944 + <email>kuzetsa@××××××××××.ovh</email>
6945 + <name>Sarah White</name>
6946 + </maintainer>
6947 + <maintainer type="person">
6948 + <email>gokturk@g.o</email>
6949 + <name>Göktürk Yüksek</name>
6950 + </maintainer>
6951 + <maintainer type="project">
6952 + <email>proxy-maint@g.o</email>
6953 + <name>Proxy Maintainers</name>
6954 + </maintainer>
6955 + <use>
6956 + <flag name="deblob">Remove binary blobs from kernel sources to provide
6957 + libre license compliance.
6958 + </flag>
6959 + <flag name="experimental">Apply experimental patches; for more information, see "https://wiki.gentoo.org/wiki/Project:Kernel/Experimental".</flag>
6960 + </use>
6961 + <upstream>
6962 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
6963 + <remote-id type="github">ckolivas/linux</remote-id>
6964 + </upstream>
6965 +</pkgmetadata>
6966
6967 diff --git a/sys-kernel/cryptodev/cryptodev-1.9.ebuild b/sys-kernel/cryptodev/cryptodev-1.9.ebuild
6968 new file mode 100644
6969 index 0000000..7ac492c
6970 --- /dev/null
6971 +++ b/sys-kernel/cryptodev/cryptodev-1.9.ebuild
6972 @@ -0,0 +1,56 @@
6973 +# Copyright 1999-2018 Gentoo Foundation
6974 +# Distributed under the terms of the GNU General Public License v2
6975 +
6976 +EAPI=6
6977 +inherit linux-info linux-mod
6978 +
6979 +DESCRIPTION="device that allows access to Linux kernel cryptographic drivers"
6980 +HOMEPAGE="http://cryptodev-linux.org/index.html"
6981 +SRC_URI="http://nwl.cc/pub/cryptodev-linux/${PN}-linux-${PV}.tar.gz"
6982 +KEYWORDS="~amd64 ~arm ~x86"
6983 +
6984 +LICENSE="GPL-2+"
6985 +SLOT="0"
6986 +IUSE="examples"
6987 +
6988 +DEPEND="virtual/linux-sources"
6989 +
6990 +#test requires that the module is already loaded
6991 +RESTRICT="test"
6992 +
6993 +S=${WORKDIR}/${PN}-linux-${PV}
6994 +
6995 +MODULE_NAMES="cryptodev(extra:${S})"
6996 +BUILD_PARAMS="KERNEL_DIR=\"\${KV_OUT_DIR}\""
6997 +
6998 +PATCHES=(
6999 + "${FILESDIR}"/cryptodev-1.9-fix-build-with-4.14-629958.patch
7000 + "${FILESDIR}"/ioctl.c-Fix-build-with-linux-4.17.patch
7001 +)
7002 +
7003 +pkg_pretend() {
7004 + if use kernel_linux ; then
7005 + CONFIG_CHECK="~CRYPTO ~CRYPTO_BLKCIPHER ~CRYPTO_AEAD"
7006 + check_extra_config
7007 + fi
7008 +}
7009 +
7010 +pkg_setup() {
7011 + if use kernel_linux ; then
7012 + linux-mod_pkg_setup
7013 + else
7014 + die "cryptodev ebuild only support linux"
7015 + fi
7016 + BUILD_TARGETS="build"
7017 + export KERNEL_DIR
7018 +}
7019 +
7020 +src_install() {
7021 + linux-mod_src_install
7022 + if use examples ; then
7023 + docinto examples
7024 + dodoc example/*
7025 + fi
7026 + insinto /usr/include/crypto
7027 + doins crypto/cryptodev.h
7028 +}
7029
7030 diff --git a/sys-kernel/cryptodev/cryptodev-9999.ebuild b/sys-kernel/cryptodev/cryptodev-9999.ebuild
7031 new file mode 100644
7032 index 0000000..9718273
7033 --- /dev/null
7034 +++ b/sys-kernel/cryptodev/cryptodev-9999.ebuild
7035 @@ -0,0 +1,57 @@
7036 +# Copyright 1999-2018 Gentoo Foundation
7037 +# Distributed under the terms of the GNU General Public License v2
7038 +
7039 +EAPI=6
7040 +inherit linux-info linux-mod
7041 +
7042 +DESCRIPTION="device that allows access to Linux kernel cryptographic drivers"
7043 +HOMEPAGE="http://cryptodev-linux.org/index.html"
7044 +
7045 +if [[ ${PV} == 9999 ]]; then
7046 + inherit git-r3
7047 + EGIT_REPO_URI="https://github.com/cryptodev-linux/cryptodev-linux.git"
7048 + S="${WORKDIR}/${PN}-${PV}"
7049 +else
7050 + SRC_URI="http://nwl.cc/pub/cryptodev-linux/${PN}-linux-${PV}.tar.gz"
7051 + KEYWORDS="~amd64 ~arm ~x86"
7052 + S=${WORKDIR}/${PN}-linux-${PV}
7053 +fi
7054 +
7055 +LICENSE="GPL-2+"
7056 +SLOT="0"
7057 +IUSE="examples"
7058 +
7059 +DEPEND="virtual/linux-sources"
7060 +
7061 +#test requires that the module is already loaded
7062 +RESTRICT="test"
7063 +
7064 +MODULE_NAMES="cryptodev(extra:${S})"
7065 +BUILD_PARAMS="KERNEL_DIR=\"\${KV_OUT_DIR}\""
7066 +
7067 +pkg_pretend() {
7068 + if use kernel_linux ; then
7069 + CONFIG_CHECK="~CRYPTO ~CRYPTO_BLKCIPHER ~CRYPTO_AEAD"
7070 + check_extra_config
7071 + fi
7072 +}
7073 +
7074 +pkg_setup() {
7075 + if use kernel_linux ; then
7076 + linux-mod_pkg_setup
7077 + else
7078 + die "cryptodev ebuild only support linux"
7079 + fi
7080 + BUILD_TARGETS="build"
7081 + export KERNEL_DIR
7082 +}
7083 +
7084 +src_install() {
7085 + linux-mod_src_install
7086 + if use examples ; then
7087 + docinto examples
7088 + dodoc example/*
7089 + fi
7090 + insinto /usr/include/crypto
7091 + doins crypto/cryptodev.h
7092 +}
7093
7094 diff --git a/sys-kernel/cryptodev/files/cryptodev-1.9-fix-build-with-4.14-629958.patch b/sys-kernel/cryptodev/files/cryptodev-1.9-fix-build-with-4.14-629958.patch
7095 new file mode 100644
7096 index 0000000..8a78d5e
7097 --- /dev/null
7098 +++ b/sys-kernel/cryptodev/files/cryptodev-1.9-fix-build-with-4.14-629958.patch
7099 @@ -0,0 +1,44 @@
7100 +From f0d69774afb27ffc62bf353465fba145e70cb85a Mon Sep 17 00:00:00 2001
7101 +From: Ricardo Ribalda Delgado <ricardo.ribalda@×××××.com>
7102 +Date: Mon, 4 Sep 2017 11:05:08 +0200
7103 +Subject: [PATCH] ioctl.c: Fix build with linux 4.13
7104 +
7105 +git/ioctl.c:1127:3: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
7106 + {0, },
7107 + ^
7108 +note: (near initialization for 'verbosity_ctl_dir[1]')
7109 +git/ioctl.c:1136:3: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
7110 + {0, },
7111 + ^
7112 +
7113 +Linux kernel has added -Werror=designated-init around 4.11 (c834f0e8a8b)
7114 +triggering build errors with gcc 5 and 6 (but not with gcc 4)
7115 +
7116 +Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@×××××.com>
7117 +Signed-off-by: Cristian Stoica <cristian.stoica@×××.com>
7118 +---
7119 + ioctl.c | 4 ++--
7120 + 1 file changed, 2 insertions(+), 2 deletions(-)
7121 +
7122 +diff --git a/ioctl.c b/ioctl.c
7123 +index 0385203..8d4a162 100644
7124 +--- a/ioctl.c
7125 ++++ b/ioctl.c
7126 +@@ -1124,7 +1124,7 @@ static struct ctl_table verbosity_ctl_dir[] = {
7127 + .mode = 0644,
7128 + .proc_handler = proc_dointvec,
7129 + },
7130 +- {0, },
7131 ++ {},
7132 + };
7133 +
7134 + static struct ctl_table verbosity_ctl_root[] = {
7135 +@@ -1133,7 +1133,7 @@ static struct ctl_table verbosity_ctl_root[] = {
7136 + .mode = 0555,
7137 + .child = verbosity_ctl_dir,
7138 + },
7139 +- {0, },
7140 ++ {},
7141 + };
7142 + static struct ctl_table_header *verbosity_sysctl_header;
7143 + static int __init init_cryptodev(void)
7144
7145 diff --git a/sys-kernel/cryptodev/files/ioctl.c-Fix-build-with-linux-4.17.patch b/sys-kernel/cryptodev/files/ioctl.c-Fix-build-with-linux-4.17.patch
7146 new file mode 100644
7147 index 0000000..3eb81e4
7148 --- /dev/null
7149 +++ b/sys-kernel/cryptodev/files/ioctl.c-Fix-build-with-linux-4.17.patch
7150 @@ -0,0 +1,39 @@
7151 +From f60aa08c63fc02780554a0a12180a478ca27d49f Mon Sep 17 00:00:00 2001
7152 +From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@×××.com>
7153 +Date: Wed, 23 May 2018 18:43:39 +0300
7154 +Subject: [PATCH] ioctl.c: Fix build with linux 4.17
7155 +MIME-Version: 1.0
7156 +Content-Type: text/plain; charset=UTF-8
7157 +Content-Transfer-Encoding: 8bit
7158 +
7159 +Since kernel 4.17-rc1, sys_* syscalls can no longer be called directly:
7160 +819671ff849b ("syscalls: define and explain goal to not call syscalls in the kernel")
7161 +
7162 +Since cryptodev uses sys_close() - and this has been removed in commit:
7163 +2ca2a09d6215 ("fs: add ksys_close() wrapper; remove in-kernel calls to sys_close()")
7164 +cryptodev has to be updated to use the ksys_close() wrapper.
7165 +
7166 +Signed-off-by: Horia Geantă <horia.geanta@×××.com>
7167 +---
7168 + ioctl.c | 4 ++++
7169 + 1 file changed, 4 insertions(+)
7170 +
7171 +diff --git a/ioctl.c b/ioctl.c
7172 +index d831b0c..2571034 100644
7173 +--- a/ioctl.c
7174 ++++ b/ioctl.c
7175 +@@ -828,7 +828,11 @@ cryptodev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg_)
7176 + fd = clonefd(filp);
7177 + ret = put_user(fd, p);
7178 + if (unlikely(ret)) {
7179 ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
7180 + sys_close(fd);
7181 ++#else
7182 ++ ksys_close(fd);
7183 ++#endif
7184 + return ret;
7185 + }
7186 + return ret;
7187 +--
7188 +2.16.4
7189 +
7190
7191 diff --git a/sys-kernel/cryptodev/metadata.xml b/sys-kernel/cryptodev/metadata.xml
7192 new file mode 100644
7193 index 0000000..c7bb627
7194 --- /dev/null
7195 +++ b/sys-kernel/cryptodev/metadata.xml
7196 @@ -0,0 +1,8 @@
7197 +<?xml version="1.0" encoding="UTF-8"?>
7198 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
7199 +<pkgmetadata>
7200 + <maintainer type="person">
7201 + <email>swegener@g.o</email>
7202 + <name>Sven Wegener</name>
7203 + </maintainer>
7204 +</pkgmetadata>
7205
7206 diff --git a/sys-kernel/dracut-crypt-ssh/dracut-crypt-ssh-1.0.6-r1.ebuild b/sys-kernel/dracut-crypt-ssh/dracut-crypt-ssh-1.0.6-r1.ebuild
7207 new file mode 100644
7208 index 0000000..9ec7b6f
7209 --- /dev/null
7210 +++ b/sys-kernel/dracut-crypt-ssh/dracut-crypt-ssh-1.0.6-r1.ebuild
7211 @@ -0,0 +1,20 @@
7212 +# Copyright 1999-2018 Gentoo Foundation
7213 +# Distributed under the terms of the GNU General Public License v2
7214 +
7215 +EAPI=6
7216 +
7217 +DESCRIPTION="early unlocking of encrypted systems via ssh for dracut"
7218 +HOMEPAGE="https://github.com/dracut-crypt-ssh/dracut-crypt-ssh"
7219 +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
7220 +
7221 +LICENSE="GPL-2"
7222 +SLOT="0"
7223 +KEYWORDS="~amd64 ~x86"
7224 +IUSE=""
7225 +
7226 +DEPEND="sys-kernel/dracut"
7227 +RDEPEND="${DEPEND}
7228 + net-misc/dhcp
7229 + net-misc/dropbear"
7230 +
7231 +DOCS=("README.md")
7232
7233 diff --git a/sys-kernel/dracut-crypt-ssh/metadata.xml b/sys-kernel/dracut-crypt-ssh/metadata.xml
7234 new file mode 100644
7235 index 0000000..41b596c
7236 --- /dev/null
7237 +++ b/sys-kernel/dracut-crypt-ssh/metadata.xml
7238 @@ -0,0 +1,15 @@
7239 +<?xml version="1.0" encoding="UTF-8"?>
7240 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
7241 +<pkgmetadata>
7242 + <maintainer type="person">
7243 + <email>gentoo@×××××.de</email>
7244 + <name>Christian Baumhof</name>
7245 + </maintainer>
7246 + <maintainer type="project">
7247 + <email>proxy-maint@g.o</email>
7248 + <name>Proxy Maintainers</name>
7249 + </maintainer>
7250 +<longdescription lang="en">
7251 +crypt-ssh is a dracut module which allows remote unlocking of block devices encrypted with LUKS via ssh, during the initramfs stage of the boot.
7252 +</longdescription>
7253 +</pkgmetadata>
7254
7255 diff --git a/sys-kernel/dracut/dracut-044-r1.ebuild b/sys-kernel/dracut/dracut-044-r1.ebuild
7256 new file mode 100644
7257 index 0000000..d3f5fbf
7258 --- /dev/null
7259 +++ b/sys-kernel/dracut/dracut-044-r1.ebuild
7260 @@ -0,0 +1,259 @@
7261 +# Copyright 1999-2018 Gentoo Authors
7262 +# Distributed under the terms of the GNU General Public License v2
7263 +
7264 +EAPI=5
7265 +
7266 +inherit bash-completion-r1 eutils linux-info multilib systemd
7267 +
7268 +DESCRIPTION="Generic initramfs generation tool"
7269 +HOMEPAGE="https://dracut.wiki.kernel.org"
7270 +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
7271 +LICENSE="GPL-2"
7272 +SLOT="0"
7273 +KEYWORDS="alpha amd64 ~arm ia64 ppc ~ppc64 sparc x86"
7274 +IUSE="debug selinux systemd"
7275 +
7276 +RESTRICT="test"
7277 +
7278 +CDEPEND="virtual/udev
7279 + systemd? ( >=sys-apps/systemd-199 )
7280 + "
7281 +RDEPEND="${CDEPEND}
7282 + app-arch/cpio
7283 + >=app-shells/bash-4.0
7284 + >sys-apps/kmod-5[tools]
7285 + || (
7286 + >=sys-apps/sysvinit-2.87-r3
7287 + sys-apps/systemd[sysv-utils]
7288 + )
7289 + >=sys-apps/util-linux-2.21
7290 +
7291 + debug? ( dev-util/strace )
7292 + selinux? (
7293 + sys-libs/libselinux
7294 + sys-libs/libsepol
7295 + sec-policy/selinux-dracut
7296 + )
7297 + !>=app-shells/bash-4.4"
7298 +DEPEND="${CDEPEND}
7299 + app-text/asciidoc
7300 + >=dev-libs/libxslt-1.1.26
7301 + app-text/docbook-xml-dtd:4.5
7302 + >=app-text/docbook-xsl-stylesheets-1.75.2
7303 + virtual/pkgconfig
7304 + "
7305 +
7306 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
7307 + README.testsuite TODO )
7308 +MY_LIBDIR=/usr/lib
7309 +QA_MULTILIB_PATHS="
7310 + usr/lib/dracut/dracut-install
7311 + usr/lib/dracut/skipcpio
7312 + "
7313 +
7314 +PATCHES=(
7315 + "${FILESDIR}"/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch
7316 + "${FILESDIR}"/044-0002-systemd-initrd-add-initrd-root-device.target.patch
7317 + "${FILESDIR}"/044-0003-50-dracut.install-use-bin-bash-shebang.patch
7318 +)
7319 +
7320 +#
7321 +# Helper functions
7322 +#
7323 +
7324 +# Removes module from modules.d.
7325 +# $1 = module name
7326 +# Module name can be specified without number prefix.
7327 +rm_module() {
7328 + local force m
7329 + [[ $1 = -f ]] && force=-f
7330 +
7331 + for m in $@; do
7332 + if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
7333 + rm ${force} --interactive=never -r "${modules_dir}"/$m
7334 + else
7335 + rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
7336 + fi
7337 + done
7338 +}
7339 +
7340 +src_prepare() {
7341 + local libdirs="/$(get_libdir) /usr/$(get_libdir)"
7342 + if [[ ${SYMLINK_LIB} = yes ]]; then
7343 + # Preserve lib -> lib64 symlinks in initramfs
7344 + [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
7345 + fi
7346 + einfo "Setting libdirs to \"${libdirs}\" ..."
7347 + sed -e "3alibdirs=\"${libdirs}\"" \
7348 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7349 +
7350 + local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
7351 + einfo "Setting udevdir to ${udevdir}..."
7352 + sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
7353 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7354 +
7355 + if use systemd; then
7356 + local systemdutildir="$(systemd_get_utildir)"
7357 + local systemdsystemunitdir="$(systemd_get_unitdir)"
7358 + local systemdsystemconfdir="$("$(tc-getPKG_CONFIG)" systemd \
7359 + --variable=systemdsystemconfdir)"
7360 + [[ ${systemdsystemconfdir} ]] \
7361 + || systemdsystemconfdir=/etc/systemd/system
7362 + einfo "Setting systemdutildir to ${systemdutildir} and ..."
7363 + sed -e "5asystemdutildir=\"${systemdutildir}\"" \
7364 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7365 + einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir} and..."
7366 + sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
7367 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7368 + einfo "Setting systemdsystemconfdir to ${systemdsystemconfdir}..."
7369 + sed -e "7asystemdsystemconfdir=\"${systemdsystemconfdir}\"" \
7370 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7371 + else
7372 + local systemdutildir="/lib/systemd"
7373 + einfo "Setting systemdutildir for standalone udev to" \
7374 + "${systemdutildir}..."
7375 + sed -e "5asystemdutildir=\"${systemdutildir}\"" \
7376 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7377 + fi
7378 +
7379 + epatch "${PATCHES[@]}"
7380 +
7381 + epatch_user
7382 +}
7383 +
7384 +src_configure() {
7385 + local myconf=(
7386 + --libdir="${MY_LIBDIR}"
7387 + --bashcompletiondir="$(get_bashcompdir)"
7388 + )
7389 +
7390 + if use systemd; then
7391 + myconf+=( --systemdsystemunitdir="$(systemd_get_unitdir)" )
7392 + fi
7393 +
7394 + econf "${myconf[@]}"
7395 +}
7396 +
7397 +src_compile() {
7398 + tc-export CC
7399 + emake doc install/dracut-install skipcpio/skipcpio
7400 +}
7401 +
7402 +src_install() {
7403 + default
7404 +
7405 + local my_libdir="${MY_LIBDIR}"
7406 + local dracutlibdir="${my_libdir#/}/dracut"
7407 +
7408 + echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
7409 +
7410 + insinto "${dracutlibdir}/dracut.conf.d/"
7411 + newins dracut.conf.d/gentoo.conf.example gentoo.conf
7412 +
7413 + insinto /etc/logrotate.d
7414 + newins dracut.logrotate dracut
7415 +
7416 + dodir /var/lib/dracut/overlay
7417 +
7418 + dohtml dracut.html
7419 +
7420 + if ! use systemd; then
7421 + # Scripts in kernel/install.d are systemd-specific
7422 + rm -r "${D%/}/${my_libdir}/kernel" || die
7423 + fi
7424 +
7425 + #
7426 + # Modules
7427 + #
7428 + local module
7429 + modules_dir="${D%/}/${dracutlibdir}/modules.d"
7430 +
7431 + use debug || rm_module 95debug
7432 + use selinux || rm_module 98selinux
7433 +
7434 + if use systemd; then
7435 + # With systemd following modules do not make sense
7436 + rm_module 96securityfs 97masterkey 98integrity
7437 + else
7438 + rm_module 00systemd 98dracut-systemd
7439 + # Without systemd following modules do not make sense
7440 + rm_module 00systemd-bootchart 01systemd-initrd 02systemd-networkd
7441 + fi
7442 +
7443 + # Remove modules which won't work for sure
7444 + rm_module 95fcoe # no tools
7445 + # fips module depends on masked app-crypt/hmaccalc
7446 + rm_module 01fips 02fips-aesni
7447 +}
7448 +
7449 +pkg_postinst() {
7450 + if linux-info_get_any_version && linux_config_exists; then
7451 + ewarn ""
7452 + ewarn "If the following test report contains a missing kernel"
7453 + ewarn "configuration option, you should reconfigure and rebuild your"
7454 + ewarn "kernel before booting image generated with this Dracut version."
7455 + ewarn ""
7456 +
7457 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
7458 +
7459 + # Kernel configuration options descriptions:
7460 + local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
7461 + local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
7462 +"(initramfs/initrd) support"
7463 +
7464 + local opt desc
7465 +
7466 + # Generate ERROR_* variables for check_extra_config.
7467 + for opt in ${CONFIG_CHECK}; do
7468 + opt=${opt#\~}
7469 + desc=desc_${opt}
7470 + eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
7471 + "is missing and REQUIRED'"
7472 + done
7473 +
7474 + check_extra_config
7475 + echo
7476 + else
7477 + ewarn ""
7478 + ewarn "Your kernel configuration couldn't be checked. Do you have"
7479 + ewarn "/usr/src/linux/.config file there? Please check manually if"
7480 + ewarn "following options are enabled:"
7481 + ewarn ""
7482 + ewarn " CONFIG_BLK_DEV_INITRD"
7483 + ewarn " CONFIG_DEVTMPFS"
7484 + ewarn ""
7485 + fi
7486 +
7487 + elog "To get additional features, a number of optional runtime"
7488 + elog "dependencies may be installed:"
7489 + elog ""
7490 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
7491 + sys-apps/iproute2
7492 + optfeature \
7493 + "Measure performance of the boot process for later visualisation" \
7494 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
7495 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
7496 + optfeature "Load kernel modules and drop this privilege for real init" \
7497 + sys-libs/libcap
7498 + optfeature "Support CIFS" net-fs/cifs-utils
7499 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
7500 + "sys-fs/cryptsetup[-static-libs]"
7501 + optfeature "Support for GPG-encrypted keys for crypt module" \
7502 + app-crypt/gnupg
7503 + optfeature \
7504 + "Allows use of dash instead of default bash (on your own risk)" \
7505 + app-shells/dash
7506 + optfeature "Support iSCSI" sys-block/open-iscsi
7507 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
7508 + optfeature "Support MD devices, also known as software RAID devices" \
7509 + sys-fs/mdadm
7510 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
7511 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
7512 + optfeature "Support network block devices" sys-block/nbd
7513 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
7514 + optfeature \
7515 + "Install ssh and scp along with config files and specified keys" \
7516 + net-misc/openssh
7517 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
7518 + app-admin/rsyslog
7519 +}
7520
7521 diff --git a/sys-kernel/dracut/dracut-044-r3.ebuild b/sys-kernel/dracut/dracut-044-r3.ebuild
7522 new file mode 100644
7523 index 0000000..ba9c064
7524 --- /dev/null
7525 +++ b/sys-kernel/dracut/dracut-044-r3.ebuild
7526 @@ -0,0 +1,246 @@
7527 +# Copyright 1999-2018 Gentoo Authors
7528 +# Distributed under the terms of the GNU General Public License v2
7529 +
7530 +EAPI=6
7531 +
7532 +inherit bash-completion-r1 eutils linux-info toolchain-funcs systemd
7533 +
7534 +DESCRIPTION="Generic initramfs generation tool"
7535 +HOMEPAGE="https://dracut.wiki.kernel.org"
7536 +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
7537 +LICENSE="GPL-2"
7538 +SLOT="0"
7539 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
7540 +IUSE="debug selinux systemd"
7541 +
7542 +RESTRICT="test"
7543 +
7544 +CDEPEND="virtual/udev
7545 + systemd? (
7546 + >=sys-apps/systemd-199
7547 + virtual/pkgconfig
7548 + )
7549 + "
7550 +RDEPEND="${CDEPEND}
7551 + app-arch/cpio
7552 + >=app-shells/bash-4.0
7553 + >sys-apps/kmod-5[tools]
7554 + || (
7555 + >=sys-apps/sysvinit-2.87-r3
7556 + sys-apps/systemd[sysv-utils]
7557 + )
7558 + >=sys-apps/util-linux-2.21
7559 +
7560 + debug? ( dev-util/strace )
7561 + selinux? (
7562 + sys-libs/libselinux
7563 + sys-libs/libsepol
7564 + sec-policy/selinux-dracut
7565 + )
7566 + "
7567 +DEPEND="${CDEPEND}
7568 + app-text/asciidoc
7569 + >=dev-libs/libxslt-1.1.26
7570 + app-text/docbook-xml-dtd:4.5
7571 + >=app-text/docbook-xsl-stylesheets-1.75.2
7572 + virtual/pkgconfig
7573 + "
7574 +
7575 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
7576 + README.testsuite TODO )
7577 +MY_LIBDIR=/usr/lib
7578 +QA_MULTILIB_PATHS="
7579 + usr/lib/dracut/dracut-install
7580 + usr/lib/dracut/skipcpio
7581 + "
7582 +
7583 +PATCHES=(
7584 + "${FILESDIR}"/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch
7585 + "${FILESDIR}"/044-0002-systemd-initrd-add-initrd-root-device.target.patch
7586 + "${FILESDIR}"/044-0003-50-dracut.install-use-bin-bash-shebang.patch
7587 + "${FILESDIR}"/dracut-044-bash-4.4.patch
7588 + "${FILESDIR}"/dracut-044-preserve-xattrs-when-copying.patch
7589 +)
7590 +
7591 +#
7592 +# Helper functions
7593 +#
7594 +
7595 +# Removes module from modules.d.
7596 +# $1 = module name
7597 +# Module name can be specified without number prefix.
7598 +rm_module() {
7599 + local force m
7600 + [[ $1 = -f ]] && force=-f
7601 +
7602 + for m in $@; do
7603 + if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
7604 + rm ${force} --interactive=never -r "${modules_dir}"/$m
7605 + else
7606 + rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
7607 + fi
7608 + done
7609 +}
7610 +
7611 +src_prepare() {
7612 + local libdirs="/$(get_libdir) /usr/$(get_libdir)"
7613 + if [[ ${SYMLINK_LIB} = yes ]]; then
7614 + # Preserve lib -> lib64 symlinks in initramfs
7615 + [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
7616 + fi
7617 + einfo "Setting libdirs to \"${libdirs}\" ..."
7618 + sed -e "3alibdirs=\"${libdirs}\"" \
7619 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7620 +
7621 + local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
7622 + einfo "Setting udevdir to ${udevdir}..."
7623 + sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
7624 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7625 +
7626 + if ! use systemd; then
7627 + local systemdutildir="/lib/systemd"
7628 + einfo "Setting systemdutildir for standalone udev to" \
7629 + "${systemdutildir}..."
7630 + sed -e "5asystemdutildir=\"${systemdutildir}\"" \
7631 + -i "${S}/dracut.conf.d/gentoo.conf.example" || die
7632 + fi
7633 +
7634 + default
7635 +}
7636 +
7637 +src_configure() {
7638 + local myconf=(
7639 + --libdir="${MY_LIBDIR}"
7640 + --bashcompletiondir="$(get_bashcompdir)"
7641 + )
7642 +
7643 + if use systemd; then
7644 + myconf+=( --systemdsystemunitdir="$(systemd_get_systemunitdir)" )
7645 + fi
7646 +
7647 + econf "${myconf[@]}"
7648 +}
7649 +
7650 +src_compile() {
7651 + tc-export CC
7652 + emake doc install/dracut-install skipcpio/skipcpio
7653 +}
7654 +
7655 +src_install() {
7656 + default
7657 +
7658 + local my_libdir="${MY_LIBDIR}"
7659 + local dracutlibdir="${my_libdir#/}/dracut"
7660 +
7661 + echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
7662 +
7663 + insinto "${dracutlibdir}/dracut.conf.d/"
7664 + newins dracut.conf.d/gentoo.conf.example gentoo.conf
7665 +
7666 + insinto /etc/logrotate.d
7667 + newins dracut.logrotate dracut
7668 +
7669 + dodir /var/lib/dracut/overlay
7670 +
7671 + dodoc dracut.html
7672 +
7673 + if ! use systemd; then
7674 + # Scripts in kernel/install.d are systemd-specific
7675 + rm -r "${D%/}/${my_libdir}/kernel" || die
7676 + fi
7677 +
7678 + #
7679 + # Modules
7680 + #
7681 + local module
7682 + modules_dir="${D%/}/${dracutlibdir}/modules.d"
7683 +
7684 + use debug || rm_module 95debug
7685 + use selinux || rm_module 98selinux
7686 +
7687 + if use systemd; then
7688 + # With systemd following modules do not make sense
7689 + rm_module 96securityfs 97masterkey 98integrity
7690 + else
7691 + rm_module 00systemd 98dracut-systemd
7692 + # Without systemd following modules do not make sense
7693 + rm_module 00systemd-bootchart 01systemd-initrd 02systemd-networkd
7694 + fi
7695 +
7696 + # Remove modules which won't work for sure
7697 + rm_module 95fcoe # no tools
7698 + # fips module depends on masked app-crypt/hmaccalc
7699 + rm_module 01fips 02fips-aesni
7700 +}
7701 +
7702 +pkg_postinst() {
7703 + if linux-info_get_any_version && linux_config_exists; then
7704 + ewarn ""
7705 + ewarn "If the following test report contains a missing kernel"
7706 + ewarn "configuration option, you should reconfigure and rebuild your"
7707 + ewarn "kernel before booting image generated with this Dracut version."
7708 + ewarn ""
7709 +
7710 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
7711 +
7712 + # Kernel configuration options descriptions:
7713 + local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
7714 + local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
7715 +"(initramfs/initrd) support"
7716 +
7717 + local opt desc
7718 +
7719 + # Generate ERROR_* variables for check_extra_config.
7720 + for opt in ${CONFIG_CHECK}; do
7721 + opt=${opt#\~}
7722 + desc=desc_${opt}
7723 + eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
7724 + "is missing and REQUIRED'"
7725 + done
7726 +
7727 + check_extra_config
7728 + echo
7729 + else
7730 + ewarn ""
7731 + ewarn "Your kernel configuration couldn't be checked. Do you have"
7732 + ewarn "/usr/src/linux/.config file there? Please check manually if"
7733 + ewarn "following options are enabled:"
7734 + ewarn ""
7735 + ewarn " CONFIG_BLK_DEV_INITRD"
7736 + ewarn " CONFIG_DEVTMPFS"
7737 + ewarn ""
7738 + fi
7739 +
7740 + elog "To get additional features, a number of optional runtime"
7741 + elog "dependencies may be installed:"
7742 + elog ""
7743 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
7744 + sys-apps/iproute2
7745 + optfeature \
7746 + "Measure performance of the boot process for later visualisation" \
7747 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
7748 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
7749 + optfeature "Load kernel modules and drop this privilege for real init" \
7750 + sys-libs/libcap
7751 + optfeature "Support CIFS" net-fs/cifs-utils
7752 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
7753 + "sys-fs/cryptsetup[-static-libs]"
7754 + optfeature "Support for GPG-encrypted keys for crypt module" \
7755 + app-crypt/gnupg
7756 + optfeature \
7757 + "Allows use of dash instead of default bash (on your own risk)" \
7758 + app-shells/dash
7759 + optfeature "Support iSCSI" sys-block/open-iscsi
7760 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
7761 + optfeature "Support MD devices, also known as software RAID devices" \
7762 + sys-fs/mdadm
7763 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
7764 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
7765 + optfeature "Support network block devices" sys-block/nbd
7766 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
7767 + optfeature \
7768 + "Install ssh and scp along with config files and specified keys" \
7769 + net-misc/openssh
7770 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
7771 + app-admin/rsyslog
7772 +}
7773
7774 diff --git a/sys-kernel/dracut/dracut-045-r2.ebuild b/sys-kernel/dracut/dracut-045-r2.ebuild
7775 new file mode 100644
7776 index 0000000..396de86
7777 --- /dev/null
7778 +++ b/sys-kernel/dracut/dracut-045-r2.ebuild
7779 @@ -0,0 +1,164 @@
7780 +# Copyright 1999-2018 Gentoo Authors
7781 +# Distributed under the terms of the GNU General Public License v2
7782 +
7783 +EAPI=6
7784 +
7785 +inherit bash-completion-r1 eutils linux-info toolchain-funcs systemd
7786 +
7787 +DESCRIPTION="Generic initramfs generation tool"
7788 +HOMEPAGE="https://dracut.wiki.kernel.org"
7789 +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
7790 +LICENSE="GPL-2"
7791 +SLOT="0"
7792 +KEYWORDS="alpha amd64 ~arm ia64 ~mips ppc ~ppc64 sparc x86"
7793 +IUSE="debug selinux"
7794 +
7795 +RESTRICT="test"
7796 +
7797 +CDEPEND="virtual/udev
7798 + virtual/pkgconfig
7799 + >=sys-apps/kmod-15[tools]
7800 + "
7801 +RDEPEND="${CDEPEND}
7802 + app-arch/cpio
7803 + >=app-shells/bash-4.0:0
7804 + || (
7805 + >=sys-apps/sysvinit-2.87-r3
7806 + sys-apps/systemd[sysv-utils]
7807 + )
7808 + sys-apps/coreutils[xattr(-)]
7809 + >=sys-apps/util-linux-2.21
7810 +
7811 + debug? ( dev-util/strace )
7812 + selinux? (
7813 + sys-libs/libselinux
7814 + sys-libs/libsepol
7815 + sec-policy/selinux-dracut
7816 + )
7817 + !net-analyzer/arping
7818 + "
7819 +DEPEND="${CDEPEND}
7820 + app-text/asciidoc
7821 + >=dev-libs/libxslt-1.1.26
7822 + app-text/docbook-xml-dtd:4.5
7823 + >=app-text/docbook-xsl-stylesheets-1.75.2
7824 + "
7825 +
7826 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
7827 + README.testsuite TODO )
7828 +
7829 +QA_MULTILIB_PATHS="usr/lib/dracut/.*"
7830 +
7831 +PATCHES=(
7832 + "${FILESDIR}/045-systemdutildir.patch"
7833 +)
7834 +
7835 +src_configure() {
7836 + local myconf=(
7837 + --prefix="${EPREFIX}/usr"
7838 + --sysconfdir="${EPREFIX}/etc"
7839 + --bashcompletiondir="$(get_bashcompdir)"
7840 + --systemdsystemunitdir="$(systemd_get_systemunitdir)"
7841 + )
7842 +
7843 + tc-export CC PKG_CONFIG
7844 +
7845 + echo ./configure "${myconf[@]}"
7846 + ./configure "${myconf[@]}" || die
7847 +}
7848 +
7849 +src_install() {
7850 + default
7851 +
7852 + local dracutlibdir="usr/lib/dracut"
7853 +
7854 + local libdirs="/$(get_libdir) /usr/$(get_libdir)"
7855 + if [[ ${SYMLINK_LIB} = yes ]]; then
7856 + # Preserve lib -> lib64 symlinks in initramfs
7857 + [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
7858 + fi
7859 +
7860 + einfo "Setting libdirs to \"${libdirs}\" ..."
7861 + echo "libdirs=\"${libdirs}\"" > "${T}/gentoo.conf"
7862 + insinto "${dracutlibdir}/dracut.conf.d"
7863 + doins "${T}/gentoo.conf"
7864 +
7865 + insinto /etc/logrotate.d
7866 + newins dracut.logrotate dracut
7867 +
7868 + dodir /var/lib/dracut/overlay
7869 +
7870 + dodoc dracut.html
7871 +}
7872 +
7873 +pkg_postinst() {
7874 + if linux-info_get_any_version && linux_config_exists; then
7875 + ewarn ""
7876 + ewarn "If the following test report contains a missing kernel"
7877 + ewarn "configuration option, you should reconfigure and rebuild your"
7878 + ewarn "kernel before booting image generated with this Dracut version."
7879 + ewarn ""
7880 +
7881 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
7882 +
7883 + # Kernel configuration options descriptions:
7884 + local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
7885 + local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
7886 +"(initramfs/initrd) support"
7887 +
7888 + local opt desc
7889 +
7890 + # Generate ERROR_* variables for check_extra_config.
7891 + for opt in ${CONFIG_CHECK}; do
7892 + opt=${opt#\~}
7893 + desc=desc_${opt}
7894 + eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
7895 + "is missing and REQUIRED'"
7896 + done
7897 +
7898 + check_extra_config
7899 + echo
7900 + else
7901 + ewarn ""
7902 + ewarn "Your kernel configuration couldn't be checked. Do you have"
7903 + ewarn "/usr/src/linux/.config file there? Please check manually if"
7904 + ewarn "following options are enabled:"
7905 + ewarn ""
7906 + ewarn " CONFIG_BLK_DEV_INITRD"
7907 + ewarn " CONFIG_DEVTMPFS"
7908 + ewarn ""
7909 + fi
7910 +
7911 + elog "To get additional features, a number of optional runtime"
7912 + elog "dependencies may be installed:"
7913 + elog ""
7914 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
7915 + sys-apps/iproute2 "net-misc/iputils[arping]"
7916 + optfeature \
7917 + "Measure performance of the boot process for later visualisation" \
7918 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
7919 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
7920 + optfeature "Load kernel modules and drop this privilege for real init" \
7921 + sys-libs/libcap
7922 + optfeature "Support CIFS" net-fs/cifs-utils
7923 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
7924 + "sys-fs/cryptsetup[-static-libs]"
7925 + optfeature "Support for GPG-encrypted keys for crypt module" \
7926 + app-crypt/gnupg
7927 + optfeature \
7928 + "Allows use of dash instead of default bash (on your own risk)" \
7929 + app-shells/dash
7930 + optfeature "Support iSCSI" sys-block/open-iscsi
7931 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
7932 + optfeature "Support MD devices, also known as software RAID devices" \
7933 + sys-fs/mdadm
7934 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
7935 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
7936 + optfeature "Support network block devices" sys-block/nbd
7937 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
7938 + optfeature \
7939 + "Install ssh and scp along with config files and specified keys" \
7940 + net-misc/openssh
7941 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
7942 + app-admin/rsyslog
7943 +}
7944
7945 diff --git a/sys-kernel/dracut/dracut-046-r1.ebuild b/sys-kernel/dracut/dracut-046-r1.ebuild
7946 new file mode 100644
7947 index 0000000..e3ba1f4
7948 --- /dev/null
7949 +++ b/sys-kernel/dracut/dracut-046-r1.ebuild
7950 @@ -0,0 +1,165 @@
7951 +# Copyright 1999-2018 Gentoo Authors
7952 +# Distributed under the terms of the GNU General Public License v2
7953 +
7954 +EAPI=6
7955 +
7956 +inherit bash-completion-r1 eutils linux-info toolchain-funcs systemd
7957 +
7958 +DESCRIPTION="Generic initramfs generation tool"
7959 +HOMEPAGE="https://dracut.wiki.kernel.org"
7960 +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
7961 +LICENSE="GPL-2"
7962 +SLOT="0"
7963 +KEYWORDS="alpha amd64 ~arm ia64 ~mips ppc ~ppc64 sparc x86"
7964 +IUSE="debug selinux"
7965 +
7966 +RESTRICT="test"
7967 +
7968 +CDEPEND="virtual/udev
7969 + virtual/pkgconfig
7970 + >=sys-apps/kmod-15[tools]
7971 + "
7972 +RDEPEND="${CDEPEND}
7973 + app-arch/cpio
7974 + >=app-shells/bash-4.0:0
7975 + || (
7976 + >=sys-apps/sysvinit-2.87-r3
7977 + sys-apps/systemd[sysv-utils]
7978 + )
7979 + sys-apps/coreutils[xattr(-)]
7980 + >=sys-apps/util-linux-2.21
7981 +
7982 + debug? ( dev-util/strace )
7983 + selinux? (
7984 + sys-libs/libselinux
7985 + sys-libs/libsepol
7986 + sec-policy/selinux-dracut
7987 + )
7988 + !net-analyzer/arping
7989 + "
7990 +DEPEND="${CDEPEND}
7991 + app-text/asciidoc
7992 + >=dev-libs/libxslt-1.1.26
7993 + app-text/docbook-xml-dtd:4.5
7994 + >=app-text/docbook-xsl-stylesheets-1.75.2
7995 + "
7996 +
7997 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
7998 + README.testsuite TODO )
7999 +
8000 +QA_MULTILIB_PATHS="usr/lib/dracut/.*"
8001 +
8002 +PATCHES=(
8003 + "${FILESDIR}/045-systemdutildir.patch"
8004 + "${FILESDIR}/046-amd-microcode.patch"
8005 +)
8006 +
8007 +src_configure() {
8008 + local myconf=(
8009 + --prefix="${EPREFIX}/usr"
8010 + --sysconfdir="${EPREFIX}/etc"
8011 + --bashcompletiondir="$(get_bashcompdir)"
8012 + --systemdsystemunitdir="$(systemd_get_systemunitdir)"
8013 + )
8014 +
8015 + tc-export CC PKG_CONFIG
8016 +
8017 + echo ./configure "${myconf[@]}"
8018 + ./configure "${myconf[@]}" || die
8019 +}
8020 +
8021 +src_install() {
8022 + default
8023 +
8024 + local dracutlibdir="usr/lib/dracut"
8025 +
8026 + local libdirs="/$(get_libdir) /usr/$(get_libdir)"
8027 + if [[ ${SYMLINK_LIB} = yes ]]; then
8028 + # Preserve lib -> lib64 symlinks in initramfs
8029 + [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
8030 + fi
8031 +
8032 + einfo "Setting libdirs to \"${libdirs}\" ..."
8033 + echo "libdirs=\"${libdirs}\"" > "${T}/gentoo.conf"
8034 + insinto "${dracutlibdir}/dracut.conf.d"
8035 + doins "${T}/gentoo.conf"
8036 +
8037 + insinto /etc/logrotate.d
8038 + newins dracut.logrotate dracut
8039 +
8040 + dodir /var/lib/dracut/overlay
8041 +
8042 + dodoc dracut.html
8043 +}
8044 +
8045 +pkg_postinst() {
8046 + if linux-info_get_any_version && linux_config_exists; then
8047 + ewarn ""
8048 + ewarn "If the following test report contains a missing kernel"
8049 + ewarn "configuration option, you should reconfigure and rebuild your"
8050 + ewarn "kernel before booting image generated with this Dracut version."
8051 + ewarn ""
8052 +
8053 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
8054 +
8055 + # Kernel configuration options descriptions:
8056 + local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
8057 + local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
8058 +"(initramfs/initrd) support"
8059 +
8060 + local opt desc
8061 +
8062 + # Generate ERROR_* variables for check_extra_config.
8063 + for opt in ${CONFIG_CHECK}; do
8064 + opt=${opt#\~}
8065 + desc=desc_${opt}
8066 + eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
8067 + "is missing and REQUIRED'"
8068 + done
8069 +
8070 + check_extra_config
8071 + echo
8072 + else
8073 + ewarn ""
8074 + ewarn "Your kernel configuration couldn't be checked. Do you have"
8075 + ewarn "/usr/src/linux/.config file there? Please check manually if"
8076 + ewarn "following options are enabled:"
8077 + ewarn ""
8078 + ewarn " CONFIG_BLK_DEV_INITRD"
8079 + ewarn " CONFIG_DEVTMPFS"
8080 + ewarn ""
8081 + fi
8082 +
8083 + elog "To get additional features, a number of optional runtime"
8084 + elog "dependencies may be installed:"
8085 + elog ""
8086 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
8087 + sys-apps/iproute2 "net-misc/iputils[arping]"
8088 + optfeature \
8089 + "Measure performance of the boot process for later visualisation" \
8090 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
8091 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
8092 + optfeature "Load kernel modules and drop this privilege for real init" \
8093 + sys-libs/libcap
8094 + optfeature "Support CIFS" net-fs/cifs-utils
8095 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
8096 + "sys-fs/cryptsetup[-static-libs]"
8097 + optfeature "Support for GPG-encrypted keys for crypt module" \
8098 + app-crypt/gnupg
8099 + optfeature \
8100 + "Allows use of dash instead of default bash (on your own risk)" \
8101 + app-shells/dash
8102 + optfeature "Support iSCSI" sys-block/open-iscsi
8103 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
8104 + optfeature "Support MD devices, also known as software RAID devices" \
8105 + sys-fs/mdadm
8106 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
8107 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
8108 + optfeature "Support network block devices" sys-block/nbd
8109 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
8110 + optfeature \
8111 + "Install ssh and scp along with config files and specified keys" \
8112 + net-misc/openssh
8113 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
8114 + app-admin/rsyslog
8115 +}
8116
8117 diff --git a/sys-kernel/dracut/dracut-047-r1.ebuild b/sys-kernel/dracut/dracut-047-r1.ebuild
8118 new file mode 100644
8119 index 0000000..5010bcc
8120 --- /dev/null
8121 +++ b/sys-kernel/dracut/dracut-047-r1.ebuild
8122 @@ -0,0 +1,154 @@
8123 +# Copyright 1999-2018 Gentoo Authors
8124 +# Distributed under the terms of the GNU General Public License v2
8125 +
8126 +EAPI=6
8127 +
8128 +inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
8129 +
8130 +DESCRIPTION="Generic initramfs generation tool"
8131 +HOMEPAGE="https://dracut.wiki.kernel.org"
8132 +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
8133 +
8134 +LICENSE="GPL-2"
8135 +SLOT="0"
8136 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
8137 +IUSE="debug selinux"
8138 +
8139 +# Tests need root privileges, bug #298014
8140 +RESTRICT="test"
8141 +
8142 +COMMON_DEPEND=">=sys-apps/kmod-23[tools]
8143 + virtual/pkgconfig
8144 + virtual/udev
8145 + "
8146 +RDEPEND="${COMMON_DEPEND}
8147 + app-arch/cpio
8148 + >=app-shells/bash-4.0:0
8149 + sys-apps/coreutils[xattr(-)]
8150 + || (
8151 + >=sys-apps/sysvinit-2.87-r3
8152 + sys-apps/systemd[sysv-utils]
8153 + )
8154 + >=sys-apps/util-linux-2.21
8155 +
8156 + debug? ( dev-util/strace )
8157 + selinux? (
8158 + sec-policy/selinux-dracut
8159 + sys-libs/libselinux
8160 + sys-libs/libsepol
8161 + )
8162 + "
8163 +DEPEND="${COMMON_DEPEND}
8164 + app-text/asciidoc
8165 + app-text/docbook-xml-dtd:4.5
8166 + >=app-text/docbook-xsl-stylesheets-1.75.2
8167 + >=dev-libs/libxslt-1.1.26
8168 + "
8169 +
8170 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
8171 + README.testsuite TODO )
8172 +
8173 +QA_MULTILIB_PATHS="usr/lib/dracut/.*"
8174 +
8175 +PATCHES=(
8176 + "${FILESDIR}/045-systemdutildir.patch"
8177 + "${FILESDIR}/047-all-fix-issues-found-by-shellcheck.patch"
8178 + "${FILESDIR}/047-plymouth-fix-detection-of-plymouth-directory.patch"
8179 +)
8180 +
8181 +src_configure() {
8182 + local myconf=(
8183 + --prefix="${EPREFIX}/usr"
8184 + --sysconfdir="${EPREFIX}/etc"
8185 + --bashcompletiondir="$(get_bashcompdir)"
8186 + --systemdsystemunitdir="$(systemd_get_systemunitdir)"
8187 + )
8188 +
8189 + tc-export CC PKG_CONFIG
8190 +
8191 + echo ./configure "${myconf[@]}"
8192 + ./configure "${myconf[@]}" || die
8193 +}
8194 +
8195 +src_install() {
8196 + default
8197 +
8198 + local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
8199 + if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
8200 + # Preserve lib -> lib64 symlinks in initramfs
8201 + libdirs+=( /lib /usr/lib )
8202 + fi
8203 +
8204 + einfo "Setting libdirs to \"${libdirs[*]}\" ..."
8205 + echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
8206 + insinto "/usr/lib/dracut/dracut.conf.d"
8207 + doins "${T}/gentoo.conf"
8208 +
8209 + insinto /etc/logrotate.d
8210 + newins dracut.logrotate dracut
8211 +
8212 + docinto html
8213 + dodoc dracut.html
8214 +}
8215 +
8216 +pkg_postinst() {
8217 + if linux-info_get_any_version && linux_config_exists; then
8218 + ewarn ""
8219 + ewarn "If the following test report contains a missing kernel"
8220 + ewarn "configuration option, you should reconfigure and rebuild your"
8221 + ewarn "kernel before booting image generated with this Dracut version."
8222 + ewarn ""
8223 +
8224 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
8225 +
8226 + # Kernel configuration options descriptions:
8227 + local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
8228 + ERROR_DEVTMPFS+='is missing and REQUIRED'
8229 + local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
8230 + ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
8231 +
8232 + check_extra_config
8233 + echo
8234 + else
8235 + ewarn ""
8236 + ewarn "Your kernel configuration couldn't be checked."
8237 + ewarn "Please check manually if following options are enabled:"
8238 + ewarn ""
8239 + ewarn " CONFIG_BLK_DEV_INITRD"
8240 + ewarn " CONFIG_DEVTMPFS"
8241 + ewarn ""
8242 + fi
8243 +
8244 + elog "To get additional features, a number of optional runtime"
8245 + elog "dependencies may be installed:"
8246 + elog ""
8247 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
8248 + sys-apps/iproute2 "net-misc/iputils[arping]"
8249 + optfeature \
8250 + "Measure performance of the boot process for later visualisation" \
8251 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
8252 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
8253 + optfeature "Load kernel modules and drop this privilege for real init" \
8254 + sys-libs/libcap
8255 + optfeature "Support CIFS" net-fs/cifs-utils
8256 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
8257 + "sys-fs/cryptsetup[-static-libs]"
8258 + optfeature "Support for GPG-encrypted keys for crypt module" \
8259 + app-crypt/gnupg
8260 + optfeature \
8261 + "Allows use of dash instead of default bash (on your own risk)" \
8262 + app-shells/dash
8263 + optfeature "Support iSCSI" sys-block/open-iscsi
8264 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
8265 + optfeature "Support MD devices, also known as software RAID devices" \
8266 + sys-fs/mdadm
8267 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
8268 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
8269 + optfeature "Support network block devices" sys-block/nbd
8270 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
8271 + optfeature \
8272 + "Install ssh and scp along with config files and specified keys" \
8273 + net-misc/openssh
8274 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
8275 + app-admin/rsyslog
8276 +}
8277
8278 diff --git a/sys-kernel/dracut/dracut-048-r1.ebuild b/sys-kernel/dracut/dracut-048-r1.ebuild
8279 new file mode 100644
8280 index 0000000..274f7b9
8281 --- /dev/null
8282 +++ b/sys-kernel/dracut/dracut-048-r1.ebuild
8283 @@ -0,0 +1,152 @@
8284 +# Copyright 1999-2018 Gentoo Authors
8285 +# Distributed under the terms of the GNU General Public License v2
8286 +
8287 +EAPI=6
8288 +
8289 +inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
8290 +
8291 +DESCRIPTION="Generic initramfs generation tool"
8292 +HOMEPAGE="https://dracut.wiki.kernel.org"
8293 +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
8294 +
8295 +LICENSE="GPL-2"
8296 +SLOT="0"
8297 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
8298 +IUSE="debug selinux"
8299 +
8300 +# Tests need root privileges, bug #298014
8301 +RESTRICT="test"
8302 +
8303 +COMMON_DEPEND=">=sys-apps/kmod-23[tools]
8304 + virtual/pkgconfig
8305 + virtual/udev
8306 + "
8307 +RDEPEND="${COMMON_DEPEND}
8308 + app-arch/cpio
8309 + >=app-shells/bash-4.0:0
8310 + sys-apps/coreutils[xattr(-)]
8311 + || (
8312 + >=sys-apps/sysvinit-2.87-r3
8313 + sys-apps/systemd[sysv-utils]
8314 + )
8315 + >=sys-apps/util-linux-2.21
8316 +
8317 + debug? ( dev-util/strace )
8318 + selinux? (
8319 + sec-policy/selinux-dracut
8320 + sys-libs/libselinux
8321 + sys-libs/libsepol
8322 + )
8323 + "
8324 +DEPEND="${COMMON_DEPEND}
8325 + app-text/asciidoc
8326 + app-text/docbook-xml-dtd:4.5
8327 + >=app-text/docbook-xsl-stylesheets-1.75.2
8328 + >=dev-libs/libxslt-1.1.26
8329 + "
8330 +
8331 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
8332 + README.testsuite TODO )
8333 +
8334 +QA_MULTILIB_PATHS="usr/lib/dracut/.*"
8335 +
8336 +PATCHES=(
8337 + "${FILESDIR}"/048-dracut-install-simplify-ldd-parsing-logic.patch
8338 +)
8339 +
8340 +src_configure() {
8341 + local myconf=(
8342 + --prefix="${EPREFIX}/usr"
8343 + --sysconfdir="${EPREFIX}/etc"
8344 + --bashcompletiondir="$(get_bashcompdir)"
8345 + --systemdsystemunitdir="$(systemd_get_systemunitdir)"
8346 + )
8347 +
8348 + tc-export CC PKG_CONFIG
8349 +
8350 + echo ./configure "${myconf[@]}"
8351 + ./configure "${myconf[@]}" || die
8352 +}
8353 +
8354 +src_install() {
8355 + default
8356 +
8357 + local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
8358 + if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
8359 + # Preserve lib -> lib64 symlinks in initramfs
8360 + libdirs+=( /lib /usr/lib )
8361 + fi
8362 +
8363 + einfo "Setting libdirs to \"${libdirs[*]}\" ..."
8364 + echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
8365 + insinto "/usr/lib/dracut/dracut.conf.d"
8366 + doins "${T}/gentoo.conf"
8367 +
8368 + insinto /etc/logrotate.d
8369 + newins dracut.logrotate dracut
8370 +
8371 + docinto html
8372 + dodoc dracut.html
8373 +}
8374 +
8375 +pkg_postinst() {
8376 + if linux-info_get_any_version && linux_config_exists; then
8377 + ewarn ""
8378 + ewarn "If the following test report contains a missing kernel"
8379 + ewarn "configuration option, you should reconfigure and rebuild your"
8380 + ewarn "kernel before booting image generated with this Dracut version."
8381 + ewarn ""
8382 +
8383 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
8384 +
8385 + # Kernel configuration options descriptions:
8386 + local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
8387 + ERROR_DEVTMPFS+='is missing and REQUIRED'
8388 + local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
8389 + ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
8390 +
8391 + check_extra_config
8392 + echo
8393 + else
8394 + ewarn ""
8395 + ewarn "Your kernel configuration couldn't be checked."
8396 + ewarn "Please check manually if following options are enabled:"
8397 + ewarn ""
8398 + ewarn " CONFIG_BLK_DEV_INITRD"
8399 + ewarn " CONFIG_DEVTMPFS"
8400 + ewarn ""
8401 + fi
8402 +
8403 + elog "To get additional features, a number of optional runtime"
8404 + elog "dependencies may be installed:"
8405 + elog ""
8406 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
8407 + sys-apps/iproute2 "net-misc/iputils[arping]"
8408 + optfeature \
8409 + "Measure performance of the boot process for later visualisation" \
8410 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
8411 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
8412 + optfeature "Load kernel modules and drop this privilege for real init" \
8413 + sys-libs/libcap
8414 + optfeature "Support CIFS" net-fs/cifs-utils
8415 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
8416 + "sys-fs/cryptsetup[-static-libs]"
8417 + optfeature "Support for GPG-encrypted keys for crypt module" \
8418 + app-crypt/gnupg
8419 + optfeature \
8420 + "Allows use of dash instead of default bash (on your own risk)" \
8421 + app-shells/dash
8422 + optfeature "Support iSCSI" sys-block/open-iscsi
8423 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
8424 + optfeature "Support MD devices, also known as software RAID devices" \
8425 + sys-fs/mdadm
8426 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
8427 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
8428 + optfeature "Support network block devices" sys-block/nbd
8429 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
8430 + optfeature \
8431 + "Install ssh and scp along with config files and specified keys" \
8432 + net-misc/openssh
8433 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
8434 + app-admin/rsyslog
8435 +}
8436
8437 diff --git a/sys-kernel/dracut/dracut-048.ebuild b/sys-kernel/dracut/dracut-048.ebuild
8438 new file mode 100644
8439 index 0000000..122f8c7
8440 --- /dev/null
8441 +++ b/sys-kernel/dracut/dracut-048.ebuild
8442 @@ -0,0 +1,148 @@
8443 +# Copyright 1999-2018 Gentoo Authors
8444 +# Distributed under the terms of the GNU General Public License v2
8445 +
8446 +EAPI=6
8447 +
8448 +inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
8449 +
8450 +DESCRIPTION="Generic initramfs generation tool"
8451 +HOMEPAGE="https://dracut.wiki.kernel.org"
8452 +SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
8453 +
8454 +LICENSE="GPL-2"
8455 +SLOT="0"
8456 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
8457 +IUSE="debug selinux"
8458 +
8459 +# Tests need root privileges, bug #298014
8460 +RESTRICT="test"
8461 +
8462 +COMMON_DEPEND=">=sys-apps/kmod-23[tools]
8463 + virtual/pkgconfig
8464 + virtual/udev
8465 + "
8466 +RDEPEND="${COMMON_DEPEND}
8467 + app-arch/cpio
8468 + >=app-shells/bash-4.0:0
8469 + sys-apps/coreutils[xattr(-)]
8470 + || (
8471 + >=sys-apps/sysvinit-2.87-r3
8472 + sys-apps/systemd[sysv-utils]
8473 + )
8474 + >=sys-apps/util-linux-2.21
8475 +
8476 + debug? ( dev-util/strace )
8477 + selinux? (
8478 + sec-policy/selinux-dracut
8479 + sys-libs/libselinux
8480 + sys-libs/libsepol
8481 + )
8482 + "
8483 +DEPEND="${COMMON_DEPEND}
8484 + app-text/asciidoc
8485 + app-text/docbook-xml-dtd:4.5
8486 + >=app-text/docbook-xsl-stylesheets-1.75.2
8487 + >=dev-libs/libxslt-1.1.26
8488 + "
8489 +
8490 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
8491 + README.testsuite TODO )
8492 +
8493 +QA_MULTILIB_PATHS="usr/lib/dracut/.*"
8494 +
8495 +src_configure() {
8496 + local myconf=(
8497 + --prefix="${EPREFIX}/usr"
8498 + --sysconfdir="${EPREFIX}/etc"
8499 + --bashcompletiondir="$(get_bashcompdir)"
8500 + --systemdsystemunitdir="$(systemd_get_systemunitdir)"
8501 + )
8502 +
8503 + tc-export CC PKG_CONFIG
8504 +
8505 + echo ./configure "${myconf[@]}"
8506 + ./configure "${myconf[@]}" || die
8507 +}
8508 +
8509 +src_install() {
8510 + default
8511 +
8512 + local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
8513 + if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
8514 + # Preserve lib -> lib64 symlinks in initramfs
8515 + libdirs+=( /lib /usr/lib )
8516 + fi
8517 +
8518 + einfo "Setting libdirs to \"${libdirs[*]}\" ..."
8519 + echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
8520 + insinto "/usr/lib/dracut/dracut.conf.d"
8521 + doins "${T}/gentoo.conf"
8522 +
8523 + insinto /etc/logrotate.d
8524 + newins dracut.logrotate dracut
8525 +
8526 + docinto html
8527 + dodoc dracut.html
8528 +}
8529 +
8530 +pkg_postinst() {
8531 + if linux-info_get_any_version && linux_config_exists; then
8532 + ewarn ""
8533 + ewarn "If the following test report contains a missing kernel"
8534 + ewarn "configuration option, you should reconfigure and rebuild your"
8535 + ewarn "kernel before booting image generated with this Dracut version."
8536 + ewarn ""
8537 +
8538 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
8539 +
8540 + # Kernel configuration options descriptions:
8541 + local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
8542 + ERROR_DEVTMPFS+='is missing and REQUIRED'
8543 + local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
8544 + ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
8545 +
8546 + check_extra_config
8547 + echo
8548 + else
8549 + ewarn ""
8550 + ewarn "Your kernel configuration couldn't be checked."
8551 + ewarn "Please check manually if following options are enabled:"
8552 + ewarn ""
8553 + ewarn " CONFIG_BLK_DEV_INITRD"
8554 + ewarn " CONFIG_DEVTMPFS"
8555 + ewarn ""
8556 + fi
8557 +
8558 + elog "To get additional features, a number of optional runtime"
8559 + elog "dependencies may be installed:"
8560 + elog ""
8561 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
8562 + sys-apps/iproute2 "net-misc/iputils[arping]"
8563 + optfeature \
8564 + "Measure performance of the boot process for later visualisation" \
8565 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
8566 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
8567 + optfeature "Load kernel modules and drop this privilege for real init" \
8568 + sys-libs/libcap
8569 + optfeature "Support CIFS" net-fs/cifs-utils
8570 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
8571 + "sys-fs/cryptsetup[-static-libs]"
8572 + optfeature "Support for GPG-encrypted keys for crypt module" \
8573 + app-crypt/gnupg
8574 + optfeature \
8575 + "Allows use of dash instead of default bash (on your own risk)" \
8576 + app-shells/dash
8577 + optfeature "Support iSCSI" sys-block/open-iscsi
8578 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
8579 + optfeature "Support MD devices, also known as software RAID devices" \
8580 + sys-fs/mdadm
8581 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
8582 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
8583 + optfeature "Support network block devices" sys-block/nbd
8584 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
8585 + optfeature \
8586 + "Install ssh and scp along with config files and specified keys" \
8587 + net-misc/openssh
8588 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
8589 + app-admin/rsyslog
8590 +}
8591
8592 diff --git a/sys-kernel/dracut/dracut-9999.ebuild b/sys-kernel/dracut/dracut-9999.ebuild
8593 new file mode 100644
8594 index 0000000..a686d06
8595 --- /dev/null
8596 +++ b/sys-kernel/dracut/dracut-9999.ebuild
8597 @@ -0,0 +1,158 @@
8598 +# Copyright 1999-2018 Gentoo Authors
8599 +# Distributed under the terms of the GNU General Public License v2
8600 +
8601 +EAPI=6
8602 +
8603 +inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
8604 +
8605 +if [[ ${PV} == 9999 ]] ; then
8606 + inherit git-r3
8607 + EGIT_REPO_URI="https://github.com/dracutdevs/dracut"
8608 +else
8609 + [[ "${PV}" = *_rc* ]] || \
8610 + KEYWORDS="~alpha amd64 ~arm ia64 ~mips ~ppc ~ppc64 sparc x86"
8611 + SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
8612 +fi
8613 +
8614 +DESCRIPTION="Generic initramfs generation tool"
8615 +HOMEPAGE="https://dracut.wiki.kernel.org"
8616 +
8617 +LICENSE="GPL-2"
8618 +SLOT="0"
8619 +IUSE="debug selinux"
8620 +
8621 +# Tests need root privileges, bug #298014
8622 +RESTRICT="test"
8623 +
8624 +COMMON_DEPEND=">=sys-apps/kmod-23[tools]
8625 + virtual/pkgconfig
8626 + virtual/udev
8627 + "
8628 +RDEPEND="${COMMON_DEPEND}
8629 + app-arch/cpio
8630 + >=app-shells/bash-4.0:0
8631 + sys-apps/coreutils[xattr(-)]
8632 + || (
8633 + >=sys-apps/sysvinit-2.87-r3
8634 + sys-apps/systemd[sysv-utils]
8635 + )
8636 + >=sys-apps/util-linux-2.21
8637 +
8638 + debug? ( dev-util/strace )
8639 + selinux? (
8640 + sec-policy/selinux-dracut
8641 + sys-libs/libselinux
8642 + sys-libs/libsepol
8643 + )
8644 + "
8645 +DEPEND="${COMMON_DEPEND}
8646 + app-text/asciidoc
8647 + app-text/docbook-xml-dtd:4.5
8648 + >=app-text/docbook-xsl-stylesheets-1.75.2
8649 + >=dev-libs/libxslt-1.1.26
8650 + "
8651 +
8652 +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
8653 + README.testsuite TODO )
8654 +
8655 +QA_MULTILIB_PATHS="usr/lib/dracut/.*"
8656 +
8657 +PATCHES=(
8658 +)
8659 +
8660 +src_configure() {
8661 + local myconf=(
8662 + --prefix="${EPREFIX}/usr"
8663 + --sysconfdir="${EPREFIX}/etc"
8664 + --bashcompletiondir="$(get_bashcompdir)"
8665 + --systemdsystemunitdir="$(systemd_get_systemunitdir)"
8666 + )
8667 +
8668 + tc-export CC PKG_CONFIG
8669 +
8670 + echo ./configure "${myconf[@]}"
8671 + ./configure "${myconf[@]}" || die
8672 +}
8673 +
8674 +src_install() {
8675 + default
8676 +
8677 + local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
8678 + if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
8679 + # Preserve lib -> lib64 symlinks in initramfs
8680 + libdirs+=( /lib /usr/lib )
8681 + fi
8682 +
8683 + einfo "Setting libdirs to \"${libdirs[*]}\" ..."
8684 + echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
8685 + insinto "/usr/lib/dracut/dracut.conf.d"
8686 + doins "${T}/gentoo.conf"
8687 +
8688 + insinto /etc/logrotate.d
8689 + newins dracut.logrotate dracut
8690 +
8691 + docinto html
8692 + dodoc dracut.html
8693 +}
8694 +
8695 +pkg_postinst() {
8696 + if linux-info_get_any_version && linux_config_exists; then
8697 + ewarn ""
8698 + ewarn "If the following test report contains a missing kernel"
8699 + ewarn "configuration option, you should reconfigure and rebuild your"
8700 + ewarn "kernel before booting image generated with this Dracut version."
8701 + ewarn ""
8702 +
8703 + local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
8704 +
8705 + # Kernel configuration options descriptions:
8706 + local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
8707 + ERROR_DEVTMPFS+='is missing and REQUIRED'
8708 + local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
8709 + ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
8710 +
8711 + check_extra_config
8712 + echo
8713 + else
8714 + ewarn ""
8715 + ewarn "Your kernel configuration couldn't be checked."
8716 + ewarn "Please check manually if following options are enabled:"
8717 + ewarn ""
8718 + ewarn " CONFIG_BLK_DEV_INITRD"
8719 + ewarn " CONFIG_DEVTMPFS"
8720 + ewarn ""
8721 + fi
8722 +
8723 + elog "To get additional features, a number of optional runtime"
8724 + elog "dependencies may be installed:"
8725 + elog ""
8726 + optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
8727 + sys-apps/iproute2 "net-misc/iputils[arping]"
8728 + optfeature \
8729 + "Measure performance of the boot process for later visualisation" \
8730 + app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
8731 + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
8732 + optfeature "Load kernel modules and drop this privilege for real init" \
8733 + sys-libs/libcap
8734 + optfeature "Support CIFS" net-fs/cifs-utils
8735 + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
8736 + "sys-fs/cryptsetup[-static-libs]"
8737 + optfeature "Support for GPG-encrypted keys for crypt module" \
8738 + app-crypt/gnupg
8739 + optfeature \
8740 + "Allows use of dash instead of default bash (on your own risk)" \
8741 + app-shells/dash
8742 + optfeature "Support iSCSI" sys-block/open-iscsi
8743 + optfeature "Support Logical Volume Manager" sys-fs/lvm2
8744 + optfeature "Support MD devices, also known as software RAID devices" \
8745 + sys-fs/mdadm
8746 + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
8747 + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
8748 + optfeature "Support network block devices" sys-block/nbd
8749 + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
8750 + optfeature \
8751 + "Install ssh and scp along with config files and specified keys" \
8752 + net-misc/openssh
8753 + optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
8754 + app-admin/rsyslog
8755 +}
8756
8757 diff --git a/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch b/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch
8758 new file mode 100644
8759 index 0000000..fd6f118
8760 --- /dev/null
8761 +++ b/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch
8762 @@ -0,0 +1,32 @@
8763 +From c41df7e1db1adc51399ab2c22f251b15eb2065b1 Mon Sep 17 00:00:00 2001
8764 +From: Alexander Tsoy <alexander@××××.me>
8765 +Date: Tue, 5 Jan 2016 22:11:57 +0300
8766 +Subject: [PATCH] base/dracut-lib.sh:dev_unit_name() guard against $dev
8767 + beginning with "-"
8768 +
8769 +crypt/parse-crypt.sh generate initqueue job which always call
8770 +dev_unit_name() with an argument beginning with "-". This results
8771 +in the following error:
8772 +
8773 +dracut-initqueue[307]: + systemd-escape -p -cfb4aa43-2f02-4c6b-a313-60ea99288087
8774 +dracut-initqueue[307]: systemd-escape: invalid option -- 'c'
8775 +---
8776 + modules.d/99base/dracut-lib.sh | 2 +-
8777 + 1 file changed, 1 insertion(+), 1 deletion(-)
8778 +
8779 +diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
8780 +index ad03394..0a0b1b9 100755
8781 +--- a/modules.d/99base/dracut-lib.sh
8782 ++++ b/modules.d/99base/dracut-lib.sh
8783 +@@ -874,7 +874,7 @@ dev_unit_name()
8784 + local dev="$1"
8785 +
8786 + if command -v systemd-escape >/dev/null; then
8787 +- systemd-escape -p "$dev"
8788 ++ systemd-escape -p -- "$dev"
8789 + return
8790 + fi
8791 +
8792 +--
8793 +2.10.2
8794 +
8795
8796 diff --git a/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch b/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch
8797 new file mode 100644
8798 index 0000000..21cb679
8799 --- /dev/null
8800 +++ b/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch
8801 @@ -0,0 +1,24 @@
8802 +From d4efc0aeeecc470d9a267b7f3c130f472488905c Mon Sep 17 00:00:00 2001
8803 +From: Harald Hoyer <harald@××××××.com>
8804 +Date: Wed, 25 May 2016 15:06:29 +0200
8805 +Subject: [PATCH] systemd-initrd: add initrd-root-device.target
8806 +
8807 +---
8808 + modules.d/01systemd-initrd/module-setup.sh | 1 +
8809 + 1 file changed, 1 insertion(+)
8810 +
8811 +diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh
8812 +index fb6a9ea..c1ccd2a 100755
8813 +--- a/modules.d/01systemd-initrd/module-setup.sh
8814 ++++ b/modules.d/01systemd-initrd/module-setup.sh
8815 +@@ -28,6 +28,7 @@ install() {
8816 + inst_multiple -o \
8817 + $systemdsystemunitdir/initrd.target \
8818 + $systemdsystemunitdir/initrd-fs.target \
8819 ++ $systemdsystemunitdir/initrd-root-device.target \
8820 + $systemdsystemunitdir/initrd-root-fs.target \
8821 + $systemdsystemunitdir/initrd-switch-root.target \
8822 + $systemdsystemunitdir/initrd-switch-root.service \
8823 +--
8824 +2.10.2
8825 +
8826
8827 diff --git a/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch b/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch
8828 new file mode 100644
8829 index 0000000..85ebc7e
8830 --- /dev/null
8831 +++ b/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch
8832 @@ -0,0 +1,23 @@
8833 +From 69395a528aed99ec04b16c14ebacf4c2e10afd26 Mon Sep 17 00:00:00 2001
8834 +From: Mike Gilbert <floppym@g.o>
8835 +Date: Fri, 4 Nov 2016 13:09:28 -0400
8836 +Subject: [PATCH] 50-dracut.install: use /bin/bash shebang
8837 +
8838 +This script utilizes several bash-specific constructs.
8839 +---
8840 + 50-dracut.install | 2 +-
8841 + 1 file changed, 1 insertion(+), 1 deletion(-)
8842 +
8843 +diff --git a/50-dracut.install b/50-dracut.install
8844 +index 7d081d5..54c71d4 100755
8845 +--- a/50-dracut.install
8846 ++++ b/50-dracut.install
8847 +@@ -1,4 +1,4 @@
8848 +-#!/bin/sh
8849 ++#!/bin/bash
8850 +
8851 + COMMAND="$1"
8852 + KERNEL_VERSION="$2"
8853 +--
8854 +2.10.2
8855 +
8856
8857 diff --git a/sys-kernel/dracut/files/045-systemdutildir.patch b/sys-kernel/dracut/files/045-systemdutildir.patch
8858 new file mode 100644
8859 index 0000000..e56abba
8860 --- /dev/null
8861 +++ b/sys-kernel/dracut/files/045-systemdutildir.patch
8862 @@ -0,0 +1,45 @@
8863 +From ed5cc98864c28eab2c4cb45ec0f67450699aaaa8 Mon Sep 17 00:00:00 2001
8864 +From: Mike Gilbert <floppym@g.o>
8865 +Date: Mon, 3 Jul 2017 22:39:42 -0400
8866 +Subject: [PATCH] dracut.sh: improve udevdir and systemdutildir fallback logic
8867 +
8868 +Check for a common binary in systemdutildir. This resolves an issue on
8869 +split-usr systems, where it is common to have both /lib/systemd[/system]
8870 +and /usr/lib/systemd[/user] present.
8871 +
8872 +Check for systemd-udevd specifically, since some distros (Gentoo) allow
8873 +udev to be installed without the rest of the systemd stack.
8874 +
8875 +Similar logic is applied to udevdir simply for consistency.
8876 +---
8877 + dracut.sh | 8 ++++----
8878 + 1 file changed, 4 insertions(+), 4 deletions(-)
8879 +
8880 +diff --git a/dracut.sh b/dracut.sh
8881 +index 64d94201..67c12a72 100755
8882 +--- a/dracut.sh
8883 ++++ b/dracut.sh
8884 +@@ -1266,16 +1266,16 @@ done
8885 + [[ -d $udevdir ]] \
8886 + || udevdir="$(pkg-config udev --variable=udevdir 2>/dev/null)"
8887 + if ! [[ -d "$udevdir" ]]; then
8888 +- [[ ! -h /lib ]] && [[ -d /lib/udev ]] && udevdir=/lib/udev
8889 +- [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
8890 ++ [[ -e /lib/udev/collect ]] && udevdir=/lib/udev
8891 ++ [[ -e /usr/lib/udev/collect ]] && udevdir=/usr/lib/udev
8892 + fi
8893 +
8894 + [[ -d $systemdutildir ]] \
8895 + || systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null)
8896 +
8897 + if ! [[ -d "$systemdutildir" ]]; then
8898 +- [[ ! -h /lib ]] && [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd
8899 +- [[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd
8900 ++ [[ -e /lib/systemd/systemd-udevd ]] && systemdutildir=/lib/systemd
8901 ++ [[ -e /usr/lib/systemd/systemd-udevd ]] && systemdutildir=/usr/lib/systemd
8902 + fi
8903 +
8904 + [[ -d $systemdsystemunitdir ]] \
8905 +--
8906 +2.13.2
8907 +
8908
8909 diff --git a/sys-kernel/dracut/files/046-amd-microcode.patch b/sys-kernel/dracut/files/046-amd-microcode.patch
8910 new file mode 100644
8911 index 0000000..c351275
8912 --- /dev/null
8913 +++ b/sys-kernel/dracut/files/046-amd-microcode.patch
8914 @@ -0,0 +1,30 @@
8915 +From a1250a704e33c59f2395aaad054db1c745a5c98a Mon Sep 17 00:00:00 2001
8916 +From: Daniel Molkentin <dmolkentin@××××.com>
8917 +Date: Tue, 12 Dec 2017 17:48:36 +0100
8918 +Subject: [PATCH] Simplify microcode lookup for for AMD CPUs
8919 +
8920 +---
8921 + dracut-functions.sh | 7 ++-----
8922 + 1 file changed, 2 insertions(+), 5 deletions(-)
8923 +
8924 +diff --git a/dracut-functions.sh b/dracut-functions.sh
8925 +index 112b2434..d7fc5303 100755
8926 +--- a/dracut-functions.sh
8927 ++++ b/dracut-functions.sh
8928 +@@ -661,11 +661,8 @@ get_ucode_file ()
8929 + local stepping=`grep -E "stepping" /proc/cpuinfo | head -1 | sed s/.*:\ //`
8930 +
8931 + if [[ "$(get_cpu_vendor)" == "AMD" ]]; then
8932 +- # If family greater than or equal to 0x16
8933 +- if [[ $family -ge 22 ]]; then
8934 +- printf "microcode_amd_fam16h.bin"
8935 +- elif [[ $family -eq 21 ]]; then
8936 +- printf "microcode_amd_fam15h.bin"
8937 ++ if [[ $family -ge 21 ]]; then
8938 ++ printf "microcode_amd_fam%xh.bin" $family
8939 + else
8940 + printf "microcode_amd.bin"
8941 + fi
8942 +--
8943 +2.16.0.rc0
8944 +
8945
8946 diff --git a/sys-kernel/dracut/files/047-all-fix-issues-found-by-shellcheck.patch b/sys-kernel/dracut/files/047-all-fix-issues-found-by-shellcheck.patch
8947 new file mode 100644
8948 index 0000000..d5cbe04
8949 --- /dev/null
8950 +++ b/sys-kernel/dracut/files/047-all-fix-issues-found-by-shellcheck.patch
8951 @@ -0,0 +1,77 @@
8952 +From 3aa37cafde734719f2377600a17459fad30edfbc Mon Sep 17 00:00:00 2001
8953 +From: Lukas Nykryn <lnykryn@××××××.com>
8954 +Date: Fri, 2 Mar 2018 12:29:46 +0100
8955 +Subject: [PATCH 06/14] all: fix issues found by shellcheck
8956 +To: <initramfs@×××××××××××.org>
8957 +
8958 +Error: SHELLCHECK_WARNING:
8959 +/usr/lib/dracut/dracut-init.sh:939:20: error: Argument to implicit -n is always true due to literal strings. [SC2157]
8960 + 937| dracut_kernel_post() {
8961 + 938| for _f in modules.builtin.bin modules.builtin modules.order; do
8962 + 939|-> [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
8963 + 940| done
8964 + 941|
8965 +
8966 +Error: SHELLCHECK_WARNING:
8967 +/usr/lib/dracut/modules.d/98syslog/parse-syslog-opts.sh:18:12: error: This expression is constant. Did you forget a $ somewhere? [SC2078]
8968 + 16| elif [ -e /sbin/syslogd ]; then
8969 + 17| syslogtype="syslogd"
8970 + 18|-> elif [ /sbin/syslog-ng ]; then
8971 + 19| syslogtype="syslog-ng"
8972 + 20| else
8973 +
8974 +Error: SHELLCHECK_WARNING:
8975 +/usr/lib/dracut/modules.d/90crypt/crypt-lib.sh:15:29: error: Since you double quoted this, it will not word split, and the loop will only run once. [SC2066]
8976 + 13| strstr "$d" "${luks##luks-}" && return 0
8977 + 14| if [ -n "$dev" ]; then
8978 + 15|-> for _dev in "$(devnames $d)"; do
8979 + 16| [ "$dev" -ef "$_dev" ] && return 0
8980 + 17| done
8981 +---
8982 + dracut-init.sh | 2 +-
8983 + modules.d/90crypt/crypt-lib.sh | 2 +-
8984 + modules.d/98syslog/parse-syslog-opts.sh | 2 +-
8985 + 3 files changed, 3 insertions(+), 3 deletions(-)
8986 +
8987 +diff --git a/dracut-init.sh b/dracut-init.sh
8988 +index 53e6f13a..1278c638 100644
8989 +--- a/dracut-init.sh
8990 ++++ b/dracut-init.sh
8991 +@@ -942,7 +942,7 @@ for_each_kmod_dep() {
8992 +
8993 + dracut_kernel_post() {
8994 + for _f in modules.builtin.bin modules.builtin modules.order; do
8995 +- [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
8996 ++ [[ -e $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
8997 + done
8998 +
8999 + # generate module dependencies for the initrd
9000 +diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
9001 +index 532b9a71..bbf485e0 100755
9002 +--- a/modules.d/90crypt/crypt-lib.sh
9003 ++++ b/modules.d/90crypt/crypt-lib.sh
9004 +@@ -12,7 +12,7 @@ crypttab_contains() {
9005 + strstr "${l##luks-}" "${luks##luks-}" && return 0
9006 + strstr "$d" "${luks##luks-}" && return 0
9007 + if [ -n "$dev" ]; then
9008 +- for _dev in "$(devnames $d)"; do
9009 ++ for _dev in $(devnames $d); do
9010 + [ "$dev" -ef "$_dev" ] && return 0
9011 + done
9012 + fi
9013 +diff --git a/modules.d/98syslog/parse-syslog-opts.sh b/modules.d/98syslog/parse-syslog-opts.sh
9014 +index 50ec2759..9ec6ad47 100755
9015 +--- a/modules.d/98syslog/parse-syslog-opts.sh
9016 ++++ b/modules.d/98syslog/parse-syslog-opts.sh
9017 +@@ -15,7 +15,7 @@ detect_syslog() {
9018 + syslogtype="rsyslogd"
9019 + elif [ -e /sbin/syslogd ]; then
9020 + syslogtype="syslogd"
9021 +- elif [ /sbin/syslog-ng ]; then
9022 ++ elif [ -e /sbin/syslog-ng ]; then
9023 + syslogtype="syslog-ng"
9024 + else
9025 + warn "Could not find any syslog binary although the syslogmodule is selected to be installed. Please check."
9026 +--
9027 +2.16.1
9028 +
9029
9030 diff --git a/sys-kernel/dracut/files/047-plymouth-fix-detection-of-plymouth-directory.patch b/sys-kernel/dracut/files/047-plymouth-fix-detection-of-plymouth-directory.patch
9031 new file mode 100644
9032 index 0000000..42f8772
9033 --- /dev/null
9034 +++ b/sys-kernel/dracut/files/047-plymouth-fix-detection-of-plymouth-directory.patch
9035 @@ -0,0 +1,31 @@
9036 +From fe6c7e0f06cde65effb3503a47c31ac39aceefb6 Mon Sep 17 00:00:00 2001
9037 +From: Alexander Tsoy <alexander@××××.me>
9038 +Date: Fri, 23 Mar 2018 11:52:27 +0300
9039 +Subject: [PATCH 14/14] plymouth: fix detection of plymouth directory
9040 +To: <initramfs@×××××××××××.org>
9041 +
9042 +Some distros have both /usr/lib/plymouth and /usr/libexec/plymouth
9043 +directorirs, so we should check the existance of plymouth-populate-initrd
9044 +script.
9045 +
9046 +Fixes: 421b46f8ae89cfe2b62e880a8a5079ee8c1b3aae
9047 +---
9048 + modules.d/50plymouth/module-setup.sh | 2 +-
9049 + 1 file changed, 1 insertion(+), 1 deletion(-)
9050 +
9051 +diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
9052 +index 5fbca8b0..b51913e8 100755
9053 +--- a/modules.d/50plymouth/module-setup.sh
9054 ++++ b/modules.d/50plymouth/module-setup.sh
9055 +@@ -6,7 +6,7 @@ pkglib_dir() {
9056 + _dirs+=" /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/plymouth"
9057 + fi
9058 + for _dir in $_dirs; do
9059 +- if [ -d $_dir ]; then
9060 ++ if [ -x $_dir/plymouth-populate-initrd ]; then
9061 + echo $_dir
9062 + return
9063 + fi
9064 +--
9065 +2.16.1
9066 +
9067
9068 diff --git a/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch b/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch
9069 new file mode 100644
9070 index 0000000..aa9c543
9071 --- /dev/null
9072 +++ b/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch
9073 @@ -0,0 +1,41 @@
9074 +From 6d886bb74d1608e4565d926aa259ea5afc9df7b9 Mon Sep 17 00:00:00 2001
9075 +From: Mike Gilbert <floppym@g.o>
9076 +Date: Thu, 4 Oct 2018 16:45:47 -0400
9077 +Subject: [PATCH] dracut-install: simplify ldd parsing logic
9078 +
9079 +The previous logic would not handle absolute paths on the left side of
9080 +the "=>" properly. For example, on Gentoo ARM64, ldd outputs this:
9081 +
9082 + /lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1
9083 +
9084 +At runtime, the kernel tries to load the file from /lib, and fails if we
9085 +only provide it in /lib64.
9086 +
9087 +Instead of looking for the first slash after the "=>", just look for the
9088 +first slash, period. This would fail if we somehow had a relative path
9089 +on the left side (foo/libbar.so), but I'm not aware of any binaries that
9090 +would contain such an entry in DT_NEEDED.
9091 +
9092 +Bug: https://bugs.gentoo.org/667752
9093 +Signed-off-by: Mike Gilbert <floppym@g.o>
9094 +---
9095 + install/dracut-install.c | 6 +-----
9096 + 1 file changed, 1 insertion(+), 5 deletions(-)
9097 +
9098 +diff --git a/install/dracut-install.c b/install/dracut-install.c
9099 +index 88bca1d44..5f352b360 100644
9100 +--- a/install/dracut-install.c
9101 ++++ b/install/dracut-install.c
9102 +@@ -479,11 +479,7 @@ static int resolve_deps(const char *src)
9103 + if (strstr(buf, destrootdir))
9104 + break;
9105 +
9106 +- p = strstr(buf, "=>");
9107 +- if (!p)
9108 +- p = buf;
9109 +-
9110 +- p = strchr(p, '/');
9111 ++ p = strchr(buf, '/');
9112 + if (p) {
9113 + char *q;
9114 +
9115
9116 diff --git a/sys-kernel/dracut/files/dracut-044-bash-4.4.patch b/sys-kernel/dracut/files/dracut-044-bash-4.4.patch
9117 new file mode 100644
9118 index 0000000..3144c8e
9119 --- /dev/null
9120 +++ b/sys-kernel/dracut/files/dracut-044-bash-4.4.patch
9121 @@ -0,0 +1,80 @@
9122 +diff -urN dracut-044.orig/modules.d/50drm/module-setup.sh dracut-044/modules.d/50drm/module-setup.sh
9123 +--- dracut-044.orig/modules.d/50drm/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
9124 ++++ dracut-044/modules.d/50drm/module-setup.sh 2016-09-28 02:50:08.914967926 +0300
9125 +@@ -24,9 +24,9 @@
9126 + local _fname _fcont
9127 + while read _fname || [ -n "$_fname" ]; do
9128 + case "$_fname" in
9129 +- *.ko) _fcont="$(< $_fname)" ;;
9130 +- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
9131 +- *.ko.xz) _fcont="$(xz -dc $_fname)" ;;
9132 ++ *.ko) _fcont="$(< $_fname tr -d \\0)" ;;
9133 ++ *.ko.gz) _fcont="$(gzip -dc $_fname | tr -d \\0)" ;;
9134 ++ *.ko.xz) _fcont="$(xz -dc $_fname | tr -d \\0)" ;;
9135 + esac
9136 + [[ $_fcont =~ $_drm_drivers
9137 + && ! $_fcont =~ iw_handler_get_spy ]] \
9138 +diff -urN dracut-044.orig/modules.d/90kernel-modules/module-setup.sh dracut-044/modules.d/90kernel-modules/module-setup.sh
9139 +--- dracut-044.orig/modules.d/90kernel-modules/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
9140 ++++ dracut-044/modules.d/90kernel-modules/module-setup.sh 2016-09-28 02:49:11.725390294 +0300
9141 +@@ -10,9 +10,9 @@
9142 + function bmf1() {
9143 + local _f
9144 + while read _f || [ -n "$_f" ]; do case "$_f" in
9145 +- *.ko) [[ $(< $_f) =~ $_blockfuncs ]] && echo "$_f" ;;
9146 +- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
9147 +- *.ko.xz) [[ $(xz -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
9148 ++ *.ko) [[ $(< $_f tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;;
9149 ++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;;
9150 ++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;;
9151 + esac
9152 + done
9153 + return 0
9154 +diff -urN dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh dracut-044/modules.d/90kernel-network-modules/module-setup.sh
9155 +--- dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
9156 ++++ dracut-044/modules.d/90kernel-network-modules/module-setup.sh 2016-09-28 02:51:08.202422231 +0300
9157 +@@ -26,9 +26,9 @@
9158 + while read _fname; do
9159 + [[ $_fname =~ $_unwanted_drivers ]] && continue
9160 + case "$_fname" in
9161 +- *.ko) _fcont="$(< $_fname)" ;;
9162 +- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
9163 +- *.ko.xz) _fcont="$(xz -dc $_fname)" ;;
9164 ++ *.ko) _fcont="$(< $_fname tr -d \\0)" ;;
9165 ++ *.ko.gz) _fcont="$(gzip -dc $_fname | tr -d \\0)" ;;
9166 ++ *.ko.xz) _fcont="$(xz -dc $_fname | tr -d \\0)" ;;
9167 + esac
9168 + [[ $_fcont =~ $_net_drivers
9169 + && ! $_fcont =~ iw_handler_get_spy ]] \
9170 +diff -urN dracut-044.orig/modules.d/90multipath/module-setup.sh dracut-044/modules.d/90multipath/module-setup.sh
9171 +--- dracut-044.orig/modules.d/90multipath/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
9172 ++++ dracut-044/modules.d/90multipath/module-setup.sh 2016-09-28 02:49:11.726390235 +0300
9173 +@@ -58,9 +58,9 @@
9174 + local _f
9175 + while read _f || [ -n "$_f" ]; do
9176 + case "$_f" in
9177 +- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;;
9178 +- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
9179 +- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
9180 ++ *.ko) [[ $(< $_f tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
9181 ++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
9182 ++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
9183 + esac
9184 + done
9185 + return 0
9186 +diff -urN dracut-044.orig/modules.d/95iscsi/module-setup.sh dracut-044/modules.d/95iscsi/module-setup.sh
9187 +--- dracut-044.orig/modules.d/95iscsi/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
9188 ++++ dracut-044/modules.d/95iscsi/module-setup.sh 2016-09-28 02:49:11.726390235 +0300
9189 +@@ -168,9 +168,9 @@
9190 + local _f
9191 + while read _f || [ -n "$_f" ]; do
9192 + case "$_f" in
9193 +- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;;
9194 +- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
9195 +- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
9196 ++ *.ko) [[ $(< $_f tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
9197 ++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
9198 ++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
9199 + esac
9200 + done
9201 + return 0
9202
9203 diff --git a/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch b/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch
9204 new file mode 100644
9205 index 0000000..3146d84
9206 --- /dev/null
9207 +++ b/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch
9208 @@ -0,0 +1,51 @@
9209 +From 61c761bc2c35fb244d46fbbde97161f5927071dc Mon Sep 17 00:00:00 2001
9210 +From: Stefan Berger <stefanb@××××××.com>
9211 +Date: Tue, 25 Oct 2016 15:09:49 -0400
9212 +Subject: [PATCH] dracut-install: preserve extended attributes when copying
9213 + files
9214 +
9215 +Preserve extended attributes when copying files using dracut-install.
9216 +
9217 +The copying of extended attributes avoids file execution denials when
9218 +the Linux Integrity Measurement's Appraisal mode is active. In that mode
9219 +executables need their file signatures copied. In particular, this patch
9220 +solves the problem that dependent libaries are not included in the
9221 +initramfs since the copied programs could not be executed due to missing
9222 +signatures. The following audit record shows the type of failure that
9223 +is now prevented:
9224 +
9225 +type=INTEGRITY_DATA msg=audit(1477409025.492:30065): pid=922 uid=0
9226 + auid=4294967295 ses=4294967295
9227 + subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
9228 + op="appraise_data" cause="IMA-signature-required"
9229 + comm="ld-linux-x86-64"
9230 + name="/var/tmp/dracut.R6ySa4/initramfs/usr/bin/journalctl"
9231 + dev="dm-0" ino=37136 res=0
9232 +
9233 +Signed-off-by: Stefan Berger <stefanb@××××××××××××××.com>
9234 +---
9235 + install/dracut-install.c | 4 ++--
9236 + 1 file changed, 2 insertions(+), 2 deletions(-)
9237 +
9238 +diff --git a/install/dracut-install.c b/install/dracut-install.c
9239 +index fe30bba..c0f1c17 100644
9240 +--- a/install/dracut-install.c
9241 ++++ b/install/dracut-install.c
9242 +@@ -294,7 +294,7 @@ static int cp(const char *src, const char *dst)
9243 + normal_copy:
9244 + pid = fork();
9245 + if (pid == 0) {
9246 +- execlp("cp", "cp", "--reflink=auto", "--sparse=auto", "--preserve=mode,timestamps", "-fL", src, dst,
9247 ++ execlp("cp", "cp", "--reflink=auto", "--sparse=auto", "--preserve=mode,timestamps,xattr", "-fL", src, dst,
9248 + NULL);
9249 + _exit(EXIT_FAILURE);
9250 + }
9251 +@@ -302,7 +302,7 @@ static int cp(const char *src, const char *dst)
9252 + while (waitpid(pid, &ret, 0) < 0) {
9253 + if (errno != EINTR) {
9254 + ret = -1;
9255 +- log_error("Failed: cp --reflink=auto --sparse=auto --preserve=mode,timestamps -fL %s %s", src,
9256 ++ log_error("Failed: cp --reflink=auto --sparse=auto --preserve=mode,timestamps,xattr -fL %s %s", src,
9257 + dst);
9258 + break;
9259 + }
9260
9261 diff --git a/sys-kernel/dracut/metadata.xml b/sys-kernel/dracut/metadata.xml
9262 new file mode 100644
9263 index 0000000..153efe6
9264 --- /dev/null
9265 +++ b/sys-kernel/dracut/metadata.xml
9266 @@ -0,0 +1,24 @@
9267 +<?xml version="1.0" encoding="UTF-8"?>
9268 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
9269 +<pkgmetadata>
9270 + <maintainer type="person">
9271 + <email>chutzpah@g.o</email>
9272 + <name>Patrick McLean</name>
9273 + </maintainer>
9274 + <maintainer type="person">
9275 + <email>alexander@××××.me</email>
9276 + <name>Alexander Tsoy</name>
9277 + </maintainer>
9278 + <maintainer type="person">
9279 + <email>floppym@g.o</email>
9280 + <name>Mike Gilbert</name>
9281 + </maintainer>
9282 + <use>
9283 + <flag name="debug">Module installing additional tools like strace, file
9284 + editor, ssh and more</flag>
9285 + </use>
9286 + <longdescription lang="en">
9287 + Generic, modular initramfs generation tool that can be used across various
9288 + distributions.
9289 + </longdescription>
9290 +</pkgmetadata>
9291
9292 diff --git a/sys-kernel/genkernel-next/genkernel-next-66.ebuild b/sys-kernel/genkernel-next/genkernel-next-66.ebuild
9293 new file mode 100644
9294 index 0000000..ee350d7
9295 --- /dev/null
9296 +++ b/sys-kernel/genkernel-next/genkernel-next-66.ebuild
9297 @@ -0,0 +1,51 @@
9298 +# Copyright 1999-2017 Gentoo Foundation
9299 +# Distributed under the terms of the GNU General Public License v2
9300 +
9301 +EAPI=6
9302 +
9303 +SRC_URI="https://github.com/Sabayon/genkernel-next/archive/v${PV}.tar.gz -> ${P}.tar.gz"
9304 +KEYWORDS="~alpha amd64 ~arm ia64 ppc ppc64 x86"
9305 +inherit bash-completion-r1
9306 +
9307 +DESCRIPTION="Gentoo automatic kernel building scripts, reloaded"
9308 +HOMEPAGE="https://www.gentoo.org/"
9309 +
9310 +LICENSE="GPL-2"
9311 +SLOT="0"
9312 +
9313 +IUSE="cryptsetup dmraid gpg iscsi mdadm plymouth selinux"
9314 +DOCS=( AUTHORS )
9315 +
9316 +DEPEND="app-text/asciidoc
9317 + sys-fs/e2fsprogs
9318 + !sys-fs/eudev[-kmod,modutils]
9319 + selinux? ( sys-libs/libselinux )"
9320 +RDEPEND="${DEPEND}
9321 + !sys-kernel/genkernel
9322 + cryptsetup? ( sys-fs/cryptsetup )
9323 + dmraid? ( >=sys-fs/dmraid-1.0.0_rc16 )
9324 + gpg? ( app-crypt/gnupg )
9325 + iscsi? ( sys-block/open-iscsi )
9326 + mdadm? ( sys-fs/mdadm )
9327 + plymouth? ( sys-boot/plymouth )
9328 + app-portage/portage-utils
9329 + app-arch/cpio
9330 + >=app-misc/pax-utils-0.6
9331 + !<sys-apps/openrc-0.9.9
9332 + sys-apps/util-linux
9333 + sys-block/thin-provisioning-tools
9334 + sys-fs/lvm2"
9335 +
9336 +src_prepare() {
9337 + default
9338 + sed -i "/^GK_V=/ s:GK_V=.*:GK_V=${PV}:g" "${S}/genkernel" || \
9339 + die "Could not setup release"
9340 +}
9341 +
9342 +src_install() {
9343 + default
9344 +
9345 + doman "${S}"/genkernel.8
9346 +
9347 + newbashcomp "${S}"/genkernel.bash genkernel
9348 +}
9349
9350 diff --git a/sys-kernel/genkernel-next/genkernel-next-68.ebuild b/sys-kernel/genkernel-next/genkernel-next-68.ebuild
9351 new file mode 100644
9352 index 0000000..842dfa4
9353 --- /dev/null
9354 +++ b/sys-kernel/genkernel-next/genkernel-next-68.ebuild
9355 @@ -0,0 +1,51 @@
9356 +# Copyright 1999-2018 Gentoo Foundation
9357 +# Distributed under the terms of the GNU General Public License v2
9358 +
9359 +EAPI=6
9360 +
9361 +SRC_URI="https://github.com/Sabayon/genkernel-next/archive/v${PV}.tar.gz -> ${P}.tar.gz"
9362 +KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ppc ppc64 x86"
9363 +inherit bash-completion-r1
9364 +
9365 +DESCRIPTION="Gentoo automatic kernel building scripts, reloaded"
9366 +HOMEPAGE="https://www.gentoo.org/"
9367 +
9368 +LICENSE="GPL-2"
9369 +SLOT="0"
9370 +
9371 +IUSE="cryptsetup dmraid gpg iscsi mdadm plymouth selinux"
9372 +DOCS=( AUTHORS )
9373 +
9374 +DEPEND="app-text/asciidoc
9375 + sys-fs/e2fsprogs
9376 + !sys-fs/eudev[-kmod,modutils]
9377 + selinux? ( sys-libs/libselinux )"
9378 +RDEPEND="${DEPEND}
9379 + !sys-kernel/genkernel
9380 + cryptsetup? ( sys-fs/cryptsetup )
9381 + dmraid? ( >=sys-fs/dmraid-1.0.0_rc16 )
9382 + gpg? ( app-crypt/gnupg )
9383 + iscsi? ( sys-block/open-iscsi )
9384 + mdadm? ( sys-fs/mdadm )
9385 + plymouth? ( sys-boot/plymouth )
9386 + app-portage/portage-utils
9387 + app-arch/cpio
9388 + >=app-misc/pax-utils-0.6
9389 + !<sys-apps/openrc-0.9.9
9390 + sys-apps/util-linux
9391 + sys-block/thin-provisioning-tools
9392 + sys-fs/lvm2"
9393 +
9394 +src_prepare() {
9395 + default
9396 + sed -i "/^GK_V=/ s:GK_V=.*:GK_V=${PV}:g" "${S}/genkernel" || \
9397 + die "Could not setup release"
9398 +}
9399 +
9400 +src_install() {
9401 + default
9402 +
9403 + doman "${S}"/genkernel.8
9404 +
9405 + newbashcomp "${S}"/genkernel.bash genkernel
9406 +}
9407
9408 diff --git a/sys-kernel/genkernel-next/metadata.xml b/sys-kernel/genkernel-next/metadata.xml
9409 new file mode 100644
9410 index 0000000..546f683
9411 --- /dev/null
9412 +++ b/sys-kernel/genkernel-next/metadata.xml
9413 @@ -0,0 +1,19 @@
9414 +<?xml version='1.0' encoding='UTF-8'?>
9415 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
9416 +<pkgmetadata>
9417 + <maintainer type="person">
9418 + <email>mudler@g.o</email>
9419 + <name>Ettore Di Giacinto</name>
9420 + </maintainer>
9421 + <use>
9422 + <flag name="cryptsetup">Enable support for Luks disk enrcyption using <pkg>sys-fs/cryptsetup</pkg></flag>
9423 + <flag name="dmraid">Enable support for DMRAID (include dmraid dependency)</flag>
9424 + <flag name="gpg">Enable support for GPG (include gnupg dependency)</flag>
9425 + <flag name="iscsi">Enable support for open-iscsi (include open-iscsi dependency)</flag>
9426 + <flag name="mdadm">Enable support for mdadm (include mdadm dependency)</flag>
9427 + <flag name="plymouth">Enable support for Plymouth (include Plymouth dependency)</flag>
9428 + </use>
9429 + <upstream>
9430 + <remote-id type="github">Sabayon/genkernel-next</remote-id>
9431 + </upstream>
9432 +</pkgmetadata>
9433
9434 diff --git a/sys-kernel/genkernel/files/genkernel-3.4.52.4-crc32c.patch b/sys-kernel/genkernel/files/genkernel-3.4.52.4-crc32c.patch
9435 new file mode 100644
9436 index 0000000..48dada2
9437 --- /dev/null
9438 +++ b/sys-kernel/genkernel/files/genkernel-3.4.52.4-crc32c.patch
9439 @@ -0,0 +1,130 @@
9440 +modules_load: add crc32c
9441 +
9442 +commit 7308d72c3280da22cd94337b0eb248cdc53cb842 upstream.
9443 +
9444 +Bug: https://bugs.gentoo.org/655110
9445 +
9446 +--- a/arch/alpha/modules_load
9447 ++++ b/arch/alpha/modules_load
9448 +@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9449 + # Filesystems
9450 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9451 +
9452 ++# Crypto
9453 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9454 +--- a/arch/arm/modules_load
9455 ++++ b/arch/arm/modules_load
9456 +@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9457 + # Filesystems
9458 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9459 +
9460 ++# Crypto
9461 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9462 +--- a/arch/ia64/modules_load
9463 ++++ b/arch/ia64/modules_load
9464 +@@ -26,3 +26,6 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9465 +
9466 + # Filesystems
9467 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9468 ++
9469 ++# Crypto
9470 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9471 +--- a/arch/mips/modules_load
9472 ++++ b/arch/mips/modules_load
9473 +@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9474 + # Filesystems
9475 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9476 +
9477 ++# Crypto
9478 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9479 +--- a/arch/parisc/modules_load
9480 ++++ b/arch/parisc/modules_load
9481 +@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9482 + # Filesystems
9483 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9484 +
9485 ++# Crypto
9486 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9487 +--- a/arch/parisc64/modules_load
9488 ++++ b/arch/parisc64/modules_load
9489 +@@ -26,3 +26,6 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9490 +
9491 + # Filesystems
9492 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9493 ++
9494 ++# Crypto
9495 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9496 +--- a/arch/ppc/modules_load
9497 ++++ b/arch/ppc/modules_load
9498 +@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9499 + # Filesystems
9500 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9501 +
9502 ++# Crypto
9503 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9504 +--- a/arch/ppc64/modules_load
9505 ++++ b/arch/ppc64/modules_load
9506 +@@ -26,3 +26,6 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9507 +
9508 + # Filesystems
9509 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9510 ++
9511 ++# Crypto
9512 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9513 +--- a/arch/s390/modules_load
9514 ++++ b/arch/s390/modules_load
9515 +@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9516 + # Filesystems
9517 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9518 +
9519 ++# Crypto
9520 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9521 +--- a/arch/sparc/modules_load
9522 ++++ b/arch/sparc/modules_load
9523 +@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9524 + # Filesystems
9525 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9526 +
9527 ++# Crypto
9528 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9529 +--- a/arch/sparc64/modules_load
9530 ++++ b/arch/sparc64/modules_load
9531 +@@ -26,3 +26,6 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9532 +
9533 + # Filesystems
9534 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9535 ++
9536 ++# Crypto
9537 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9538 +--- a/arch/um/modules_load
9539 ++++ b/arch/um/modules_load
9540 +@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9541 + # Filesystems
9542 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9543 +
9544 ++# Crypto
9545 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9546 +--- a/arch/x86/modules_load
9547 ++++ b/arch/x86/modules_load
9548 +@@ -29,4 +29,4 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9549 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9550 +
9551 + # Crypto
9552 +-MODULES_CRYPTO="sha256_generic cbc aes_generic aes_586 aesni-intel xts"
9553 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic aes_586 aesni-intel xts"
9554 +--- a/arch/x86_64/modules_load
9555 ++++ b/arch/x86_64/modules_load
9556 +@@ -28,4 +28,4 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
9557 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9558 +
9559 + # Crypto
9560 +-MODULES_CRYPTO="sha256_generic cbc aes_generic aes-x86_64 aesni-intel xts"
9561 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic aes-x86_64 aesni-intel xts"
9562 +--- a/defaults/modules_load
9563 ++++ b/defaults/modules_load
9564 +@@ -28,4 +28,4 @@ MODULES_USB="ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd xhci-hcd x
9565 + MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
9566 +
9567 + # Crypto
9568 +-MODULES_CRYPTO="sha256_generic cbc aes_generic xts"
9569 ++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
9570
9571 diff --git a/sys-kernel/genkernel/files/genkernel-3.4.52.4-grub-mkconfig.patch b/sys-kernel/genkernel/files/genkernel-3.4.52.4-grub-mkconfig.patch
9572 new file mode 100644
9573 index 0000000..9e55301
9574 --- /dev/null
9575 +++ b/sys-kernel/genkernel/files/genkernel-3.4.52.4-grub-mkconfig.patch
9576 @@ -0,0 +1,17 @@
9577 +diff --git a/gen_bootloader.sh b/gen_bootloader.sh
9578 +index 4bbd303..fdca749 100755
9579 +--- a/gen_bootloader.sh
9580 ++++ b/gen_bootloader.sh
9581 +@@ -49,8 +49,10 @@ set_bootloader_grub2() {
9582 + fi
9583 +
9584 + print_info 1 "You can customize Grub2 parameters in /etc/default/grub."
9585 +- print_info 1 "Running grub2-mkconfig to create ${GRUB_CONF}..."
9586 +- grub2-mkconfig -o "${GRUB_CONF}" 2> /dev/null || gen_die "grub2-mkconfig failed"
9587 ++ print_info 1 "Running grub-mkconfig to create ${GRUB_CONF}..."
9588 ++ grub-mkconfig -o "${GRUB_CONF}" 2> /dev/null ||
9589 ++ grub2-mkconfig -o "${GRUB_CONF}" 2> /dev/null ||
9590 ++ gen_die "grub-mkconfig failed"
9591 + [ "${BUILD_RAMDISK}" -ne 0 ] && sed -i 's/ro single/ro debug/' "${GRUB_CONF}"
9592 + }
9593 +
9594
9595 diff --git a/sys-kernel/genkernel/files/genkernel-3.4.52.4-system-map.patch b/sys-kernel/genkernel/files/genkernel-3.4.52.4-system-map.patch
9596 new file mode 100644
9597 index 0000000..1a85c49
9598 --- /dev/null
9599 +++ b/sys-kernel/genkernel/files/genkernel-3.4.52.4-system-map.patch
9600 @@ -0,0 +1,38 @@
9601 +From 4fb8318037a8ea12f54b7c711d702b432113f233 Mon Sep 17 00:00:00 2001
9602 +From: Mike Frysinger <vapier@g.o>
9603 +Date: Sun, 27 Mar 2016 02:04:41 -0400
9604 +Subject: [PATCH] adjust System.map die check for #570822
9605 +
9606 +Builds with newer genkernel have been failing in catalyst like so:
9607 +* ERROR: Could not copy System.map from kerncache for the kernel package!
9608 +
9609 +The code that added it seems to have been meant to check the minkernpackage/
9610 +subdir where the file was renamed instead of the current subdir. Change the
9611 +check to simplify verify the mv didn't fail instead of duplicating the file
9612 +name entirely.
9613 +
9614 +Signed-off-by: Mike Frysinger <vapier@g.o>
9615 +---
9616 + gen_package.sh | 5 +----
9617 + 1 file changed, 1 insertion(+), 4 deletions(-)
9618 +
9619 +diff --git a/gen_package.sh b/gen_package.sh
9620 +index 9dd166b..b08ff03 100755
9621 +--- a/gen_package.sh
9622 ++++ b/gen_package.sh
9623 +@@ -45,11 +45,8 @@ gen_minkernpackage() {
9624 + if [ "${KERNCACHE}" != "" ]
9625 + then
9626 + /bin/tar -xj -C ${TEMP}/minkernpackage -f ${KERNCACHE} System.map-${ARCH}-${KV}
9627 +- mv minkernpackage/{System.map-${ARCH}-${KV},System.map-${KNAME}-${ARCH}-${KV}}
9628 +- if [ ! -f System.map-${KNAME}-${ARCH}-${KV} ]
9629 +- then
9630 ++ mv minkernpackage/{System.map-${ARCH}-${KV},System.map-${KNAME}-${ARCH}-${KV}} ||
9631 + gen_die 'Could not copy System.map from kerncache for the kernel package!'
9632 +- fi
9633 + else
9634 + cp "${KERNEL_OUTPUTDIR}/System.map" "${TEMP}/minkernpackage/System.map-${KNAME}-${ARCH}-${KV}" || gen_die 'Could not copy System.map for the kernel package!';
9635 + fi
9636 +--
9637 +2.7.4
9638 +
9639
9640 diff --git a/sys-kernel/genkernel/files/genkernel.bash b/sys-kernel/genkernel/files/genkernel.bash
9641 new file mode 100644
9642 index 0000000..ed6b1c1
9643 --- /dev/null
9644 +++ b/sys-kernel/genkernel/files/genkernel.bash
9645 @@ -0,0 +1,73 @@
9646 +# genkernel (8) completion
9647 +# Copyright 2006 Gentoo Foundation
9648 +# Distributed under the terms of the GNU General Public License v2
9649 +# Written by Aron Griffis <agriffis@g.o>
9650 +
9651 +_genkernel()
9652 +{
9653 + declare cur prev genkernel_help actions params
9654 + COMPREPLY=()
9655 + cur=${COMP_WORDS[COMP_CWORD]}
9656 + prev=${COMP_WORDS[COMP_CWORD-1]}
9657 +
9658 + # extract initial list of params/actions from genkernel --help
9659 + genkernel_help=$(command genkernel --help)
9660 + actions=( $(<<<"$genkernel_help" sed -n \
9661 + '/^Available Actions:/,/^$/s/^[[:space:]]\+\([^[:space:]]\+\).*/\1/p') )
9662 + params=( $(<<<"$genkernel_help" egrep -oe '--[^[:space:]]{2,}') )
9663 +
9664 + # attempt to complete the current parameter based on the list
9665 + COMPREPLY=($(compgen -W "${params[*]/=*/=} ${actions[*]}" -- "$cur"))
9666 +
9667 + # if we don't have a rhs to complete
9668 + if [[ ${#COMPREPLY[@]} -gt 1 ]]; then
9669 + return
9670 + elif [[ ${#COMPREPLY[@]} -eq 0 && $cur != --*=* ]]; then
9671 + return
9672 + elif [[ ${#COMPREPLY[@]} -eq 1 && $COMPREPLY != --*= ]]; then
9673 + # using nospace completion, add an explicit space
9674 + COMPREPLY="${COMPREPLY} "
9675 + return
9676 + fi
9677 +
9678 + # we have a unique lhs and need to complete the rhs
9679 + declare args lhs rhs
9680 + if [[ ${#COMPREPLY[@]} -eq 1 ]]; then
9681 + lhs=$COMPREPLY
9682 + else
9683 + lhs=${cur%%=*}=
9684 + rhs=${cur#*=}
9685 + fi
9686 +
9687 + # genkernel's help gives clues as to what belongs on the rhs.
9688 + # extract the clue for the current parameter
9689 + args=" ${params[*]} "
9690 + args="${args##* $lhs}"
9691 + args="${args%% *}"
9692 +
9693 + # generate a list of completions for the argument; this replaces args with
9694 + # an array of results
9695 + args=( $(case $args in
9696 + ('<0-5>') compgen -W "$(echo {1..5})" -- "$rhs" ;;
9697 + ('<outfile>'|'<file>') compgen -A file -o plusdirs -- "$rhs" ;;
9698 + ('<dir>') compgen -A directory -S / -- "$rhs" ;;
9699 + ('<tbz2>') compgen -G '*.tbz2' -G '*.tar.bz2' -o plusdirs -- "$rhs" ;;
9700 + (*) compgen -o bashdefault -- "$rhs" ;; # punt
9701 + esac) )
9702 +
9703 + # we're using nospace completion to prevent spaces after paths that aren't
9704 + # "done" yet. So do some hacking to the args to add spaces after
9705 + # non-directories.
9706 + declare slash=/
9707 + args=( "${args[@]/%/ }" ) # add space to all
9708 + args=( "${args[@]/%$slash /$slash}" ) # remove space from dirs
9709 +
9710 + # recreate COMPREPLY
9711 + if [[ $cur == "$lhs"* ]]; then
9712 + COMPREPLY=( "${args[@]}" )
9713 + elif [[ ${#args[@]} -gt 0 ]]; then
9714 + COMPREPLY=( "${args[@]/#/$lhs}" )
9715 + fi
9716 +}
9717 +
9718 +complete -o nospace -F _genkernel genkernel
9719
9720 diff --git a/sys-kernel/genkernel/files/initramfs.mounts b/sys-kernel/genkernel/files/initramfs.mounts
9721 new file mode 100644
9722 index 0000000..b34c675
9723 --- /dev/null
9724 +++ b/sys-kernel/genkernel/files/initramfs.mounts
9725 @@ -0,0 +1,23 @@
9726 +# This specifies which mounts from your fstab should be mounted before
9727 +# switching to the real root. If this file is missing, genkernel's code will
9728 +# default to just "/usr", which will suffice on most systems with a seperate
9729 +# /usr mount.
9730 +#
9731 +# If you have a complex configuration with a bindmount or symlink at /usr, or
9732 +# need some other mountpoints at boot, you should update this file such that
9733 +# /usr and anything else needed will be available after the switch into the
9734 +# real root.
9735 +#
9736 +# The lines without comments in this file are used as exact matches against the
9737 +# second column of your /etc/fstab and the device, fstype and mount options are
9738 +# taken from that line in fstab. If no line matches, the line from this file
9739 +# will be ignored.
9740 +#
9741 +
9742 +/usr
9743 +
9744 +# If you had some need of these:
9745 +#/usr/local
9746 +#/opt
9747 +#/var
9748 +#/home
9749
9750 diff --git a/sys-kernel/genkernel/genkernel-3.4.52.3.ebuild b/sys-kernel/genkernel/genkernel-3.4.52.3.ebuild
9751 new file mode 100644
9752 index 0000000..d68852a
9753 --- /dev/null
9754 +++ b/sys-kernel/genkernel/genkernel-3.4.52.3.ebuild
9755 @@ -0,0 +1,154 @@
9756 +# Copyright 1999-2018 Gentoo Foundation
9757 +# Distributed under the terms of the GNU General Public License v2
9758 +
9759 +# genkernel-9999 -> latest Git branch "master"
9760 +# genkernel-VERSION -> normal genkernel release
9761 +
9762 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
9763 +
9764 +inherit bash-completion-r1 epatch
9765 +
9766 +VERSION_BUSYBOX='1.20.2'
9767 +VERSION_DMRAID='1.0.0.rc16-3'
9768 +VERSION_MDADM='3.1.5'
9769 +VERSION_FUSE='2.8.6'
9770 +VERSION_ISCSI='2.0-872'
9771 +VERSION_LVM='2.02.88'
9772 +VERSION_UNIONFS_FUSE='0.24'
9773 +VERSION_GPG='1.4.11'
9774 +
9775 +RH_HOME="ftp://sourceware.org/pub"
9776 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
9777 +BB_HOME="https://busybox.net/downloads"
9778 +
9779 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
9780 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
9781 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
9782 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
9783 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
9784 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
9785 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
9786 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
9787 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
9788 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
9789 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
9790 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
9791 +
9792 +if [[ ${PV} == 9999* ]]
9793 +then
9794 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
9795 + inherit git-r3
9796 + S="${WORKDIR}/${P}"
9797 + SRC_URI="${COMMON_URI}"
9798 +else
9799 + SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz
9800 + ${COMMON_URI}"
9801 + KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
9802 +fi
9803 +
9804 +DESCRIPTION="Gentoo automatic kernel building scripts"
9805 +HOMEPAGE="https://www.gentoo.org"
9806 +
9807 +LICENSE="GPL-2"
9808 +SLOT="0"
9809 +RESTRICT=""
9810 +IUSE="cryptsetup ibm selinux"
9811 +
9812 +DEPEND="sys-fs/e2fsprogs
9813 + selinux? ( sys-libs/libselinux )"
9814 +RDEPEND="${DEPEND}
9815 + cryptsetup? ( sys-fs/cryptsetup )
9816 + app-arch/cpio
9817 + >=app-misc/pax-utils-0.2.1
9818 + !<sys-apps/openrc-0.9.9"
9819 +# pax-utils is used for lddtree
9820 +
9821 +if [[ ${PV} == 9999* ]]; then
9822 + DEPEND="${DEPEND} app-text/asciidoc"
9823 +fi
9824 +
9825 +pkg_pretend() {
9826 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
9827 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
9828 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
9829 + ewarn "to have genkernel create an initramfs with LUKS support."
9830 + ewarn "Sorry for the inconvenience."
9831 + echo
9832 + fi
9833 +}
9834 +
9835 +src_prepare() {
9836 + if [[ ${PV} == 9999* ]] ; then
9837 + einfo "Producing ChangeLog from Git history..."
9838 + pushd "${S}/.git" >/dev/null || die
9839 + git log > "${S}"/ChangeLog || die
9840 + popd >/dev/null || die
9841 + fi
9842 + if use selinux ; then
9843 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
9844 + fi
9845 +
9846 + # Update software.sh
9847 + sed -i \
9848 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
9849 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
9850 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
9851 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
9852 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
9853 + -e "s:VERSION_LVM:$VERSION_LVM:" \
9854 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
9855 + -e "s:VERSION_GPG:$VERSION_GPG:" \
9856 + "${S}"/defaults/software.sh \
9857 + || die "Could not adjust versions"
9858 +
9859 + epatch_user
9860 +}
9861 +
9862 +src_compile() {
9863 + if [[ ${PV} == 9999* ]]; then
9864 + emake
9865 + fi
9866 +}
9867 +
9868 +src_install() {
9869 + insinto /etc
9870 + doins "${S}"/genkernel.conf
9871 +
9872 + doman genkernel.8
9873 + dodoc AUTHORS ChangeLog README TODO
9874 + dobin genkernel
9875 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
9876 +
9877 + if use ibm ; then
9878 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
9879 + else
9880 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
9881 + fi
9882 + insinto /usr/share/genkernel
9883 + doins -r "${S}"/*
9884 +
9885 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
9886 + insinto /etc
9887 + doins "${FILESDIR}"/initramfs.mounts
9888 +
9889 + cd "${DISTDIR}"
9890 + insinto /usr/share/genkernel/distfiles
9891 + doins ${A/${P}.tar.xz/}
9892 +}
9893 +
9894 +pkg_postinst() {
9895 + echo
9896 + elog 'Documentation is available in the genkernel manual page'
9897 + elog 'as well as the following URL:'
9898 + echo
9899 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
9900 + echo
9901 + ewarn "This package is known to not work with reiser4. If you are running"
9902 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
9903 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
9904 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
9905 + echo
9906 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
9907 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
9908 + echo
9909 +}
9910
9911 diff --git a/sys-kernel/genkernel/genkernel-3.4.52.4-r1.ebuild b/sys-kernel/genkernel/genkernel-3.4.52.4-r1.ebuild
9912 new file mode 100644
9913 index 0000000..c33c583
9914 --- /dev/null
9915 +++ b/sys-kernel/genkernel/genkernel-3.4.52.4-r1.ebuild
9916 @@ -0,0 +1,155 @@
9917 +# Copyright 1999-2018 Gentoo Foundation
9918 +# Distributed under the terms of the GNU General Public License v2
9919 +
9920 +# genkernel-9999 -> latest Git branch "master"
9921 +# genkernel-VERSION -> normal genkernel release
9922 +
9923 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
9924 +
9925 +inherit bash-completion-r1 epatch
9926 +
9927 +VERSION_BUSYBOX='1.20.2'
9928 +VERSION_DMRAID='1.0.0.rc16-3'
9929 +VERSION_MDADM='3.1.5'
9930 +VERSION_FUSE='2.8.6'
9931 +VERSION_ISCSI='2.0-872'
9932 +VERSION_LVM='2.02.88'
9933 +VERSION_UNIONFS_FUSE='0.24'
9934 +VERSION_GPG='1.4.11'
9935 +
9936 +RH_HOME="ftp://sourceware.org/pub"
9937 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
9938 +BB_HOME="https://busybox.net/downloads"
9939 +
9940 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
9941 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
9942 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
9943 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
9944 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
9945 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
9946 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
9947 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
9948 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
9949 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
9950 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
9951 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
9952 +
9953 +if [[ ${PV} == 9999* ]]
9954 +then
9955 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
9956 + inherit git-r3
9957 + S="${WORKDIR}/${P}"
9958 + SRC_URI="${COMMON_URI}"
9959 +else
9960 + SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz
9961 + ${COMMON_URI}"
9962 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc ~x86"
9963 +fi
9964 +
9965 +DESCRIPTION="Gentoo automatic kernel building scripts"
9966 +HOMEPAGE="https://www.gentoo.org"
9967 +
9968 +LICENSE="GPL-2"
9969 +SLOT="0"
9970 +RESTRICT=""
9971 +IUSE="cryptsetup ibm selinux"
9972 +
9973 +DEPEND="sys-fs/e2fsprogs
9974 + selinux? ( sys-libs/libselinux )"
9975 +RDEPEND="${DEPEND}
9976 + cryptsetup? ( sys-fs/cryptsetup )
9977 + app-arch/cpio
9978 + >=app-misc/pax-utils-0.2.1
9979 + !<sys-apps/openrc-0.9.9"
9980 +# pax-utils is used for lddtree
9981 +
9982 +if [[ ${PV} == 9999* ]]; then
9983 + DEPEND="${DEPEND} app-text/asciidoc"
9984 +fi
9985 +
9986 +pkg_pretend() {
9987 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
9988 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
9989 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
9990 + ewarn "to have genkernel create an initramfs with LUKS support."
9991 + ewarn "Sorry for the inconvenience."
9992 + echo
9993 + fi
9994 +}
9995 +
9996 +src_prepare() {
9997 + if [[ ${PV} == 9999* ]] ; then
9998 + einfo "Producing ChangeLog from Git history..."
9999 + pushd "${S}/.git" >/dev/null || die
10000 + git log > "${S}"/ChangeLog || die
10001 + popd >/dev/null || die
10002 + fi
10003 + if use selinux ; then
10004 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
10005 + fi
10006 +
10007 + # Update software.sh
10008 + sed -i \
10009 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
10010 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
10011 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
10012 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
10013 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
10014 + -e "s:VERSION_LVM:$VERSION_LVM:" \
10015 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
10016 + -e "s:VERSION_GPG:$VERSION_GPG:" \
10017 + "${S}"/defaults/software.sh \
10018 + || die "Could not adjust versions"
10019 +
10020 + epatch "${FILESDIR}"/${P}-system-map.patch #570822
10021 + epatch_user
10022 +}
10023 +
10024 +src_compile() {
10025 + if [[ ${PV} == 9999* ]]; then
10026 + emake
10027 + fi
10028 +}
10029 +
10030 +src_install() {
10031 + insinto /etc
10032 + doins "${S}"/genkernel.conf
10033 +
10034 + doman genkernel.8
10035 + dodoc AUTHORS ChangeLog README TODO
10036 + dobin genkernel
10037 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
10038 +
10039 + if use ibm ; then
10040 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
10041 + else
10042 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
10043 + fi
10044 + insinto /usr/share/genkernel
10045 + doins -r "${S}"/*
10046 +
10047 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
10048 + insinto /etc
10049 + doins "${FILESDIR}"/initramfs.mounts
10050 +
10051 + cd "${DISTDIR}"
10052 + insinto /usr/share/genkernel/distfiles
10053 + doins ${A/${P}.tar.xz/}
10054 +}
10055 +
10056 +pkg_postinst() {
10057 + echo
10058 + elog 'Documentation is available in the genkernel manual page'
10059 + elog 'as well as the following URL:'
10060 + echo
10061 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
10062 + echo
10063 + ewarn "This package is known to not work with reiser4. If you are running"
10064 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
10065 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
10066 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
10067 + echo
10068 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
10069 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
10070 + echo
10071 +}
10072
10073 diff --git a/sys-kernel/genkernel/genkernel-3.4.52.4-r2.ebuild b/sys-kernel/genkernel/genkernel-3.4.52.4-r2.ebuild
10074 new file mode 100644
10075 index 0000000..017c88e
10076 --- /dev/null
10077 +++ b/sys-kernel/genkernel/genkernel-3.4.52.4-r2.ebuild
10078 @@ -0,0 +1,156 @@
10079 +# Copyright 1999-2018 Gentoo Foundation
10080 +# Distributed under the terms of the GNU General Public License v2
10081 +
10082 +# genkernel-9999 -> latest Git branch "master"
10083 +# genkernel-VERSION -> normal genkernel release
10084 +
10085 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
10086 +
10087 +inherit bash-completion-r1 epatch
10088 +
10089 +VERSION_BUSYBOX='1.20.2'
10090 +VERSION_DMRAID='1.0.0.rc16-3'
10091 +VERSION_MDADM='3.1.5'
10092 +VERSION_FUSE='2.8.6'
10093 +VERSION_ISCSI='2.0-872'
10094 +VERSION_LVM='2.02.88'
10095 +VERSION_UNIONFS_FUSE='0.24'
10096 +VERSION_GPG='1.4.11'
10097 +
10098 +RH_HOME="ftp://sourceware.org/pub"
10099 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
10100 +BB_HOME="https://busybox.net/downloads"
10101 +
10102 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
10103 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
10104 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
10105 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
10106 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
10107 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
10108 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
10109 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
10110 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
10111 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10112 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10113 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
10114 +
10115 +if [[ ${PV} == 9999* ]]
10116 +then
10117 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
10118 + inherit git-r3
10119 + S="${WORKDIR}/${P}"
10120 + SRC_URI="${COMMON_URI}"
10121 +else
10122 + SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz
10123 + ${COMMON_URI}"
10124 + KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
10125 +fi
10126 +
10127 +DESCRIPTION="Gentoo automatic kernel building scripts"
10128 +HOMEPAGE="https://www.gentoo.org"
10129 +
10130 +LICENSE="GPL-2"
10131 +SLOT="0"
10132 +RESTRICT=""
10133 +IUSE="cryptsetup ibm selinux"
10134 +
10135 +DEPEND="sys-fs/e2fsprogs
10136 + selinux? ( sys-libs/libselinux )"
10137 +RDEPEND="${DEPEND}
10138 + cryptsetup? ( sys-fs/cryptsetup )
10139 + app-arch/cpio
10140 + >=app-misc/pax-utils-0.2.1
10141 + !<sys-apps/openrc-0.9.9"
10142 +# pax-utils is used for lddtree
10143 +
10144 +if [[ ${PV} == 9999* ]]; then
10145 + DEPEND="${DEPEND} app-text/asciidoc"
10146 +fi
10147 +
10148 +pkg_pretend() {
10149 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
10150 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
10151 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
10152 + ewarn "to have genkernel create an initramfs with LUKS support."
10153 + ewarn "Sorry for the inconvenience."
10154 + echo
10155 + fi
10156 +}
10157 +
10158 +src_prepare() {
10159 + if [[ ${PV} == 9999* ]] ; then
10160 + einfo "Producing ChangeLog from Git history..."
10161 + pushd "${S}/.git" >/dev/null || die
10162 + git log > "${S}"/ChangeLog || die
10163 + popd >/dev/null || die
10164 + fi
10165 + if use selinux ; then
10166 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
10167 + fi
10168 +
10169 + # Update software.sh
10170 + sed -i \
10171 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
10172 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
10173 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
10174 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
10175 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
10176 + -e "s:VERSION_LVM:$VERSION_LVM:" \
10177 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
10178 + -e "s:VERSION_GPG:$VERSION_GPG:" \
10179 + "${S}"/defaults/software.sh \
10180 + || die "Could not adjust versions"
10181 +
10182 + epatch "${FILESDIR}"/${P}-system-map.patch #570822
10183 + epatch "${FILESDIR}"/${P}-grub-mkconfig.patch #591200
10184 + epatch_user
10185 +}
10186 +
10187 +src_compile() {
10188 + if [[ ${PV} == 9999* ]]; then
10189 + emake
10190 + fi
10191 +}
10192 +
10193 +src_install() {
10194 + insinto /etc
10195 + doins "${S}"/genkernel.conf
10196 +
10197 + doman genkernel.8
10198 + dodoc AUTHORS ChangeLog README TODO
10199 + dobin genkernel
10200 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
10201 +
10202 + if use ibm ; then
10203 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
10204 + else
10205 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
10206 + fi
10207 + insinto /usr/share/genkernel
10208 + doins -r "${S}"/*
10209 +
10210 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
10211 + insinto /etc
10212 + doins "${FILESDIR}"/initramfs.mounts
10213 +
10214 + cd "${DISTDIR}"
10215 + insinto /usr/share/genkernel/distfiles
10216 + doins ${A/${P}.tar.xz/}
10217 +}
10218 +
10219 +pkg_postinst() {
10220 + echo
10221 + elog 'Documentation is available in the genkernel manual page'
10222 + elog 'as well as the following URL:'
10223 + echo
10224 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
10225 + echo
10226 + ewarn "This package is known to not work with reiser4. If you are running"
10227 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
10228 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
10229 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
10230 + echo
10231 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
10232 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
10233 + echo
10234 +}
10235
10236 diff --git a/sys-kernel/genkernel/genkernel-3.4.52.4-r3.ebuild b/sys-kernel/genkernel/genkernel-3.4.52.4-r3.ebuild
10237 new file mode 100644
10238 index 0000000..9228685
10239 --- /dev/null
10240 +++ b/sys-kernel/genkernel/genkernel-3.4.52.4-r3.ebuild
10241 @@ -0,0 +1,157 @@
10242 +# Copyright 1999-2018 Gentoo Foundation
10243 +# Distributed under the terms of the GNU General Public License v2
10244 +
10245 +# genkernel-9999 -> latest Git branch "master"
10246 +# genkernel-VERSION -> normal genkernel release
10247 +
10248 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
10249 +
10250 +inherit bash-completion-r1 epatch
10251 +
10252 +VERSION_BUSYBOX='1.20.2'
10253 +VERSION_DMRAID='1.0.0.rc16-3'
10254 +VERSION_MDADM='3.1.5'
10255 +VERSION_FUSE='2.8.6'
10256 +VERSION_ISCSI='2.0-872'
10257 +VERSION_LVM='2.02.88'
10258 +VERSION_UNIONFS_FUSE='0.24'
10259 +VERSION_GPG='1.4.11'
10260 +
10261 +RH_HOME="ftp://sourceware.org/pub"
10262 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
10263 +BB_HOME="https://busybox.net/downloads"
10264 +
10265 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
10266 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
10267 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
10268 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
10269 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
10270 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
10271 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
10272 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
10273 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
10274 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10275 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10276 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
10277 +
10278 +if [[ ${PV} == 9999* ]]
10279 +then
10280 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
10281 + inherit git-r3
10282 + S="${WORKDIR}/${P}"
10283 + SRC_URI="${COMMON_URI}"
10284 +else
10285 + SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz
10286 + ${COMMON_URI}"
10287 + KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
10288 +fi
10289 +
10290 +DESCRIPTION="Gentoo automatic kernel building scripts"
10291 +HOMEPAGE="https://www.gentoo.org"
10292 +
10293 +LICENSE="GPL-2"
10294 +SLOT="0"
10295 +RESTRICT=""
10296 +IUSE="cryptsetup ibm selinux"
10297 +
10298 +DEPEND="sys-fs/e2fsprogs
10299 + selinux? ( sys-libs/libselinux )"
10300 +RDEPEND="${DEPEND}
10301 + cryptsetup? ( sys-fs/cryptsetup )
10302 + app-arch/cpio
10303 + >=app-misc/pax-utils-0.2.1
10304 + !<sys-apps/openrc-0.9.9"
10305 +# pax-utils is used for lddtree
10306 +
10307 +if [[ ${PV} == 9999* ]]; then
10308 + DEPEND="${DEPEND} app-text/asciidoc"
10309 +fi
10310 +
10311 +pkg_pretend() {
10312 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
10313 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
10314 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
10315 + ewarn "to have genkernel create an initramfs with LUKS support."
10316 + ewarn "Sorry for the inconvenience."
10317 + echo
10318 + fi
10319 +}
10320 +
10321 +src_prepare() {
10322 + if [[ ${PV} == 9999* ]] ; then
10323 + einfo "Producing ChangeLog from Git history..."
10324 + pushd "${S}/.git" >/dev/null || die
10325 + git log > "${S}"/ChangeLog || die
10326 + popd >/dev/null || die
10327 + fi
10328 + if use selinux ; then
10329 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
10330 + fi
10331 +
10332 + # Update software.sh
10333 + sed -i \
10334 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
10335 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
10336 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
10337 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
10338 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
10339 + -e "s:VERSION_LVM:$VERSION_LVM:" \
10340 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
10341 + -e "s:VERSION_GPG:$VERSION_GPG:" \
10342 + "${S}"/defaults/software.sh \
10343 + || die "Could not adjust versions"
10344 +
10345 + epatch "${FILESDIR}"/${P}-system-map.patch #570822
10346 + epatch "${FILESDIR}"/${P}-grub-mkconfig.patch #591200
10347 + epatch "${FILESDIR}"/${P}-crc32c.patch #655110
10348 + epatch_user
10349 +}
10350 +
10351 +src_compile() {
10352 + if [[ ${PV} == 9999* ]]; then
10353 + emake
10354 + fi
10355 +}
10356 +
10357 +src_install() {
10358 + insinto /etc
10359 + doins "${S}"/genkernel.conf
10360 +
10361 + doman genkernel.8
10362 + dodoc AUTHORS ChangeLog README TODO
10363 + dobin genkernel
10364 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
10365 +
10366 + if use ibm ; then
10367 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
10368 + else
10369 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
10370 + fi
10371 + insinto /usr/share/genkernel
10372 + doins -r "${S}"/*
10373 +
10374 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
10375 + insinto /etc
10376 + doins "${FILESDIR}"/initramfs.mounts
10377 +
10378 + cd "${DISTDIR}"
10379 + insinto /usr/share/genkernel/distfiles
10380 + doins ${A/${P}.tar.xz/}
10381 +}
10382 +
10383 +pkg_postinst() {
10384 + echo
10385 + elog 'Documentation is available in the genkernel manual page'
10386 + elog 'as well as the following URL:'
10387 + echo
10388 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
10389 + echo
10390 + ewarn "This package is known to not work with reiser4. If you are running"
10391 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
10392 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
10393 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
10394 + echo
10395 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
10396 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
10397 + echo
10398 +}
10399
10400 diff --git a/sys-kernel/genkernel/genkernel-3.5.1.1.ebuild b/sys-kernel/genkernel/genkernel-3.5.1.1.ebuild
10401 new file mode 100644
10402 index 0000000..7dca692
10403 --- /dev/null
10404 +++ b/sys-kernel/genkernel/genkernel-3.5.1.1.ebuild
10405 @@ -0,0 +1,158 @@
10406 +# Copyright 1999-2018 Gentoo Foundation
10407 +# Distributed under the terms of the GNU General Public License v2
10408 +
10409 +# genkernel-9999 -> latest Git branch "master"
10410 +# genkernel-VERSION -> normal genkernel release
10411 +
10412 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
10413 +
10414 +inherit bash-completion-r1 epatch
10415 +
10416 +VERSION_BUSYBOX='1.26.0'
10417 +VERSION_DMRAID='1.0.0.rc16-3'
10418 +VERSION_MDADM='3.1.5'
10419 +VERSION_FUSE='2.8.6'
10420 +VERSION_ISCSI='2.0-872'
10421 +VERSION_LVM='2.02.88'
10422 +VERSION_UNIONFS_FUSE='0.24'
10423 +VERSION_GPG='1.4.11'
10424 +
10425 +RH_HOME="ftp://sourceware.org/pub"
10426 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
10427 +BB_HOME="https://busybox.net/downloads"
10428 +
10429 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
10430 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
10431 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
10432 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
10433 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
10434 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
10435 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
10436 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
10437 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
10438 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10439 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10440 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
10441 +
10442 +if [[ ${PV} == 9999* ]]
10443 +then
10444 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
10445 + inherit git-r3
10446 + S="${WORKDIR}/${P}"
10447 + SRC_URI="${COMMON_URI}"
10448 +else
10449 + SRC_URI="mirror://gentoo/${P}.tar.xz
10450 + ${COMMON_URI}"
10451 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
10452 +fi
10453 +
10454 +DESCRIPTION="Gentoo automatic kernel building scripts"
10455 +HOMEPAGE="https://www.gentoo.org"
10456 +
10457 +LICENSE="GPL-2"
10458 +SLOT="0"
10459 +RESTRICT=""
10460 +IUSE="cryptsetup ibm +firmware selinux"
10461 +
10462 +DEPEND="sys-fs/e2fsprogs
10463 + selinux? ( sys-libs/libselinux )"
10464 +RDEPEND="${DEPEND}
10465 + cryptsetup? ( sys-fs/cryptsetup )
10466 + app-arch/cpio
10467 + >=app-misc/pax-utils-1.2.2
10468 + firmware? ( sys-kernel/linux-firmware )
10469 + !<sys-apps/openrc-0.9.9"
10470 +# pax-utils is used for lddtree
10471 +
10472 +if [[ ${PV} == 9999* ]]; then
10473 + DEPEND="${DEPEND} app-text/asciidoc"
10474 +fi
10475 +
10476 +pkg_pretend() {
10477 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
10478 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
10479 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
10480 + ewarn "to have genkernel create an initramfs with LUKS support."
10481 + ewarn "Sorry for the inconvenience."
10482 + echo
10483 + fi
10484 +}
10485 +
10486 +src_prepare() {
10487 + if [[ ${PV} == 9999* ]] ; then
10488 + einfo "Updating version tag"
10489 + GK_V="$(git describe --tags | sed 's:^v::')-git"
10490 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
10491 + einfo "Producing ChangeLog from Git history..."
10492 + pushd "${S}/.git" >/dev/null || die
10493 + git log > "${S}"/ChangeLog || die
10494 + popd >/dev/null || die
10495 + fi
10496 + if use selinux ; then
10497 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
10498 + fi
10499 +
10500 + # Update software.sh
10501 + sed -i \
10502 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
10503 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
10504 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
10505 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
10506 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
10507 + -e "s:VERSION_LVM:$VERSION_LVM:" \
10508 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
10509 + -e "s:VERSION_GPG:$VERSION_GPG:" \
10510 + "${S}"/defaults/software.sh \
10511 + || die "Could not adjust versions"
10512 +
10513 + epatch_user
10514 +}
10515 +
10516 +src_compile() {
10517 + if [[ ${PV} == 9999* ]]; then
10518 + emake
10519 + fi
10520 +}
10521 +
10522 +src_install() {
10523 + insinto /etc
10524 + doins "${S}"/genkernel.conf
10525 +
10526 + doman genkernel.8
10527 + dodoc AUTHORS ChangeLog README TODO
10528 + dobin genkernel
10529 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
10530 +
10531 + if use ibm ; then
10532 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
10533 + else
10534 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
10535 + fi
10536 + insinto /usr/share/genkernel
10537 + doins -r "${S}"/*
10538 +
10539 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
10540 + insinto /etc
10541 + doins "${FILESDIR}"/initramfs.mounts
10542 +
10543 + cd "${DISTDIR}"
10544 + insinto /usr/share/genkernel/distfiles
10545 + doins ${A/${P}.tar.xz/}
10546 +}
10547 +
10548 +pkg_postinst() {
10549 + echo
10550 + elog 'Documentation is available in the genkernel manual page'
10551 + elog 'as well as the following URL:'
10552 + echo
10553 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
10554 + echo
10555 + ewarn "This package is known to not work with reiser4. If you are running"
10556 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
10557 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
10558 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
10559 + echo
10560 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
10561 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
10562 + echo
10563 +}
10564
10565 diff --git a/sys-kernel/genkernel/genkernel-3.5.2.0-r1.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.0-r1.ebuild
10566 new file mode 100644
10567 index 0000000..a4053e3
10568 --- /dev/null
10569 +++ b/sys-kernel/genkernel/genkernel-3.5.2.0-r1.ebuild
10570 @@ -0,0 +1,159 @@
10571 +# Copyright 1999-2018 Gentoo Foundation
10572 +# Distributed under the terms of the GNU General Public License v2
10573 +
10574 +# genkernel-9999 -> latest Git branch "master"
10575 +# genkernel-VERSION -> normal genkernel release
10576 +
10577 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
10578 +
10579 +inherit bash-completion-r1 epatch
10580 +
10581 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
10582 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
10583 +VERSION_MDADM='4.0' # warning, be sure to bump patches
10584 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
10585 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
10586 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
10587 +VERSION_UNIONFS_FUSE='0.24'
10588 +VERSION_GPG='1.4.22'
10589 +
10590 +RH_HOME="ftp://sourceware.org/pub"
10591 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
10592 +BB_HOME="https://busybox.net/downloads"
10593 +
10594 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
10595 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
10596 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
10597 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
10598 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
10599 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
10600 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
10601 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
10602 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
10603 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10604 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10605 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
10606 +
10607 +if [[ ${PV} == 9999* ]]
10608 +then
10609 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
10610 + inherit git-r3
10611 + S="${WORKDIR}/${P}"
10612 + SRC_URI="${COMMON_URI}"
10613 +else
10614 + SRC_URI="mirror://gentoo/${P}.tar.xz
10615 + ${COMMON_URI}"
10616 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
10617 +fi
10618 +
10619 +DESCRIPTION="Gentoo automatic kernel building scripts"
10620 +HOMEPAGE="https://www.gentoo.org"
10621 +
10622 +LICENSE="GPL-2"
10623 +SLOT="0"
10624 +RESTRICT=""
10625 +IUSE="cryptsetup ibm +firmware selinux"
10626 +
10627 +DEPEND="sys-fs/e2fsprogs
10628 + selinux? ( sys-libs/libselinux )"
10629 +RDEPEND="${DEPEND}
10630 + cryptsetup? ( sys-fs/cryptsetup )
10631 + app-arch/cpio
10632 + >=app-misc/pax-utils-1.2.2
10633 + sys-apps/util-linux[static-libs(+)]
10634 + firmware? ( sys-kernel/linux-firmware )
10635 + !<sys-apps/openrc-0.9.9"
10636 +# pax-utils is used for lddtree
10637 +
10638 +if [[ ${PV} == 9999* ]]; then
10639 + DEPEND="${DEPEND} app-text/asciidoc"
10640 +fi
10641 +
10642 +pkg_pretend() {
10643 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
10644 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
10645 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
10646 + ewarn "to have genkernel create an initramfs with LUKS support."
10647 + ewarn "Sorry for the inconvenience."
10648 + echo
10649 + fi
10650 +}
10651 +
10652 +src_prepare() {
10653 + if [[ ${PV} == 9999* ]] ; then
10654 + einfo "Updating version tag"
10655 + GK_V="$(git describe --tags | sed 's:^v::')-git"
10656 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
10657 + einfo "Producing ChangeLog from Git history..."
10658 + pushd "${S}/.git" >/dev/null || die
10659 + git log > "${S}"/ChangeLog || die
10660 + popd >/dev/null || die
10661 + fi
10662 + if use selinux ; then
10663 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
10664 + fi
10665 +
10666 + # Update software.sh
10667 + sed -i \
10668 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
10669 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
10670 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
10671 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
10672 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
10673 + -e "s:VERSION_LVM:$VERSION_LVM:" \
10674 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
10675 + -e "s:VERSION_GPG:$VERSION_GPG:" \
10676 + "${S}"/defaults/software.sh \
10677 + || die "Could not adjust versions"
10678 +
10679 + epatch_user
10680 +}
10681 +
10682 +src_compile() {
10683 + if [[ ${PV} == 9999* ]]; then
10684 + emake
10685 + fi
10686 +}
10687 +
10688 +src_install() {
10689 + insinto /etc
10690 + doins "${S}"/genkernel.conf
10691 +
10692 + doman genkernel.8
10693 + dodoc AUTHORS ChangeLog README TODO
10694 + dobin genkernel
10695 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
10696 +
10697 + if use ibm ; then
10698 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
10699 + else
10700 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
10701 + fi
10702 + insinto /usr/share/genkernel
10703 + doins -r "${S}"/*
10704 +
10705 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
10706 + insinto /etc
10707 + doins "${FILESDIR}"/initramfs.mounts
10708 +
10709 + cd "${DISTDIR}"
10710 + insinto /usr/share/genkernel/distfiles
10711 + doins ${A/${P}.tar.xz/}
10712 +}
10713 +
10714 +pkg_postinst() {
10715 + echo
10716 + elog 'Documentation is available in the genkernel manual page'
10717 + elog 'as well as the following URL:'
10718 + echo
10719 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
10720 + echo
10721 + ewarn "This package is known to not work with reiser4. If you are running"
10722 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
10723 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
10724 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
10725 + echo
10726 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
10727 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
10728 + echo
10729 +}
10730
10731 diff --git a/sys-kernel/genkernel/genkernel-3.5.2.1.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.1.ebuild
10732 new file mode 100644
10733 index 0000000..a4053e3
10734 --- /dev/null
10735 +++ b/sys-kernel/genkernel/genkernel-3.5.2.1.ebuild
10736 @@ -0,0 +1,159 @@
10737 +# Copyright 1999-2018 Gentoo Foundation
10738 +# Distributed under the terms of the GNU General Public License v2
10739 +
10740 +# genkernel-9999 -> latest Git branch "master"
10741 +# genkernel-VERSION -> normal genkernel release
10742 +
10743 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
10744 +
10745 +inherit bash-completion-r1 epatch
10746 +
10747 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
10748 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
10749 +VERSION_MDADM='4.0' # warning, be sure to bump patches
10750 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
10751 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
10752 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
10753 +VERSION_UNIONFS_FUSE='0.24'
10754 +VERSION_GPG='1.4.22'
10755 +
10756 +RH_HOME="ftp://sourceware.org/pub"
10757 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
10758 +BB_HOME="https://busybox.net/downloads"
10759 +
10760 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
10761 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
10762 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
10763 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
10764 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
10765 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
10766 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
10767 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
10768 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
10769 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10770 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10771 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
10772 +
10773 +if [[ ${PV} == 9999* ]]
10774 +then
10775 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
10776 + inherit git-r3
10777 + S="${WORKDIR}/${P}"
10778 + SRC_URI="${COMMON_URI}"
10779 +else
10780 + SRC_URI="mirror://gentoo/${P}.tar.xz
10781 + ${COMMON_URI}"
10782 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
10783 +fi
10784 +
10785 +DESCRIPTION="Gentoo automatic kernel building scripts"
10786 +HOMEPAGE="https://www.gentoo.org"
10787 +
10788 +LICENSE="GPL-2"
10789 +SLOT="0"
10790 +RESTRICT=""
10791 +IUSE="cryptsetup ibm +firmware selinux"
10792 +
10793 +DEPEND="sys-fs/e2fsprogs
10794 + selinux? ( sys-libs/libselinux )"
10795 +RDEPEND="${DEPEND}
10796 + cryptsetup? ( sys-fs/cryptsetup )
10797 + app-arch/cpio
10798 + >=app-misc/pax-utils-1.2.2
10799 + sys-apps/util-linux[static-libs(+)]
10800 + firmware? ( sys-kernel/linux-firmware )
10801 + !<sys-apps/openrc-0.9.9"
10802 +# pax-utils is used for lddtree
10803 +
10804 +if [[ ${PV} == 9999* ]]; then
10805 + DEPEND="${DEPEND} app-text/asciidoc"
10806 +fi
10807 +
10808 +pkg_pretend() {
10809 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
10810 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
10811 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
10812 + ewarn "to have genkernel create an initramfs with LUKS support."
10813 + ewarn "Sorry for the inconvenience."
10814 + echo
10815 + fi
10816 +}
10817 +
10818 +src_prepare() {
10819 + if [[ ${PV} == 9999* ]] ; then
10820 + einfo "Updating version tag"
10821 + GK_V="$(git describe --tags | sed 's:^v::')-git"
10822 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
10823 + einfo "Producing ChangeLog from Git history..."
10824 + pushd "${S}/.git" >/dev/null || die
10825 + git log > "${S}"/ChangeLog || die
10826 + popd >/dev/null || die
10827 + fi
10828 + if use selinux ; then
10829 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
10830 + fi
10831 +
10832 + # Update software.sh
10833 + sed -i \
10834 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
10835 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
10836 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
10837 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
10838 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
10839 + -e "s:VERSION_LVM:$VERSION_LVM:" \
10840 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
10841 + -e "s:VERSION_GPG:$VERSION_GPG:" \
10842 + "${S}"/defaults/software.sh \
10843 + || die "Could not adjust versions"
10844 +
10845 + epatch_user
10846 +}
10847 +
10848 +src_compile() {
10849 + if [[ ${PV} == 9999* ]]; then
10850 + emake
10851 + fi
10852 +}
10853 +
10854 +src_install() {
10855 + insinto /etc
10856 + doins "${S}"/genkernel.conf
10857 +
10858 + doman genkernel.8
10859 + dodoc AUTHORS ChangeLog README TODO
10860 + dobin genkernel
10861 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
10862 +
10863 + if use ibm ; then
10864 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
10865 + else
10866 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
10867 + fi
10868 + insinto /usr/share/genkernel
10869 + doins -r "${S}"/*
10870 +
10871 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
10872 + insinto /etc
10873 + doins "${FILESDIR}"/initramfs.mounts
10874 +
10875 + cd "${DISTDIR}"
10876 + insinto /usr/share/genkernel/distfiles
10877 + doins ${A/${P}.tar.xz/}
10878 +}
10879 +
10880 +pkg_postinst() {
10881 + echo
10882 + elog 'Documentation is available in the genkernel manual page'
10883 + elog 'as well as the following URL:'
10884 + echo
10885 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
10886 + echo
10887 + ewarn "This package is known to not work with reiser4. If you are running"
10888 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
10889 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
10890 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
10891 + echo
10892 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
10893 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
10894 + echo
10895 +}
10896
10897 diff --git a/sys-kernel/genkernel/genkernel-3.5.2.2.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.2.ebuild
10898 new file mode 100644
10899 index 0000000..a4053e3
10900 --- /dev/null
10901 +++ b/sys-kernel/genkernel/genkernel-3.5.2.2.ebuild
10902 @@ -0,0 +1,159 @@
10903 +# Copyright 1999-2018 Gentoo Foundation
10904 +# Distributed under the terms of the GNU General Public License v2
10905 +
10906 +# genkernel-9999 -> latest Git branch "master"
10907 +# genkernel-VERSION -> normal genkernel release
10908 +
10909 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
10910 +
10911 +inherit bash-completion-r1 epatch
10912 +
10913 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
10914 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
10915 +VERSION_MDADM='4.0' # warning, be sure to bump patches
10916 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
10917 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
10918 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
10919 +VERSION_UNIONFS_FUSE='0.24'
10920 +VERSION_GPG='1.4.22'
10921 +
10922 +RH_HOME="ftp://sourceware.org/pub"
10923 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
10924 +BB_HOME="https://busybox.net/downloads"
10925 +
10926 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
10927 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
10928 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
10929 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
10930 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
10931 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
10932 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
10933 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
10934 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
10935 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10936 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
10937 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
10938 +
10939 +if [[ ${PV} == 9999* ]]
10940 +then
10941 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
10942 + inherit git-r3
10943 + S="${WORKDIR}/${P}"
10944 + SRC_URI="${COMMON_URI}"
10945 +else
10946 + SRC_URI="mirror://gentoo/${P}.tar.xz
10947 + ${COMMON_URI}"
10948 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
10949 +fi
10950 +
10951 +DESCRIPTION="Gentoo automatic kernel building scripts"
10952 +HOMEPAGE="https://www.gentoo.org"
10953 +
10954 +LICENSE="GPL-2"
10955 +SLOT="0"
10956 +RESTRICT=""
10957 +IUSE="cryptsetup ibm +firmware selinux"
10958 +
10959 +DEPEND="sys-fs/e2fsprogs
10960 + selinux? ( sys-libs/libselinux )"
10961 +RDEPEND="${DEPEND}
10962 + cryptsetup? ( sys-fs/cryptsetup )
10963 + app-arch/cpio
10964 + >=app-misc/pax-utils-1.2.2
10965 + sys-apps/util-linux[static-libs(+)]
10966 + firmware? ( sys-kernel/linux-firmware )
10967 + !<sys-apps/openrc-0.9.9"
10968 +# pax-utils is used for lddtree
10969 +
10970 +if [[ ${PV} == 9999* ]]; then
10971 + DEPEND="${DEPEND} app-text/asciidoc"
10972 +fi
10973 +
10974 +pkg_pretend() {
10975 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
10976 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
10977 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
10978 + ewarn "to have genkernel create an initramfs with LUKS support."
10979 + ewarn "Sorry for the inconvenience."
10980 + echo
10981 + fi
10982 +}
10983 +
10984 +src_prepare() {
10985 + if [[ ${PV} == 9999* ]] ; then
10986 + einfo "Updating version tag"
10987 + GK_V="$(git describe --tags | sed 's:^v::')-git"
10988 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
10989 + einfo "Producing ChangeLog from Git history..."
10990 + pushd "${S}/.git" >/dev/null || die
10991 + git log > "${S}"/ChangeLog || die
10992 + popd >/dev/null || die
10993 + fi
10994 + if use selinux ; then
10995 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
10996 + fi
10997 +
10998 + # Update software.sh
10999 + sed -i \
11000 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
11001 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
11002 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
11003 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
11004 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
11005 + -e "s:VERSION_LVM:$VERSION_LVM:" \
11006 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
11007 + -e "s:VERSION_GPG:$VERSION_GPG:" \
11008 + "${S}"/defaults/software.sh \
11009 + || die "Could not adjust versions"
11010 +
11011 + epatch_user
11012 +}
11013 +
11014 +src_compile() {
11015 + if [[ ${PV} == 9999* ]]; then
11016 + emake
11017 + fi
11018 +}
11019 +
11020 +src_install() {
11021 + insinto /etc
11022 + doins "${S}"/genkernel.conf
11023 +
11024 + doman genkernel.8
11025 + dodoc AUTHORS ChangeLog README TODO
11026 + dobin genkernel
11027 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
11028 +
11029 + if use ibm ; then
11030 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
11031 + else
11032 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
11033 + fi
11034 + insinto /usr/share/genkernel
11035 + doins -r "${S}"/*
11036 +
11037 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
11038 + insinto /etc
11039 + doins "${FILESDIR}"/initramfs.mounts
11040 +
11041 + cd "${DISTDIR}"
11042 + insinto /usr/share/genkernel/distfiles
11043 + doins ${A/${P}.tar.xz/}
11044 +}
11045 +
11046 +pkg_postinst() {
11047 + echo
11048 + elog 'Documentation is available in the genkernel manual page'
11049 + elog 'as well as the following URL:'
11050 + echo
11051 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
11052 + echo
11053 + ewarn "This package is known to not work with reiser4. If you are running"
11054 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
11055 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
11056 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
11057 + echo
11058 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
11059 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
11060 + echo
11061 +}
11062
11063 diff --git a/sys-kernel/genkernel/genkernel-3.5.2.3.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.3.ebuild
11064 new file mode 100644
11065 index 0000000..a4053e3
11066 --- /dev/null
11067 +++ b/sys-kernel/genkernel/genkernel-3.5.2.3.ebuild
11068 @@ -0,0 +1,159 @@
11069 +# Copyright 1999-2018 Gentoo Foundation
11070 +# Distributed under the terms of the GNU General Public License v2
11071 +
11072 +# genkernel-9999 -> latest Git branch "master"
11073 +# genkernel-VERSION -> normal genkernel release
11074 +
11075 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
11076 +
11077 +inherit bash-completion-r1 epatch
11078 +
11079 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
11080 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
11081 +VERSION_MDADM='4.0' # warning, be sure to bump patches
11082 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
11083 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
11084 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
11085 +VERSION_UNIONFS_FUSE='0.24'
11086 +VERSION_GPG='1.4.22'
11087 +
11088 +RH_HOME="ftp://sourceware.org/pub"
11089 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
11090 +BB_HOME="https://busybox.net/downloads"
11091 +
11092 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
11093 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
11094 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
11095 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
11096 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
11097 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
11098 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
11099 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
11100 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
11101 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11102 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11103 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
11104 +
11105 +if [[ ${PV} == 9999* ]]
11106 +then
11107 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
11108 + inherit git-r3
11109 + S="${WORKDIR}/${P}"
11110 + SRC_URI="${COMMON_URI}"
11111 +else
11112 + SRC_URI="mirror://gentoo/${P}.tar.xz
11113 + ${COMMON_URI}"
11114 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
11115 +fi
11116 +
11117 +DESCRIPTION="Gentoo automatic kernel building scripts"
11118 +HOMEPAGE="https://www.gentoo.org"
11119 +
11120 +LICENSE="GPL-2"
11121 +SLOT="0"
11122 +RESTRICT=""
11123 +IUSE="cryptsetup ibm +firmware selinux"
11124 +
11125 +DEPEND="sys-fs/e2fsprogs
11126 + selinux? ( sys-libs/libselinux )"
11127 +RDEPEND="${DEPEND}
11128 + cryptsetup? ( sys-fs/cryptsetup )
11129 + app-arch/cpio
11130 + >=app-misc/pax-utils-1.2.2
11131 + sys-apps/util-linux[static-libs(+)]
11132 + firmware? ( sys-kernel/linux-firmware )
11133 + !<sys-apps/openrc-0.9.9"
11134 +# pax-utils is used for lddtree
11135 +
11136 +if [[ ${PV} == 9999* ]]; then
11137 + DEPEND="${DEPEND} app-text/asciidoc"
11138 +fi
11139 +
11140 +pkg_pretend() {
11141 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
11142 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
11143 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
11144 + ewarn "to have genkernel create an initramfs with LUKS support."
11145 + ewarn "Sorry for the inconvenience."
11146 + echo
11147 + fi
11148 +}
11149 +
11150 +src_prepare() {
11151 + if [[ ${PV} == 9999* ]] ; then
11152 + einfo "Updating version tag"
11153 + GK_V="$(git describe --tags | sed 's:^v::')-git"
11154 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
11155 + einfo "Producing ChangeLog from Git history..."
11156 + pushd "${S}/.git" >/dev/null || die
11157 + git log > "${S}"/ChangeLog || die
11158 + popd >/dev/null || die
11159 + fi
11160 + if use selinux ; then
11161 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
11162 + fi
11163 +
11164 + # Update software.sh
11165 + sed -i \
11166 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
11167 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
11168 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
11169 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
11170 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
11171 + -e "s:VERSION_LVM:$VERSION_LVM:" \
11172 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
11173 + -e "s:VERSION_GPG:$VERSION_GPG:" \
11174 + "${S}"/defaults/software.sh \
11175 + || die "Could not adjust versions"
11176 +
11177 + epatch_user
11178 +}
11179 +
11180 +src_compile() {
11181 + if [[ ${PV} == 9999* ]]; then
11182 + emake
11183 + fi
11184 +}
11185 +
11186 +src_install() {
11187 + insinto /etc
11188 + doins "${S}"/genkernel.conf
11189 +
11190 + doman genkernel.8
11191 + dodoc AUTHORS ChangeLog README TODO
11192 + dobin genkernel
11193 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
11194 +
11195 + if use ibm ; then
11196 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
11197 + else
11198 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
11199 + fi
11200 + insinto /usr/share/genkernel
11201 + doins -r "${S}"/*
11202 +
11203 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
11204 + insinto /etc
11205 + doins "${FILESDIR}"/initramfs.mounts
11206 +
11207 + cd "${DISTDIR}"
11208 + insinto /usr/share/genkernel/distfiles
11209 + doins ${A/${P}.tar.xz/}
11210 +}
11211 +
11212 +pkg_postinst() {
11213 + echo
11214 + elog 'Documentation is available in the genkernel manual page'
11215 + elog 'as well as the following URL:'
11216 + echo
11217 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
11218 + echo
11219 + ewarn "This package is known to not work with reiser4. If you are running"
11220 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
11221 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
11222 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
11223 + echo
11224 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
11225 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
11226 + echo
11227 +}
11228
11229 diff --git a/sys-kernel/genkernel/genkernel-3.5.2.4.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.4.ebuild
11230 new file mode 100644
11231 index 0000000..a4053e3
11232 --- /dev/null
11233 +++ b/sys-kernel/genkernel/genkernel-3.5.2.4.ebuild
11234 @@ -0,0 +1,159 @@
11235 +# Copyright 1999-2018 Gentoo Foundation
11236 +# Distributed under the terms of the GNU General Public License v2
11237 +
11238 +# genkernel-9999 -> latest Git branch "master"
11239 +# genkernel-VERSION -> normal genkernel release
11240 +
11241 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
11242 +
11243 +inherit bash-completion-r1 epatch
11244 +
11245 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
11246 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
11247 +VERSION_MDADM='4.0' # warning, be sure to bump patches
11248 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
11249 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
11250 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
11251 +VERSION_UNIONFS_FUSE='0.24'
11252 +VERSION_GPG='1.4.22'
11253 +
11254 +RH_HOME="ftp://sourceware.org/pub"
11255 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
11256 +BB_HOME="https://busybox.net/downloads"
11257 +
11258 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
11259 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
11260 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
11261 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
11262 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
11263 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
11264 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
11265 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
11266 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
11267 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11268 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11269 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
11270 +
11271 +if [[ ${PV} == 9999* ]]
11272 +then
11273 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
11274 + inherit git-r3
11275 + S="${WORKDIR}/${P}"
11276 + SRC_URI="${COMMON_URI}"
11277 +else
11278 + SRC_URI="mirror://gentoo/${P}.tar.xz
11279 + ${COMMON_URI}"
11280 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
11281 +fi
11282 +
11283 +DESCRIPTION="Gentoo automatic kernel building scripts"
11284 +HOMEPAGE="https://www.gentoo.org"
11285 +
11286 +LICENSE="GPL-2"
11287 +SLOT="0"
11288 +RESTRICT=""
11289 +IUSE="cryptsetup ibm +firmware selinux"
11290 +
11291 +DEPEND="sys-fs/e2fsprogs
11292 + selinux? ( sys-libs/libselinux )"
11293 +RDEPEND="${DEPEND}
11294 + cryptsetup? ( sys-fs/cryptsetup )
11295 + app-arch/cpio
11296 + >=app-misc/pax-utils-1.2.2
11297 + sys-apps/util-linux[static-libs(+)]
11298 + firmware? ( sys-kernel/linux-firmware )
11299 + !<sys-apps/openrc-0.9.9"
11300 +# pax-utils is used for lddtree
11301 +
11302 +if [[ ${PV} == 9999* ]]; then
11303 + DEPEND="${DEPEND} app-text/asciidoc"
11304 +fi
11305 +
11306 +pkg_pretend() {
11307 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
11308 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
11309 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
11310 + ewarn "to have genkernel create an initramfs with LUKS support."
11311 + ewarn "Sorry for the inconvenience."
11312 + echo
11313 + fi
11314 +}
11315 +
11316 +src_prepare() {
11317 + if [[ ${PV} == 9999* ]] ; then
11318 + einfo "Updating version tag"
11319 + GK_V="$(git describe --tags | sed 's:^v::')-git"
11320 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
11321 + einfo "Producing ChangeLog from Git history..."
11322 + pushd "${S}/.git" >/dev/null || die
11323 + git log > "${S}"/ChangeLog || die
11324 + popd >/dev/null || die
11325 + fi
11326 + if use selinux ; then
11327 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
11328 + fi
11329 +
11330 + # Update software.sh
11331 + sed -i \
11332 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
11333 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
11334 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
11335 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
11336 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
11337 + -e "s:VERSION_LVM:$VERSION_LVM:" \
11338 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
11339 + -e "s:VERSION_GPG:$VERSION_GPG:" \
11340 + "${S}"/defaults/software.sh \
11341 + || die "Could not adjust versions"
11342 +
11343 + epatch_user
11344 +}
11345 +
11346 +src_compile() {
11347 + if [[ ${PV} == 9999* ]]; then
11348 + emake
11349 + fi
11350 +}
11351 +
11352 +src_install() {
11353 + insinto /etc
11354 + doins "${S}"/genkernel.conf
11355 +
11356 + doman genkernel.8
11357 + dodoc AUTHORS ChangeLog README TODO
11358 + dobin genkernel
11359 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
11360 +
11361 + if use ibm ; then
11362 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
11363 + else
11364 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
11365 + fi
11366 + insinto /usr/share/genkernel
11367 + doins -r "${S}"/*
11368 +
11369 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
11370 + insinto /etc
11371 + doins "${FILESDIR}"/initramfs.mounts
11372 +
11373 + cd "${DISTDIR}"
11374 + insinto /usr/share/genkernel/distfiles
11375 + doins ${A/${P}.tar.xz/}
11376 +}
11377 +
11378 +pkg_postinst() {
11379 + echo
11380 + elog 'Documentation is available in the genkernel manual page'
11381 + elog 'as well as the following URL:'
11382 + echo
11383 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
11384 + echo
11385 + ewarn "This package is known to not work with reiser4. If you are running"
11386 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
11387 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
11388 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
11389 + echo
11390 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
11391 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
11392 + echo
11393 +}
11394
11395 diff --git a/sys-kernel/genkernel/genkernel-3.5.2.5.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.5.ebuild
11396 new file mode 100644
11397 index 0000000..a4053e3
11398 --- /dev/null
11399 +++ b/sys-kernel/genkernel/genkernel-3.5.2.5.ebuild
11400 @@ -0,0 +1,159 @@
11401 +# Copyright 1999-2018 Gentoo Foundation
11402 +# Distributed under the terms of the GNU General Public License v2
11403 +
11404 +# genkernel-9999 -> latest Git branch "master"
11405 +# genkernel-VERSION -> normal genkernel release
11406 +
11407 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
11408 +
11409 +inherit bash-completion-r1 epatch
11410 +
11411 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
11412 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
11413 +VERSION_MDADM='4.0' # warning, be sure to bump patches
11414 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
11415 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
11416 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
11417 +VERSION_UNIONFS_FUSE='0.24'
11418 +VERSION_GPG='1.4.22'
11419 +
11420 +RH_HOME="ftp://sourceware.org/pub"
11421 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
11422 +BB_HOME="https://busybox.net/downloads"
11423 +
11424 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
11425 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
11426 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
11427 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
11428 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
11429 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
11430 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
11431 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
11432 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
11433 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11434 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11435 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
11436 +
11437 +if [[ ${PV} == 9999* ]]
11438 +then
11439 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
11440 + inherit git-r3
11441 + S="${WORKDIR}/${P}"
11442 + SRC_URI="${COMMON_URI}"
11443 +else
11444 + SRC_URI="mirror://gentoo/${P}.tar.xz
11445 + ${COMMON_URI}"
11446 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
11447 +fi
11448 +
11449 +DESCRIPTION="Gentoo automatic kernel building scripts"
11450 +HOMEPAGE="https://www.gentoo.org"
11451 +
11452 +LICENSE="GPL-2"
11453 +SLOT="0"
11454 +RESTRICT=""
11455 +IUSE="cryptsetup ibm +firmware selinux"
11456 +
11457 +DEPEND="sys-fs/e2fsprogs
11458 + selinux? ( sys-libs/libselinux )"
11459 +RDEPEND="${DEPEND}
11460 + cryptsetup? ( sys-fs/cryptsetup )
11461 + app-arch/cpio
11462 + >=app-misc/pax-utils-1.2.2
11463 + sys-apps/util-linux[static-libs(+)]
11464 + firmware? ( sys-kernel/linux-firmware )
11465 + !<sys-apps/openrc-0.9.9"
11466 +# pax-utils is used for lddtree
11467 +
11468 +if [[ ${PV} == 9999* ]]; then
11469 + DEPEND="${DEPEND} app-text/asciidoc"
11470 +fi
11471 +
11472 +pkg_pretend() {
11473 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
11474 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
11475 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
11476 + ewarn "to have genkernel create an initramfs with LUKS support."
11477 + ewarn "Sorry for the inconvenience."
11478 + echo
11479 + fi
11480 +}
11481 +
11482 +src_prepare() {
11483 + if [[ ${PV} == 9999* ]] ; then
11484 + einfo "Updating version tag"
11485 + GK_V="$(git describe --tags | sed 's:^v::')-git"
11486 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
11487 + einfo "Producing ChangeLog from Git history..."
11488 + pushd "${S}/.git" >/dev/null || die
11489 + git log > "${S}"/ChangeLog || die
11490 + popd >/dev/null || die
11491 + fi
11492 + if use selinux ; then
11493 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
11494 + fi
11495 +
11496 + # Update software.sh
11497 + sed -i \
11498 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
11499 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
11500 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
11501 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
11502 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
11503 + -e "s:VERSION_LVM:$VERSION_LVM:" \
11504 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
11505 + -e "s:VERSION_GPG:$VERSION_GPG:" \
11506 + "${S}"/defaults/software.sh \
11507 + || die "Could not adjust versions"
11508 +
11509 + epatch_user
11510 +}
11511 +
11512 +src_compile() {
11513 + if [[ ${PV} == 9999* ]]; then
11514 + emake
11515 + fi
11516 +}
11517 +
11518 +src_install() {
11519 + insinto /etc
11520 + doins "${S}"/genkernel.conf
11521 +
11522 + doman genkernel.8
11523 + dodoc AUTHORS ChangeLog README TODO
11524 + dobin genkernel
11525 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
11526 +
11527 + if use ibm ; then
11528 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
11529 + else
11530 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
11531 + fi
11532 + insinto /usr/share/genkernel
11533 + doins -r "${S}"/*
11534 +
11535 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
11536 + insinto /etc
11537 + doins "${FILESDIR}"/initramfs.mounts
11538 +
11539 + cd "${DISTDIR}"
11540 + insinto /usr/share/genkernel/distfiles
11541 + doins ${A/${P}.tar.xz/}
11542 +}
11543 +
11544 +pkg_postinst() {
11545 + echo
11546 + elog 'Documentation is available in the genkernel manual page'
11547 + elog 'as well as the following URL:'
11548 + echo
11549 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
11550 + echo
11551 + ewarn "This package is known to not work with reiser4. If you are running"
11552 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
11553 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
11554 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
11555 + echo
11556 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
11557 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
11558 + echo
11559 +}
11560
11561 diff --git a/sys-kernel/genkernel/genkernel-3.5.3.2.ebuild b/sys-kernel/genkernel/genkernel-3.5.3.2.ebuild
11562 new file mode 100644
11563 index 0000000..8f31925
11564 --- /dev/null
11565 +++ b/sys-kernel/genkernel/genkernel-3.5.3.2.ebuild
11566 @@ -0,0 +1,159 @@
11567 +# Copyright 1999-2018 Gentoo Foundation
11568 +# Distributed under the terms of the GNU General Public License v2
11569 +
11570 +# genkernel-9999 -> latest Git branch "master"
11571 +# genkernel-VERSION -> normal genkernel release
11572 +
11573 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
11574 +
11575 +inherit bash-completion-r1 epatch
11576 +
11577 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
11578 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
11579 +VERSION_MDADM='4.0' # warning, be sure to bump patches
11580 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
11581 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
11582 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
11583 +VERSION_UNIONFS_FUSE='0.24'
11584 +VERSION_GPG='1.4.22'
11585 +
11586 +RH_HOME="ftp://sourceware.org/pub"
11587 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
11588 +BB_HOME="https://busybox.net/downloads"
11589 +
11590 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
11591 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
11592 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
11593 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
11594 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
11595 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
11596 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
11597 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
11598 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
11599 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11600 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11601 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
11602 +
11603 +if [[ ${PV} == 9999* ]]
11604 +then
11605 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
11606 + inherit git-r3
11607 + S="${WORKDIR}/${PN}"
11608 + SRC_URI="${COMMON_URI}"
11609 +else
11610 + SRC_URI="mirror://gentoo/${P}.tar.xz
11611 + ${COMMON_URI}"
11612 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
11613 +fi
11614 +
11615 +DESCRIPTION="Gentoo automatic kernel building scripts"
11616 +HOMEPAGE="https://www.gentoo.org"
11617 +
11618 +LICENSE="GPL-2"
11619 +SLOT="0"
11620 +RESTRICT=""
11621 +IUSE="cryptsetup ibm +firmware selinux"
11622 +
11623 +DEPEND="sys-fs/e2fsprogs
11624 + selinux? ( sys-libs/libselinux )"
11625 +RDEPEND="${DEPEND}
11626 + cryptsetup? ( sys-fs/cryptsetup )
11627 + app-arch/cpio
11628 + >=app-misc/pax-utils-1.2.2
11629 + sys-apps/util-linux[static-libs(+)]
11630 + firmware? ( sys-kernel/linux-firmware )
11631 + !<sys-apps/openrc-0.9.9"
11632 +# pax-utils is used for lddtree
11633 +
11634 +if [[ ${PV} == 9999* ]]; then
11635 + DEPEND="${DEPEND} app-text/asciidoc"
11636 +fi
11637 +
11638 +pkg_pretend() {
11639 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
11640 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
11641 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
11642 + ewarn "to have genkernel create an initramfs with LUKS support."
11643 + ewarn "Sorry for the inconvenience."
11644 + echo
11645 + fi
11646 +}
11647 +
11648 +src_prepare() {
11649 + if [[ ${PV} == 9999* ]] ; then
11650 + einfo "Updating version tag"
11651 + GK_V="$(git describe --tags | sed 's:^v::')-git"
11652 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
11653 + einfo "Producing ChangeLog from Git history..."
11654 + pushd "${S}/.git" >/dev/null || die
11655 + git log > "${S}"/ChangeLog || die
11656 + popd >/dev/null || die
11657 + fi
11658 + if use selinux ; then
11659 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
11660 + fi
11661 +
11662 + # Update software.sh
11663 + sed -i \
11664 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
11665 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
11666 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
11667 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
11668 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
11669 + -e "s:VERSION_LVM:$VERSION_LVM:" \
11670 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
11671 + -e "s:VERSION_GPG:$VERSION_GPG:" \
11672 + "${S}"/defaults/software.sh \
11673 + || die "Could not adjust versions"
11674 +
11675 + epatch_user
11676 +}
11677 +
11678 +src_compile() {
11679 + if [[ ${PV} == 9999* ]]; then
11680 + emake
11681 + fi
11682 +}
11683 +
11684 +src_install() {
11685 + insinto /etc
11686 + doins "${S}"/genkernel.conf
11687 +
11688 + doman genkernel.8
11689 + dodoc AUTHORS ChangeLog README TODO
11690 + dobin genkernel
11691 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
11692 +
11693 + if use ibm ; then
11694 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
11695 + else
11696 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
11697 + fi
11698 + insinto /usr/share/genkernel
11699 + doins -r "${S}"/*
11700 +
11701 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
11702 + insinto /etc
11703 + doins "${FILESDIR}"/initramfs.mounts
11704 +
11705 + cd "${DISTDIR}"
11706 + insinto /usr/share/genkernel/distfiles
11707 + doins ${A/${P}.tar.xz/}
11708 +}
11709 +
11710 +pkg_postinst() {
11711 + echo
11712 + elog 'Documentation is available in the genkernel manual page'
11713 + elog 'as well as the following URL:'
11714 + echo
11715 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
11716 + echo
11717 + ewarn "This package is known to not work with reiser4. If you are running"
11718 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
11719 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
11720 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
11721 + echo
11722 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
11723 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
11724 + echo
11725 +}
11726
11727 diff --git a/sys-kernel/genkernel/genkernel-3.5.3.3.ebuild b/sys-kernel/genkernel/genkernel-3.5.3.3.ebuild
11728 new file mode 100644
11729 index 0000000..317160e
11730 --- /dev/null
11731 +++ b/sys-kernel/genkernel/genkernel-3.5.3.3.ebuild
11732 @@ -0,0 +1,159 @@
11733 +# Copyright 1999-2018 Gentoo Foundation
11734 +# Distributed under the terms of the GNU General Public License v2
11735 +
11736 +# genkernel-9999 -> latest Git branch "master"
11737 +# genkernel-VERSION -> normal genkernel release
11738 +
11739 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
11740 +
11741 +inherit bash-completion-r1 epatch
11742 +
11743 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
11744 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
11745 +VERSION_MDADM='4.0' # warning, be sure to bump patches
11746 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
11747 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
11748 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
11749 +VERSION_UNIONFS_FUSE='0.24'
11750 +VERSION_GPG='1.4.22'
11751 +
11752 +RH_HOME="ftp://sourceware.org/pub"
11753 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
11754 +BB_HOME="https://busybox.net/downloads"
11755 +
11756 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
11757 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
11758 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
11759 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
11760 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
11761 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
11762 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
11763 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
11764 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
11765 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11766 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11767 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
11768 +
11769 +if [[ ${PV} == 9999* ]]
11770 +then
11771 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
11772 + inherit git-r3
11773 + S="${WORKDIR}/${PN}"
11774 + SRC_URI="${COMMON_URI}"
11775 +else
11776 + SRC_URI="mirror://gentoo/${P}.tar.xz
11777 + ${COMMON_URI}"
11778 + KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
11779 +fi
11780 +
11781 +DESCRIPTION="Gentoo automatic kernel building scripts"
11782 +HOMEPAGE="https://www.gentoo.org"
11783 +
11784 +LICENSE="GPL-2"
11785 +SLOT="0"
11786 +RESTRICT=""
11787 +IUSE="cryptsetup ibm +firmware selinux"
11788 +
11789 +DEPEND="sys-fs/e2fsprogs
11790 + selinux? ( sys-libs/libselinux )"
11791 +RDEPEND="${DEPEND}
11792 + cryptsetup? ( sys-fs/cryptsetup )
11793 + app-arch/cpio
11794 + >=app-misc/pax-utils-1.2.2
11795 + sys-apps/util-linux[static-libs(+)]
11796 + firmware? ( sys-kernel/linux-firmware )
11797 + !<sys-apps/openrc-0.9.9"
11798 +# pax-utils is used for lddtree
11799 +
11800 +if [[ ${PV} == 9999* ]]; then
11801 + DEPEND="${DEPEND} app-text/asciidoc"
11802 +fi
11803 +
11804 +pkg_pretend() {
11805 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
11806 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
11807 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
11808 + ewarn "to have genkernel create an initramfs with LUKS support."
11809 + ewarn "Sorry for the inconvenience."
11810 + echo
11811 + fi
11812 +}
11813 +
11814 +src_prepare() {
11815 + if [[ ${PV} == 9999* ]] ; then
11816 + einfo "Updating version tag"
11817 + GK_V="$(git describe --tags | sed 's:^v::')-git"
11818 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
11819 + einfo "Producing ChangeLog from Git history..."
11820 + pushd "${S}/.git" >/dev/null || die
11821 + git log > "${S}"/ChangeLog || die
11822 + popd >/dev/null || die
11823 + fi
11824 + if use selinux ; then
11825 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
11826 + fi
11827 +
11828 + # Update software.sh
11829 + sed -i \
11830 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
11831 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
11832 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
11833 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
11834 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
11835 + -e "s:VERSION_LVM:$VERSION_LVM:" \
11836 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
11837 + -e "s:VERSION_GPG:$VERSION_GPG:" \
11838 + "${S}"/defaults/software.sh \
11839 + || die "Could not adjust versions"
11840 +
11841 + epatch_user
11842 +}
11843 +
11844 +src_compile() {
11845 + if [[ ${PV} == 9999* ]]; then
11846 + emake
11847 + fi
11848 +}
11849 +
11850 +src_install() {
11851 + insinto /etc
11852 + doins "${S}"/genkernel.conf
11853 +
11854 + doman genkernel.8
11855 + dodoc AUTHORS ChangeLog README TODO
11856 + dobin genkernel
11857 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
11858 +
11859 + if use ibm ; then
11860 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
11861 + else
11862 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
11863 + fi
11864 + insinto /usr/share/genkernel
11865 + doins -r "${S}"/*
11866 +
11867 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
11868 + insinto /etc
11869 + doins "${FILESDIR}"/initramfs.mounts
11870 +
11871 + cd "${DISTDIR}"
11872 + insinto /usr/share/genkernel/distfiles
11873 + doins ${A/${P}.tar.xz/}
11874 +}
11875 +
11876 +pkg_postinst() {
11877 + echo
11878 + elog 'Documentation is available in the genkernel manual page'
11879 + elog 'as well as the following URL:'
11880 + echo
11881 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
11882 + echo
11883 + ewarn "This package is known to not work with reiser4. If you are running"
11884 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
11885 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
11886 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
11887 + echo
11888 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
11889 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
11890 + echo
11891 +}
11892
11893 diff --git a/sys-kernel/genkernel/genkernel-9999.ebuild b/sys-kernel/genkernel/genkernel-9999.ebuild
11894 new file mode 100644
11895 index 0000000..a4053e3
11896 --- /dev/null
11897 +++ b/sys-kernel/genkernel/genkernel-9999.ebuild
11898 @@ -0,0 +1,159 @@
11899 +# Copyright 1999-2018 Gentoo Foundation
11900 +# Distributed under the terms of the GNU General Public License v2
11901 +
11902 +# genkernel-9999 -> latest Git branch "master"
11903 +# genkernel-VERSION -> normal genkernel release
11904 +
11905 +EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
11906 +
11907 +inherit bash-completion-r1 epatch
11908 +
11909 +VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
11910 +VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
11911 +VERSION_MDADM='4.0' # warning, be sure to bump patches
11912 +VERSION_FUSE='2.8.6' # warning, be sure to bump patches
11913 +VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
11914 +VERSION_LVM='2.02.173' # warning, be sure to bump patches
11915 +VERSION_UNIONFS_FUSE='0.24'
11916 +VERSION_GPG='1.4.22'
11917 +
11918 +RH_HOME="ftp://sourceware.org/pub"
11919 +DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
11920 +BB_HOME="https://busybox.net/downloads"
11921 +
11922 +COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
11923 + ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
11924 + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
11925 + ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
11926 + ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
11927 + ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
11928 + http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
11929 + mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
11930 + mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
11931 + http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11932 + mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
11933 + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
11934 +
11935 +if [[ ${PV} == 9999* ]]
11936 +then
11937 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
11938 + inherit git-r3
11939 + S="${WORKDIR}/${P}"
11940 + SRC_URI="${COMMON_URI}"
11941 +else
11942 + SRC_URI="mirror://gentoo/${P}.tar.xz
11943 + ${COMMON_URI}"
11944 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
11945 +fi
11946 +
11947 +DESCRIPTION="Gentoo automatic kernel building scripts"
11948 +HOMEPAGE="https://www.gentoo.org"
11949 +
11950 +LICENSE="GPL-2"
11951 +SLOT="0"
11952 +RESTRICT=""
11953 +IUSE="cryptsetup ibm +firmware selinux"
11954 +
11955 +DEPEND="sys-fs/e2fsprogs
11956 + selinux? ( sys-libs/libselinux )"
11957 +RDEPEND="${DEPEND}
11958 + cryptsetup? ( sys-fs/cryptsetup )
11959 + app-arch/cpio
11960 + >=app-misc/pax-utils-1.2.2
11961 + sys-apps/util-linux[static-libs(+)]
11962 + firmware? ( sys-kernel/linux-firmware )
11963 + !<sys-apps/openrc-0.9.9"
11964 +# pax-utils is used for lddtree
11965 +
11966 +if [[ ${PV} == 9999* ]]; then
11967 + DEPEND="${DEPEND} app-text/asciidoc"
11968 +fi
11969 +
11970 +pkg_pretend() {
11971 + if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
11972 + ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
11973 + ewarn "Please set flag 'cryptsetup' for this very package if you would like"
11974 + ewarn "to have genkernel create an initramfs with LUKS support."
11975 + ewarn "Sorry for the inconvenience."
11976 + echo
11977 + fi
11978 +}
11979 +
11980 +src_prepare() {
11981 + if [[ ${PV} == 9999* ]] ; then
11982 + einfo "Updating version tag"
11983 + GK_V="$(git describe --tags | sed 's:^v::')-git"
11984 + sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
11985 + einfo "Producing ChangeLog from Git history..."
11986 + pushd "${S}/.git" >/dev/null || die
11987 + git log > "${S}"/ChangeLog || die
11988 + popd >/dev/null || die
11989 + fi
11990 + if use selinux ; then
11991 + sed -i 's/###//g' "${S}"/gen_compile.sh || die
11992 + fi
11993 +
11994 + # Update software.sh
11995 + sed -i \
11996 + -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
11997 + -e "s:VERSION_MDADM:$VERSION_MDADM:" \
11998 + -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
11999 + -e "s:VERSION_FUSE:$VERSION_FUSE:" \
12000 + -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
12001 + -e "s:VERSION_LVM:$VERSION_LVM:" \
12002 + -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
12003 + -e "s:VERSION_GPG:$VERSION_GPG:" \
12004 + "${S}"/defaults/software.sh \
12005 + || die "Could not adjust versions"
12006 +
12007 + epatch_user
12008 +}
12009 +
12010 +src_compile() {
12011 + if [[ ${PV} == 9999* ]]; then
12012 + emake
12013 + fi
12014 +}
12015 +
12016 +src_install() {
12017 + insinto /etc
12018 + doins "${S}"/genkernel.conf
12019 +
12020 + doman genkernel.8
12021 + dodoc AUTHORS ChangeLog README TODO
12022 + dobin genkernel
12023 + rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
12024 +
12025 + if use ibm ; then
12026 + cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
12027 + else
12028 + cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
12029 + fi
12030 + insinto /usr/share/genkernel
12031 + doins -r "${S}"/*
12032 +
12033 + newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
12034 + insinto /etc
12035 + doins "${FILESDIR}"/initramfs.mounts
12036 +
12037 + cd "${DISTDIR}"
12038 + insinto /usr/share/genkernel/distfiles
12039 + doins ${A/${P}.tar.xz/}
12040 +}
12041 +
12042 +pkg_postinst() {
12043 + echo
12044 + elog 'Documentation is available in the genkernel manual page'
12045 + elog 'as well as the following URL:'
12046 + echo
12047 + elog 'https://wiki.gentoo.org/wiki/Genkernel'
12048 + echo
12049 + ewarn "This package is known to not work with reiser4. If you are running"
12050 + ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
12051 + ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
12052 + ewarn "broken in this regard. Try using a sane filesystem like ext4."
12053 + echo
12054 + ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
12055 + ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
12056 + echo
12057 +}
12058
12059 diff --git a/sys-kernel/genkernel/metadata.xml b/sys-kernel/genkernel/metadata.xml
12060 new file mode 100644
12061 index 0000000..fca8c03
12062 --- /dev/null
12063 +++ b/sys-kernel/genkernel/metadata.xml
12064 @@ -0,0 +1,19 @@
12065 +<?xml version='1.0' encoding='UTF-8'?>
12066 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
12067 +<pkgmetadata>
12068 + <maintainer type="project">
12069 + <email>genkernel@g.o</email>
12070 + </maintainer>
12071 + <use>
12072 + <flag name="cryptsetup">Enable support for Luks disk encryption using <pkg>sys-fs/cryptsetup</pkg></flag>
12073 + <flag name="firmware">Prefer system firmware <pkg>sys-kernel/linux-firmware</pkg> over local copy.</flag>
12074 + </use>
12075 + <!--
12076 + <upstream>
12077 + <remote-id type="gentoo">git://git.gentoo.org/proj/genkernel</remote-id>
12078 + </upstream>
12079 + -->
12080 + <upstream>
12081 + <remote-id type="sourceforge">fuse</remote-id>
12082 + </upstream>
12083 +</pkgmetadata>
12084
12085 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.52.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.52.ebuild
12086 new file mode 100644
12087 index 0000000..9e98e3b
12088 --- /dev/null
12089 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.52.ebuild
12090 @@ -0,0 +1,28 @@
12091 +# Copyright 1999-2018 Gentoo Authors
12092 +# Distributed under the terms of the GNU General Public License v2
12093 +
12094 +EAPI="6"
12095 +ETYPE="sources"
12096 +K_WANT_GENPATCHES="base extras experimental"
12097 +K_GENPATCHES_VER="57"
12098 +
12099 +inherit kernel-2
12100 +detect_version
12101 +detect_arch
12102 +
12103 +KEYWORDS="arm"
12104 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12105 +IUSE="experimental"
12106 +
12107 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12108 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12109 +
12110 +pkg_postinst() {
12111 + kernel-2_pkg_postinst
12112 + einfo "For more info on this patchset, and how to report problems, see:"
12113 + einfo "${HOMEPAGE}"
12114 +}
12115 +
12116 +pkg_postrm() {
12117 + kernel-2_pkg_postrm
12118 +}
12119
12120 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.65.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.65.ebuild
12121 new file mode 100644
12122 index 0000000..a09b296
12123 --- /dev/null
12124 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.65.ebuild
12125 @@ -0,0 +1,28 @@
12126 +# Copyright 1999-2018 Gentoo Foundation
12127 +# Distributed under the terms of the GNU General Public License v2
12128 +
12129 +EAPI="6"
12130 +ETYPE="sources"
12131 +K_WANT_GENPATCHES="base extras experimental"
12132 +K_GENPATCHES_VER="71"
12133 +
12134 +inherit kernel-2
12135 +detect_version
12136 +detect_arch
12137 +
12138 +KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
12139 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12140 +IUSE="experimental"
12141 +
12142 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12143 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12144 +
12145 +pkg_postinst() {
12146 + kernel-2_pkg_postinst
12147 + einfo "For more info on this patchset, and how to report problems, see:"
12148 + einfo "${HOMEPAGE}"
12149 +}
12150 +
12151 +pkg_postrm() {
12152 + kernel-2_pkg_postrm
12153 +}
12154
12155 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.71.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.71.ebuild
12156 new file mode 100644
12157 index 0000000..b9bcc7c
12158 --- /dev/null
12159 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.71.ebuild
12160 @@ -0,0 +1,28 @@
12161 +# Copyright 1999-2018 Gentoo Foundation
12162 +# Distributed under the terms of the GNU General Public License v2
12163 +
12164 +EAPI="6"
12165 +ETYPE="sources"
12166 +K_WANT_GENPATCHES="base extras experimental"
12167 +K_GENPATCHES_VER="77"
12168 +
12169 +inherit kernel-2
12170 +detect_version
12171 +detect_arch
12172 +
12173 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12174 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12175 +IUSE="experimental"
12176 +
12177 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12178 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12179 +
12180 +pkg_postinst() {
12181 + kernel-2_pkg_postinst
12182 + einfo "For more info on this patchset, and how to report problems, see:"
12183 + einfo "${HOMEPAGE}"
12184 +}
12185 +
12186 +pkg_postrm() {
12187 + kernel-2_pkg_postrm
12188 +}
12189
12190 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.72.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.72.ebuild
12191 new file mode 100644
12192 index 0000000..55da902
12193 --- /dev/null
12194 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.72.ebuild
12195 @@ -0,0 +1,28 @@
12196 +# Copyright 1999-2018 Gentoo Authors
12197 +# Distributed under the terms of the GNU General Public License v2
12198 +
12199 +EAPI="6"
12200 +ETYPE="sources"
12201 +K_WANT_GENPATCHES="base extras experimental"
12202 +K_GENPATCHES_VER="78"
12203 +
12204 +inherit kernel-2
12205 +detect_version
12206 +detect_arch
12207 +
12208 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12209 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12210 +IUSE="experimental"
12211 +
12212 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12213 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12214 +
12215 +pkg_postinst() {
12216 + kernel-2_pkg_postinst
12217 + einfo "For more info on this patchset, and how to report problems, see:"
12218 + einfo "${HOMEPAGE}"
12219 +}
12220 +
12221 +pkg_postrm() {
12222 + kernel-2_pkg_postrm
12223 +}
12224
12225 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.73.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.73.ebuild
12226 new file mode 100644
12227 index 0000000..0391d2f
12228 --- /dev/null
12229 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.73.ebuild
12230 @@ -0,0 +1,28 @@
12231 +# Copyright 1999-2018 Gentoo Authors
12232 +# Distributed under the terms of the GNU General Public License v2
12233 +
12234 +EAPI="6"
12235 +ETYPE="sources"
12236 +K_WANT_GENPATCHES="base extras experimental"
12237 +K_GENPATCHES_VER="79"
12238 +
12239 +inherit kernel-2
12240 +detect_version
12241 +detect_arch
12242 +
12243 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12244 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12245 +IUSE="experimental"
12246 +
12247 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12248 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12249 +
12250 +pkg_postinst() {
12251 + kernel-2_pkg_postinst
12252 + einfo "For more info on this patchset, and how to report problems, see:"
12253 + einfo "${HOMEPAGE}"
12254 +}
12255 +
12256 +pkg_postrm() {
12257 + kernel-2_pkg_postrm
12258 +}
12259
12260 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.74.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.74.ebuild
12261 new file mode 100644
12262 index 0000000..1b1b0ef
12263 --- /dev/null
12264 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.74.ebuild
12265 @@ -0,0 +1,28 @@
12266 +# Copyright 1999-2018 Gentoo Authors
12267 +# Distributed under the terms of the GNU General Public License v2
12268 +
12269 +EAPI="6"
12270 +ETYPE="sources"
12271 +K_WANT_GENPATCHES="base extras experimental"
12272 +K_GENPATCHES_VER="80"
12273 +
12274 +inherit kernel-2
12275 +detect_version
12276 +detect_arch
12277 +
12278 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12279 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12280 +IUSE="experimental"
12281 +
12282 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12283 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12284 +
12285 +pkg_postinst() {
12286 + kernel-2_pkg_postinst
12287 + einfo "For more info on this patchset, and how to report problems, see:"
12288 + einfo "${HOMEPAGE}"
12289 +}
12290 +
12291 +pkg_postrm() {
12292 + kernel-2_pkg_postrm
12293 +}
12294
12295 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.75.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.75.ebuild
12296 new file mode 100644
12297 index 0000000..c387aa4
12298 --- /dev/null
12299 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.75.ebuild
12300 @@ -0,0 +1,28 @@
12301 +# Copyright 1999-2018 Gentoo Authors
12302 +# Distributed under the terms of the GNU General Public License v2
12303 +
12304 +EAPI="6"
12305 +ETYPE="sources"
12306 +K_WANT_GENPATCHES="base extras experimental"
12307 +K_GENPATCHES_VER="81"
12308 +
12309 +inherit kernel-2
12310 +detect_version
12311 +detect_arch
12312 +
12313 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12314 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12315 +IUSE="experimental"
12316 +
12317 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12318 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12319 +
12320 +pkg_postinst() {
12321 + kernel-2_pkg_postinst
12322 + einfo "For more info on this patchset, and how to report problems, see:"
12323 + einfo "${HOMEPAGE}"
12324 +}
12325 +
12326 +pkg_postrm() {
12327 + kernel-2_pkg_postrm
12328 +}
12329
12330 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.76.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.76.ebuild
12331 new file mode 100644
12332 index 0000000..137c77b
12333 --- /dev/null
12334 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.76.ebuild
12335 @@ -0,0 +1,28 @@
12336 +# Copyright 1999-2018 Gentoo Authors
12337 +# Distributed under the terms of the GNU General Public License v2
12338 +
12339 +EAPI="6"
12340 +ETYPE="sources"
12341 +K_WANT_GENPATCHES="base extras experimental"
12342 +K_GENPATCHES_VER="82"
12343 +
12344 +inherit kernel-2
12345 +detect_version
12346 +detect_arch
12347 +
12348 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12349 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12350 +IUSE="experimental"
12351 +
12352 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12353 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12354 +
12355 +pkg_postinst() {
12356 + kernel-2_pkg_postinst
12357 + einfo "For more info on this patchset, and how to report problems, see:"
12358 + einfo "${HOMEPAGE}"
12359 +}
12360 +
12361 +pkg_postrm() {
12362 + kernel-2_pkg_postrm
12363 +}
12364
12365 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.77.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.77.ebuild
12366 new file mode 100644
12367 index 0000000..43c2d3f
12368 --- /dev/null
12369 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.77.ebuild
12370 @@ -0,0 +1,28 @@
12371 +# Copyright 1999-2018 Gentoo Authors
12372 +# Distributed under the terms of the GNU General Public License v2
12373 +
12374 +EAPI="6"
12375 +ETYPE="sources"
12376 +K_WANT_GENPATCHES="base extras experimental"
12377 +K_GENPATCHES_VER="84"
12378 +
12379 +inherit kernel-2
12380 +detect_version
12381 +detect_arch
12382 +
12383 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12384 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12385 +IUSE="experimental"
12386 +
12387 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12388 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12389 +
12390 +pkg_postinst() {
12391 + kernel-2_pkg_postinst
12392 + einfo "For more info on this patchset, and how to report problems, see:"
12393 + einfo "${HOMEPAGE}"
12394 +}
12395 +
12396 +pkg_postrm() {
12397 + kernel-2_pkg_postrm
12398 +}
12399
12400 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.78.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.78.ebuild
12401 new file mode 100644
12402 index 0000000..8df6b81
12403 --- /dev/null
12404 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.78.ebuild
12405 @@ -0,0 +1,28 @@
12406 +# Copyright 1999-2018 Gentoo Authors
12407 +# Distributed under the terms of the GNU General Public License v2
12408 +
12409 +EAPI="6"
12410 +ETYPE="sources"
12411 +K_WANT_GENPATCHES="base extras experimental"
12412 +K_GENPATCHES_VER="85"
12413 +
12414 +inherit kernel-2
12415 +detect_version
12416 +detect_arch
12417 +
12418 +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
12419 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12420 +IUSE="experimental"
12421 +
12422 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12423 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12424 +
12425 +pkg_postinst() {
12426 + kernel-2_pkg_postinst
12427 + einfo "For more info on this patchset, and how to report problems, see:"
12428 + einfo "${HOMEPAGE}"
12429 +}
12430 +
12431 +pkg_postrm() {
12432 + kernel-2_pkg_postrm
12433 +}
12434
12435 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.10.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.10.ebuild
12436 new file mode 100644
12437 index 0000000..62c7ab6
12438 --- /dev/null
12439 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.10.ebuild
12440 @@ -0,0 +1,28 @@
12441 +# Copyright 1999-2018 Gentoo Foundation
12442 +# Distributed under the terms of the GNU General Public License v2
12443 +
12444 +EAPI="6"
12445 +ETYPE="sources"
12446 +K_WANT_GENPATCHES="base extras experimental"
12447 +K_GENPATCHES_VER="13"
12448 +
12449 +inherit kernel-2
12450 +detect_version
12451 +detect_arch
12452 +
12453 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12454 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12455 +IUSE="experimental"
12456 +
12457 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12458 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12459 +
12460 +pkg_postinst() {
12461 + kernel-2_pkg_postinst
12462 + einfo "For more info on this patchset, and how to report problems, see:"
12463 + einfo "${HOMEPAGE}"
12464 +}
12465 +
12466 +pkg_postrm() {
12467 + kernel-2_pkg_postrm
12468 +}
12469
12470 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.11.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.11.ebuild
12471 new file mode 100644
12472 index 0000000..baf962f
12473 --- /dev/null
12474 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.11.ebuild
12475 @@ -0,0 +1,28 @@
12476 +# Copyright 1999-2018 Gentoo Foundation
12477 +# Distributed under the terms of the GNU General Public License v2
12478 +
12479 +EAPI="6"
12480 +ETYPE="sources"
12481 +K_WANT_GENPATCHES="base extras experimental"
12482 +K_GENPATCHES_VER="14"
12483 +
12484 +inherit kernel-2
12485 +detect_version
12486 +detect_arch
12487 +
12488 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12489 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12490 +IUSE="experimental"
12491 +
12492 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12493 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12494 +
12495 +pkg_postinst() {
12496 + kernel-2_pkg_postinst
12497 + einfo "For more info on this patchset, and how to report problems, see:"
12498 + einfo "${HOMEPAGE}"
12499 +}
12500 +
12501 +pkg_postrm() {
12502 + kernel-2_pkg_postrm
12503 +}
12504
12505 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.12.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.12.ebuild
12506 new file mode 100644
12507 index 0000000..e61f1e6
12508 --- /dev/null
12509 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.12.ebuild
12510 @@ -0,0 +1,28 @@
12511 +# Copyright 1999-2018 Gentoo Foundation
12512 +# Distributed under the terms of the GNU General Public License v2
12513 +
12514 +EAPI="6"
12515 +ETYPE="sources"
12516 +K_WANT_GENPATCHES="base extras experimental"
12517 +K_GENPATCHES_VER="15"
12518 +
12519 +inherit kernel-2
12520 +detect_version
12521 +detect_arch
12522 +
12523 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12524 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12525 +IUSE="experimental"
12526 +
12527 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12528 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12529 +
12530 +pkg_postinst() {
12531 + kernel-2_pkg_postinst
12532 + einfo "For more info on this patchset, and how to report problems, see:"
12533 + einfo "${HOMEPAGE}"
12534 +}
12535 +
12536 +pkg_postrm() {
12537 + kernel-2_pkg_postrm
12538 +}
12539
12540 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.13.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.13.ebuild
12541 new file mode 100644
12542 index 0000000..8da04d5
12543 --- /dev/null
12544 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.13.ebuild
12545 @@ -0,0 +1,28 @@
12546 +# Copyright 1999-2018 Gentoo Authors
12547 +# Distributed under the terms of the GNU General Public License v2
12548 +
12549 +EAPI="6"
12550 +ETYPE="sources"
12551 +K_WANT_GENPATCHES="base extras experimental"
12552 +K_GENPATCHES_VER="16"
12553 +
12554 +inherit kernel-2
12555 +detect_version
12556 +detect_arch
12557 +
12558 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12559 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12560 +IUSE="experimental"
12561 +
12562 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12563 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12564 +
12565 +pkg_postinst() {
12566 + kernel-2_pkg_postinst
12567 + einfo "For more info on this patchset, and how to report problems, see:"
12568 + einfo "${HOMEPAGE}"
12569 +}
12570 +
12571 +pkg_postrm() {
12572 + kernel-2_pkg_postrm
12573 +}
12574
12575 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.14.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.14.ebuild
12576 new file mode 100644
12577 index 0000000..f688943
12578 --- /dev/null
12579 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.14.ebuild
12580 @@ -0,0 +1,28 @@
12581 +# Copyright 1999-2018 Gentoo Authors
12582 +# Distributed under the terms of the GNU General Public License v2
12583 +
12584 +EAPI="6"
12585 +ETYPE="sources"
12586 +K_WANT_GENPATCHES="base extras experimental"
12587 +K_GENPATCHES_VER="17"
12588 +
12589 +inherit kernel-2
12590 +detect_version
12591 +detect_arch
12592 +
12593 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12594 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12595 +IUSE="experimental"
12596 +
12597 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12598 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12599 +
12600 +pkg_postinst() {
12601 + kernel-2_pkg_postinst
12602 + einfo "For more info on this patchset, and how to report problems, see:"
12603 + einfo "${HOMEPAGE}"
12604 +}
12605 +
12606 +pkg_postrm() {
12607 + kernel-2_pkg_postrm
12608 +}
12609
12610 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.15.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.15.ebuild
12611 new file mode 100644
12612 index 0000000..c44f667
12613 --- /dev/null
12614 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.15.ebuild
12615 @@ -0,0 +1,28 @@
12616 +# Copyright 1999-2018 Gentoo Authors
12617 +# Distributed under the terms of the GNU General Public License v2
12618 +
12619 +EAPI="6"
12620 +ETYPE="sources"
12621 +K_WANT_GENPATCHES="base extras experimental"
12622 +K_GENPATCHES_VER="18"
12623 +
12624 +inherit kernel-2
12625 +detect_version
12626 +detect_arch
12627 +
12628 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12629 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12630 +IUSE="experimental"
12631 +
12632 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12633 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12634 +
12635 +pkg_postinst() {
12636 + kernel-2_pkg_postinst
12637 + einfo "For more info on this patchset, and how to report problems, see:"
12638 + einfo "${HOMEPAGE}"
12639 +}
12640 +
12641 +pkg_postrm() {
12642 + kernel-2_pkg_postrm
12643 +}
12644
12645 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.16.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.16.ebuild
12646 new file mode 100644
12647 index 0000000..b608e8d
12648 --- /dev/null
12649 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.16.ebuild
12650 @@ -0,0 +1,28 @@
12651 +# Copyright 1999-2018 Gentoo Authors
12652 +# Distributed under the terms of the GNU General Public License v2
12653 +
12654 +EAPI="6"
12655 +ETYPE="sources"
12656 +K_WANT_GENPATCHES="base extras experimental"
12657 +K_GENPATCHES_VER="19"
12658 +
12659 +inherit kernel-2
12660 +detect_version
12661 +detect_arch
12662 +
12663 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12664 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12665 +IUSE="experimental"
12666 +
12667 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12668 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12669 +
12670 +pkg_postinst() {
12671 + kernel-2_pkg_postinst
12672 + einfo "For more info on this patchset, and how to report problems, see:"
12673 + einfo "${HOMEPAGE}"
12674 +}
12675 +
12676 +pkg_postrm() {
12677 + kernel-2_pkg_postrm
12678 +}
12679
12680 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.9.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.9.ebuild
12681 new file mode 100644
12682 index 0000000..5c9caf4
12683 --- /dev/null
12684 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.9.ebuild
12685 @@ -0,0 +1,28 @@
12686 +# Copyright 1999-2018 Gentoo Foundation
12687 +# Distributed under the terms of the GNU General Public License v2
12688 +
12689 +EAPI="6"
12690 +ETYPE="sources"
12691 +K_WANT_GENPATCHES="base extras experimental"
12692 +K_GENPATCHES_VER="12"
12693 +
12694 +inherit kernel-2
12695 +detect_version
12696 +detect_arch
12697 +
12698 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12699 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12700 +IUSE="experimental"
12701 +
12702 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12703 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12704 +
12705 +pkg_postinst() {
12706 + kernel-2_pkg_postinst
12707 + einfo "For more info on this patchset, and how to report problems, see:"
12708 + einfo "${HOMEPAGE}"
12709 +}
12710 +
12711 +pkg_postrm() {
12712 + kernel-2_pkg_postrm
12713 +}
12714
12715 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.19.0.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.19.0.ebuild
12716 new file mode 100644
12717 index 0000000..04abf29
12718 --- /dev/null
12719 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.19.0.ebuild
12720 @@ -0,0 +1,28 @@
12721 +# Copyright 1999-2018 Gentoo Authors
12722 +# Distributed under the terms of the GNU General Public License v2
12723 +
12724 +EAPI="6"
12725 +ETYPE="sources"
12726 +K_WANT_GENPATCHES="base extras experimental"
12727 +K_GENPATCHES_VER="1"
12728 +
12729 +inherit kernel-2
12730 +detect_version
12731 +detect_arch
12732 +
12733 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12734 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12735 +IUSE="experimental"
12736 +
12737 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12738 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12739 +
12740 +pkg_postinst() {
12741 + kernel-2_pkg_postinst
12742 + einfo "For more info on this patchset, and how to report problems, see:"
12743 + einfo "${HOMEPAGE}"
12744 +}
12745 +
12746 +pkg_postrm() {
12747 + kernel-2_pkg_postrm
12748 +}
12749
12750 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.150.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.150.ebuild
12751 new file mode 100644
12752 index 0000000..ea00a19
12753 --- /dev/null
12754 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.150.ebuild
12755 @@ -0,0 +1,28 @@
12756 +# Copyright 1999-2018 Gentoo Foundation
12757 +# Distributed under the terms of the GNU General Public License v2
12758 +
12759 +EAPI="6"
12760 +ETYPE="sources"
12761 +K_WANT_GENPATCHES="base extras experimental"
12762 +K_GENPATCHES_VER="151"
12763 +
12764 +inherit kernel-2
12765 +detect_version
12766 +detect_arch
12767 +
12768 +KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
12769 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12770 +IUSE="experimental"
12771 +
12772 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12773 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12774 +
12775 +pkg_postinst() {
12776 + kernel-2_pkg_postinst
12777 + einfo "For more info on this patchset, and how to report problems, see:"
12778 + einfo "${HOMEPAGE}"
12779 +}
12780 +
12781 +pkg_postrm() {
12782 + kernel-2_pkg_postrm
12783 +}
12784
12785 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.157.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.157.ebuild
12786 new file mode 100644
12787 index 0000000..e27b216
12788 --- /dev/null
12789 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.157.ebuild
12790 @@ -0,0 +1,28 @@
12791 +# Copyright 1999-2018 Gentoo Foundation
12792 +# Distributed under the terms of the GNU General Public License v2
12793 +
12794 +EAPI="6"
12795 +ETYPE="sources"
12796 +K_WANT_GENPATCHES="base extras experimental"
12797 +K_GENPATCHES_VER="158"
12798 +
12799 +inherit kernel-2
12800 +detect_version
12801 +detect_arch
12802 +
12803 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12804 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12805 +IUSE="experimental"
12806 +
12807 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12808 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12809 +
12810 +pkg_postinst() {
12811 + kernel-2_pkg_postinst
12812 + einfo "For more info on this patchset, and how to report problems, see:"
12813 + einfo "${HOMEPAGE}"
12814 +}
12815 +
12816 +pkg_postrm() {
12817 + kernel-2_pkg_postrm
12818 +}
12819
12820 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.159.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.159.ebuild
12821 new file mode 100644
12822 index 0000000..f7efc0c
12823 --- /dev/null
12824 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.159.ebuild
12825 @@ -0,0 +1,28 @@
12826 +# Copyright 1999-2018 Gentoo Foundation
12827 +# Distributed under the terms of the GNU General Public License v2
12828 +
12829 +EAPI="6"
12830 +ETYPE="sources"
12831 +K_WANT_GENPATCHES="base extras experimental"
12832 +K_GENPATCHES_VER="160"
12833 +
12834 +inherit kernel-2
12835 +detect_version
12836 +detect_arch
12837 +
12838 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12839 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12840 +IUSE="experimental"
12841 +
12842 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12843 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12844 +
12845 +pkg_postinst() {
12846 + kernel-2_pkg_postinst
12847 + einfo "For more info on this patchset, and how to report problems, see:"
12848 + einfo "${HOMEPAGE}"
12849 +}
12850 +
12851 +pkg_postrm() {
12852 + kernel-2_pkg_postrm
12853 +}
12854
12855 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.160.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.160.ebuild
12856 new file mode 100644
12857 index 0000000..1f07dac
12858 --- /dev/null
12859 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.160.ebuild
12860 @@ -0,0 +1,28 @@
12861 +# Copyright 1999-2018 Gentoo Authors
12862 +# Distributed under the terms of the GNU General Public License v2
12863 +
12864 +EAPI="6"
12865 +ETYPE="sources"
12866 +K_WANT_GENPATCHES="base extras experimental"
12867 +K_GENPATCHES_VER="161"
12868 +
12869 +inherit kernel-2
12870 +detect_version
12871 +detect_arch
12872 +
12873 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12874 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12875 +IUSE="experimental"
12876 +
12877 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12878 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12879 +
12880 +pkg_postinst() {
12881 + kernel-2_pkg_postinst
12882 + einfo "For more info on this patchset, and how to report problems, see:"
12883 + einfo "${HOMEPAGE}"
12884 +}
12885 +
12886 +pkg_postrm() {
12887 + kernel-2_pkg_postrm
12888 +}
12889
12890 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.161.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.161.ebuild
12891 new file mode 100644
12892 index 0000000..831ed34
12893 --- /dev/null
12894 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.161.ebuild
12895 @@ -0,0 +1,28 @@
12896 +# Copyright 1999-2018 Gentoo Authors
12897 +# Distributed under the terms of the GNU General Public License v2
12898 +
12899 +EAPI="6"
12900 +ETYPE="sources"
12901 +K_WANT_GENPATCHES="base extras experimental"
12902 +K_GENPATCHES_VER="162"
12903 +
12904 +inherit kernel-2
12905 +detect_version
12906 +detect_arch
12907 +
12908 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
12909 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12910 +IUSE="experimental"
12911 +
12912 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12913 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12914 +
12915 +pkg_postinst() {
12916 + kernel-2_pkg_postinst
12917 + einfo "For more info on this patchset, and how to report problems, see:"
12918 + einfo "${HOMEPAGE}"
12919 +}
12920 +
12921 +pkg_postrm() {
12922 + kernel-2_pkg_postrm
12923 +}
12924
12925 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.162.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.162.ebuild
12926 new file mode 100644
12927 index 0000000..41ccae5
12928 --- /dev/null
12929 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.162.ebuild
12930 @@ -0,0 +1,28 @@
12931 +# Copyright 1999-2018 Gentoo Authors
12932 +# Distributed under the terms of the GNU General Public License v2
12933 +
12934 +EAPI="6"
12935 +ETYPE="sources"
12936 +K_WANT_GENPATCHES="base extras experimental"
12937 +K_GENPATCHES_VER="163"
12938 +
12939 +inherit kernel-2
12940 +detect_version
12941 +detect_arch
12942 +
12943 +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
12944 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12945 +IUSE="experimental"
12946 +
12947 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12948 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12949 +
12950 +pkg_postinst() {
12951 + kernel-2_pkg_postinst
12952 + einfo "For more info on this patchset, and how to report problems, see:"
12953 + einfo "${HOMEPAGE}"
12954 +}
12955 +
12956 +pkg_postrm() {
12957 + kernel-2_pkg_postrm
12958 +}
12959
12960 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.122.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.122.ebuild
12961 new file mode 100644
12962 index 0000000..85771c7
12963 --- /dev/null
12964 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.122.ebuild
12965 @@ -0,0 +1,28 @@
12966 +# Copyright 1999-2018 Gentoo Foundation
12967 +# Distributed under the terms of the GNU General Public License v2
12968 +
12969 +EAPI="6"
12970 +ETYPE="sources"
12971 +K_WANT_GENPATCHES="base extras experimental"
12972 +K_GENPATCHES_VER="126"
12973 +
12974 +inherit kernel-2
12975 +detect_version
12976 +detect_arch
12977 +
12978 +KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
12979 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
12980 +IUSE="experimental"
12981 +
12982 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
12983 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
12984 +
12985 +pkg_postinst() {
12986 + kernel-2_pkg_postinst
12987 + einfo "For more info on this patchset, and how to report problems, see:"
12988 + einfo "${HOMEPAGE}"
12989 +}
12990 +
12991 +pkg_postrm() {
12992 + kernel-2_pkg_postrm
12993 +}
12994
12995 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.132.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.132.ebuild
12996 new file mode 100644
12997 index 0000000..f59eab6
12998 --- /dev/null
12999 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.132.ebuild
13000 @@ -0,0 +1,28 @@
13001 +# Copyright 1999-2018 Gentoo Authors
13002 +# Distributed under the terms of the GNU General Public License v2
13003 +
13004 +EAPI="6"
13005 +ETYPE="sources"
13006 +K_WANT_GENPATCHES="base extras experimental"
13007 +K_GENPATCHES_VER="136"
13008 +
13009 +inherit kernel-2
13010 +detect_version
13011 +detect_arch
13012 +
13013 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13014 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
13015 +IUSE="experimental"
13016 +
13017 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
13018 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13019 +
13020 +pkg_postinst() {
13021 + kernel-2_pkg_postinst
13022 + einfo "For more info on this patchset, and how to report problems, see:"
13023 + einfo "${HOMEPAGE}"
13024 +}
13025 +
13026 +pkg_postrm() {
13027 + kernel-2_pkg_postrm
13028 +}
13029
13030 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.133.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.133.ebuild
13031 new file mode 100644
13032 index 0000000..11b40a4
13033 --- /dev/null
13034 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.133.ebuild
13035 @@ -0,0 +1,28 @@
13036 +# Copyright 1999-2018 Gentoo Authors
13037 +# Distributed under the terms of the GNU General Public License v2
13038 +
13039 +EAPI="6"
13040 +ETYPE="sources"
13041 +K_WANT_GENPATCHES="base extras experimental"
13042 +K_GENPATCHES_VER="137"
13043 +
13044 +inherit kernel-2
13045 +detect_version
13046 +detect_arch
13047 +
13048 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13049 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
13050 +IUSE="experimental"
13051 +
13052 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
13053 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13054 +
13055 +pkg_postinst() {
13056 + kernel-2_pkg_postinst
13057 + einfo "For more info on this patchset, and how to report problems, see:"
13058 + einfo "${HOMEPAGE}"
13059 +}
13060 +
13061 +pkg_postrm() {
13062 + kernel-2_pkg_postrm
13063 +}
13064
13065 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.134.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.134.ebuild
13066 new file mode 100644
13067 index 0000000..1b730e9
13068 --- /dev/null
13069 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.134.ebuild
13070 @@ -0,0 +1,28 @@
13071 +# Copyright 1999-2018 Gentoo Authors
13072 +# Distributed under the terms of the GNU General Public License v2
13073 +
13074 +EAPI="6"
13075 +ETYPE="sources"
13076 +K_WANT_GENPATCHES="base extras experimental"
13077 +K_GENPATCHES_VER="138"
13078 +
13079 +inherit kernel-2
13080 +detect_version
13081 +detect_arch
13082 +
13083 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13084 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
13085 +IUSE="experimental"
13086 +
13087 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
13088 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13089 +
13090 +pkg_postinst() {
13091 + kernel-2_pkg_postinst
13092 + einfo "For more info on this patchset, and how to report problems, see:"
13093 + einfo "${HOMEPAGE}"
13094 +}
13095 +
13096 +pkg_postrm() {
13097 + kernel-2_pkg_postrm
13098 +}
13099
13100 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.135.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.135.ebuild
13101 new file mode 100644
13102 index 0000000..cac7b12
13103 --- /dev/null
13104 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.135.ebuild
13105 @@ -0,0 +1,28 @@
13106 +# Copyright 1999-2018 Gentoo Authors
13107 +# Distributed under the terms of the GNU General Public License v2
13108 +
13109 +EAPI="6"
13110 +ETYPE="sources"
13111 +K_WANT_GENPATCHES="base extras experimental"
13112 +K_GENPATCHES_VER="139"
13113 +
13114 +inherit kernel-2
13115 +detect_version
13116 +detect_arch
13117 +
13118 +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
13119 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
13120 +IUSE="experimental"
13121 +
13122 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
13123 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13124 +
13125 +pkg_postinst() {
13126 + kernel-2_pkg_postinst
13127 + einfo "For more info on this patchset, and how to report problems, see:"
13128 + einfo "${HOMEPAGE}"
13129 +}
13130 +
13131 +pkg_postrm() {
13132 + kernel-2_pkg_postrm
13133 +}
13134
13135 diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.49-r1.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.49-r1.ebuild
13136 new file mode 100644
13137 index 0000000..2d7ca65
13138 --- /dev/null
13139 +++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.49-r1.ebuild
13140 @@ -0,0 +1,28 @@
13141 +# Copyright 1999-2018 Gentoo Authors
13142 +# Distributed under the terms of the GNU General Public License v2
13143 +
13144 +EAPI="6"
13145 +ETYPE="sources"
13146 +K_WANT_GENPATCHES="base extras experimental"
13147 +K_GENPATCHES_VER="51"
13148 +
13149 +inherit kernel-2
13150 +detect_version
13151 +detect_arch
13152 +
13153 +KEYWORDS="sparc"
13154 +HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
13155 +IUSE="experimental"
13156 +
13157 +DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
13158 +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13159 +
13160 +pkg_postinst() {
13161 + kernel-2_pkg_postinst
13162 + einfo "For more info on this patchset, and how to report problems, see:"
13163 + einfo "${HOMEPAGE}"
13164 +}
13165 +
13166 +pkg_postrm() {
13167 + kernel-2_pkg_postrm
13168 +}
13169
13170 diff --git a/sys-kernel/gentoo-sources/metadata.xml b/sys-kernel/gentoo-sources/metadata.xml
13171 new file mode 100644
13172 index 0000000..93b88c1
13173 --- /dev/null
13174 +++ b/sys-kernel/gentoo-sources/metadata.xml
13175 @@ -0,0 +1,14 @@
13176 +<?xml version="1.0" encoding="UTF-8"?>
13177 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
13178 +<pkgmetadata>
13179 +<maintainer type="project">
13180 + <email>kernel@g.o</email>
13181 + <name>Gentoo Kernel Project</name>
13182 +</maintainer>
13183 +<use>
13184 + <flag name="experimental">Apply experimental patches; for more information, see "https://wiki.gentoo.org/wiki/Project:Kernel/Experimental".</flag>
13185 +</use>
13186 +<upstream>
13187 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
13188 +</upstream>
13189 +</pkgmetadata>
13190
13191 diff --git a/sys-kernel/git-sources/git-sources-4.19_rc1.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc1.ebuild
13192 new file mode 100644
13193 index 0000000..d03b0ba
13194 --- /dev/null
13195 +++ b/sys-kernel/git-sources/git-sources-4.19_rc1.ebuild
13196 @@ -0,0 +1,40 @@
13197 +# Copyright 1999-2018 Gentoo Foundation
13198 +# Distributed under the terms of the GNU General Public License v2
13199 +
13200 +EAPI="6"
13201 +UNIPATCH_STRICTORDER="yes"
13202 +K_NOUSENAME="yes"
13203 +K_NOSETEXTRAVERSION="yes"
13204 +K_NOUSEPR="yes"
13205 +K_SECURITY_UNSUPPORTED="1"
13206 +K_BASE_VER="4.18"
13207 +K_EXP_GENPATCHES_NOUSE="1"
13208 +K_FROM_GIT="yes"
13209 +ETYPE="sources"
13210 +CKV="${PVR/-r/-git}"
13211 +
13212 +# only use this if it's not an _rc/_pre release
13213 +[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
13214 +inherit kernel-2
13215 +detect_version
13216 +
13217 +DESCRIPTION="The very latest -git version of the Linux kernel"
13218 +HOMEPAGE="https://www.kernel.org"
13219 +SRC_URI="${KERNEL_URI}"
13220 +
13221 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13222 +IUSE=""
13223 +
13224 +K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
13225 +experimental nature. If you have any issues, try a matching vanilla-sources
13226 +ebuild -- if the problem is not there, please contact the upstream kernel
13227 +developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
13228 +report the problem so it can be fixed in time for the next kernel release."
13229 +
13230 +RDEPEND=""
13231 +DEPEND="${RDEPEND}
13232 + >=sys-devel/patch-2.7.5"
13233 +
13234 +pkg_postinst() {
13235 + postinst_sources
13236 +}
13237
13238 diff --git a/sys-kernel/git-sources/git-sources-4.19_rc2.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc2.ebuild
13239 new file mode 100644
13240 index 0000000..d03b0ba
13241 --- /dev/null
13242 +++ b/sys-kernel/git-sources/git-sources-4.19_rc2.ebuild
13243 @@ -0,0 +1,40 @@
13244 +# Copyright 1999-2018 Gentoo Foundation
13245 +# Distributed under the terms of the GNU General Public License v2
13246 +
13247 +EAPI="6"
13248 +UNIPATCH_STRICTORDER="yes"
13249 +K_NOUSENAME="yes"
13250 +K_NOSETEXTRAVERSION="yes"
13251 +K_NOUSEPR="yes"
13252 +K_SECURITY_UNSUPPORTED="1"
13253 +K_BASE_VER="4.18"
13254 +K_EXP_GENPATCHES_NOUSE="1"
13255 +K_FROM_GIT="yes"
13256 +ETYPE="sources"
13257 +CKV="${PVR/-r/-git}"
13258 +
13259 +# only use this if it's not an _rc/_pre release
13260 +[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
13261 +inherit kernel-2
13262 +detect_version
13263 +
13264 +DESCRIPTION="The very latest -git version of the Linux kernel"
13265 +HOMEPAGE="https://www.kernel.org"
13266 +SRC_URI="${KERNEL_URI}"
13267 +
13268 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13269 +IUSE=""
13270 +
13271 +K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
13272 +experimental nature. If you have any issues, try a matching vanilla-sources
13273 +ebuild -- if the problem is not there, please contact the upstream kernel
13274 +developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
13275 +report the problem so it can be fixed in time for the next kernel release."
13276 +
13277 +RDEPEND=""
13278 +DEPEND="${RDEPEND}
13279 + >=sys-devel/patch-2.7.5"
13280 +
13281 +pkg_postinst() {
13282 + postinst_sources
13283 +}
13284
13285 diff --git a/sys-kernel/git-sources/git-sources-4.19_rc3.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc3.ebuild
13286 new file mode 100644
13287 index 0000000..d03b0ba
13288 --- /dev/null
13289 +++ b/sys-kernel/git-sources/git-sources-4.19_rc3.ebuild
13290 @@ -0,0 +1,40 @@
13291 +# Copyright 1999-2018 Gentoo Foundation
13292 +# Distributed under the terms of the GNU General Public License v2
13293 +
13294 +EAPI="6"
13295 +UNIPATCH_STRICTORDER="yes"
13296 +K_NOUSENAME="yes"
13297 +K_NOSETEXTRAVERSION="yes"
13298 +K_NOUSEPR="yes"
13299 +K_SECURITY_UNSUPPORTED="1"
13300 +K_BASE_VER="4.18"
13301 +K_EXP_GENPATCHES_NOUSE="1"
13302 +K_FROM_GIT="yes"
13303 +ETYPE="sources"
13304 +CKV="${PVR/-r/-git}"
13305 +
13306 +# only use this if it's not an _rc/_pre release
13307 +[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
13308 +inherit kernel-2
13309 +detect_version
13310 +
13311 +DESCRIPTION="The very latest -git version of the Linux kernel"
13312 +HOMEPAGE="https://www.kernel.org"
13313 +SRC_URI="${KERNEL_URI}"
13314 +
13315 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13316 +IUSE=""
13317 +
13318 +K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
13319 +experimental nature. If you have any issues, try a matching vanilla-sources
13320 +ebuild -- if the problem is not there, please contact the upstream kernel
13321 +developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
13322 +report the problem so it can be fixed in time for the next kernel release."
13323 +
13324 +RDEPEND=""
13325 +DEPEND="${RDEPEND}
13326 + >=sys-devel/patch-2.7.5"
13327 +
13328 +pkg_postinst() {
13329 + postinst_sources
13330 +}
13331
13332 diff --git a/sys-kernel/git-sources/git-sources-4.19_rc4.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc4.ebuild
13333 new file mode 100644
13334 index 0000000..d03b0ba
13335 --- /dev/null
13336 +++ b/sys-kernel/git-sources/git-sources-4.19_rc4.ebuild
13337 @@ -0,0 +1,40 @@
13338 +# Copyright 1999-2018 Gentoo Foundation
13339 +# Distributed under the terms of the GNU General Public License v2
13340 +
13341 +EAPI="6"
13342 +UNIPATCH_STRICTORDER="yes"
13343 +K_NOUSENAME="yes"
13344 +K_NOSETEXTRAVERSION="yes"
13345 +K_NOUSEPR="yes"
13346 +K_SECURITY_UNSUPPORTED="1"
13347 +K_BASE_VER="4.18"
13348 +K_EXP_GENPATCHES_NOUSE="1"
13349 +K_FROM_GIT="yes"
13350 +ETYPE="sources"
13351 +CKV="${PVR/-r/-git}"
13352 +
13353 +# only use this if it's not an _rc/_pre release
13354 +[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
13355 +inherit kernel-2
13356 +detect_version
13357 +
13358 +DESCRIPTION="The very latest -git version of the Linux kernel"
13359 +HOMEPAGE="https://www.kernel.org"
13360 +SRC_URI="${KERNEL_URI}"
13361 +
13362 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13363 +IUSE=""
13364 +
13365 +K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
13366 +experimental nature. If you have any issues, try a matching vanilla-sources
13367 +ebuild -- if the problem is not there, please contact the upstream kernel
13368 +developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
13369 +report the problem so it can be fixed in time for the next kernel release."
13370 +
13371 +RDEPEND=""
13372 +DEPEND="${RDEPEND}
13373 + >=sys-devel/patch-2.7.5"
13374 +
13375 +pkg_postinst() {
13376 + postinst_sources
13377 +}
13378
13379 diff --git a/sys-kernel/git-sources/git-sources-4.19_rc5.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc5.ebuild
13380 new file mode 100644
13381 index 0000000..d03b0ba
13382 --- /dev/null
13383 +++ b/sys-kernel/git-sources/git-sources-4.19_rc5.ebuild
13384 @@ -0,0 +1,40 @@
13385 +# Copyright 1999-2018 Gentoo Foundation
13386 +# Distributed under the terms of the GNU General Public License v2
13387 +
13388 +EAPI="6"
13389 +UNIPATCH_STRICTORDER="yes"
13390 +K_NOUSENAME="yes"
13391 +K_NOSETEXTRAVERSION="yes"
13392 +K_NOUSEPR="yes"
13393 +K_SECURITY_UNSUPPORTED="1"
13394 +K_BASE_VER="4.18"
13395 +K_EXP_GENPATCHES_NOUSE="1"
13396 +K_FROM_GIT="yes"
13397 +ETYPE="sources"
13398 +CKV="${PVR/-r/-git}"
13399 +
13400 +# only use this if it's not an _rc/_pre release
13401 +[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
13402 +inherit kernel-2
13403 +detect_version
13404 +
13405 +DESCRIPTION="The very latest -git version of the Linux kernel"
13406 +HOMEPAGE="https://www.kernel.org"
13407 +SRC_URI="${KERNEL_URI}"
13408 +
13409 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13410 +IUSE=""
13411 +
13412 +K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
13413 +experimental nature. If you have any issues, try a matching vanilla-sources
13414 +ebuild -- if the problem is not there, please contact the upstream kernel
13415 +developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
13416 +report the problem so it can be fixed in time for the next kernel release."
13417 +
13418 +RDEPEND=""
13419 +DEPEND="${RDEPEND}
13420 + >=sys-devel/patch-2.7.5"
13421 +
13422 +pkg_postinst() {
13423 + postinst_sources
13424 +}
13425
13426 diff --git a/sys-kernel/git-sources/git-sources-4.19_rc6.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc6.ebuild
13427 new file mode 100644
13428 index 0000000..d03b0ba
13429 --- /dev/null
13430 +++ b/sys-kernel/git-sources/git-sources-4.19_rc6.ebuild
13431 @@ -0,0 +1,40 @@
13432 +# Copyright 1999-2018 Gentoo Foundation
13433 +# Distributed under the terms of the GNU General Public License v2
13434 +
13435 +EAPI="6"
13436 +UNIPATCH_STRICTORDER="yes"
13437 +K_NOUSENAME="yes"
13438 +K_NOSETEXTRAVERSION="yes"
13439 +K_NOUSEPR="yes"
13440 +K_SECURITY_UNSUPPORTED="1"
13441 +K_BASE_VER="4.18"
13442 +K_EXP_GENPATCHES_NOUSE="1"
13443 +K_FROM_GIT="yes"
13444 +ETYPE="sources"
13445 +CKV="${PVR/-r/-git}"
13446 +
13447 +# only use this if it's not an _rc/_pre release
13448 +[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
13449 +inherit kernel-2
13450 +detect_version
13451 +
13452 +DESCRIPTION="The very latest -git version of the Linux kernel"
13453 +HOMEPAGE="https://www.kernel.org"
13454 +SRC_URI="${KERNEL_URI}"
13455 +
13456 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13457 +IUSE=""
13458 +
13459 +K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
13460 +experimental nature. If you have any issues, try a matching vanilla-sources
13461 +ebuild -- if the problem is not there, please contact the upstream kernel
13462 +developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
13463 +report the problem so it can be fixed in time for the next kernel release."
13464 +
13465 +RDEPEND=""
13466 +DEPEND="${RDEPEND}
13467 + >=sys-devel/patch-2.7.5"
13468 +
13469 +pkg_postinst() {
13470 + postinst_sources
13471 +}
13472
13473 diff --git a/sys-kernel/git-sources/git-sources-4.19_rc7.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc7.ebuild
13474 new file mode 100644
13475 index 0000000..73fcf5f
13476 --- /dev/null
13477 +++ b/sys-kernel/git-sources/git-sources-4.19_rc7.ebuild
13478 @@ -0,0 +1,40 @@
13479 +# Copyright 1999-2018 Gentoo Authors
13480 +# Distributed under the terms of the GNU General Public License v2
13481 +
13482 +EAPI="6"
13483 +UNIPATCH_STRICTORDER="yes"
13484 +K_NOUSENAME="yes"
13485 +K_NOSETEXTRAVERSION="yes"
13486 +K_NOUSEPR="yes"
13487 +K_SECURITY_UNSUPPORTED="1"
13488 +K_BASE_VER="4.18"
13489 +K_EXP_GENPATCHES_NOUSE="1"
13490 +K_FROM_GIT="yes"
13491 +ETYPE="sources"
13492 +CKV="${PVR/-r/-git}"
13493 +
13494 +# only use this if it's not an _rc/_pre release
13495 +[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
13496 +inherit kernel-2
13497 +detect_version
13498 +
13499 +DESCRIPTION="The very latest -git version of the Linux kernel"
13500 +HOMEPAGE="https://www.kernel.org"
13501 +SRC_URI="${KERNEL_URI}"
13502 +
13503 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13504 +IUSE=""
13505 +
13506 +K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
13507 +experimental nature. If you have any issues, try a matching vanilla-sources
13508 +ebuild -- if the problem is not there, please contact the upstream kernel
13509 +developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
13510 +report the problem so it can be fixed in time for the next kernel release."
13511 +
13512 +RDEPEND=""
13513 +DEPEND="${RDEPEND}
13514 + >=sys-devel/patch-2.7.5"
13515 +
13516 +pkg_postinst() {
13517 + postinst_sources
13518 +}
13519
13520 diff --git a/sys-kernel/git-sources/git-sources-4.19_rc8.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc8.ebuild
13521 new file mode 100644
13522 index 0000000..73fcf5f
13523 --- /dev/null
13524 +++ b/sys-kernel/git-sources/git-sources-4.19_rc8.ebuild
13525 @@ -0,0 +1,40 @@
13526 +# Copyright 1999-2018 Gentoo Authors
13527 +# Distributed under the terms of the GNU General Public License v2
13528 +
13529 +EAPI="6"
13530 +UNIPATCH_STRICTORDER="yes"
13531 +K_NOUSENAME="yes"
13532 +K_NOSETEXTRAVERSION="yes"
13533 +K_NOUSEPR="yes"
13534 +K_SECURITY_UNSUPPORTED="1"
13535 +K_BASE_VER="4.18"
13536 +K_EXP_GENPATCHES_NOUSE="1"
13537 +K_FROM_GIT="yes"
13538 +ETYPE="sources"
13539 +CKV="${PVR/-r/-git}"
13540 +
13541 +# only use this if it's not an _rc/_pre release
13542 +[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
13543 +inherit kernel-2
13544 +detect_version
13545 +
13546 +DESCRIPTION="The very latest -git version of the Linux kernel"
13547 +HOMEPAGE="https://www.kernel.org"
13548 +SRC_URI="${KERNEL_URI}"
13549 +
13550 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
13551 +IUSE=""
13552 +
13553 +K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
13554 +experimental nature. If you have any issues, try a matching vanilla-sources
13555 +ebuild -- if the problem is not there, please contact the upstream kernel
13556 +developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
13557 +report the problem so it can be fixed in time for the next kernel release."
13558 +
13559 +RDEPEND=""
13560 +DEPEND="${RDEPEND}
13561 + >=sys-devel/patch-2.7.5"
13562 +
13563 +pkg_postinst() {
13564 + postinst_sources
13565 +}
13566
13567 diff --git a/sys-kernel/git-sources/metadata.xml b/sys-kernel/git-sources/metadata.xml
13568 new file mode 100644
13569 index 0000000..11fe6b1
13570 --- /dev/null
13571 +++ b/sys-kernel/git-sources/metadata.xml
13572 @@ -0,0 +1,18 @@
13573 +<?xml version="1.0" encoding="UTF-8"?>
13574 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
13575 +<pkgmetadata>
13576 + <maintainer type="person">
13577 + <email>mpagano@g.o</email>
13578 + <name>Mike Pagano</name>
13579 + </maintainer>
13580 + <maintainer type="project">
13581 + <email>kernel@g.o</email>
13582 + <name>Gentoo Kernel Project</name>
13583 + </maintainer>
13584 + <longdescription>
13585 + -git sources sources, for people who like to have the absolute latest kernel available
13586 + </longdescription>
13587 + <upstream>
13588 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
13589 + </upstream>
13590 +</pkgmetadata>
13591
13592 diff --git a/sys-kernel/hardened-sources/hardened-sources-4.8.17-r2.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.8.17-r2.ebuild
13593 new file mode 100644
13594 index 0000000..5d34dcc
13595 --- /dev/null
13596 +++ b/sys-kernel/hardened-sources/hardened-sources-4.8.17-r2.ebuild
13597 @@ -0,0 +1,44 @@
13598 +# Copyright 1999-2018 Gentoo Foundation
13599 +# Distributed under the terms of the GNU General Public License v2
13600 +
13601 +EAPI="5"
13602 +
13603 +ETYPE="sources"
13604 +K_WANT_GENPATCHES="base"
13605 +K_GENPATCHES_VER="18"
13606 +K_DEBLOB_AVAILABLE="1"
13607 +
13608 +inherit kernel-2
13609 +detect_version
13610 +
13611 +HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-3"
13612 +HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
13613 +SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13614 +
13615 +UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
13616 +UNIPATCH_EXCLUDE="
13617 + 1500_XATTR_USER_PREFIX.patch
13618 + 2900_dev-root-proc-mount-fix.patch"
13619 +
13620 +DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
13621 +HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
13622 +IUSE="deblob"
13623 +
13624 +KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
13625 +
13626 +RDEPEND=">=sys-devel/gcc-4.5"
13627 +
13628 +pkg_postinst() {
13629 + kernel-2_pkg_postinst
13630 +
13631 + local GRADM_COMPAT="sys-apps/gradm-3.1*"
13632 +
13633 + ewarn
13634 + ewarn "Users of grsecurity's RBAC system must ensure they are using"
13635 + ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
13636 + ewarn "It is strongly recommended that the following command is issued"
13637 + ewarn "prior to booting a ${PF} kernel for the first time:"
13638 + ewarn
13639 + ewarn "emerge -na =${GRADM_COMPAT}"
13640 + ewarn
13641 +}
13642
13643 diff --git a/sys-kernel/hardened-sources/hardened-sources-4.9.21.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.9.21.ebuild
13644 new file mode 100644
13645 index 0000000..4193a24
13646 --- /dev/null
13647 +++ b/sys-kernel/hardened-sources/hardened-sources-4.9.21.ebuild
13648 @@ -0,0 +1,45 @@
13649 +# Copyright 1999-2018 Gentoo Foundation
13650 +# Distributed under the terms of the GNU General Public License v2
13651 +
13652 +EAPI="5"
13653 +
13654 +ETYPE="sources"
13655 +K_WANT_GENPATCHES="base"
13656 +K_GENPATCHES_VER="21"
13657 +K_DEBLOB_AVAILABLE="1"
13658 +
13659 +inherit kernel-2
13660 +detect_version
13661 +
13662 +HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-1"
13663 +HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
13664 +SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13665 +
13666 +UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
13667 +UNIPATCH_EXCLUDE="
13668 + 1500_XATTR_USER_PREFIX.patch
13669 + 1520_CVE-2017-6074-dccp-skb-freeing-fix.patch
13670 + 2900_dev-root-proc-mount-fix.patch"
13671 +
13672 +DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
13673 +HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
13674 +IUSE="deblob"
13675 +
13676 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
13677 +
13678 +RDEPEND=">=sys-devel/gcc-4.5"
13679 +
13680 +pkg_postinst() {
13681 + kernel-2_pkg_postinst
13682 +
13683 + local GRADM_COMPAT="sys-apps/gradm-3.1*"
13684 +
13685 + ewarn
13686 + ewarn "Users of grsecurity's RBAC system must ensure they are using"
13687 + ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
13688 + ewarn "It is strongly recommended that the following command is issued"
13689 + ewarn "prior to booting a ${PF} kernel for the first time:"
13690 + ewarn
13691 + ewarn "emerge -na =${GRADM_COMPAT}"
13692 + ewarn
13693 +}
13694
13695 diff --git a/sys-kernel/hardened-sources/hardened-sources-4.9.22.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.9.22.ebuild
13696 new file mode 100644
13697 index 0000000..61595d9
13698 --- /dev/null
13699 +++ b/sys-kernel/hardened-sources/hardened-sources-4.9.22.ebuild
13700 @@ -0,0 +1,45 @@
13701 +# Copyright 1999-2018 Gentoo Foundation
13702 +# Distributed under the terms of the GNU General Public License v2
13703 +
13704 +EAPI="5"
13705 +
13706 +ETYPE="sources"
13707 +K_WANT_GENPATCHES="base"
13708 +K_GENPATCHES_VER="23"
13709 +K_DEBLOB_AVAILABLE="1"
13710 +
13711 +inherit kernel-2
13712 +detect_version
13713 +
13714 +HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-1"
13715 +HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
13716 +SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13717 +
13718 +UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
13719 +UNIPATCH_EXCLUDE="
13720 + 1500_XATTR_USER_PREFIX.patch
13721 + 1520_CVE-2017-6074-dccp-skb-freeing-fix.patch
13722 + 2900_dev-root-proc-mount-fix.patch"
13723 +
13724 +DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
13725 +HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
13726 +IUSE="deblob"
13727 +
13728 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
13729 +
13730 +RDEPEND=">=sys-devel/gcc-4.5"
13731 +
13732 +pkg_postinst() {
13733 + kernel-2_pkg_postinst
13734 +
13735 + local GRADM_COMPAT="sys-apps/gradm-3.1*"
13736 +
13737 + ewarn
13738 + ewarn "Users of grsecurity's RBAC system must ensure they are using"
13739 + ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
13740 + ewarn "It is strongly recommended that the following command is issued"
13741 + ewarn "prior to booting a ${PF} kernel for the first time:"
13742 + ewarn
13743 + ewarn "emerge -na =${GRADM_COMPAT}"
13744 + ewarn
13745 +}
13746
13747 diff --git a/sys-kernel/hardened-sources/hardened-sources-4.9.23.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.9.23.ebuild
13748 new file mode 100644
13749 index 0000000..61595d9
13750 --- /dev/null
13751 +++ b/sys-kernel/hardened-sources/hardened-sources-4.9.23.ebuild
13752 @@ -0,0 +1,45 @@
13753 +# Copyright 1999-2018 Gentoo Foundation
13754 +# Distributed under the terms of the GNU General Public License v2
13755 +
13756 +EAPI="5"
13757 +
13758 +ETYPE="sources"
13759 +K_WANT_GENPATCHES="base"
13760 +K_GENPATCHES_VER="23"
13761 +K_DEBLOB_AVAILABLE="1"
13762 +
13763 +inherit kernel-2
13764 +detect_version
13765 +
13766 +HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-1"
13767 +HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
13768 +SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13769 +
13770 +UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
13771 +UNIPATCH_EXCLUDE="
13772 + 1500_XATTR_USER_PREFIX.patch
13773 + 1520_CVE-2017-6074-dccp-skb-freeing-fix.patch
13774 + 2900_dev-root-proc-mount-fix.patch"
13775 +
13776 +DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
13777 +HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
13778 +IUSE="deblob"
13779 +
13780 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
13781 +
13782 +RDEPEND=">=sys-devel/gcc-4.5"
13783 +
13784 +pkg_postinst() {
13785 + kernel-2_pkg_postinst
13786 +
13787 + local GRADM_COMPAT="sys-apps/gradm-3.1*"
13788 +
13789 + ewarn
13790 + ewarn "Users of grsecurity's RBAC system must ensure they are using"
13791 + ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
13792 + ewarn "It is strongly recommended that the following command is issued"
13793 + ewarn "prior to booting a ${PF} kernel for the first time:"
13794 + ewarn
13795 + ewarn "emerge -na =${GRADM_COMPAT}"
13796 + ewarn
13797 +}
13798
13799 diff --git a/sys-kernel/hardened-sources/hardened-sources-4.9.24.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.9.24.ebuild
13800 new file mode 100644
13801 index 0000000..a4ff537
13802 --- /dev/null
13803 +++ b/sys-kernel/hardened-sources/hardened-sources-4.9.24.ebuild
13804 @@ -0,0 +1,45 @@
13805 +# Copyright 1999-2018 Gentoo Foundation
13806 +# Distributed under the terms of the GNU General Public License v2
13807 +
13808 +EAPI="5"
13809 +
13810 +ETYPE="sources"
13811 +K_WANT_GENPATCHES="base"
13812 +K_GENPATCHES_VER="24"
13813 +K_DEBLOB_AVAILABLE="1"
13814 +
13815 +inherit kernel-2
13816 +detect_version
13817 +
13818 +HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-1"
13819 +HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
13820 +SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
13821 +
13822 +UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
13823 +UNIPATCH_EXCLUDE="
13824 + 1500_XATTR_USER_PREFIX.patch
13825 + 1520_CVE-2017-6074-dccp-skb-freeing-fix.patch
13826 + 2900_dev-root-proc-mount-fix.patch"
13827 +
13828 +DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
13829 +HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
13830 +IUSE="deblob"
13831 +
13832 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
13833 +
13834 +RDEPEND=">=sys-devel/gcc-4.5"
13835 +
13836 +pkg_postinst() {
13837 + kernel-2_pkg_postinst
13838 +
13839 + local GRADM_COMPAT="sys-apps/gradm-3.1*"
13840 +
13841 + ewarn
13842 + ewarn "Users of grsecurity's RBAC system must ensure they are using"
13843 + ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
13844 + ewarn "It is strongly recommended that the following command is issued"
13845 + ewarn "prior to booting a ${PF} kernel for the first time:"
13846 + ewarn
13847 + ewarn "emerge -na =${GRADM_COMPAT}"
13848 + ewarn
13849 +}
13850
13851 diff --git a/sys-kernel/hardened-sources/metadata.xml b/sys-kernel/hardened-sources/metadata.xml
13852 new file mode 100644
13853 index 0000000..ac63d4d
13854 --- /dev/null
13855 +++ b/sys-kernel/hardened-sources/metadata.xml
13856 @@ -0,0 +1,23 @@
13857 +<?xml version="1.0" encoding="UTF-8"?>
13858 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
13859 +<pkgmetadata>
13860 + <maintainer type="person">
13861 + <email>blueness@g.o</email>
13862 + <name>Anthony G. Basile</name>
13863 + </maintainer>
13864 + <maintainer type="project">
13865 + <email>kernel@g.o</email>
13866 + <name>Gentoo Kernel Project</name>
13867 + </maintainer>
13868 + <maintainer type="project">
13869 + <email>hardened@g.o</email>
13870 + <name>Gentoo Hardened</name>
13871 + </maintainer>
13872 + <longdescription>
13873 + hardened-sources is based upon genpatches, and adds the grsecurity
13874 + patch from https://www.grsecurity.net, which also includes PaX.
13875 + </longdescription>
13876 + <use>
13877 + <flag name="deblob">Remove binary blobs from kernel sources to provide libre license compliance.</flag>
13878 + </use>
13879 +</pkgmetadata>
13880
13881 diff --git a/sys-kernel/kergen/kergen-0.1.3.ebuild b/sys-kernel/kergen/kergen-0.1.3.ebuild
13882 new file mode 100644
13883 index 0000000..2f948cd
13884 --- /dev/null
13885 +++ b/sys-kernel/kergen/kergen-0.1.3.ebuild
13886 @@ -0,0 +1,17 @@
13887 +# Copyright 1999-2015 Gentoo Foundation
13888 +# Distributed under the terms of the GNU General Public License v2
13889 +
13890 +EAPI=5
13891 +
13892 +PYTHON_COMPAT=( python3_4 )
13893 +
13894 +inherit distutils-r1
13895 +
13896 +DESCRIPTION="Kernel config generator"
13897 +HOMEPAGE="https://github.com/nichoski/kergen"
13898 +SRC_URI="http://whatishacking.org/${PN}/downloads/${P}.tar.gz"
13899 +
13900 +LICENSE="Apache-2.0"
13901 +SLOT="0"
13902 +KEYWORDS="~amd64 ~x86"
13903 +IUSE=""
13904
13905 diff --git a/sys-kernel/kergen/kergen-0.1.4.ebuild b/sys-kernel/kergen/kergen-0.1.4.ebuild
13906 new file mode 100644
13907 index 0000000..5cc81c8
13908 --- /dev/null
13909 +++ b/sys-kernel/kergen/kergen-0.1.4.ebuild
13910 @@ -0,0 +1,17 @@
13911 +# Copyright 1999-2018 Gentoo Foundation
13912 +# Distributed under the terms of the GNU General Public License v2
13913 +
13914 +EAPI=6
13915 +
13916 +PYTHON_COMPAT=( python3_{4,5,6} )
13917 +
13918 +inherit distutils-r1
13919 +
13920 +DESCRIPTION="Kernel config generator"
13921 +HOMEPAGE="https://github.com/nichoski/kergen"
13922 +SRC_URI="http://whatishacking.org/${PN}/downloads/${P}.tar.gz"
13923 +
13924 +LICENSE="Apache-2.0"
13925 +SLOT="0"
13926 +KEYWORDS="~amd64 ~x86"
13927 +IUSE=""
13928
13929 diff --git a/sys-kernel/kergen/metadata.xml b/sys-kernel/kergen/metadata.xml
13930 new file mode 100644
13931 index 0000000..fcfb75e
13932 --- /dev/null
13933 +++ b/sys-kernel/kergen/metadata.xml
13934 @@ -0,0 +1,11 @@
13935 +<?xml version="1.0" encoding="UTF-8"?>
13936 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
13937 +<pkgmetadata>
13938 + <maintainer type="person">
13939 + <email>jlec@g.o</email>
13940 + <name>Justin Lecher</name>
13941 + </maintainer>
13942 + <upstream>
13943 + <remote-id type="github">nichoski/kergen</remote-id>
13944 + </upstream>
13945 +</pkgmetadata>
13946
13947 diff --git a/sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild b/sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild
13948 new file mode 100644
13949 index 0000000..2dae0d7
13950 --- /dev/null
13951 +++ b/sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild
13952 @@ -0,0 +1,76 @@
13953 +# Copyright 1999-2017 Gentoo Foundation
13954 +# Distributed under the terms of the GNU General Public License v2
13955 +
13956 +EAPI="6"
13957 +
13958 +inherit linux-info linux-mod flag-o-matic
13959 +
13960 +if [[ "${PV}" == "9999" ]]; then
13961 + inherit git-r3
13962 + EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
13963 +else
13964 + SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
13965 + KEYWORDS="~amd64"
13966 +fi
13967 +
13968 +DESCRIPTION="Dynamic kernel patching for Linux"
13969 +HOMEPAGE="https://github.com/dynup/kpatch"
13970 +
13971 +LICENSE="GPL-2+"
13972 +SLOT="0"
13973 +IUSE="examples +modules test"
13974 +
13975 +RDEPEND="
13976 + app-crypt/pesign
13977 + dev-libs/openssl:0=
13978 + sys-libs/zlib
13979 + sys-apps/pciutils
13980 +"
13981 +
13982 +DEPEND="
13983 + ${RDEPEND}
13984 + dev-libs/elfutils
13985 + sys-devel/bison
13986 +"
13987 +
13988 +pkg_pretend() {
13989 + if kernel_is gt 3 9 0; then
13990 + if ! linux_config_exists; then
13991 + eerror "Unable to check the currently running kernel for kpatch support"
13992 + eerror "Please be sure a .config file is available in the kernel src dir"
13993 + eerror "and ensure the kernel has been built."
13994 + else
13995 + # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
13996 + CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
13997 + ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
13998 + ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
13999 + ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
14000 + ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
14001 + ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
14002 + fi
14003 + else
14004 + eerror
14005 + eerror "kpatch is not available for Linux kernels below 4.0.0"
14006 + eerror
14007 + die "Upgrade the kernel sources before installing kpatch."
14008 + fi
14009 +
14010 + check_extra_config
14011 +}
14012 +
14013 +src_prepare() {
14014 + replace-flags '-O?' '-O1'
14015 + default
14016 +}
14017 +
14018 +src_compile() {
14019 + set_arch_to_kernel
14020 + emake all
14021 +}
14022 +
14023 +src_install() {
14024 + set_arch_to_kernel
14025 + emake DESTDIR="${D}" PREFIX="/usr" install
14026 +
14027 + einstalldocs
14028 +}
14029
14030 diff --git a/sys-kernel/kpatch/kpatch-0.6.0.ebuild b/sys-kernel/kpatch/kpatch-0.6.0.ebuild
14031 new file mode 100644
14032 index 0000000..e9cdeb7
14033 --- /dev/null
14034 +++ b/sys-kernel/kpatch/kpatch-0.6.0.ebuild
14035 @@ -0,0 +1,76 @@
14036 +# Copyright 1999-2018 Gentoo Foundation
14037 +# Distributed under the terms of the GNU General Public License v2
14038 +
14039 +EAPI="6"
14040 +
14041 +inherit linux-info linux-mod flag-o-matic
14042 +
14043 +if [[ "${PV}" == "9999" ]]; then
14044 + inherit git-r3
14045 + EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
14046 +else
14047 + SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
14048 + KEYWORDS="~amd64"
14049 +fi
14050 +
14051 +DESCRIPTION="Dynamic kernel patching for Linux"
14052 +HOMEPAGE="https://github.com/dynup/kpatch"
14053 +
14054 +LICENSE="GPL-2+"
14055 +SLOT="0"
14056 +IUSE="examples +modules test"
14057 +
14058 +RDEPEND="
14059 + app-crypt/pesign
14060 + dev-libs/openssl:0=
14061 + sys-libs/zlib
14062 + sys-apps/pciutils
14063 +"
14064 +
14065 +DEPEND="
14066 + ${RDEPEND}
14067 + dev-libs/elfutils
14068 + sys-devel/bison
14069 +"
14070 +
14071 +pkg_pretend() {
14072 + if kernel_is gt 3 9 0; then
14073 + if ! linux_config_exists; then
14074 + eerror "Unable to check the currently running kernel for kpatch support"
14075 + eerror "Please be sure a .config file is available in the kernel src dir"
14076 + eerror "and ensure the kernel has been built."
14077 + else
14078 + # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
14079 + CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
14080 + ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
14081 + ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
14082 + ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
14083 + ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
14084 + ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
14085 + fi
14086 + else
14087 + eerror
14088 + eerror "kpatch is not available for Linux kernels below 4.0.0"
14089 + eerror
14090 + die "Upgrade the kernel sources before installing kpatch."
14091 + fi
14092 +
14093 + check_extra_config
14094 +}
14095 +
14096 +src_prepare() {
14097 + replace-flags '-O?' '-O1'
14098 + default
14099 +}
14100 +
14101 +src_compile() {
14102 + set_arch_to_kernel
14103 + emake all
14104 +}
14105 +
14106 +src_install() {
14107 + set_arch_to_kernel
14108 + emake DESTDIR="${D}" PREFIX="/usr" install
14109 +
14110 + einstalldocs
14111 +}
14112
14113 diff --git a/sys-kernel/kpatch/kpatch-0.6.2.ebuild b/sys-kernel/kpatch/kpatch-0.6.2.ebuild
14114 new file mode 100644
14115 index 0000000..e9cdeb7
14116 --- /dev/null
14117 +++ b/sys-kernel/kpatch/kpatch-0.6.2.ebuild
14118 @@ -0,0 +1,76 @@
14119 +# Copyright 1999-2018 Gentoo Foundation
14120 +# Distributed under the terms of the GNU General Public License v2
14121 +
14122 +EAPI="6"
14123 +
14124 +inherit linux-info linux-mod flag-o-matic
14125 +
14126 +if [[ "${PV}" == "9999" ]]; then
14127 + inherit git-r3
14128 + EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
14129 +else
14130 + SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
14131 + KEYWORDS="~amd64"
14132 +fi
14133 +
14134 +DESCRIPTION="Dynamic kernel patching for Linux"
14135 +HOMEPAGE="https://github.com/dynup/kpatch"
14136 +
14137 +LICENSE="GPL-2+"
14138 +SLOT="0"
14139 +IUSE="examples +modules test"
14140 +
14141 +RDEPEND="
14142 + app-crypt/pesign
14143 + dev-libs/openssl:0=
14144 + sys-libs/zlib
14145 + sys-apps/pciutils
14146 +"
14147 +
14148 +DEPEND="
14149 + ${RDEPEND}
14150 + dev-libs/elfutils
14151 + sys-devel/bison
14152 +"
14153 +
14154 +pkg_pretend() {
14155 + if kernel_is gt 3 9 0; then
14156 + if ! linux_config_exists; then
14157 + eerror "Unable to check the currently running kernel for kpatch support"
14158 + eerror "Please be sure a .config file is available in the kernel src dir"
14159 + eerror "and ensure the kernel has been built."
14160 + else
14161 + # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
14162 + CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
14163 + ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
14164 + ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
14165 + ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
14166 + ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
14167 + ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
14168 + fi
14169 + else
14170 + eerror
14171 + eerror "kpatch is not available for Linux kernels below 4.0.0"
14172 + eerror
14173 + die "Upgrade the kernel sources before installing kpatch."
14174 + fi
14175 +
14176 + check_extra_config
14177 +}
14178 +
14179 +src_prepare() {
14180 + replace-flags '-O?' '-O1'
14181 + default
14182 +}
14183 +
14184 +src_compile() {
14185 + set_arch_to_kernel
14186 + emake all
14187 +}
14188 +
14189 +src_install() {
14190 + set_arch_to_kernel
14191 + emake DESTDIR="${D}" PREFIX="/usr" install
14192 +
14193 + einstalldocs
14194 +}
14195
14196 diff --git a/sys-kernel/kpatch/kpatch-9999.ebuild b/sys-kernel/kpatch/kpatch-9999.ebuild
14197 new file mode 100644
14198 index 0000000..0d6aa6e
14199 --- /dev/null
14200 +++ b/sys-kernel/kpatch/kpatch-9999.ebuild
14201 @@ -0,0 +1,77 @@
14202 +# Copyright 1999-2017 Gentoo Foundation
14203 +# Distributed under the terms of the GNU General Public License v2
14204 +
14205 +EAPI="6"
14206 +
14207 +inherit linux-info linux-mod flag-o-matic
14208 +
14209 +if [[ "${PV}" == "9999" ]]; then
14210 + inherit git-r3
14211 + EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
14212 +else
14213 + SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
14214 + KEYWORDS="~amd64"
14215 +fi
14216 +
14217 +DESCRIPTION="Dynamic kernel patching for Linux"
14218 +HOMEPAGE="https://github.com/dynup/kpatch"
14219 +
14220 +LICENSE="GPL-2+"
14221 +SLOT="0"
14222 +IUSE="examples +modules test"
14223 +
14224 +RDEPEND="
14225 + app-crypt/pesign
14226 + dev-libs/openssl:0=
14227 + sys-libs/zlib
14228 + sys-apps/pciutils
14229 +"
14230 +
14231 +DEPEND="
14232 + ${RDEPEND}
14233 + test? ( dev-util/shellcheck )
14234 + dev-libs/elfutils
14235 + sys-devel/bison
14236 +"
14237 +
14238 +pkg_pretend() {
14239 + if kernel_is gt 3 9 0; then
14240 + if ! linux_config_exists; then
14241 + eerror "Unable to check the currently running kernel for kpatch support"
14242 + eerror "Please be sure a .config file is available in the kernel src dir"
14243 + eerror "and ensure the kernel has been built."
14244 + else
14245 + # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
14246 + CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
14247 + ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
14248 + ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
14249 + ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
14250 + ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
14251 + ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
14252 + fi
14253 + else
14254 + eerror
14255 + eerror "kpatch is not available for Linux kernels below 4.0.0"
14256 + eerror
14257 + die "Upgrade the kernel sources before installing kpatch."
14258 + fi
14259 +
14260 + check_extra_config
14261 +}
14262 +
14263 +src_prepare() {
14264 + replace-flags '-O?' '-O1'
14265 + default
14266 +}
14267 +
14268 +src_compile() {
14269 + set_arch_to_kernel
14270 + emake all
14271 +}
14272 +
14273 +src_install() {
14274 + set_arch_to_kernel
14275 + emake DESTDIR="${D}" PREFIX="/usr" install
14276 +
14277 + einstalldocs
14278 +}
14279
14280 diff --git a/sys-kernel/kpatch/metadata.xml b/sys-kernel/kpatch/metadata.xml
14281 new file mode 100644
14282 index 0000000..b393adb
14283 --- /dev/null
14284 +++ b/sys-kernel/kpatch/metadata.xml
14285 @@ -0,0 +1,8 @@
14286 +<?xml version="1.0" encoding="UTF-8"?>
14287 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
14288 +<pkgmetadata>
14289 + <maintainer type="person">
14290 + <email>alicef@g.o</email>
14291 + </maintainer>
14292 + <longdescription lang="en">Dynamic kernel patching for the Linux kernel</longdescription>
14293 +</pkgmetadata>
14294
14295 diff --git a/sys-kernel/linux-docs/linux-docs-4.1.ebuild b/sys-kernel/linux-docs/linux-docs-4.1.ebuild
14296 new file mode 100644
14297 index 0000000..5101722
14298 --- /dev/null
14299 +++ b/sys-kernel/linux-docs/linux-docs-4.1.ebuild
14300 @@ -0,0 +1,64 @@
14301 +# Copyright 1999-2017 Gentoo Foundation
14302 +# Distributed under the terms of the GNU General Public License v2
14303 +
14304 +EAPI=5
14305 +inherit toolchain-funcs
14306 +
14307 +MY_P=linux-${PV}
14308 +S=${WORKDIR}/${MY_P}
14309 +
14310 +DESCRIPTION="Developer documentation generated from the Linux kernel"
14311 +HOMEPAGE="https://www.kernel.org/"
14312 +SRC_URI="mirror://kernel/linux/kernel/v3.x/${MY_P}.tar.xz"
14313 +
14314 +LICENSE="GPL-2"
14315 +SLOT="0"
14316 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
14317 +
14318 +IUSE="html"
14319 +DEPEND="app-text/docbook-sgml-utils
14320 + app-text/xmlto
14321 + sys-apps/sed
14322 + ~app-text/docbook-xml-dtd-4.1.2"
14323 +RDEPEND=""
14324 +
14325 +src_prepare() {
14326 +
14327 + sed -i \
14328 + -e "s:db2:docbook2:g" \
14329 + -e "s:/usr/local/man:${D}/usr/share/man:g" \
14330 + "${S}"/Documentation/DocBook/Makefile
14331 +
14332 + # fix for parallel build as per bug #248337
14333 + sed -i \
14334 + -e "s:\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:+\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:" \
14335 + "${S}"/Makefile
14336 +}
14337 +
14338 +src_compile() {
14339 + local ARCH=$(tc-arch-kernel)
14340 + unset KBUILD_OUTPUT
14341 +
14342 + emake mandocs || die "make mandocs failed"
14343 +
14344 + if use html; then
14345 + emake htmldocs || die "make htmldocs failed"
14346 + fi
14347 +}
14348 +
14349 +src_install() {
14350 + local file
14351 + local ARCH=$(tc-arch-kernel)
14352 + unset KBUILD_OUTPUT
14353 +
14354 + make installmandocs || die "make installmandocs failed"
14355 +
14356 + if use html; then
14357 + # There is no subdirectory named "index"
14358 + dohtml Documentation/DocBook/index.html
14359 + rm Documentation/DocBook/index.html
14360 + for file in Documentation/DocBook/*.html; do
14361 + dohtml -r ${file/\.html/}
14362 + done
14363 + fi
14364 +}
14365
14366 diff --git a/sys-kernel/linux-docs/linux-docs-4.4.ebuild b/sys-kernel/linux-docs/linux-docs-4.4.ebuild
14367 new file mode 100644
14368 index 0000000..5101722
14369 --- /dev/null
14370 +++ b/sys-kernel/linux-docs/linux-docs-4.4.ebuild
14371 @@ -0,0 +1,64 @@
14372 +# Copyright 1999-2017 Gentoo Foundation
14373 +# Distributed under the terms of the GNU General Public License v2
14374 +
14375 +EAPI=5
14376 +inherit toolchain-funcs
14377 +
14378 +MY_P=linux-${PV}
14379 +S=${WORKDIR}/${MY_P}
14380 +
14381 +DESCRIPTION="Developer documentation generated from the Linux kernel"
14382 +HOMEPAGE="https://www.kernel.org/"
14383 +SRC_URI="mirror://kernel/linux/kernel/v3.x/${MY_P}.tar.xz"
14384 +
14385 +LICENSE="GPL-2"
14386 +SLOT="0"
14387 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
14388 +
14389 +IUSE="html"
14390 +DEPEND="app-text/docbook-sgml-utils
14391 + app-text/xmlto
14392 + sys-apps/sed
14393 + ~app-text/docbook-xml-dtd-4.1.2"
14394 +RDEPEND=""
14395 +
14396 +src_prepare() {
14397 +
14398 + sed -i \
14399 + -e "s:db2:docbook2:g" \
14400 + -e "s:/usr/local/man:${D}/usr/share/man:g" \
14401 + "${S}"/Documentation/DocBook/Makefile
14402 +
14403 + # fix for parallel build as per bug #248337
14404 + sed -i \
14405 + -e "s:\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:+\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:" \
14406 + "${S}"/Makefile
14407 +}
14408 +
14409 +src_compile() {
14410 + local ARCH=$(tc-arch-kernel)
14411 + unset KBUILD_OUTPUT
14412 +
14413 + emake mandocs || die "make mandocs failed"
14414 +
14415 + if use html; then
14416 + emake htmldocs || die "make htmldocs failed"
14417 + fi
14418 +}
14419 +
14420 +src_install() {
14421 + local file
14422 + local ARCH=$(tc-arch-kernel)
14423 + unset KBUILD_OUTPUT
14424 +
14425 + make installmandocs || die "make installmandocs failed"
14426 +
14427 + if use html; then
14428 + # There is no subdirectory named "index"
14429 + dohtml Documentation/DocBook/index.html
14430 + rm Documentation/DocBook/index.html
14431 + for file in Documentation/DocBook/*.html; do
14432 + dohtml -r ${file/\.html/}
14433 + done
14434 + fi
14435 +}
14436
14437 diff --git a/sys-kernel/linux-docs/linux-docs-4.9.ebuild b/sys-kernel/linux-docs/linux-docs-4.9.ebuild
14438 new file mode 100644
14439 index 0000000..5101722
14440 --- /dev/null
14441 +++ b/sys-kernel/linux-docs/linux-docs-4.9.ebuild
14442 @@ -0,0 +1,64 @@
14443 +# Copyright 1999-2017 Gentoo Foundation
14444 +# Distributed under the terms of the GNU General Public License v2
14445 +
14446 +EAPI=5
14447 +inherit toolchain-funcs
14448 +
14449 +MY_P=linux-${PV}
14450 +S=${WORKDIR}/${MY_P}
14451 +
14452 +DESCRIPTION="Developer documentation generated from the Linux kernel"
14453 +HOMEPAGE="https://www.kernel.org/"
14454 +SRC_URI="mirror://kernel/linux/kernel/v3.x/${MY_P}.tar.xz"
14455 +
14456 +LICENSE="GPL-2"
14457 +SLOT="0"
14458 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
14459 +
14460 +IUSE="html"
14461 +DEPEND="app-text/docbook-sgml-utils
14462 + app-text/xmlto
14463 + sys-apps/sed
14464 + ~app-text/docbook-xml-dtd-4.1.2"
14465 +RDEPEND=""
14466 +
14467 +src_prepare() {
14468 +
14469 + sed -i \
14470 + -e "s:db2:docbook2:g" \
14471 + -e "s:/usr/local/man:${D}/usr/share/man:g" \
14472 + "${S}"/Documentation/DocBook/Makefile
14473 +
14474 + # fix for parallel build as per bug #248337
14475 + sed -i \
14476 + -e "s:\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:+\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:" \
14477 + "${S}"/Makefile
14478 +}
14479 +
14480 +src_compile() {
14481 + local ARCH=$(tc-arch-kernel)
14482 + unset KBUILD_OUTPUT
14483 +
14484 + emake mandocs || die "make mandocs failed"
14485 +
14486 + if use html; then
14487 + emake htmldocs || die "make htmldocs failed"
14488 + fi
14489 +}
14490 +
14491 +src_install() {
14492 + local file
14493 + local ARCH=$(tc-arch-kernel)
14494 + unset KBUILD_OUTPUT
14495 +
14496 + make installmandocs || die "make installmandocs failed"
14497 +
14498 + if use html; then
14499 + # There is no subdirectory named "index"
14500 + dohtml Documentation/DocBook/index.html
14501 + rm Documentation/DocBook/index.html
14502 + for file in Documentation/DocBook/*.html; do
14503 + dohtml -r ${file/\.html/}
14504 + done
14505 + fi
14506 +}
14507
14508 diff --git a/sys-kernel/linux-docs/metadata.xml b/sys-kernel/linux-docs/metadata.xml
14509 new file mode 100644
14510 index 0000000..029e497
14511 --- /dev/null
14512 +++ b/sys-kernel/linux-docs/metadata.xml
14513 @@ -0,0 +1,10 @@
14514 +<?xml version="1.0" encoding="UTF-8"?>
14515 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
14516 +<pkgmetadata>
14517 + <maintainer type="person">
14518 + <email>mpagano@g.o</email>
14519 + </maintainer>
14520 + <use>
14521 + <flag name="html">Install HTML documentation</flag>
14522 + </use>
14523 +</pkgmetadata>
14524
14525 diff --git a/sys-kernel/linux-firmware/linux-firmware-20181026.ebuild b/sys-kernel/linux-firmware/linux-firmware-20181026.ebuild
14526 new file mode 100644
14527 index 0000000..ef69aff
14528 --- /dev/null
14529 +++ b/sys-kernel/linux-firmware/linux-firmware-20181026.ebuild
14530 @@ -0,0 +1,114 @@
14531 +# Copyright 1999-2018 Gentoo Authors
14532 +# Distributed under the terms of the GNU General Public License v2
14533 +
14534 +EAPI="6"
14535 +inherit savedconfig
14536 +
14537 +if [[ ${PV} == 99999999* ]]; then
14538 + inherit git-r3
14539 + SRC_URI=""
14540 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/${PN}.git"
14541 +else
14542 + GIT_COMMIT="1cb4e51018293c14642f115b5868cda92b879161"
14543 + SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
14544 + KEYWORDS="alpha amd64 arm arm64 hppa ia64 mips ppc ppc64 s390 sh sparc x86"
14545 +fi
14546 +
14547 +DESCRIPTION="Linux firmware files"
14548 +HOMEPAGE="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git"
14549 +
14550 +LICENSE="linux-firmware ( BSD ISC MIT no-source-code ) GPL-2 GPL-2+ freedist"
14551 +SLOT="0"
14552 +IUSE="savedconfig"
14553 +
14554 +DEPEND=""
14555 +RDEPEND="!savedconfig? (
14556 + !sys-firmware/alsa-firmware[alsa_cards_ca0132]
14557 + !sys-firmware/alsa-firmware[alsa_cards_korg1212]
14558 + !sys-firmware/alsa-firmware[alsa_cards_maestro3]
14559 + !sys-firmware/alsa-firmware[alsa_cards_sb16]
14560 + !sys-firmware/alsa-firmware[alsa_cards_ymfpci]
14561 + !media-tv/cx18-firmware
14562 + !<sys-firmware/ivtv-firmware-20080701-r1
14563 + !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
14564 + !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
14565 + !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
14566 + !net-dialup/ueagle-atm
14567 + !net-dialup/ueagle4-atm
14568 + !net-wireless/ar9271-firmware
14569 + !net-wireless/i2400m-fw
14570 + !net-wireless/libertas-firmware
14571 + !sys-firmware/rt61-firmware
14572 + !net-wireless/rt73-firmware
14573 + !net-wireless/rt2860-firmware
14574 + !net-wireless/rt2870-firmware
14575 + !sys-block/qla-fc-firmware
14576 + !sys-firmware/amd-ucode
14577 + !sys-firmware/iwl1000-ucode
14578 + !sys-firmware/iwl2000-ucode
14579 + !sys-firmware/iwl2030-ucode
14580 + !sys-firmware/iwl3945-ucode
14581 + !sys-firmware/iwl4965-ucode
14582 + !sys-firmware/iwl5000-ucode
14583 + !sys-firmware/iwl5150-ucode
14584 + !sys-firmware/iwl6000-ucode
14585 + !sys-firmware/iwl6005-ucode
14586 + !sys-firmware/iwl6030-ucode
14587 + !sys-firmware/iwl6050-ucode
14588 + !sys-firmware/iwl3160-ucode
14589 + !sys-firmware/iwl7260-ucode
14590 + !sys-firmware/iwl7265-ucode
14591 + !sys-firmware/iwl3160-7260-bt-ucode
14592 + !sys-firmware/radeon-ucode
14593 + )"
14594 +#add anything else that collides to this
14595 +
14596 +RESTRICT="binchecks strip"
14597 +
14598 +src_unpack() {
14599 + if [[ ${PV} == 99999999* ]]; then
14600 + git-r3_src_unpack
14601 + else
14602 + default
14603 + # rename directory from git snapshot tarball
14604 + mv ${PN}-*/ ${P} || die
14605 + fi
14606 +}
14607 +
14608 +src_prepare() {
14609 + default
14610 +
14611 + echo "# Remove files that shall not be installed from this list." > ${PN}.conf
14612 + find * \( \! -type d -and \! -name ${PN}.conf \) >> ${PN}.conf
14613 +
14614 + if use savedconfig; then
14615 + restore_config ${PN}.conf
14616 + ebegin "Removing all files not listed in config"
14617 + find * \( \! -type d -and \! -name ${PN}.conf \) \
14618 + | sort ${PN}.conf ${PN}.conf - \
14619 + | uniq -u | xargs -r rm
14620 + eend $? || die
14621 + # remove empty directories, bug #396073
14622 + find -type d -empty -delete || die
14623 + fi
14624 +}
14625 +
14626 +src_install() {
14627 + if use !savedconfig; then
14628 + save_config ${PN}.conf
14629 + fi
14630 + rm ${PN}.conf || die
14631 + insinto /lib/firmware/
14632 + doins -r *
14633 +}
14634 +
14635 +pkg_preinst() {
14636 + if use savedconfig; then
14637 + ewarn "USE=savedconfig is active. You must handle file collisions manually."
14638 + fi
14639 +}
14640 +
14641 +pkg_postinst() {
14642 + elog "If you are only interested in particular firmware files, edit the saved"
14643 + elog "configfile and remove those that you do not want."
14644 +}
14645
14646 diff --git a/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
14647 new file mode 100644
14648 index 0000000..e7b169e
14649 --- /dev/null
14650 +++ b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
14651 @@ -0,0 +1,114 @@
14652 +# Copyright 1999-2018 Gentoo Foundation
14653 +# Distributed under the terms of the GNU General Public License v2
14654 +
14655 +EAPI="6"
14656 +inherit savedconfig
14657 +
14658 +if [[ ${PV} == 99999999* ]]; then
14659 + inherit git-r3
14660 + SRC_URI=""
14661 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/${PN}.git"
14662 +else
14663 + GIT_COMMIT=""
14664 + SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
14665 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
14666 +fi
14667 +
14668 +DESCRIPTION="Linux firmware files"
14669 +HOMEPAGE="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git"
14670 +
14671 +LICENSE="linux-firmware ( BSD ISC MIT no-source-code ) GPL-2 GPL-2+ freedist"
14672 +SLOT="0"
14673 +IUSE="savedconfig"
14674 +
14675 +DEPEND=""
14676 +RDEPEND="!savedconfig? (
14677 + !sys-firmware/alsa-firmware[alsa_cards_ca0132]
14678 + !sys-firmware/alsa-firmware[alsa_cards_korg1212]
14679 + !sys-firmware/alsa-firmware[alsa_cards_maestro3]
14680 + !sys-firmware/alsa-firmware[alsa_cards_sb16]
14681 + !sys-firmware/alsa-firmware[alsa_cards_ymfpci]
14682 + !media-tv/cx18-firmware
14683 + !<sys-firmware/ivtv-firmware-20080701-r1
14684 + !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
14685 + !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
14686 + !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
14687 + !net-dialup/ueagle-atm
14688 + !net-dialup/ueagle4-atm
14689 + !net-wireless/ar9271-firmware
14690 + !net-wireless/i2400m-fw
14691 + !net-wireless/libertas-firmware
14692 + !sys-firmware/rt61-firmware
14693 + !net-wireless/rt73-firmware
14694 + !net-wireless/rt2860-firmware
14695 + !net-wireless/rt2870-firmware
14696 + !sys-block/qla-fc-firmware
14697 + !sys-firmware/amd-ucode
14698 + !sys-firmware/iwl1000-ucode
14699 + !sys-firmware/iwl2000-ucode
14700 + !sys-firmware/iwl2030-ucode
14701 + !sys-firmware/iwl3945-ucode
14702 + !sys-firmware/iwl4965-ucode
14703 + !sys-firmware/iwl5000-ucode
14704 + !sys-firmware/iwl5150-ucode
14705 + !sys-firmware/iwl6000-ucode
14706 + !sys-firmware/iwl6005-ucode
14707 + !sys-firmware/iwl6030-ucode
14708 + !sys-firmware/iwl6050-ucode
14709 + !sys-firmware/iwl3160-ucode
14710 + !sys-firmware/iwl7260-ucode
14711 + !sys-firmware/iwl7265-ucode
14712 + !sys-firmware/iwl3160-7260-bt-ucode
14713 + !sys-firmware/radeon-ucode
14714 + )"
14715 +#add anything else that collides to this
14716 +
14717 +RESTRICT="binchecks strip"
14718 +
14719 +src_unpack() {
14720 + if [[ ${PV} == 99999999* ]]; then
14721 + git-r3_src_unpack
14722 + else
14723 + default
14724 + # rename directory from git snapshot tarball
14725 + mv ${PN}-*/ ${P} || die
14726 + fi
14727 +}
14728 +
14729 +src_prepare() {
14730 + default
14731 +
14732 + echo "# Remove files that shall not be installed from this list." > ${PN}.conf
14733 + find * \( \! -type d -and \! -name ${PN}.conf \) >> ${PN}.conf
14734 +
14735 + if use savedconfig; then
14736 + restore_config ${PN}.conf
14737 + ebegin "Removing all files not listed in config"
14738 + find * \( \! -type d -and \! -name ${PN}.conf \) \
14739 + | sort ${PN}.conf ${PN}.conf - \
14740 + | uniq -u | xargs -r rm
14741 + eend $? || die
14742 + # remove empty directories, bug #396073
14743 + find -type d -empty -delete || die
14744 + fi
14745 +}
14746 +
14747 +src_install() {
14748 + if use !savedconfig; then
14749 + save_config ${PN}.conf
14750 + fi
14751 + rm ${PN}.conf || die
14752 + insinto /lib/firmware/
14753 + doins -r *
14754 +}
14755 +
14756 +pkg_preinst() {
14757 + if use savedconfig; then
14758 + ewarn "USE=savedconfig is active. You must handle file collisions manually."
14759 + fi
14760 +}
14761 +
14762 +pkg_postinst() {
14763 + elog "If you are only interested in particular firmware files, edit the saved"
14764 + elog "configfile and remove those that you do not want."
14765 +}
14766
14767 diff --git a/sys-kernel/linux-firmware/metadata.xml b/sys-kernel/linux-firmware/metadata.xml
14768 new file mode 100644
14769 index 0000000..c662ac9
14770 --- /dev/null
14771 +++ b/sys-kernel/linux-firmware/metadata.xml
14772 @@ -0,0 +1,19 @@
14773 +<?xml version="1.0" encoding="UTF-8"?>
14774 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
14775 +<pkgmetadata>
14776 +<maintainer type="person">
14777 + <email>chithanh@g.o</email>
14778 + <name>Chí-Thanh Christopher Nguyễn</name>
14779 +</maintainer>
14780 +<maintainer type="person">
14781 + <email>zerochaos@g.o</email>
14782 + <name>Rick Farina</name>
14783 +</maintainer>
14784 +<maintainer type="project">
14785 + <email>kernel@g.o</email>
14786 + <name>Gentoo Kernel Project</name>
14787 +</maintainer>
14788 +<use>
14789 + <flag name="savedconfig">Allows individual selection of firmware files</flag>
14790 +</use>
14791 +</pkgmetadata>
14792
14793 diff --git a/sys-kernel/linux-headers/linux-headers-3.18.ebuild b/sys-kernel/linux-headers/linux-headers-3.18.ebuild
14794 new file mode 100644
14795 index 0000000..b3b0981
14796 --- /dev/null
14797 +++ b/sys-kernel/linux-headers/linux-headers-3.18.ebuild
14798 @@ -0,0 +1,53 @@
14799 +# Copyright 1999-2015 Gentoo Foundation
14800 +# Distributed under the terms of the GNU General Public License v2
14801 +
14802 +EAPI="4"
14803 +
14804 +ETYPE="headers"
14805 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 bfin cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 openrisc ppc ppc64 s390 score sh sparc tile x86 xtensa"
14806 +inherit kernel-2
14807 +detect_version
14808 +
14809 +PATCH_VER="1"
14810 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
14811 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
14812 +
14813 +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
14814 +
14815 +DEPEND="app-arch/xz-utils
14816 + dev-lang/perl"
14817 +RDEPEND="!!media-sound/alsa-headers"
14818 +
14819 +S=${WORKDIR}/gentoo-headers-base-${PV}
14820 +
14821 +src_unpack() {
14822 + unpack ${A}
14823 +}
14824 +
14825 +src_prepare() {
14826 + [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
14827 +}
14828 +
14829 +src_install() {
14830 + kernel-2_src_install
14831 +
14832 + # hrm, build system sucks
14833 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
14834 + find "${ED}" -depth -type d -delete 2>/dev/null
14835 +
14836 + # provided by libdrm (for now?)
14837 + rm -rf "${ED}"/$(kernel_header_destdir)/drm
14838 +}
14839 +
14840 +src_test() {
14841 + einfo "Possible unescaped attribute/type usage"
14842 + egrep -r \
14843 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
14844 + -e '\<([us](8|16|32|64))\>' \
14845 + .
14846 +
14847 + einfo "Missing linux/types.h include"
14848 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
14849 +
14850 + emake ARCH=$(tc-arch-kernel) headers_check
14851 +}
14852
14853 diff --git a/sys-kernel/linux-headers/linux-headers-4.13.ebuild b/sys-kernel/linux-headers/linux-headers-4.13.ebuild
14854 new file mode 100644
14855 index 0000000..6d6eaf8
14856 --- /dev/null
14857 +++ b/sys-kernel/linux-headers/linux-headers-4.13.ebuild
14858 @@ -0,0 +1,55 @@
14859 +# Copyright 1999-2018 Gentoo Foundation
14860 +# Distributed under the terms of the GNU General Public License v2
14861 +
14862 +EAPI="5"
14863 +
14864 +ETYPE="headers"
14865 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 bfin cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 s390 score sh sparc tile x86 xtensa"
14866 +inherit kernel-2
14867 +detect_version
14868 +
14869 +PATCH_VER="1"
14870 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
14871 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
14872 +
14873 +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
14874 +
14875 +DEPEND="app-arch/xz-utils
14876 + dev-lang/perl"
14877 +RDEPEND="!!media-sound/alsa-headers"
14878 +
14879 +S=${WORKDIR}/gentoo-headers-base-${PV}
14880 +
14881 +src_unpack() {
14882 + unpack ${A}
14883 +}
14884 +
14885 +src_prepare() {
14886 + [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
14887 +}
14888 +
14889 +src_install() {
14890 + kernel-2_src_install
14891 +
14892 + # hrm, build system sucks
14893 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
14894 + find "${ED}" -depth -type d -delete 2>/dev/null
14895 +}
14896 +
14897 +src_test() {
14898 + # Make sure no uapi/ include paths are used by accident.
14899 + egrep -r \
14900 + -e '# *include.*["<]uapi/' \
14901 + "${D}" && die "#include uapi/xxx detected"
14902 +
14903 + einfo "Possible unescaped attribute/type usage"
14904 + egrep -r \
14905 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
14906 + -e '\<([us](8|16|32|64))\>' \
14907 + .
14908 +
14909 + einfo "Missing linux/types.h include"
14910 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
14911 +
14912 + emake ARCH=$(tc-arch-kernel) headers_check
14913 +}
14914
14915 diff --git a/sys-kernel/linux-headers/linux-headers-4.14-r1.ebuild b/sys-kernel/linux-headers/linux-headers-4.14-r1.ebuild
14916 new file mode 100644
14917 index 0000000..48f732f
14918 --- /dev/null
14919 +++ b/sys-kernel/linux-headers/linux-headers-4.14-r1.ebuild
14920 @@ -0,0 +1,57 @@
14921 +# Copyright 1999-2018 Gentoo Authors
14922 +# Distributed under the terms of the GNU General Public License v2
14923 +
14924 +EAPI=6
14925 +
14926 +ETYPE="headers"
14927 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 bfin cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 s390 score sh sparc tile x86 xtensa"
14928 +inherit kernel-2
14929 +detect_version
14930 +
14931 +PATCH_VER="1"
14932 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
14933 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
14934 +
14935 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
14936 +
14937 +DEPEND="app-arch/xz-utils
14938 + dev-lang/perl"
14939 +RDEPEND="!!media-sound/alsa-headers"
14940 +
14941 +S=${WORKDIR}/gentoo-headers-base-${PV}
14942 +
14943 +src_unpack() {
14944 + unpack ${A}
14945 +}
14946 +
14947 +src_prepare() {
14948 + default
14949 +
14950 + [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}/${PV}"/*.patch
14951 +}
14952 +
14953 +src_install() {
14954 + kernel-2_src_install
14955 +
14956 + # hrm, build system sucks
14957 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
14958 + find "${ED}" -depth -type d -delete 2>/dev/null
14959 +}
14960 +
14961 +src_test() {
14962 + # Make sure no uapi/ include paths are used by accident.
14963 + egrep -r \
14964 + -e '# *include.*["<]uapi/' \
14965 + "${D}" && die "#include uapi/xxx detected"
14966 +
14967 + einfo "Possible unescaped attribute/type usage"
14968 + egrep -r \
14969 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
14970 + -e '\<([us](8|16|32|64))\>' \
14971 + .
14972 +
14973 + einfo "Missing linux/types.h include"
14974 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
14975 +
14976 + emake ARCH=$(tc-arch-kernel) headers_check
14977 +}
14978
14979 diff --git a/sys-kernel/linux-headers/linux-headers-4.15-r1.ebuild b/sys-kernel/linux-headers/linux-headers-4.15-r1.ebuild
14980 new file mode 100644
14981 index 0000000..40da92c
14982 --- /dev/null
14983 +++ b/sys-kernel/linux-headers/linux-headers-4.15-r1.ebuild
14984 @@ -0,0 +1,57 @@
14985 +# Copyright 1999-2018 Gentoo Authors
14986 +# Distributed under the terms of the GNU General Public License v2
14987 +
14988 +EAPI="6"
14989 +
14990 +ETYPE="headers"
14991 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 bfin cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc tile x86 xtensa"
14992 +inherit kernel-2
14993 +detect_version
14994 +
14995 +PATCH_VER="1"
14996 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
14997 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
14998 +
14999 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
15000 +
15001 +DEPEND="app-arch/xz-utils
15002 + dev-lang/perl"
15003 +RDEPEND="!!media-sound/alsa-headers"
15004 +
15005 +S=${WORKDIR}/gentoo-headers-base-${PV}
15006 +
15007 +src_unpack() {
15008 + unpack ${A}
15009 +}
15010 +
15011 +src_prepare() {
15012 + default
15013 +
15014 + [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}/${PV}"/*.patch
15015 +}
15016 +
15017 +src_install() {
15018 + kernel-2_src_install
15019 +
15020 + # hrm, build system sucks
15021 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
15022 + find "${ED}" -depth -type d -delete 2>/dev/null
15023 +}
15024 +
15025 +src_test() {
15026 + # Make sure no uapi/ include paths are used by accident.
15027 + egrep -r \
15028 + -e '# *include.*["<]uapi/' \
15029 + "${D}" && die "#include uapi/xxx detected"
15030 +
15031 + einfo "Possible unescaped attribute/type usage"
15032 + egrep -r \
15033 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
15034 + -e '\<([us](8|16|32|64))\>' \
15035 + .
15036 +
15037 + einfo "Missing linux/types.h include"
15038 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
15039 +
15040 + emake ARCH=$(tc-arch-kernel) headers_check
15041 +}
15042
15043 diff --git a/sys-kernel/linux-headers/linux-headers-4.16-r2.ebuild b/sys-kernel/linux-headers/linux-headers-4.16-r2.ebuild
15044 new file mode 100644
15045 index 0000000..a8906fa
15046 --- /dev/null
15047 +++ b/sys-kernel/linux-headers/linux-headers-4.16-r2.ebuild
15048 @@ -0,0 +1,60 @@
15049 +# Copyright 1999-2018 Gentoo Authors
15050 +# Distributed under the terms of the GNU General Public License v2
15051 +
15052 +EAPI="6"
15053 +
15054 +ETYPE="headers"
15055 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 bfin cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc tile x86 xtensa"
15056 +inherit kernel-2
15057 +detect_version
15058 +
15059 +PATCH_VER="1"
15060 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}-r1.tar.xz
15061 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
15062 + https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-base-${PV}-r1.tar.xz
15063 + ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
15064 +"
15065 +
15066 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
15067 +
15068 +DEPEND="app-arch/xz-utils
15069 + dev-lang/perl"
15070 +RDEPEND="!!media-sound/alsa-headers"
15071 +
15072 +S=${WORKDIR}/gentoo-headers-base-${PV}
15073 +
15074 +src_unpack() {
15075 + unpack ${A}
15076 +}
15077 +
15078 +src_prepare() {
15079 + default
15080 +
15081 + [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}/${PV}"/*.patch
15082 +}
15083 +
15084 +src_install() {
15085 + kernel-2_src_install
15086 +
15087 + # hrm, build system sucks
15088 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
15089 + find "${ED}" -depth -type d -delete 2>/dev/null
15090 +}
15091 +
15092 +src_test() {
15093 + # Make sure no uapi/ include paths are used by accident.
15094 + egrep -r \
15095 + -e '# *include.*["<]uapi/' \
15096 + "${D}" && die "#include uapi/xxx detected"
15097 +
15098 + einfo "Possible unescaped attribute/type usage"
15099 + egrep -r \
15100 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
15101 + -e '\<([us](8|16|32|64))\>' \
15102 + .
15103 +
15104 + einfo "Missing linux/types.h include"
15105 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
15106 +
15107 + emake ARCH=$(tc-arch-kernel) headers_check
15108 +}
15109
15110 diff --git a/sys-kernel/linux-headers/linux-headers-4.16.ebuild b/sys-kernel/linux-headers/linux-headers-4.16.ebuild
15111 new file mode 100644
15112 index 0000000..d8d375b
15113 --- /dev/null
15114 +++ b/sys-kernel/linux-headers/linux-headers-4.16.ebuild
15115 @@ -0,0 +1,60 @@
15116 +# Copyright 1999-2018 Gentoo Foundation
15117 +# Distributed under the terms of the GNU General Public License v2
15118 +
15119 +EAPI="6"
15120 +
15121 +ETYPE="headers"
15122 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 bfin cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc tile x86 xtensa"
15123 +inherit kernel-2
15124 +detect_version
15125 +
15126 +PATCH_VER="1"
15127 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
15128 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
15129 + https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-base-${PV}.tar.xz
15130 + ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
15131 +"
15132 +
15133 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
15134 +
15135 +DEPEND="app-arch/xz-utils
15136 + dev-lang/perl"
15137 +RDEPEND="!!media-sound/alsa-headers"
15138 +
15139 +S=${WORKDIR}/gentoo-headers-base-${PV}
15140 +
15141 +src_unpack() {
15142 + unpack ${A}
15143 +}
15144 +
15145 +src_prepare() {
15146 + default
15147 +
15148 + [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
15149 +}
15150 +
15151 +src_install() {
15152 + kernel-2_src_install
15153 +
15154 + # hrm, build system sucks
15155 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
15156 + find "${ED}" -depth -type d -delete 2>/dev/null
15157 +}
15158 +
15159 +src_test() {
15160 + # Make sure no uapi/ include paths are used by accident.
15161 + egrep -r \
15162 + -e '# *include.*["<]uapi/' \
15163 + "${D}" && die "#include uapi/xxx detected"
15164 +
15165 + einfo "Possible unescaped attribute/type usage"
15166 + egrep -r \
15167 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
15168 + -e '\<([us](8|16|32|64))\>' \
15169 + .
15170 +
15171 + einfo "Missing linux/types.h include"
15172 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
15173 +
15174 + emake ARCH=$(tc-arch-kernel) headers_check
15175 +}
15176
15177 diff --git a/sys-kernel/linux-headers/linux-headers-4.17.ebuild b/sys-kernel/linux-headers/linux-headers-4.17.ebuild
15178 new file mode 100644
15179 index 0000000..e8a6194
15180 --- /dev/null
15181 +++ b/sys-kernel/linux-headers/linux-headers-4.17.ebuild
15182 @@ -0,0 +1,57 @@
15183 +# Copyright 1999-2018 Gentoo Foundation
15184 +# Distributed under the terms of the GNU General Public License v2
15185 +
15186 +EAPI="6"
15187 +
15188 +ETYPE="headers"
15189 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc x86 xtensa"
15190 +inherit kernel-2
15191 +detect_version
15192 +
15193 +PATCH_VER="1"
15194 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
15195 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
15196 +
15197 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
15198 +
15199 +DEPEND="app-arch/xz-utils
15200 + dev-lang/perl"
15201 +RDEPEND="!!media-sound/alsa-headers"
15202 +
15203 +S=${WORKDIR}/gentoo-headers-base-${PV}
15204 +
15205 +src_unpack() {
15206 + unpack ${A}
15207 +}
15208 +
15209 +src_prepare() {
15210 + default
15211 +
15212 + [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PV}/*.patch
15213 +}
15214 +
15215 +src_install() {
15216 + kernel-2_src_install
15217 +
15218 + # hrm, build system sucks
15219 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
15220 + find "${ED}" -depth -type d -delete 2>/dev/null
15221 +}
15222 +
15223 +src_test() {
15224 + # Make sure no uapi/ include paths are used by accident.
15225 + egrep -r \
15226 + -e '# *include.*["<]uapi/' \
15227 + "${D}" && die "#include uapi/xxx detected"
15228 +
15229 + einfo "Possible unescaped attribute/type usage"
15230 + egrep -r \
15231 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
15232 + -e '\<([us](8|16|32|64))\>' \
15233 + .
15234 +
15235 + einfo "Missing linux/types.h include"
15236 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
15237 +
15238 + emake ARCH=$(tc-arch-kernel) headers_check
15239 +}
15240
15241 diff --git a/sys-kernel/linux-headers/linux-headers-4.18.ebuild b/sys-kernel/linux-headers/linux-headers-4.18.ebuild
15242 new file mode 100644
15243 index 0000000..1d8f8e6
15244 --- /dev/null
15245 +++ b/sys-kernel/linux-headers/linux-headers-4.18.ebuild
15246 @@ -0,0 +1,60 @@
15247 +# Copyright 1999-2018 Gentoo Authors
15248 +# Distributed under the terms of the GNU General Public License v2
15249 +
15250 +EAPI="6"
15251 +
15252 +ETYPE="headers"
15253 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc x86 xtensa"
15254 +inherit kernel-2
15255 +detect_version
15256 +
15257 +PATCH_VER="1"
15258 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
15259 + https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-base-${PV}.tar.xz
15260 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
15261 + ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
15262 +"
15263 +
15264 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
15265 +
15266 +DEPEND="app-arch/xz-utils
15267 + dev-lang/perl"
15268 +RDEPEND=""
15269 +
15270 +S=${WORKDIR}/gentoo-headers-base-${PV}
15271 +
15272 +src_unpack() {
15273 + unpack ${A}
15274 +}
15275 +
15276 +src_prepare() {
15277 + default
15278 +
15279 + [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PV}/*.patch
15280 +}
15281 +
15282 +src_install() {
15283 + kernel-2_src_install
15284 +
15285 + # hrm, build system sucks
15286 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
15287 + find "${ED}" -depth -type d -delete 2>/dev/null
15288 +}
15289 +
15290 +src_test() {
15291 + # Make sure no uapi/ include paths are used by accident.
15292 + egrep -r \
15293 + -e '# *include.*["<]uapi/' \
15294 + "${D}" && die "#include uapi/xxx detected"
15295 +
15296 + einfo "Possible unescaped attribute/type usage"
15297 + egrep -r \
15298 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
15299 + -e '\<([us](8|16|32|64))\>' \
15300 + .
15301 +
15302 + einfo "Missing linux/types.h include"
15303 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
15304 +
15305 + emake ARCH=$(tc-arch-kernel) headers_check
15306 +}
15307
15308 diff --git a/sys-kernel/linux-headers/linux-headers-4.19.ebuild b/sys-kernel/linux-headers/linux-headers-4.19.ebuild
15309 new file mode 100644
15310 index 0000000..1d8f8e6
15311 --- /dev/null
15312 +++ b/sys-kernel/linux-headers/linux-headers-4.19.ebuild
15313 @@ -0,0 +1,60 @@
15314 +# Copyright 1999-2018 Gentoo Authors
15315 +# Distributed under the terms of the GNU General Public License v2
15316 +
15317 +EAPI="6"
15318 +
15319 +ETYPE="headers"
15320 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc x86 xtensa"
15321 +inherit kernel-2
15322 +detect_version
15323 +
15324 +PATCH_VER="1"
15325 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
15326 + https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-base-${PV}.tar.xz
15327 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
15328 + ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
15329 +"
15330 +
15331 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
15332 +
15333 +DEPEND="app-arch/xz-utils
15334 + dev-lang/perl"
15335 +RDEPEND=""
15336 +
15337 +S=${WORKDIR}/gentoo-headers-base-${PV}
15338 +
15339 +src_unpack() {
15340 + unpack ${A}
15341 +}
15342 +
15343 +src_prepare() {
15344 + default
15345 +
15346 + [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PV}/*.patch
15347 +}
15348 +
15349 +src_install() {
15350 + kernel-2_src_install
15351 +
15352 + # hrm, build system sucks
15353 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
15354 + find "${ED}" -depth -type d -delete 2>/dev/null
15355 +}
15356 +
15357 +src_test() {
15358 + # Make sure no uapi/ include paths are used by accident.
15359 + egrep -r \
15360 + -e '# *include.*["<]uapi/' \
15361 + "${D}" && die "#include uapi/xxx detected"
15362 +
15363 + einfo "Possible unescaped attribute/type usage"
15364 + egrep -r \
15365 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
15366 + -e '\<([us](8|16|32|64))\>' \
15367 + .
15368 +
15369 + einfo "Missing linux/types.h include"
15370 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
15371 +
15372 + emake ARCH=$(tc-arch-kernel) headers_check
15373 +}
15374
15375 diff --git a/sys-kernel/linux-headers/linux-headers-4.4.ebuild b/sys-kernel/linux-headers/linux-headers-4.4.ebuild
15376 new file mode 100644
15377 index 0000000..bcde8d8
15378 --- /dev/null
15379 +++ b/sys-kernel/linux-headers/linux-headers-4.4.ebuild
15380 @@ -0,0 +1,55 @@
15381 +# Copyright 1999-2017 Gentoo Foundation
15382 +# Distributed under the terms of the GNU General Public License v2
15383 +
15384 +EAPI="4"
15385 +
15386 +ETYPE="headers"
15387 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 bfin cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 s390 score sh sparc tile x86 xtensa"
15388 +inherit kernel-2
15389 +detect_version
15390 +
15391 +PATCH_VER="1"
15392 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
15393 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
15394 +
15395 +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
15396 +
15397 +DEPEND="app-arch/xz-utils
15398 + dev-lang/perl"
15399 +RDEPEND="!!media-sound/alsa-headers"
15400 +
15401 +S=${WORKDIR}/gentoo-headers-base-${PV}
15402 +
15403 +src_unpack() {
15404 + unpack ${A}
15405 +}
15406 +
15407 +src_prepare() {
15408 + [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
15409 +}
15410 +
15411 +src_install() {
15412 + kernel-2_src_install
15413 +
15414 + # hrm, build system sucks
15415 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
15416 + find "${ED}" -depth -type d -delete 2>/dev/null
15417 +}
15418 +
15419 +src_test() {
15420 + # Make sure no uapi/ include paths are used by accident.
15421 + egrep -r \
15422 + -e '# *include.*["<]uapi/' \
15423 + "${D}" && die "#include uapi/xxx detected"
15424 +
15425 + einfo "Possible unescaped attribute/type usage"
15426 + egrep -r \
15427 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
15428 + -e '\<([us](8|16|32|64))\>' \
15429 + .
15430 +
15431 + einfo "Missing linux/types.h include"
15432 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
15433 +
15434 + emake ARCH=$(tc-arch-kernel) headers_check
15435 +}
15436
15437 diff --git a/sys-kernel/linux-headers/linux-headers-4.9.ebuild b/sys-kernel/linux-headers/linux-headers-4.9.ebuild
15438 new file mode 100644
15439 index 0000000..8bf0071
15440 --- /dev/null
15441 +++ b/sys-kernel/linux-headers/linux-headers-4.9.ebuild
15442 @@ -0,0 +1,55 @@
15443 +# Copyright 1999-2016 Gentoo Foundation
15444 +# Distributed under the terms of the GNU General Public License v2
15445 +
15446 +EAPI="5"
15447 +
15448 +ETYPE="headers"
15449 +H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 bfin cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 s390 score sh sparc tile x86 xtensa"
15450 +inherit kernel-2
15451 +detect_version
15452 +
15453 +PATCH_VER="1"
15454 +SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
15455 + ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
15456 +
15457 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
15458 +
15459 +DEPEND="app-arch/xz-utils
15460 + dev-lang/perl"
15461 +RDEPEND="!!media-sound/alsa-headers"
15462 +
15463 +S=${WORKDIR}/gentoo-headers-base-${PV}
15464 +
15465 +src_unpack() {
15466 + unpack ${A}
15467 +}
15468 +
15469 +src_prepare() {
15470 + [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
15471 +}
15472 +
15473 +src_install() {
15474 + kernel-2_src_install
15475 +
15476 + # hrm, build system sucks
15477 + find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
15478 + find "${ED}" -depth -type d -delete 2>/dev/null
15479 +}
15480 +
15481 +src_test() {
15482 + # Make sure no uapi/ include paths are used by accident.
15483 + egrep -r \
15484 + -e '# *include.*["<]uapi/' \
15485 + "${D}" && die "#include uapi/xxx detected"
15486 +
15487 + einfo "Possible unescaped attribute/type usage"
15488 + egrep -r \
15489 + -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
15490 + -e '\<([us](8|16|32|64))\>' \
15491 + .
15492 +
15493 + einfo "Missing linux/types.h include"
15494 + egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
15495 +
15496 + emake ARCH=$(tc-arch-kernel) headers_check
15497 +}
15498
15499 diff --git a/sys-kernel/linux-headers/metadata.xml b/sys-kernel/linux-headers/metadata.xml
15500 new file mode 100644
15501 index 0000000..fcf3f04
15502 --- /dev/null
15503 +++ b/sys-kernel/linux-headers/metadata.xml
15504 @@ -0,0 +1,11 @@
15505 +<?xml version="1.0" encoding="UTF-8"?>
15506 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
15507 +<pkgmetadata>
15508 +<maintainer type="project">
15509 + <email>toolchain@g.o</email>
15510 + <name>Gentoo Toolchain Project</name>
15511 +</maintainer>
15512 +<upstream>
15513 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
15514 +</upstream>
15515 +</pkgmetadata>
15516
15517 diff --git a/sys-kernel/metadata.xml b/sys-kernel/metadata.xml
15518 new file mode 100644
15519 index 0000000..16c8a6d
15520 --- /dev/null
15521 +++ b/sys-kernel/metadata.xml
15522 @@ -0,0 +1,39 @@
15523 +<?xml version="1.0" encoding="UTF-8"?>
15524 +<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
15525 +<catmetadata>
15526 + <longdescription lang="en">
15527 + The sys-kernel category contains kernel source ebuilds and
15528 + kernel-related tools.
15529 + </longdescription>
15530 + <longdescription lang="es">
15531 + La categoría sys-kernel contiene las fuentes del núcleo y herramientas
15532 + relacionadas con este.
15533 + </longdescription>
15534 + <longdescription lang="de">
15535 + Die Kategorie sys-kernel enthält Ebuilds für Kernelquellen
15536 + sowie damit in Zusammenhang stehende Pakete.
15537 + </longdescription>
15538 + <longdescription lang="ja">
15539 + sys-kernelカテゴリにはカーネルソースebuildとカーネル関連ツールが含まれます。
15540 + </longdescription>
15541 + <longdescription lang="nl">
15542 + De sys-kernel categorie bevat ebuilds voor kernelbroncode en gerelateerde
15543 + hulpmiddelen.
15544 + </longdescription>
15545 + <longdescription lang="vi">
15546 + Nhóm sys-kernel chứa ebuild mã nguồn kernel và các công cụ
15547 + liên quan đến kernel.
15548 + </longdescription>
15549 + <longdescription lang="it">
15550 + La categoria sys-kernel contiene i sorgenti del kernel e alcuni programmi
15551 + per la sua gestione come genkernel.
15552 + </longdescription>
15553 + <longdescription lang="pt">
15554 + A categoria sys-kernel contém ebuilds de fonte de kernel e
15555 + ferramentas relacionadas a kernel.
15556 + </longdescription>
15557 + <longdescription lang="pl">
15558 + Kategoria sys-kernel zawiera źródła jądra oraz związane z nimi narzędzia.
15559 + </longdescription>
15560 +</catmetadata>
15561 +
15562
15563 diff --git a/sys-kernel/mips-sources/metadata.xml b/sys-kernel/mips-sources/metadata.xml
15564 new file mode 100644
15565 index 0000000..eaa2cd0
15566 --- /dev/null
15567 +++ b/sys-kernel/mips-sources/metadata.xml
15568 @@ -0,0 +1,21 @@
15569 +<?xml version="1.0" encoding="UTF-8"?>
15570 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
15571 +<pkgmetadata>
15572 + <maintainer type="project">
15573 + <email>mips@g.o</email>
15574 + <name>Mips Team</name>
15575 + </maintainer>
15576 +
15577 + <longdescription>
15578 + mips-sources are git snapshots from the linux-mips.org git server for MIPS-Based machines
15579 + </longdescription>
15580 + <use>
15581 + <flag name="ip27">Enables additional support for SGI Origin (IP27)</flag>
15582 + <flag name="ip28">Enables additional support for SGI Indigo2 Impact R10000 (IP28)</flag>
15583 + <flag name="ip30">Enables support for SGI Octane (IP30, 'Speedracer')</flag>
15584 + <flag name="experimental">Apply experimental (80xx) patches.</flag>
15585 + </use>
15586 + <upstream>
15587 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
15588 + </upstream>
15589 +</pkgmetadata>
15590
15591 diff --git a/sys-kernel/mips-sources/mips-sources-4.14.67.ebuild b/sys-kernel/mips-sources/mips-sources-4.14.67.ebuild
15592 new file mode 100644
15593 index 0000000..4162d7a
15594 --- /dev/null
15595 +++ b/sys-kernel/mips-sources/mips-sources-4.14.67.ebuild
15596 @@ -0,0 +1,346 @@
15597 +# Copyright 1999-2018 Gentoo Foundation
15598 +# Distributed under the terms of the GNU General Public License v2
15599 +
15600 +# EAPI Version
15601 +EAPI="6"
15602 +
15603 +#//------------------------------------------------------------------------------
15604 +
15605 +# Version Data
15606 +GITDATE="20180128" # Date of diff between kernel.org and lmo GIT
15607 +GENPATCHREV="1" # Tarball revision for patches
15608 +
15609 +# Directories
15610 +S="${WORKDIR}/linux-${OKV}-${GITDATE}"
15611 +MIPS_PATCHES="${WORKDIR}/mips-patches"
15612 +
15613 +# Kernel-2 Vars
15614 +K_SECURITY_UNSUPPORTED="yes"
15615 +K_NOUSENAME="yes"
15616 +K_NOSETEXTRAVERSION="yes"
15617 +K_NOUSEPR="yes"
15618 +K_BASE_VER="4.13"
15619 +K_FROM_GIT="yes"
15620 +ETYPE="sources"
15621 +
15622 +# Inherit Eclasses
15623 +inherit kernel-2 eutils eapi7-ver
15624 +detect_version
15625 +
15626 +# Version Data
15627 +F_KV="${PVR}"
15628 +BASE_KV="$(ver_cut 1-2).0"
15629 +[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
15630 +
15631 +# Portage Vars
15632 +HOMEPAGE="https://www.linux-mips.org/ https://www.gentoo.org/"
15633 +KEYWORDS="-* ~mips"
15634 +IUSE="experimental ip27 ip28 ip30"
15635 +RDEPEND=""
15636 +DEPEND="${RDEPEND}
15637 + >=sys-devel/gcc-4.7.0
15638 + >=sys-devel/patch-2.7.4"
15639 +
15640 +# Specify any patches or patch familes to NOT apply here.
15641 +# Use only the 4-digit number followed by a '*'.
15642 +P_EXCLUDE=""
15643 +
15644 +# Machine Support Control Variables
15645 +DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
15646 +DO_IP27="yes" # IP27 support (SGI Origin)
15647 +DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
15648 +DO_IP30="yes" # IP30 support (SGI Octane)
15649 +DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
15650 +
15651 +# Machine Stable Version Variables
15652 +SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
15653 +SV_IP27="" # DO_IP27 == "no", IP27
15654 +SV_IP28="" # DO_IP28 == "no", IP28
15655 +SV_IP30="" # DO_IP30 == "no", IP30
15656 +SV_IP32="" # DO_IP32 == "no", IP32
15657 +
15658 +DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
15659 +SRC_URI="${KERNEL_URI}
15660 + mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
15661 + mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
15662 +
15663 +UNIPATCH_STRICTORDER="yes"
15664 +UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
15665 +
15666 +#//------------------------------------------------------------------------------
15667 +
15668 +err_disabled_mach() {
15669 + # Get args
15670 + local m_name="${1}"
15671 + local m_abbr="${2}"
15672 + local m_use="${3}"
15673 + local is_test="${4}"
15674 +
15675 + # Get stable version, if exists
15676 + local stable_ver="SV_${m_abbr}"
15677 + stable_ver="${!stable_ver}"
15678 +
15679 + # See if this machine needs a USE passed or skip dying
15680 + local has_use
15681 + [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
15682 +
15683 + # Print error && (maybe) die
15684 + echo -e ""
15685 + if [ "${is_test}" != "test" ]; then
15686 + eerror "${m_name} Support has been disabled in this ebuild"
15687 + eerror "revision. If you wish to merge ${m_name} sources, then"
15688 + eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
15689 + [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
15690 + else
15691 + ewarn "${m_name} Support has been marked as needing testing in this"
15692 + ewarn "ebuild revision. This usually means that any patches to support"
15693 + ewarn "${m_name} have been forward ported and maybe even compile-tested,"
15694 + ewarn "but not yet booted on real hardware, possibly due to a lack of access"
15695 + ewarn "to such hardware. If you happen to boot this kernel and have no"
15696 + ewarn "problems at all, then please inform the maintainer. Otherwise, if"
15697 + ewarn "experience a bug, an oops/panic, or some other oddity, then please"
15698 + ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
15699 + fi
15700 +
15701 + return 0
15702 +}
15703 +
15704 +err_only_one_mach_allowed() {
15705 + echo -e ""
15706 + eerror "A patchset for a specific machine-type has already been selected."
15707 + eerror "No other patches for machines-types are permitted. You will need a"
15708 + eerror "separate copy of the kernel sources for each different machine-type"
15709 + eerror "you want to build a kernel for."
15710 + die "Only one machine-type patchset allowed"
15711 +}
15712 +
15713 +pkg_postinst() {
15714 + # Symlink /usr/src/linux as appropriate
15715 + local my_ksrc="${S##*/}"
15716 + for x in {ip27,ip28,ip30}; do
15717 + use ${x} && my_ksrc="${my_ksrc}.${x}"
15718 + done
15719 +
15720 + if [ ! -e "${ROOT}usr/src/linux" ]; then
15721 + rm -f "${ROOT}usr/src/linux"
15722 + ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
15723 + fi
15724 +}
15725 +
15726 +pkg_setup() {
15727 + local arch_is_selected="no"
15728 + local m_ip m_enable m_name
15729 +
15730 + # Exclusive machine patchsets
15731 + # These are not allowed to be mixed together, thus only one of them may be applied
15732 + # to a tree per merge.
15733 + for x in \
15734 + "ip27 SGI Origin 200/2000" \
15735 + "ip28 SGI Indigo2 Impact R10000" \
15736 + "ip30 SGI Octane"
15737 + do
15738 + set -- ${x} # Set positional params
15739 + m_ip="${1}" # Grab the first param (HW IP for SGI)
15740 + shift # Shift the positions
15741 + m_name="${*}" # Get the rest (Name)
15742 +
15743 + if use ${m_ip}; then
15744 + # Fetch the value indiciating if the machine is enabled or not
15745 + m_enable="DO_${m_ip/ip/IP}"
15746 + m_enable="${!m_enable}"
15747 +
15748 + # Make sure only one of these exclusive machine patches is selected
15749 + [ "${arch_is_selected}" = "no" ] \
15750 + && arch_is_selected="yes" \
15751 + || err_only_one_mach_allowed
15752 +
15753 + # Is the machine support disabled or marked as needing testing?
15754 + [ "${m_enable}" = "test" ] \
15755 + && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
15756 + [ "${m_enable}" = "no" ] \
15757 + && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
15758 +
15759 + # Show relevant information about the machine
15760 + show_${m_ip}_info
15761 + fi
15762 + done
15763 +
15764 + # All other systems that don't have a USE flag go here
15765 + # These systems have base-line support included in linux-mips git, so
15766 + # instead of failing, if disabled, we simply warn the user
15767 + if [ "${arch_is_selected}" = "no" ]; then
15768 + [ "${DO_IP22}" = "no" ] \
15769 + && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
15770 + || show_ip22_info
15771 + [ "${DO_IP32}" = "no" ] \
15772 + && err_disabled_mach "SGI O2" "IP32" "skip" \
15773 + || show_ip32_info
15774 +
15775 + fi
15776 +}
15777 +
15778 +show_ip22_info() {
15779 + echo -e ""
15780 + einfo "IP22 systems with an R5000 processor should work with this release."
15781 + einfo "The R4x00 series of processors tend to be rather flaky, especially the"
15782 + einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
15783 + einfo ""
15784 + einfo "Some Notes:"
15785 + einfo "\t- Supported graphics card right now is Newport (XL)."
15786 + einfo "\t- A driver for Extreme (XZ) does not exist at present."
15787 + echo -e ""
15788 +}
15789 +
15790 +show_ip27_info() {
15791 + echo -e ""
15792 + ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
15793 + ewarn "in move_freepages() in mm/page_alloc.c. The exact trigger cause is"
15794 + ewarn "unknown at this time. Please report any oops messages from this"
15795 + ewarn "bug to bugs.gentoo.org (assign to mips@g.o)"
15796 + echo -e ""
15797 +}
15798 +
15799 +show_ip28_info() {
15800 + echo -e ""
15801 + einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel. However,"
15802 + einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
15803 + einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
15804 + einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
15805 + einfo "feedback that can be used to trace down the crash."
15806 + echo -e ""
15807 +}
15808 +
15809 +show_ip30_info() {
15810 + echo -e ""
15811 + eerror "Things that DON'T work:"
15812 + eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
15813 + eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
15814 + eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
15815 + eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
15816 + eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
15817 + eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
15818 + eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
15819 + echo -e ""
15820 + ewarn "Things that might work, but have problems, or are unknown:"
15821 + ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
15822 + ewarn "\t\040\040intermittent issues. Additionally, CONFIG_HUGETLBFS must also be"
15823 + ewarn "\t\040\040selected for hugepages to work. If use of this feature continues"
15824 + ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
15825 + ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
15826 + ewarn "\t\040\040after powering it down for at least 30 seconds."
15827 + ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
15828 + ewarn "\t\040\040the 16550A chip on the IOC3 directly. It does not use interrupts,"
15829 + ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
15830 + ewarn "\t\040\040intensive. The baud rate is limited to no more than 38.4kbps on"
15831 + ewarn "\t\040\040this driver. Patches for getting the Altix IOC3 serial driver to"
15832 + ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
15833 + ewarn "\t- UHCI Cards are known to have issues, but should still function."
15834 + ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
15835 + ewarn "\t\040\040adapters."
15836 + ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
15837 + ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
15838 + ewarn "\t\040\040UART driver. The NIC part number is also not read correctly"
15839 + ewarn "\t\040\040from the four Number-In-a-Cans. Additional testing would be"
15840 + ewarn "\t\040\040appreciated and patches welcome."
15841 + ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
15842 + ewarn "\t\040\040and are not guaranteed to work. This applies to various digital"
15843 + ewarn "\t\040\040video conversion boards as well."
15844 + echo -e ""
15845 + einfo "Things that DO work:"
15846 + einfo "\t- SMP works again, celebrate!"
15847 + einfo "\t- Impact (MGRAS) console only."
15848 + einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
15849 + einfo "\t- PCI Card Cages should work for many devices, except certain types like"
15850 + einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
15851 + einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse. Please"
15852 + einfo "\t\040\040report any problems with these devices."
15853 + echo -e ""
15854 +}
15855 +
15856 +show_ip32_info() {
15857 + echo -e ""
15858 + einfo "IP32 systems function well, however there are some notes:"
15859 + einfo "\t- A sound driver now exists for IP32. Celebrate!"
15860 + einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
15861 + einfo "\t\040\040specified when building the kernel will likely oops"
15862 + einfo "\t\040\040or panic the kernel."
15863 + einfo "\t- X support is limited to the generic fbdev driver. No X"
15864 + einfo "\t\040\040gbefb driver exists for O2 yet. Feel free to submit"
15865 + einfo "\t\040\040patches!"
15866 + echo -e ""
15867 +
15868 + einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
15869 + einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
15870 + einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
15871 +}
15872 +
15873 +src_unpack() {
15874 + # Unpack the kernel sources, update to the latest rev (if needed),
15875 + # and apply the latest patch from linux-mips git.
15876 + kernel-2_src_unpack
15877 +
15878 + # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
15879 + echo -e ""
15880 + cd "${WORKDIR}"
15881 + unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
15882 +
15883 + # Create a new folder called 'patch-symlinks' and create symlinks to
15884 + # all mips-patches in there. If we want to exclude a patch, we'll
15885 + # just delete the symlink instead of the actual patch.
15886 + local psym="patch-symlinks"
15887 + mkdir "${psym}"
15888 + cd "${psym}"
15889 + for x in ../mips-patches-${BASE_KV}/*.patch; do
15890 + ln -s "${x}" "${x##../mips-patches-*/}"
15891 + done
15892 +
15893 + # With symlinks created, setup the variables referencing external
15894 + # machine patches and if a machine USE flag is enabled, then unset
15895 + # its corresponding variable.
15896 + # See 0000_README for the patch numbers and their meanings.
15897 + local p_generic="51*"
15898 + local p_ip27="52*" p_ip28="53*" p_ip30="54*"
15899 + local p_xp="80*"
15900 + use ip27 && unset p_generic p_ip27
15901 + use ip28 && unset p_ip28
15902 + use ip30 && unset p_generic p_ip30
15903 + use experimental && unset p_xp
15904 +
15905 + # Remove symlinks for any patches that we don't want applied. We
15906 + # do this by looping through all the above variables, and deleting
15907 + # matching symlinks that point to the corresponding patches.
15908 + # The remaining symlinks will be applied to the kernel source.
15909 + #
15910 + # $P_EXCLUDE is a new var that can be set in an ebuild to exclude
15911 + # specific patches by wildcarding the patch number.
15912 + local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
15913 + for x in $patchlist;
15914 + do rm -f "./${x}"
15915 + done
15916 +
15917 + # Rename the source tree to match the linux-mips git checkout date and
15918 + # machine type.
15919 + local fkv="${F_KV%-*}"
15920 + local v="${fkv}-${GITDATE}"
15921 + for x in {ip27,ip28,ip30}; do
15922 + use ${x} && v="${v}.${x}" && break
15923 + done
15924 + mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
15925 + S="${WORKDIR}/linux-${v}"
15926 +
15927 + # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
15928 + EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
15929 + unpack_set_extraversion
15930 +}
15931 +
15932 +src_prepare() {
15933 + local psym="patch-symlinks"
15934 +
15935 + # Now go into the kernel source and patch it.
15936 + cd "${S}"
15937 + epatch -p1 "${WORKDIR}/${psym}"/*.patch
15938 +
15939 + eapply_user
15940 +}
15941 +
15942 +#//------------------------------------------------------------------------------
15943
15944 diff --git a/sys-kernel/mips-sources/mips-sources-4.17.19.ebuild b/sys-kernel/mips-sources/mips-sources-4.17.19.ebuild
15945 new file mode 100644
15946 index 0000000..cd1ccaa
15947 --- /dev/null
15948 +++ b/sys-kernel/mips-sources/mips-sources-4.17.19.ebuild
15949 @@ -0,0 +1,346 @@
15950 +# Copyright 1999-2018 Gentoo Foundation
15951 +# Distributed under the terms of the GNU General Public License v2
15952 +
15953 +# EAPI Version
15954 +EAPI="6"
15955 +
15956 +#//------------------------------------------------------------------------------
15957 +
15958 +# Version Data
15959 +GITDATE="20180705" # Date of diff between kernel.org and lmo GIT
15960 +GENPATCHREV="1" # Tarball revision for patches
15961 +
15962 +# Directories
15963 +S="${WORKDIR}/linux-${OKV}-${GITDATE}"
15964 +MIPS_PATCHES="${WORKDIR}/mips-patches"
15965 +
15966 +# Kernel-2 Vars
15967 +K_SECURITY_UNSUPPORTED="yes"
15968 +K_NOUSENAME="yes"
15969 +K_NOSETEXTRAVERSION="yes"
15970 +K_NOUSEPR="yes"
15971 +K_BASE_VER="4.16"
15972 +K_FROM_GIT="yes"
15973 +ETYPE="sources"
15974 +
15975 +# Inherit Eclasses
15976 +inherit kernel-2 eutils eapi7-ver
15977 +detect_version
15978 +
15979 +# Version Data
15980 +F_KV="${PVR}"
15981 +BASE_KV="$(ver_cut 1-2).0"
15982 +[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
15983 +
15984 +# Portage Vars
15985 +HOMEPAGE="https://www.linux-mips.org/ https://www.gentoo.org/"
15986 +KEYWORDS="-* ~mips"
15987 +IUSE="experimental ip27 ip28 ip30"
15988 +RDEPEND=""
15989 +DEPEND="${RDEPEND}
15990 + >=sys-devel/gcc-4.7.0
15991 + >=sys-devel/patch-2.7.4"
15992 +
15993 +# Specify any patches or patch familes to NOT apply here.
15994 +# Use only the 4-digit number followed by a '*'.
15995 +P_EXCLUDE=""
15996 +
15997 +# Machine Support Control Variables
15998 +DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
15999 +DO_IP27="yes" # IP27 support (SGI Origin)
16000 +DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
16001 +DO_IP30="yes" # IP30 support (SGI Octane)
16002 +DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
16003 +
16004 +# Machine Stable Version Variables
16005 +SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
16006 +SV_IP27="" # DO_IP27 == "no", IP27
16007 +SV_IP28="" # DO_IP28 == "no", IP28
16008 +SV_IP30="" # DO_IP30 == "no", IP30
16009 +SV_IP32="" # DO_IP32 == "no", IP32
16010 +
16011 +DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
16012 +SRC_URI="${KERNEL_URI}
16013 + mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
16014 + mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
16015 +
16016 +UNIPATCH_STRICTORDER="yes"
16017 +UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
16018 +
16019 +#//------------------------------------------------------------------------------
16020 +
16021 +err_disabled_mach() {
16022 + # Get args
16023 + local m_name="${1}"
16024 + local m_abbr="${2}"
16025 + local m_use="${3}"
16026 + local is_test="${4}"
16027 +
16028 + # Get stable version, if exists
16029 + local stable_ver="SV_${m_abbr}"
16030 + stable_ver="${!stable_ver}"
16031 +
16032 + # See if this machine needs a USE passed or skip dying
16033 + local has_use
16034 + [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
16035 +
16036 + # Print error && (maybe) die
16037 + echo -e ""
16038 + if [ "${is_test}" != "test" ]; then
16039 + eerror "${m_name} Support has been disabled in this ebuild"
16040 + eerror "revision. If you wish to merge ${m_name} sources, then"
16041 + eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
16042 + [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
16043 + else
16044 + ewarn "${m_name} Support has been marked as needing testing in this"
16045 + ewarn "ebuild revision. This usually means that any patches to support"
16046 + ewarn "${m_name} have been forward ported and maybe even compile-tested,"
16047 + ewarn "but not yet booted on real hardware, possibly due to a lack of access"
16048 + ewarn "to such hardware. If you happen to boot this kernel and have no"
16049 + ewarn "problems at all, then please inform the maintainer. Otherwise, if"
16050 + ewarn "experience a bug, an oops/panic, or some other oddity, then please"
16051 + ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
16052 + fi
16053 +
16054 + return 0
16055 +}
16056 +
16057 +err_only_one_mach_allowed() {
16058 + echo -e ""
16059 + eerror "A patchset for a specific machine-type has already been selected."
16060 + eerror "No other patches for machines-types are permitted. You will need a"
16061 + eerror "separate copy of the kernel sources for each different machine-type"
16062 + eerror "you want to build a kernel for."
16063 + die "Only one machine-type patchset allowed"
16064 +}
16065 +
16066 +pkg_postinst() {
16067 + # Symlink /usr/src/linux as appropriate
16068 + local my_ksrc="${S##*/}"
16069 + for x in {ip27,ip28,ip30}; do
16070 + use ${x} && my_ksrc="${my_ksrc}.${x}"
16071 + done
16072 +
16073 + if [ ! -e "${ROOT}usr/src/linux" ]; then
16074 + rm -f "${ROOT}usr/src/linux"
16075 + ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
16076 + fi
16077 +}
16078 +
16079 +pkg_setup() {
16080 + local arch_is_selected="no"
16081 + local m_ip m_enable m_name
16082 +
16083 + # Exclusive machine patchsets
16084 + # These are not allowed to be mixed together, thus only one of them may be applied
16085 + # to a tree per merge.
16086 + for x in \
16087 + "ip27 SGI Origin 200/2000" \
16088 + "ip28 SGI Indigo2 Impact R10000" \
16089 + "ip30 SGI Octane"
16090 + do
16091 + set -- ${x} # Set positional params
16092 + m_ip="${1}" # Grab the first param (HW IP for SGI)
16093 + shift # Shift the positions
16094 + m_name="${*}" # Get the rest (Name)
16095 +
16096 + if use ${m_ip}; then
16097 + # Fetch the value indiciating if the machine is enabled or not
16098 + m_enable="DO_${m_ip/ip/IP}"
16099 + m_enable="${!m_enable}"
16100 +
16101 + # Make sure only one of these exclusive machine patches is selected
16102 + [ "${arch_is_selected}" = "no" ] \
16103 + && arch_is_selected="yes" \
16104 + || err_only_one_mach_allowed
16105 +
16106 + # Is the machine support disabled or marked as needing testing?
16107 + [ "${m_enable}" = "test" ] \
16108 + && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
16109 + [ "${m_enable}" = "no" ] \
16110 + && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
16111 +
16112 + # Show relevant information about the machine
16113 + show_${m_ip}_info
16114 + fi
16115 + done
16116 +
16117 + # All other systems that don't have a USE flag go here
16118 + # These systems have base-line support included in linux-mips git, so
16119 + # instead of failing, if disabled, we simply warn the user
16120 + if [ "${arch_is_selected}" = "no" ]; then
16121 + [ "${DO_IP22}" = "no" ] \
16122 + && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
16123 + || show_ip22_info
16124 + [ "${DO_IP32}" = "no" ] \
16125 + && err_disabled_mach "SGI O2" "IP32" "skip" \
16126 + || show_ip32_info
16127 +
16128 + fi
16129 +}
16130 +
16131 +show_ip22_info() {
16132 + echo -e ""
16133 + einfo "IP22 systems with an R5000 processor should work with this release."
16134 + einfo "The R4x00 series of processors tend to be rather flaky, especially the"
16135 + einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
16136 + einfo ""
16137 + einfo "Some Notes:"
16138 + einfo "\t- Supported graphics card right now is Newport (XL)."
16139 + einfo "\t- A driver for Extreme (XZ) does not exist at present."
16140 + echo -e ""
16141 +}
16142 +
16143 +show_ip27_info() {
16144 + echo -e ""
16145 + ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
16146 + ewarn "in move_freepages() in mm/page_alloc.c. The exact trigger cause is"
16147 + ewarn "unknown at this time. Please report any oops messages from this"
16148 + ewarn "bug to bugs.gentoo.org (assign to mips@g.o)"
16149 + echo -e ""
16150 +}
16151 +
16152 +show_ip28_info() {
16153 + echo -e ""
16154 + einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel. However,"
16155 + einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
16156 + einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
16157 + einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
16158 + einfo "feedback that can be used to trace down the crash."
16159 + echo -e ""
16160 +}
16161 +
16162 +show_ip30_info() {
16163 + echo -e ""
16164 + eerror "Things that DON'T work:"
16165 + eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
16166 + eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
16167 + eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
16168 + eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
16169 + eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
16170 + eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
16171 + eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
16172 + echo -e ""
16173 + ewarn "Things that might work, but have problems, or are unknown:"
16174 + ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
16175 + ewarn "\t\040\040intermittent issues. Additionally, CONFIG_HUGETLBFS must also be"
16176 + ewarn "\t\040\040selected for hugepages to work. If use of this feature continues"
16177 + ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
16178 + ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
16179 + ewarn "\t\040\040after powering it down for at least 30 seconds."
16180 + ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
16181 + ewarn "\t\040\040the 16550A chip on the IOC3 directly. It does not use interrupts,"
16182 + ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
16183 + ewarn "\t\040\040intensive. The baud rate is limited to no more than 38.4kbps on"
16184 + ewarn "\t\040\040this driver. Patches for getting the Altix IOC3 serial driver to"
16185 + ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
16186 + ewarn "\t- UHCI Cards are known to have issues, but should still function."
16187 + ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
16188 + ewarn "\t\040\040adapters."
16189 + ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
16190 + ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
16191 + ewarn "\t\040\040UART driver. The NIC part number is also not read correctly"
16192 + ewarn "\t\040\040from the four Number-In-a-Cans. Additional testing would be"
16193 + ewarn "\t\040\040appreciated and patches welcome."
16194 + ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
16195 + ewarn "\t\040\040and are not guaranteed to work. This applies to various digital"
16196 + ewarn "\t\040\040video conversion boards as well."
16197 + echo -e ""
16198 + einfo "Things that DO work:"
16199 + einfo "\t- SMP works again, celebrate!"
16200 + einfo "\t- Impact (MGRAS) console only."
16201 + einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
16202 + einfo "\t- PCI Card Cages should work for many devices, except certain types like"
16203 + einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
16204 + einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse. Please"
16205 + einfo "\t\040\040report any problems with these devices."
16206 + echo -e ""
16207 +}
16208 +
16209 +show_ip32_info() {
16210 + echo -e ""
16211 + einfo "IP32 systems function well, however there are some notes:"
16212 + einfo "\t- A sound driver now exists for IP32. Celebrate!"
16213 + einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
16214 + einfo "\t\040\040specified when building the kernel will likely oops"
16215 + einfo "\t\040\040or panic the kernel."
16216 + einfo "\t- X support is limited to the generic fbdev driver. No X"
16217 + einfo "\t\040\040gbefb driver exists for O2 yet. Feel free to submit"
16218 + einfo "\t\040\040patches!"
16219 + echo -e ""
16220 +
16221 + einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
16222 + einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
16223 + einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
16224 +}
16225 +
16226 +src_unpack() {
16227 + # Unpack the kernel sources, update to the latest rev (if needed),
16228 + # and apply the latest patch from linux-mips git.
16229 + kernel-2_src_unpack
16230 +
16231 + # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
16232 + echo -e ""
16233 + cd "${WORKDIR}"
16234 + unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
16235 +
16236 + # Create a new folder called 'patch-symlinks' and create symlinks to
16237 + # all mips-patches in there. If we want to exclude a patch, we'll
16238 + # just delete the symlink instead of the actual patch.
16239 + local psym="patch-symlinks"
16240 + mkdir "${psym}"
16241 + cd "${psym}"
16242 + for x in ../mips-patches-${BASE_KV}/*.patch; do
16243 + ln -s "${x}" "${x##../mips-patches-*/}"
16244 + done
16245 +
16246 + # With symlinks created, setup the variables referencing external
16247 + # machine patches and if a machine USE flag is enabled, then unset
16248 + # its corresponding variable.
16249 + # See 0000_README for the patch numbers and their meanings.
16250 + local p_generic="51*"
16251 + local p_ip27="52*" p_ip28="53*" p_ip30="54*"
16252 + local p_xp="80*"
16253 + use ip27 && unset p_generic p_ip27
16254 + use ip28 && unset p_ip28
16255 + use ip30 && unset p_generic p_ip30
16256 + use experimental && unset p_xp
16257 +
16258 + # Remove symlinks for any patches that we don't want applied. We
16259 + # do this by looping through all the above variables, and deleting
16260 + # matching symlinks that point to the corresponding patches.
16261 + # The remaining symlinks will be applied to the kernel source.
16262 + #
16263 + # $P_EXCLUDE is a new var that can be set in an ebuild to exclude
16264 + # specific patches by wildcarding the patch number.
16265 + local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
16266 + for x in $patchlist;
16267 + do rm -f "./${x}"
16268 + done
16269 +
16270 + # Rename the source tree to match the linux-mips git checkout date and
16271 + # machine type.
16272 + local fkv="${F_KV%-*}"
16273 + local v="${fkv}-${GITDATE}"
16274 + for x in {ip27,ip28,ip30}; do
16275 + use ${x} && v="${v}.${x}" && break
16276 + done
16277 + mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
16278 + S="${WORKDIR}/linux-${v}"
16279 +
16280 + # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
16281 + EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
16282 + unpack_set_extraversion
16283 +}
16284 +
16285 +src_prepare() {
16286 + local psym="patch-symlinks"
16287 +
16288 + # Now go into the kernel source and patch it.
16289 + cd "${S}"
16290 + epatch -p1 "${WORKDIR}/${psym}"/*.patch
16291 +
16292 + eapply_user
16293 +}
16294 +
16295 +#//------------------------------------------------------------------------------
16296
16297 diff --git a/sys-kernel/mips-sources/mips-sources-4.4.152.ebuild b/sys-kernel/mips-sources/mips-sources-4.4.152.ebuild
16298 new file mode 100644
16299 index 0000000..9d25a5d
16300 --- /dev/null
16301 +++ b/sys-kernel/mips-sources/mips-sources-4.4.152.ebuild
16302 @@ -0,0 +1,350 @@
16303 +# Copyright 1999-2018 Gentoo Foundation
16304 +# Distributed under the terms of the GNU General Public License v2
16305 +
16306 +# EAPI Version
16307 +EAPI="6"
16308 +
16309 +#//------------------------------------------------------------------------------
16310 +
16311 +# Version Data
16312 +GITDATE="20160123" # Date of diff between kernel.org and lmo GIT
16313 +GENPATCHREV="2" # Tarball revision for patches
16314 +
16315 +# Directories
16316 +S="${WORKDIR}/linux-${OKV}-${GITDATE}"
16317 +MIPS_PATCHES="${WORKDIR}/mips-patches"
16318 +
16319 +# Kernel-2 Vars
16320 +K_SECURITY_UNSUPPORTED="yes"
16321 +K_NOUSENAME="yes"
16322 +K_NOSETEXTRAVERSION="yes"
16323 +K_NOUSEPR="yes"
16324 +K_BASE_VER="4.3"
16325 +K_FROM_GIT="yes"
16326 +ETYPE="sources"
16327 +
16328 +# Inherit Eclasses
16329 +inherit kernel-2 eutils eapi7-ver
16330 +detect_version
16331 +
16332 +# EPATCH Vars
16333 +# XXX: Required to properly apply Impact/Odyssey driver patches.
16334 +EPATCH_OPTS="-F3"
16335 +
16336 +# Version Data
16337 +F_KV="${PVR}"
16338 +BASE_KV="$(ver_cut 1-2).0"
16339 +[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
16340 +
16341 +# Portage Vars
16342 +HOMEPAGE="https://www.linux-mips.org/ https://www.gentoo.org/"
16343 +KEYWORDS="-* ~mips"
16344 +IUSE="experimental ip27 ip28 ip30"
16345 +RDEPEND=""
16346 +DEPEND="${RDEPEND}
16347 + >=sys-devel/gcc-4.7.0
16348 + >=sys-devel/patch-2.7.4"
16349 +
16350 +# Specify any patches or patch familes to NOT apply here.
16351 +# Use only the 4-digit number followed by a '*'.
16352 +P_EXCLUDE=""
16353 +
16354 +# Machine Support Control Variables
16355 +DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
16356 +DO_IP27="yes" # IP27 support (SGI Origin)
16357 +DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
16358 +DO_IP30="yes" # IP30 support (SGI Octane)
16359 +DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
16360 +
16361 +# Machine Stable Version Variables
16362 +SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
16363 +SV_IP27="" # DO_IP27 == "no", IP27
16364 +SV_IP28="" # DO_IP28 == "no", IP28
16365 +SV_IP30="" # DO_IP30 == "no", IP30
16366 +SV_IP32="" # DO_IP32 == "no", IP32
16367 +
16368 +DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
16369 +SRC_URI="${KERNEL_URI}
16370 + mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
16371 + mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
16372 +
16373 +UNIPATCH_STRICTORDER="yes"
16374 +UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
16375 +
16376 +#//------------------------------------------------------------------------------
16377 +
16378 +err_disabled_mach() {
16379 + # Get args
16380 + local m_name="${1}"
16381 + local m_abbr="${2}"
16382 + local m_use="${3}"
16383 + local is_test="${4}"
16384 +
16385 + # Get stable version, if exists
16386 + local stable_ver="SV_${m_abbr}"
16387 + stable_ver="${!stable_ver}"
16388 +
16389 + # See if this machine needs a USE passed or skip dying
16390 + local has_use
16391 + [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
16392 +
16393 + # Print error && (maybe) die
16394 + echo -e ""
16395 + if [ "${is_test}" != "test" ]; then
16396 + eerror "${m_name} Support has been disabled in this ebuild"
16397 + eerror "revision. If you wish to merge ${m_name} sources, then"
16398 + eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
16399 + [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
16400 + else
16401 + ewarn "${m_name} Support has been marked as needing testing in this"
16402 + ewarn "ebuild revision. This usually means that any patches to support"
16403 + ewarn "${m_name} have been forward ported and maybe even compile-tested,"
16404 + ewarn "but not yet booted on real hardware, possibly due to a lack of access"
16405 + ewarn "to such hardware. If you happen to boot this kernel and have no"
16406 + ewarn "problems at all, then please inform the maintainer. Otherwise, if"
16407 + ewarn "experience a bug, an oops/panic, or some other oddity, then please"
16408 + ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
16409 + fi
16410 +
16411 + return 0
16412 +}
16413 +
16414 +err_only_one_mach_allowed() {
16415 + echo -e ""
16416 + eerror "A patchset for a specific machine-type has already been selected."
16417 + eerror "No other patches for machines-types are permitted. You will need a"
16418 + eerror "separate copy of the kernel sources for each different machine-type"
16419 + eerror "you want to build a kernel for."
16420 + die "Only one machine-type patchset allowed"
16421 +}
16422 +
16423 +pkg_postinst() {
16424 + # Symlink /usr/src/linux as appropriate
16425 + local my_ksrc="${S##*/}"
16426 + for x in {ip27,ip28,ip30}; do
16427 + use ${x} && my_ksrc="${my_ksrc}.${x}"
16428 + done
16429 +
16430 + if [ ! -e "${ROOT}usr/src/linux" ]; then
16431 + rm -f "${ROOT}usr/src/linux"
16432 + ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
16433 + fi
16434 +}
16435 +
16436 +pkg_setup() {
16437 + local arch_is_selected="no"
16438 + local m_ip m_enable m_name
16439 +
16440 + # Exclusive machine patchsets
16441 + # These are not allowed to be mixed together, thus only one of them may be applied
16442 + # to a tree per merge.
16443 + for x in \
16444 + "ip27 SGI Origin 200/2000" \
16445 + "ip28 SGI Indigo2 Impact R10000" \
16446 + "ip30 SGI Octane"
16447 + do
16448 + set -- ${x} # Set positional params
16449 + m_ip="${1}" # Grab the first param (HW IP for SGI)
16450 + shift # Shift the positions
16451 + m_name="${*}" # Get the rest (Name)
16452 +
16453 + if use ${m_ip}; then
16454 + # Fetch the value indiciating if the machine is enabled or not
16455 + m_enable="DO_${m_ip/ip/IP}"
16456 + m_enable="${!m_enable}"
16457 +
16458 + # Make sure only one of these exclusive machine patches is selected
16459 + [ "${arch_is_selected}" = "no" ] \
16460 + && arch_is_selected="yes" \
16461 + || err_only_one_mach_allowed
16462 +
16463 + # Is the machine support disabled or marked as needing testing?
16464 + [ "${m_enable}" = "test" ] \
16465 + && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
16466 + [ "${m_enable}" = "no" ] \
16467 + && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
16468 +
16469 + # Show relevant information about the machine
16470 + show_${m_ip}_info
16471 + fi
16472 + done
16473 +
16474 + # All other systems that don't have a USE flag go here
16475 + # These systems have base-line support included in linux-mips git, so
16476 + # instead of failing, if disabled, we simply warn the user
16477 + if [ "${arch_is_selected}" = "no" ]; then
16478 + [ "${DO_IP22}" = "no" ] \
16479 + && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
16480 + || show_ip22_info
16481 + [ "${DO_IP32}" = "no" ] \
16482 + && err_disabled_mach "SGI O2" "IP32" "skip" \
16483 + || show_ip32_info
16484 +
16485 + fi
16486 +}
16487 +
16488 +show_ip22_info() {
16489 + echo -e ""
16490 + einfo "IP22 systems with an R5000 processor should work with this release."
16491 + einfo "The R4x00 series of processors tend to be rather flaky, especially the"
16492 + einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
16493 + einfo ""
16494 + einfo "Some Notes:"
16495 + einfo "\t- Supported graphics card right now is Newport (XL)."
16496 + einfo "\t- A driver for Extreme (XZ) does not exist at present."
16497 + echo -e ""
16498 +}
16499 +
16500 +show_ip27_info() {
16501 + echo -e ""
16502 + ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
16503 + ewarn "in move_freepages() in mm/page_alloc.c. The exact trigger cause is"
16504 + ewarn "unknown at this time. Please report any oops messages from this"
16505 + ewarn "bug to bugs.gentoo.org (assign to mips@g.o)"
16506 + echo -e ""
16507 +}
16508 +
16509 +show_ip28_info() {
16510 + echo -e ""
16511 + einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel. However,"
16512 + einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
16513 + einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
16514 + einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
16515 + einfo "feedback that can be used to trace down the crash."
16516 + echo -e ""
16517 +}
16518 +
16519 +show_ip30_info() {
16520 + echo -e ""
16521 + eerror "Things that DON'T work:"
16522 + eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
16523 + eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
16524 + eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
16525 + eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
16526 + eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
16527 + eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
16528 + eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
16529 + echo -e ""
16530 + ewarn "Things that might work, but have problems, or are unknown:"
16531 + ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
16532 + ewarn "\t\040\040intermittent issues. Additionally, CONFIG_HUGETLBFS must also be"
16533 + ewarn "\t\040\040selected for hugepages to work. If use of this feature continues"
16534 + ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
16535 + ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
16536 + ewarn "\t\040\040after powering it down for at least 30 seconds."
16537 + ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
16538 + ewarn "\t\040\040the 16550A chip on the IOC3 directly. It does not use interrupts,"
16539 + ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
16540 + ewarn "\t\040\040intensive. The baud rate is limited to no more than 38.4kbps on"
16541 + ewarn "\t\040\040this driver. Patches for getting the Altix IOC3 serial driver to"
16542 + ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
16543 + ewarn "\t- UHCI Cards are known to have issues, but should still function."
16544 + ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
16545 + ewarn "\t\040\040adapters."
16546 + ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
16547 + ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
16548 + ewarn "\t\040\040UART driver. The NIC part number is also not read correctly"
16549 + ewarn "\t\040\040from the four Number-In-a-Cans. Additional testing would be"
16550 + ewarn "\t\040\040appreciated and patches welcome."
16551 + ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
16552 + ewarn "\t\040\040and are not guaranteed to work. This applies to various digital"
16553 + ewarn "\t\040\040video conversion boards as well."
16554 + echo -e ""
16555 + einfo "Things that DO work:"
16556 + einfo "\t- SMP works again, celebrate!"
16557 + einfo "\t- Impact (MGRAS) console only."
16558 + einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
16559 + einfo "\t- PCI Card Cages should work for many devices, except certain types like"
16560 + einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
16561 + einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse. Please"
16562 + einfo "\t\040\040report any problems with these devices."
16563 + echo -e ""
16564 +}
16565 +
16566 +show_ip32_info() {
16567 + echo -e ""
16568 + einfo "IP32 systems function well, however there are some notes:"
16569 + einfo "\t- A sound driver now exists for IP32. Celebrate!"
16570 + einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
16571 + einfo "\t\040\040specified when building the kernel will likely oops"
16572 + einfo "\t\040\040or panic the kernel."
16573 + einfo "\t- X support is limited to the generic fbdev driver. No X"
16574 + einfo "\t\040\040gbefb driver exists for O2 yet. Feel free to submit"
16575 + einfo "\t\040\040patches!"
16576 + echo -e ""
16577 +
16578 + einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
16579 + einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
16580 + einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
16581 +}
16582 +
16583 +src_unpack() {
16584 + # Unpack the kernel sources, update to the latest rev (if needed),
16585 + # and apply the latest patch from linux-mips git.
16586 + kernel-2_src_unpack
16587 +
16588 + # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
16589 + echo -e ""
16590 + cd "${WORKDIR}"
16591 + unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
16592 +
16593 + # Create a new folder called 'patch-symlinks' and create symlinks to
16594 + # all mips-patches in there. If we want to exclude a patch, we'll
16595 + # just delete the symlink instead of the actual patch.
16596 + local psym="patch-symlinks"
16597 + mkdir "${psym}"
16598 + cd "${psym}"
16599 + for x in ../mips-patches-${BASE_KV}/*.patch; do
16600 + ln -s "${x}" "${x##../mips-patches-*/}"
16601 + done
16602 +
16603 + # With symlinks created, setup the variables referencing external
16604 + # machine patches and if a machine USE flag is enabled, then unset
16605 + # its corresponding variable.
16606 + # See 0000_README for the patch numbers and their meanings.
16607 + local p_generic="51*"
16608 + local p_ip27="52*" p_ip28="53*" p_ip30="54*"
16609 + local p_xp="80*"
16610 + use ip27 && unset p_generic p_ip27
16611 + use ip28 && unset p_ip28
16612 + use ip30 && unset p_generic p_ip30
16613 + use experimental && unset p_xp
16614 +
16615 + # Remove symlinks for any patches that we don't want applied. We
16616 + # do this by looping through all the above variables, and deleting
16617 + # matching symlinks that point to the corresponding patches.
16618 + # The remaining symlinks will be applied to the kernel source.
16619 + #
16620 + # $P_EXCLUDE is a new var that can be set in an ebuild to exclude
16621 + # specific patches by wildcarding the patch number.
16622 + local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
16623 + for x in $patchlist;
16624 + do rm -f "./${x}"
16625 + done
16626 +
16627 + # Rename the source tree to match the linux-mips git checkout date and
16628 + # machine type.
16629 + local fkv="${F_KV%-*}"
16630 + local v="${fkv}-${GITDATE}"
16631 + for x in {ip27,ip28,ip30}; do
16632 + use ${x} && v="${v}.${x}" && break
16633 + done
16634 + mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
16635 + S="${WORKDIR}/linux-${v}"
16636 +
16637 + # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
16638 + EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
16639 + unpack_set_extraversion
16640 +}
16641 +
16642 +src_prepare() {
16643 + local psym="patch-symlinks"
16644 +
16645 + # Now go into the kernel source and patch it.
16646 + cd "${S}"
16647 + epatch "${WORKDIR}/${psym}"/*.patch
16648 +
16649 + eapply_user
16650 +}
16651 +
16652 +#//------------------------------------------------------------------------------
16653
16654 diff --git a/sys-kernel/mips-sources/mips-sources-4.9.124.ebuild b/sys-kernel/mips-sources/mips-sources-4.9.124.ebuild
16655 new file mode 100644
16656 index 0000000..3670893
16657 --- /dev/null
16658 +++ b/sys-kernel/mips-sources/mips-sources-4.9.124.ebuild
16659 @@ -0,0 +1,346 @@
16660 +# Copyright 1999-2018 Gentoo Foundation
16661 +# Distributed under the terms of the GNU General Public License v2
16662 +
16663 +# EAPI Version
16664 +EAPI="6"
16665 +
16666 +#//------------------------------------------------------------------------------
16667 +
16668 +# Version Data
16669 +GITDATE="20161216" # Date of diff between kernel.org and lmo GIT
16670 +GENPATCHREV="1" # Tarball revision for patches
16671 +
16672 +# Directories
16673 +S="${WORKDIR}/linux-${OKV}-${GITDATE}"
16674 +MIPS_PATCHES="${WORKDIR}/mips-patches"
16675 +
16676 +# Kernel-2 Vars
16677 +K_SECURITY_UNSUPPORTED="yes"
16678 +K_NOUSENAME="yes"
16679 +K_NOSETEXTRAVERSION="yes"
16680 +K_NOUSEPR="yes"
16681 +K_BASE_VER="4.8"
16682 +K_FROM_GIT="yes"
16683 +ETYPE="sources"
16684 +
16685 +# Inherit Eclasses
16686 +inherit kernel-2 eutils eapi7-ver
16687 +detect_version
16688 +
16689 +# Version Data
16690 +F_KV="${PVR}"
16691 +BASE_KV="$(ver_cut 1-2).0"
16692 +[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
16693 +
16694 +# Portage Vars
16695 +HOMEPAGE="https://www.linux-mips.org/ https://www.gentoo.org/"
16696 +KEYWORDS="-* ~mips"
16697 +IUSE="experimental ip27 ip28 ip30"
16698 +RDEPEND=""
16699 +DEPEND="${RDEPEND}
16700 + >=sys-devel/gcc-4.7.0
16701 + >=sys-devel/patch-2.7.4"
16702 +
16703 +# Specify any patches or patch familes to NOT apply here.
16704 +# Use only the 4-digit number followed by a '*'.
16705 +P_EXCLUDE=""
16706 +
16707 +# Machine Support Control Variables
16708 +DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
16709 +DO_IP27="yes" # IP27 support (SGI Origin)
16710 +DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
16711 +DO_IP30="yes" # IP30 support (SGI Octane)
16712 +DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
16713 +
16714 +# Machine Stable Version Variables
16715 +SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
16716 +SV_IP27="" # DO_IP27 == "no", IP27
16717 +SV_IP28="" # DO_IP28 == "no", IP28
16718 +SV_IP30="" # DO_IP30 == "no", IP30
16719 +SV_IP32="" # DO_IP32 == "no", IP32
16720 +
16721 +DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
16722 +SRC_URI="${KERNEL_URI}
16723 + mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
16724 + mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
16725 +
16726 +UNIPATCH_STRICTORDER="yes"
16727 +UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
16728 +
16729 +#//------------------------------------------------------------------------------
16730 +
16731 +err_disabled_mach() {
16732 + # Get args
16733 + local m_name="${1}"
16734 + local m_abbr="${2}"
16735 + local m_use="${3}"
16736 + local is_test="${4}"
16737 +
16738 + # Get stable version, if exists
16739 + local stable_ver="SV_${m_abbr}"
16740 + stable_ver="${!stable_ver}"
16741 +
16742 + # See if this machine needs a USE passed or skip dying
16743 + local has_use
16744 + [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
16745 +
16746 + # Print error && (maybe) die
16747 + echo -e ""
16748 + if [ "${is_test}" != "test" ]; then
16749 + eerror "${m_name} Support has been disabled in this ebuild"
16750 + eerror "revision. If you wish to merge ${m_name} sources, then"
16751 + eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
16752 + [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
16753 + else
16754 + ewarn "${m_name} Support has been marked as needing testing in this"
16755 + ewarn "ebuild revision. This usually means that any patches to support"
16756 + ewarn "${m_name} have been forward ported and maybe even compile-tested,"
16757 + ewarn "but not yet booted on real hardware, possibly due to a lack of access"
16758 + ewarn "to such hardware. If you happen to boot this kernel and have no"
16759 + ewarn "problems at all, then please inform the maintainer. Otherwise, if"
16760 + ewarn "experience a bug, an oops/panic, or some other oddity, then please"
16761 + ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
16762 + fi
16763 +
16764 + return 0
16765 +}
16766 +
16767 +err_only_one_mach_allowed() {
16768 + echo -e ""
16769 + eerror "A patchset for a specific machine-type has already been selected."
16770 + eerror "No other patches for machines-types are permitted. You will need a"
16771 + eerror "separate copy of the kernel sources for each different machine-type"
16772 + eerror "you want to build a kernel for."
16773 + die "Only one machine-type patchset allowed"
16774 +}
16775 +
16776 +pkg_postinst() {
16777 + # Symlink /usr/src/linux as appropriate
16778 + local my_ksrc="${S##*/}"
16779 + for x in {ip27,ip28,ip30}; do
16780 + use ${x} && my_ksrc="${my_ksrc}.${x}"
16781 + done
16782 +
16783 + if [ ! -e "${ROOT}usr/src/linux" ]; then
16784 + rm -f "${ROOT}usr/src/linux"
16785 + ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
16786 + fi
16787 +}
16788 +
16789 +pkg_setup() {
16790 + local arch_is_selected="no"
16791 + local m_ip m_enable m_name
16792 +
16793 + # Exclusive machine patchsets
16794 + # These are not allowed to be mixed together, thus only one of them may be applied
16795 + # to a tree per merge.
16796 + for x in \
16797 + "ip27 SGI Origin 200/2000" \
16798 + "ip28 SGI Indigo2 Impact R10000" \
16799 + "ip30 SGI Octane"
16800 + do
16801 + set -- ${x} # Set positional params
16802 + m_ip="${1}" # Grab the first param (HW IP for SGI)
16803 + shift # Shift the positions
16804 + m_name="${*}" # Get the rest (Name)
16805 +
16806 + if use ${m_ip}; then
16807 + # Fetch the value indiciating if the machine is enabled or not
16808 + m_enable="DO_${m_ip/ip/IP}"
16809 + m_enable="${!m_enable}"
16810 +
16811 + # Make sure only one of these exclusive machine patches is selected
16812 + [ "${arch_is_selected}" = "no" ] \
16813 + && arch_is_selected="yes" \
16814 + || err_only_one_mach_allowed
16815 +
16816 + # Is the machine support disabled or marked as needing testing?
16817 + [ "${m_enable}" = "test" ] \
16818 + && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
16819 + [ "${m_enable}" = "no" ] \
16820 + && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
16821 +
16822 + # Show relevant information about the machine
16823 + show_${m_ip}_info
16824 + fi
16825 + done
16826 +
16827 + # All other systems that don't have a USE flag go here
16828 + # These systems have base-line support included in linux-mips git, so
16829 + # instead of failing, if disabled, we simply warn the user
16830 + if [ "${arch_is_selected}" = "no" ]; then
16831 + [ "${DO_IP22}" = "no" ] \
16832 + && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
16833 + || show_ip22_info
16834 + [ "${DO_IP32}" = "no" ] \
16835 + && err_disabled_mach "SGI O2" "IP32" "skip" \
16836 + || show_ip32_info
16837 +
16838 + fi
16839 +}
16840 +
16841 +show_ip22_info() {
16842 + echo -e ""
16843 + einfo "IP22 systems with an R5000 processor should work with this release."
16844 + einfo "The R4x00 series of processors tend to be rather flaky, especially the"
16845 + einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
16846 + einfo ""
16847 + einfo "Some Notes:"
16848 + einfo "\t- Supported graphics card right now is Newport (XL)."
16849 + einfo "\t- A driver for Extreme (XZ) does not exist at present."
16850 + echo -e ""
16851 +}
16852 +
16853 +show_ip27_info() {
16854 + echo -e ""
16855 + ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
16856 + ewarn "in move_freepages() in mm/page_alloc.c. The exact trigger cause is"
16857 + ewarn "unknown at this time. Please report any oops messages from this"
16858 + ewarn "bug to bugs.gentoo.org (assign to mips@g.o)"
16859 + echo -e ""
16860 +}
16861 +
16862 +show_ip28_info() {
16863 + echo -e ""
16864 + einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel. However,"
16865 + einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
16866 + einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
16867 + einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
16868 + einfo "feedback that can be used to trace down the crash."
16869 + echo -e ""
16870 +}
16871 +
16872 +show_ip30_info() {
16873 + echo -e ""
16874 + eerror "Things that DON'T work:"
16875 + eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
16876 + eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
16877 + eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
16878 + eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
16879 + eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
16880 + eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
16881 + eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
16882 + echo -e ""
16883 + ewarn "Things that might work, but have problems, or are unknown:"
16884 + ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
16885 + ewarn "\t\040\040intermittent issues. Additionally, CONFIG_HUGETLBFS must also be"
16886 + ewarn "\t\040\040selected for hugepages to work. If use of this feature continues"
16887 + ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
16888 + ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
16889 + ewarn "\t\040\040after powering it down for at least 30 seconds."
16890 + ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
16891 + ewarn "\t\040\040the 16550A chip on the IOC3 directly. It does not use interrupts,"
16892 + ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
16893 + ewarn "\t\040\040intensive. The baud rate is limited to no more than 38.4kbps on"
16894 + ewarn "\t\040\040this driver. Patches for getting the Altix IOC3 serial driver to"
16895 + ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
16896 + ewarn "\t- UHCI Cards are known to have issues, but should still function."
16897 + ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
16898 + ewarn "\t\040\040adapters."
16899 + ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
16900 + ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
16901 + ewarn "\t\040\040UART driver. The NIC part number is also not read correctly"
16902 + ewarn "\t\040\040from the four Number-In-a-Cans. Additional testing would be"
16903 + ewarn "\t\040\040appreciated and patches welcome."
16904 + ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
16905 + ewarn "\t\040\040and are not guaranteed to work. This applies to various digital"
16906 + ewarn "\t\040\040video conversion boards as well."
16907 + echo -e ""
16908 + einfo "Things that DO work:"
16909 + einfo "\t- SMP works again, celebrate!"
16910 + einfo "\t- Impact (MGRAS) console only."
16911 + einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
16912 + einfo "\t- PCI Card Cages should work for many devices, except certain types like"
16913 + einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
16914 + einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse. Please"
16915 + einfo "\t\040\040report any problems with these devices."
16916 + echo -e ""
16917 +}
16918 +
16919 +show_ip32_info() {
16920 + echo -e ""
16921 + einfo "IP32 systems function well, however there are some notes:"
16922 + einfo "\t- A sound driver now exists for IP32. Celebrate!"
16923 + einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
16924 + einfo "\t\040\040specified when building the kernel will likely oops"
16925 + einfo "\t\040\040or panic the kernel."
16926 + einfo "\t- X support is limited to the generic fbdev driver. No X"
16927 + einfo "\t\040\040gbefb driver exists for O2 yet. Feel free to submit"
16928 + einfo "\t\040\040patches!"
16929 + echo -e ""
16930 +
16931 + einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
16932 + einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
16933 + einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
16934 +}
16935 +
16936 +src_unpack() {
16937 + # Unpack the kernel sources, update to the latest rev (if needed),
16938 + # and apply the latest patch from linux-mips git.
16939 + kernel-2_src_unpack
16940 +
16941 + # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
16942 + echo -e ""
16943 + cd "${WORKDIR}"
16944 + unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
16945 +
16946 + # Create a new folder called 'patch-symlinks' and create symlinks to
16947 + # all mips-patches in there. If we want to exclude a patch, we'll
16948 + # just delete the symlink instead of the actual patch.
16949 + local psym="patch-symlinks"
16950 + mkdir "${psym}"
16951 + cd "${psym}"
16952 + for x in ../mips-patches-${BASE_KV}/*.patch; do
16953 + ln -s "${x}" "${x##../mips-patches-*/}"
16954 + done
16955 +
16956 + # With symlinks created, setup the variables referencing external
16957 + # machine patches and if a machine USE flag is enabled, then unset
16958 + # its corresponding variable.
16959 + # See 0000_README for the patch numbers and their meanings.
16960 + local p_generic="51*"
16961 + local p_ip27="52*" p_ip28="53*" p_ip30="54*"
16962 + local p_xp="80*"
16963 + use ip27 && unset p_generic p_ip27
16964 + use ip28 && unset p_ip28
16965 + use ip30 && unset p_generic p_ip30
16966 + use experimental && unset p_xp
16967 +
16968 + # Remove symlinks for any patches that we don't want applied. We
16969 + # do this by looping through all the above variables, and deleting
16970 + # matching symlinks that point to the corresponding patches.
16971 + # The remaining symlinks will be applied to the kernel source.
16972 + #
16973 + # $P_EXCLUDE is a new var that can be set in an ebuild to exclude
16974 + # specific patches by wildcarding the patch number.
16975 + local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
16976 + for x in $patchlist;
16977 + do rm -f "./${x}"
16978 + done
16979 +
16980 + # Rename the source tree to match the linux-mips git checkout date and
16981 + # machine type.
16982 + local fkv="${F_KV%-*}"
16983 + local v="${fkv}-${GITDATE}"
16984 + for x in {ip27,ip28,ip30}; do
16985 + use ${x} && v="${v}.${x}" && break
16986 + done
16987 + mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
16988 + S="${WORKDIR}/linux-${v}"
16989 +
16990 + # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
16991 + EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
16992 + unpack_set_extraversion
16993 +}
16994 +
16995 +src_prepare() {
16996 + local psym="patch-symlinks"
16997 +
16998 + # Now go into the kernel source and patch it.
16999 + cd "${S}"
17000 + epatch "${WORKDIR}/${psym}"/*.patch
17001 +
17002 + eapply_user
17003 +}
17004 +
17005 +#//------------------------------------------------------------------------------
17006
17007 diff --git a/sys-kernel/pf-sources/metadata.xml b/sys-kernel/pf-sources/metadata.xml
17008 new file mode 100644
17009 index 0000000..82f3039
17010 --- /dev/null
17011 +++ b/sys-kernel/pf-sources/metadata.xml
17012 @@ -0,0 +1,8 @@
17013 +<?xml version="1.0" encoding="UTF-8"?>
17014 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
17015 +<pkgmetadata>
17016 + <!-- maintainer-needed -->
17017 + <upstream>
17018 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
17019 + </upstream>
17020 +</pkgmetadata>
17021
17022 diff --git a/sys-kernel/pf-sources/pf-sources-4.10_p3.ebuild b/sys-kernel/pf-sources/pf-sources-4.10_p3.ebuild
17023 new file mode 100644
17024 index 0000000..7736474
17025 --- /dev/null
17026 +++ b/sys-kernel/pf-sources/pf-sources-4.10_p3.ebuild
17027 @@ -0,0 +1,77 @@
17028 +# Copyright 1999-2017 Gentoo Foundation
17029 +# Distributed under the terms of the GNU General Public License v2
17030 +
17031 +EAPI="5"
17032 +inherit readme.gentoo-r1 toolchain-funcs versionator
17033 +
17034 +COMPRESSTYPE=".xz"
17035 +K_USEPV="yes"
17036 +UNIPATCH_STRICTORDER="yes"
17037 +K_SECURITY_UNSUPPORTED="1"
17038 +
17039 +CKV="$(get_version_component_range 1-2)"
17040 +ETYPE="sources"
17041 +inherit kernel-2
17042 +detect_version
17043 +K_NOSETEXTRAVERSION="don't_set_it"
17044 +
17045 +DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
17046 +HOMEPAGE="https://pf.natalenko.name/"
17047 +
17048 +PF_VERS="1"
17049 +PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
17050 +PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
17051 +SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
17052 +
17053 +KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
17054 +IUSE=""
17055 +
17056 +KV_FULL="${PVR}-pf"
17057 +S="${WORKDIR}/linux-${KV_FULL}"
17058 +
17059 +DISABLE_AUTOFORMATTING="yes"
17060 +DOC_CONTENTS="
17061 +${P} has the following optional runtime dependencies:
17062 +- sys-apps/tuxonice-userui: provides minimal userspace progress
17063 +information related to suspending and resuming process.
17064 +- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
17065 +for hibernating and suspending your computer."
17066 +
17067 +pkg_pretend() {
17068 + # 547868
17069 + if [[ $(gcc-version) < 4.9 ]]; then
17070 + eerror ""
17071 + eerror "${P} needs an active GCC 4.9+ compiler"
17072 + eerror ""
17073 + die "${P} needs an active sys-devel/gcc >= 4.9"
17074 + fi
17075 +}
17076 +
17077 +pkg_setup(){
17078 + ewarn
17079 + ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
17080 + ewarn "If you need support, please contact the pf developers directly."
17081 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
17082 + ewarn "the ebuilds. Thank you."
17083 + ewarn
17084 + kernel-2_pkg_setup
17085 +}
17086 +
17087 +src_prepare(){
17088 + epatch "${DISTDIR}/${PF_FILE}"
17089 +
17090 + default
17091 +}
17092 +
17093 +src_install() {
17094 + kernel-2_src_install
17095 + readme.gentoo_create_doc
17096 +}
17097 +
17098 +pkg_postinst() {
17099 + kernel-2_pkg_postinst
17100 + readme.gentoo_print_elog
17101 +}
17102 +
17103 +K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
17104 +see: ${HOMEPAGE}."
17105
17106 diff --git a/sys-kernel/pf-sources/pf-sources-4.11_p3.ebuild b/sys-kernel/pf-sources/pf-sources-4.11_p3.ebuild
17107 new file mode 100644
17108 index 0000000..7736474
17109 --- /dev/null
17110 +++ b/sys-kernel/pf-sources/pf-sources-4.11_p3.ebuild
17111 @@ -0,0 +1,77 @@
17112 +# Copyright 1999-2017 Gentoo Foundation
17113 +# Distributed under the terms of the GNU General Public License v2
17114 +
17115 +EAPI="5"
17116 +inherit readme.gentoo-r1 toolchain-funcs versionator
17117 +
17118 +COMPRESSTYPE=".xz"
17119 +K_USEPV="yes"
17120 +UNIPATCH_STRICTORDER="yes"
17121 +K_SECURITY_UNSUPPORTED="1"
17122 +
17123 +CKV="$(get_version_component_range 1-2)"
17124 +ETYPE="sources"
17125 +inherit kernel-2
17126 +detect_version
17127 +K_NOSETEXTRAVERSION="don't_set_it"
17128 +
17129 +DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
17130 +HOMEPAGE="https://pf.natalenko.name/"
17131 +
17132 +PF_VERS="1"
17133 +PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
17134 +PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
17135 +SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
17136 +
17137 +KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
17138 +IUSE=""
17139 +
17140 +KV_FULL="${PVR}-pf"
17141 +S="${WORKDIR}/linux-${KV_FULL}"
17142 +
17143 +DISABLE_AUTOFORMATTING="yes"
17144 +DOC_CONTENTS="
17145 +${P} has the following optional runtime dependencies:
17146 +- sys-apps/tuxonice-userui: provides minimal userspace progress
17147 +information related to suspending and resuming process.
17148 +- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
17149 +for hibernating and suspending your computer."
17150 +
17151 +pkg_pretend() {
17152 + # 547868
17153 + if [[ $(gcc-version) < 4.9 ]]; then
17154 + eerror ""
17155 + eerror "${P} needs an active GCC 4.9+ compiler"
17156 + eerror ""
17157 + die "${P} needs an active sys-devel/gcc >= 4.9"
17158 + fi
17159 +}
17160 +
17161 +pkg_setup(){
17162 + ewarn
17163 + ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
17164 + ewarn "If you need support, please contact the pf developers directly."
17165 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
17166 + ewarn "the ebuilds. Thank you."
17167 + ewarn
17168 + kernel-2_pkg_setup
17169 +}
17170 +
17171 +src_prepare(){
17172 + epatch "${DISTDIR}/${PF_FILE}"
17173 +
17174 + default
17175 +}
17176 +
17177 +src_install() {
17178 + kernel-2_src_install
17179 + readme.gentoo_create_doc
17180 +}
17181 +
17182 +pkg_postinst() {
17183 + kernel-2_pkg_postinst
17184 + readme.gentoo_print_elog
17185 +}
17186 +
17187 +K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
17188 +see: ${HOMEPAGE}."
17189
17190 diff --git a/sys-kernel/pf-sources/pf-sources-4.11_p4.ebuild b/sys-kernel/pf-sources/pf-sources-4.11_p4.ebuild
17191 new file mode 100644
17192 index 0000000..7736474
17193 --- /dev/null
17194 +++ b/sys-kernel/pf-sources/pf-sources-4.11_p4.ebuild
17195 @@ -0,0 +1,77 @@
17196 +# Copyright 1999-2017 Gentoo Foundation
17197 +# Distributed under the terms of the GNU General Public License v2
17198 +
17199 +EAPI="5"
17200 +inherit readme.gentoo-r1 toolchain-funcs versionator
17201 +
17202 +COMPRESSTYPE=".xz"
17203 +K_USEPV="yes"
17204 +UNIPATCH_STRICTORDER="yes"
17205 +K_SECURITY_UNSUPPORTED="1"
17206 +
17207 +CKV="$(get_version_component_range 1-2)"
17208 +ETYPE="sources"
17209 +inherit kernel-2
17210 +detect_version
17211 +K_NOSETEXTRAVERSION="don't_set_it"
17212 +
17213 +DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
17214 +HOMEPAGE="https://pf.natalenko.name/"
17215 +
17216 +PF_VERS="1"
17217 +PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
17218 +PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
17219 +SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
17220 +
17221 +KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
17222 +IUSE=""
17223 +
17224 +KV_FULL="${PVR}-pf"
17225 +S="${WORKDIR}/linux-${KV_FULL}"
17226 +
17227 +DISABLE_AUTOFORMATTING="yes"
17228 +DOC_CONTENTS="
17229 +${P} has the following optional runtime dependencies:
17230 +- sys-apps/tuxonice-userui: provides minimal userspace progress
17231 +information related to suspending and resuming process.
17232 +- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
17233 +for hibernating and suspending your computer."
17234 +
17235 +pkg_pretend() {
17236 + # 547868
17237 + if [[ $(gcc-version) < 4.9 ]]; then
17238 + eerror ""
17239 + eerror "${P} needs an active GCC 4.9+ compiler"
17240 + eerror ""
17241 + die "${P} needs an active sys-devel/gcc >= 4.9"
17242 + fi
17243 +}
17244 +
17245 +pkg_setup(){
17246 + ewarn
17247 + ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
17248 + ewarn "If you need support, please contact the pf developers directly."
17249 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
17250 + ewarn "the ebuilds. Thank you."
17251 + ewarn
17252 + kernel-2_pkg_setup
17253 +}
17254 +
17255 +src_prepare(){
17256 + epatch "${DISTDIR}/${PF_FILE}"
17257 +
17258 + default
17259 +}
17260 +
17261 +src_install() {
17262 + kernel-2_src_install
17263 + readme.gentoo_create_doc
17264 +}
17265 +
17266 +pkg_postinst() {
17267 + kernel-2_pkg_postinst
17268 + readme.gentoo_print_elog
17269 +}
17270 +
17271 +K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
17272 +see: ${HOMEPAGE}."
17273
17274 diff --git a/sys-kernel/pf-sources/pf-sources-4.13_p4.ebuild b/sys-kernel/pf-sources/pf-sources-4.13_p4.ebuild
17275 new file mode 100644
17276 index 0000000..7736474
17277 --- /dev/null
17278 +++ b/sys-kernel/pf-sources/pf-sources-4.13_p4.ebuild
17279 @@ -0,0 +1,77 @@
17280 +# Copyright 1999-2017 Gentoo Foundation
17281 +# Distributed under the terms of the GNU General Public License v2
17282 +
17283 +EAPI="5"
17284 +inherit readme.gentoo-r1 toolchain-funcs versionator
17285 +
17286 +COMPRESSTYPE=".xz"
17287 +K_USEPV="yes"
17288 +UNIPATCH_STRICTORDER="yes"
17289 +K_SECURITY_UNSUPPORTED="1"
17290 +
17291 +CKV="$(get_version_component_range 1-2)"
17292 +ETYPE="sources"
17293 +inherit kernel-2
17294 +detect_version
17295 +K_NOSETEXTRAVERSION="don't_set_it"
17296 +
17297 +DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
17298 +HOMEPAGE="https://pf.natalenko.name/"
17299 +
17300 +PF_VERS="1"
17301 +PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
17302 +PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
17303 +SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
17304 +
17305 +KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
17306 +IUSE=""
17307 +
17308 +KV_FULL="${PVR}-pf"
17309 +S="${WORKDIR}/linux-${KV_FULL}"
17310 +
17311 +DISABLE_AUTOFORMATTING="yes"
17312 +DOC_CONTENTS="
17313 +${P} has the following optional runtime dependencies:
17314 +- sys-apps/tuxonice-userui: provides minimal userspace progress
17315 +information related to suspending and resuming process.
17316 +- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
17317 +for hibernating and suspending your computer."
17318 +
17319 +pkg_pretend() {
17320 + # 547868
17321 + if [[ $(gcc-version) < 4.9 ]]; then
17322 + eerror ""
17323 + eerror "${P} needs an active GCC 4.9+ compiler"
17324 + eerror ""
17325 + die "${P} needs an active sys-devel/gcc >= 4.9"
17326 + fi
17327 +}
17328 +
17329 +pkg_setup(){
17330 + ewarn
17331 + ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
17332 + ewarn "If you need support, please contact the pf developers directly."
17333 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
17334 + ewarn "the ebuilds. Thank you."
17335 + ewarn
17336 + kernel-2_pkg_setup
17337 +}
17338 +
17339 +src_prepare(){
17340 + epatch "${DISTDIR}/${PF_FILE}"
17341 +
17342 + default
17343 +}
17344 +
17345 +src_install() {
17346 + kernel-2_src_install
17347 + readme.gentoo_create_doc
17348 +}
17349 +
17350 +pkg_postinst() {
17351 + kernel-2_pkg_postinst
17352 + readme.gentoo_print_elog
17353 +}
17354 +
17355 +K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
17356 +see: ${HOMEPAGE}."
17357
17358 diff --git a/sys-kernel/pf-sources/pf-sources-4.4_p8.ebuild b/sys-kernel/pf-sources/pf-sources-4.4_p8.ebuild
17359 new file mode 100644
17360 index 0000000..8e67712
17361 --- /dev/null
17362 +++ b/sys-kernel/pf-sources/pf-sources-4.4_p8.ebuild
17363 @@ -0,0 +1,77 @@
17364 +# Copyright 1999-2016 Gentoo Foundation
17365 +# Distributed under the terms of the GNU General Public License v2
17366 +
17367 +EAPI="5"
17368 +inherit readme.gentoo-r1 toolchain-funcs versionator
17369 +
17370 +COMPRESSTYPE=".xz"
17371 +K_USEPV="yes"
17372 +UNIPATCH_STRICTORDER="yes"
17373 +K_SECURITY_UNSUPPORTED="1"
17374 +
17375 +CKV="$(get_version_component_range 1-2)"
17376 +ETYPE="sources"
17377 +inherit kernel-2
17378 +detect_version
17379 +K_NOSETEXTRAVERSION="don't_set_it"
17380 +
17381 +DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
17382 +HOMEPAGE="https://pf.natalenko.name/"
17383 +
17384 +PF_VERS="1"
17385 +PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
17386 +PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
17387 +SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
17388 +
17389 +KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
17390 +IUSE=""
17391 +
17392 +KV_FULL="${PVR}-pf"
17393 +S="${WORKDIR}/linux-${KV_FULL}"
17394 +
17395 +DISABLE_AUTOFORMATTING="yes"
17396 +DOC_CONTENTS="
17397 +${P} has the following optional runtime dependencies:
17398 +- sys-apps/tuxonice-userui: provides minimal userspace progress
17399 +information related to suspending and resuming process.
17400 +- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
17401 +for hibernating and suspending your computer."
17402 +
17403 +pkg_pretend() {
17404 + # 547868
17405 + if [[ $(gcc-version) < 4.9 ]]; then
17406 + eerror ""
17407 + eerror "${P} needs an active GCC 4.9+ compiler"
17408 + eerror ""
17409 + die "${P} needs an active sys-devel/gcc >= 4.9"
17410 + fi
17411 +}
17412 +
17413 +pkg_setup(){
17414 + ewarn
17415 + ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
17416 + ewarn "If you need support, please contact the pf developers directly."
17417 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
17418 + ewarn "the ebuilds. Thank you."
17419 + ewarn
17420 + kernel-2_pkg_setup
17421 +}
17422 +
17423 +src_prepare(){
17424 + epatch "${DISTDIR}/${PF_FILE}"
17425 +
17426 + default
17427 +}
17428 +
17429 +src_install() {
17430 + kernel-2_src_install
17431 + readme.gentoo_create_doc
17432 +}
17433 +
17434 +pkg_postinst() {
17435 + kernel-2_pkg_postinst
17436 + readme.gentoo_print_elog
17437 +}
17438 +
17439 +K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
17440 +see: ${HOMEPAGE}."
17441
17442 diff --git a/sys-kernel/pf-sources/pf-sources-4.5_p4.ebuild b/sys-kernel/pf-sources/pf-sources-4.5_p4.ebuild
17443 new file mode 100644
17444 index 0000000..8e67712
17445 --- /dev/null
17446 +++ b/sys-kernel/pf-sources/pf-sources-4.5_p4.ebuild
17447 @@ -0,0 +1,77 @@
17448 +# Copyright 1999-2016 Gentoo Foundation
17449 +# Distributed under the terms of the GNU General Public License v2
17450 +
17451 +EAPI="5"
17452 +inherit readme.gentoo-r1 toolchain-funcs versionator
17453 +
17454 +COMPRESSTYPE=".xz"
17455 +K_USEPV="yes"
17456 +UNIPATCH_STRICTORDER="yes"
17457 +K_SECURITY_UNSUPPORTED="1"
17458 +
17459 +CKV="$(get_version_component_range 1-2)"
17460 +ETYPE="sources"
17461 +inherit kernel-2
17462 +detect_version
17463 +K_NOSETEXTRAVERSION="don't_set_it"
17464 +
17465 +DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
17466 +HOMEPAGE="https://pf.natalenko.name/"
17467 +
17468 +PF_VERS="1"
17469 +PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
17470 +PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
17471 +SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
17472 +
17473 +KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
17474 +IUSE=""
17475 +
17476 +KV_FULL="${PVR}-pf"
17477 +S="${WORKDIR}/linux-${KV_FULL}"
17478 +
17479 +DISABLE_AUTOFORMATTING="yes"
17480 +DOC_CONTENTS="
17481 +${P} has the following optional runtime dependencies:
17482 +- sys-apps/tuxonice-userui: provides minimal userspace progress
17483 +information related to suspending and resuming process.
17484 +- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
17485 +for hibernating and suspending your computer."
17486 +
17487 +pkg_pretend() {
17488 + # 547868
17489 + if [[ $(gcc-version) < 4.9 ]]; then
17490 + eerror ""
17491 + eerror "${P} needs an active GCC 4.9+ compiler"
17492 + eerror ""
17493 + die "${P} needs an active sys-devel/gcc >= 4.9"
17494 + fi
17495 +}
17496 +
17497 +pkg_setup(){
17498 + ewarn
17499 + ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
17500 + ewarn "If you need support, please contact the pf developers directly."
17501 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
17502 + ewarn "the ebuilds. Thank you."
17503 + ewarn
17504 + kernel-2_pkg_setup
17505 +}
17506 +
17507 +src_prepare(){
17508 + epatch "${DISTDIR}/${PF_FILE}"
17509 +
17510 + default
17511 +}
17512 +
17513 +src_install() {
17514 + kernel-2_src_install
17515 + readme.gentoo_create_doc
17516 +}
17517 +
17518 +pkg_postinst() {
17519 + kernel-2_pkg_postinst
17520 + readme.gentoo_print_elog
17521 +}
17522 +
17523 +K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
17524 +see: ${HOMEPAGE}."
17525
17526 diff --git a/sys-kernel/pf-sources/pf-sources-4.8_p8.ebuild b/sys-kernel/pf-sources/pf-sources-4.8_p8.ebuild
17527 new file mode 100644
17528 index 0000000..8e67712
17529 --- /dev/null
17530 +++ b/sys-kernel/pf-sources/pf-sources-4.8_p8.ebuild
17531 @@ -0,0 +1,77 @@
17532 +# Copyright 1999-2016 Gentoo Foundation
17533 +# Distributed under the terms of the GNU General Public License v2
17534 +
17535 +EAPI="5"
17536 +inherit readme.gentoo-r1 toolchain-funcs versionator
17537 +
17538 +COMPRESSTYPE=".xz"
17539 +K_USEPV="yes"
17540 +UNIPATCH_STRICTORDER="yes"
17541 +K_SECURITY_UNSUPPORTED="1"
17542 +
17543 +CKV="$(get_version_component_range 1-2)"
17544 +ETYPE="sources"
17545 +inherit kernel-2
17546 +detect_version
17547 +K_NOSETEXTRAVERSION="don't_set_it"
17548 +
17549 +DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
17550 +HOMEPAGE="https://pf.natalenko.name/"
17551 +
17552 +PF_VERS="1"
17553 +PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
17554 +PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
17555 +SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
17556 +
17557 +KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
17558 +IUSE=""
17559 +
17560 +KV_FULL="${PVR}-pf"
17561 +S="${WORKDIR}/linux-${KV_FULL}"
17562 +
17563 +DISABLE_AUTOFORMATTING="yes"
17564 +DOC_CONTENTS="
17565 +${P} has the following optional runtime dependencies:
17566 +- sys-apps/tuxonice-userui: provides minimal userspace progress
17567 +information related to suspending and resuming process.
17568 +- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
17569 +for hibernating and suspending your computer."
17570 +
17571 +pkg_pretend() {
17572 + # 547868
17573 + if [[ $(gcc-version) < 4.9 ]]; then
17574 + eerror ""
17575 + eerror "${P} needs an active GCC 4.9+ compiler"
17576 + eerror ""
17577 + die "${P} needs an active sys-devel/gcc >= 4.9"
17578 + fi
17579 +}
17580 +
17581 +pkg_setup(){
17582 + ewarn
17583 + ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
17584 + ewarn "If you need support, please contact the pf developers directly."
17585 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
17586 + ewarn "the ebuilds. Thank you."
17587 + ewarn
17588 + kernel-2_pkg_setup
17589 +}
17590 +
17591 +src_prepare(){
17592 + epatch "${DISTDIR}/${PF_FILE}"
17593 +
17594 + default
17595 +}
17596 +
17597 +src_install() {
17598 + kernel-2_src_install
17599 + readme.gentoo_create_doc
17600 +}
17601 +
17602 +pkg_postinst() {
17603 + kernel-2_pkg_postinst
17604 + readme.gentoo_print_elog
17605 +}
17606 +
17607 +K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
17608 +see: ${HOMEPAGE}."
17609
17610 diff --git a/sys-kernel/raspberrypi-image/metadata.xml b/sys-kernel/raspberrypi-image/metadata.xml
17611 new file mode 100644
17612 index 0000000..97bc254
17613 --- /dev/null
17614 +++ b/sys-kernel/raspberrypi-image/metadata.xml
17615 @@ -0,0 +1,11 @@
17616 +<?xml version="1.0" encoding="UTF-8"?>
17617 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
17618 +<pkgmetadata>
17619 + <maintainer type="person">
17620 + <email>xmw@g.o</email>
17621 + <name>Michael Weber</name>
17622 + </maintainer>
17623 + <upstream>
17624 + <remote-id type="github">raspberrypi/firmware</remote-id>
17625 + </upstream>
17626 +</pkgmetadata>
17627
17628 diff --git a/sys-kernel/raspberrypi-image/raspberrypi-image-4.1.17_p20160209.ebuild b/sys-kernel/raspberrypi-image/raspberrypi-image-4.1.17_p20160209.ebuild
17629 new file mode 100644
17630 index 0000000..daf784d
17631 --- /dev/null
17632 +++ b/sys-kernel/raspberrypi-image/raspberrypi-image-4.1.17_p20160209.ebuild
17633 @@ -0,0 +1,62 @@
17634 +# Copyright 1999-2016 Gentoo Foundation
17635 +# Distributed under the terms of the GNU General Public License v2
17636 +
17637 +EAPI=5
17638 +
17639 +inherit readme.gentoo
17640 +
17641 +DESCRIPTION="Raspberry PI boot loader and firmware"
17642 +HOMEPAGE="https://github.com/raspberrypi/firmware"
17643 +MY_PV="1.20160209"
17644 +SRC_URI="https://github.com/raspberrypi/firmware/archive/${MY_PV} -> raspberrypi-firmware-${MY_PV}.tar.gz"
17645 +
17646 +LICENSE="GPL-2 raspberrypi-videocore-bin"
17647 +SLOT="${PVR}"
17648 +KEYWORDS="~arm -*"
17649 +IUSE=""
17650 +
17651 +DEPEND=""
17652 +RDEPEND=""
17653 +
17654 +S=${WORKDIR}/firmware-${MY_PV}
17655 +
17656 +RESTRICT=""
17657 +
17658 +pkg_preinst() {
17659 + if [ -z "${REPLACING_VERSIONS}" ] ; then
17660 + local msg=""
17661 + if [ -e "${D}"/boot/cmdline.txt -a -e "${ROOT}"/boot/cmdline.txt ] ; then
17662 + msg+="/boot/cmdline.txt "
17663 + fi
17664 + if [ -e "${D}"/boot/config.txt -a -e "${ROOT}"/boot/config.txt ] ; then
17665 + msg+="/boot/config.txt "
17666 + fi
17667 + if [ -n "${msg}" ] ; then
17668 + msg="This package installs following files: ${msg}."
17669 + msg="${msg} Please remove(backup) your copies during install"
17670 + msg="${msg} and merge settings afterwards."
17671 + msg="${msg} Further updates will be CONFIG_PROTECTed."
17672 + die "${msg}"
17673 + fi
17674 + fi
17675 +
17676 + if ! grep "${ROOT}boot" /proc/mounts >/dev/null 2>&1; then
17677 + ewarn "${ROOT}boot is not mounted, the files might not be installed at the right place"
17678 + fi
17679 +}
17680 +
17681 +src_configure() { :; }
17682 +
17683 +src_compile() { :; }
17684 +
17685 +src_install() {
17686 + insinto /lib/modules
17687 + doins -r modules/*
17688 + insinto /boot
17689 + newins boot/kernel.img kernel-${PV}.img
17690 + newins boot/kernel7.img kernel7-${PV}.img
17691 +
17692 + readme.gentoo_create_doc
17693 +}
17694 +
17695 +DOC_CONTENTS="Please configure your ram setup by editing /boot/config.txt"
17696
17697 diff --git a/sys-kernel/raspberrypi-image/raspberrypi-image-4.1.19_p20160309.ebuild b/sys-kernel/raspberrypi-image/raspberrypi-image-4.1.19_p20160309.ebuild
17698 new file mode 100644
17699 index 0000000..550713f
17700 --- /dev/null
17701 +++ b/sys-kernel/raspberrypi-image/raspberrypi-image-4.1.19_p20160309.ebuild
17702 @@ -0,0 +1,62 @@
17703 +# Copyright 1999-2016 Gentoo Foundation
17704 +# Distributed under the terms of the GNU General Public License v2
17705 +
17706 +EAPI=5
17707 +
17708 +inherit readme.gentoo
17709 +
17710 +DESCRIPTION="Raspberry PI boot loader and firmware"
17711 +HOMEPAGE="https://github.com/raspberrypi/firmware"
17712 +MY_PV="1.20160309"
17713 +SRC_URI="https://github.com/raspberrypi/firmware/archive/${MY_PV} -> raspberrypi-firmware-${MY_PV}.tar.gz"
17714 +
17715 +LICENSE="GPL-2 raspberrypi-videocore-bin"
17716 +SLOT="${PVR}"
17717 +KEYWORDS="~arm -*"
17718 +IUSE=""
17719 +
17720 +DEPEND=""
17721 +RDEPEND=""
17722 +
17723 +S=${WORKDIR}/firmware-${MY_PV}
17724 +
17725 +RESTRICT=""
17726 +
17727 +pkg_preinst() {
17728 + if [ -z "${REPLACING_VERSIONS}" ] ; then
17729 + local msg=""
17730 + if [ -e "${D}"/boot/cmdline.txt -a -e "${ROOT}"/boot/cmdline.txt ] ; then
17731 + msg+="/boot/cmdline.txt "
17732 + fi
17733 + if [ -e "${D}"/boot/config.txt -a -e "${ROOT}"/boot/config.txt ] ; then
17734 + msg+="/boot/config.txt "
17735 + fi
17736 + if [ -n "${msg}" ] ; then
17737 + msg="This package installs following files: ${msg}."
17738 + msg="${msg} Please remove(backup) your copies during install"
17739 + msg="${msg} and merge settings afterwards."
17740 + msg="${msg} Further updates will be CONFIG_PROTECTed."
17741 + die "${msg}"
17742 + fi
17743 + fi
17744 +
17745 + if ! grep "${ROOT}boot" /proc/mounts >/dev/null 2>&1; then
17746 + ewarn "${ROOT}boot is not mounted, the files might not be installed at the right place"
17747 + fi
17748 +}
17749 +
17750 +src_configure() { :; }
17751 +
17752 +src_compile() { :; }
17753 +
17754 +src_install() {
17755 + insinto /lib/modules
17756 + doins -r modules/*
17757 + insinto /boot
17758 + newins boot/kernel.img kernel-${PV}.img
17759 + newins boot/kernel7.img kernel7-${PV}.img
17760 +
17761 + readme.gentoo_create_doc
17762 +}
17763 +
17764 +DOC_CONTENTS="Please configure your ram setup by editing /boot/config.txt"
17765
17766 diff --git a/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild b/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild
17767 new file mode 100644
17768 index 0000000..0e6d2da
17769 --- /dev/null
17770 +++ b/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild
17771 @@ -0,0 +1,57 @@
17772 +# Copyright 1999-2017 Gentoo Foundation
17773 +# Distributed under the terms of the GNU General Public License v2
17774 +
17775 +EAPI=5
17776 +
17777 +inherit git-r3 readme.gentoo-r1
17778 +
17779 +DESCRIPTION="Raspberry PI boot loader and firmware"
17780 +HOMEPAGE="https://github.com/raspberrypi/firmware"
17781 +SRC_URI=""
17782 +
17783 +LICENSE="GPL-2 raspberrypi-videocore-bin"
17784 +SLOT="0"
17785 +KEYWORDS=""
17786 +IUSE=""
17787 +
17788 +EGIT_REPO_URI="https://github.com/raspberrypi/firmware"
17789 +DOC_CONTENTS="Please configure your ram setup by editing /boot/config.txt"
17790 +
17791 +RESTRICT="binchecks strip"
17792 +
17793 +pkg_preinst() {
17794 + if [ -z "${REPLACING_VERSIONS}" ] ; then
17795 + local msg=""
17796 + if [ -e "${D}"/boot/cmdline.txt -a -e "${ROOT}"/boot/cmdline.txt ] ; then
17797 + msg+="/boot/cmdline.txt "
17798 + fi
17799 + if [ -e "${D}"/boot/config.txt -a -e "${ROOT}"/boot/config.txt ] ; then
17800 + msg+="/boot/config.txt "
17801 + fi
17802 + if [ -n "${msg}" ] ; then
17803 + msg="This package installs following files: ${msg}."
17804 + msg="${msg} Please remove(backup) your copies during install"
17805 + msg="${msg} and merge settings afterwards."
17806 + msg="${msg} Further updates will be CONFIG_PROTECTed."
17807 + die "${msg}"
17808 + fi
17809 + fi
17810 +
17811 + if ! grep "${ROOT}boot" /proc/mounts >/dev/null 2>&1; then
17812 + ewarn "${ROOT}boot is not mounted, the files might not be installed at the right place"
17813 + fi
17814 +}
17815 +
17816 +src_configure() { :; }
17817 +
17818 +src_compile() { :; }
17819 +
17820 +src_install() {
17821 + insinto /lib/modules
17822 + doins -r modules/*
17823 + insinto /boot
17824 + newins boot/kernel.img kernel.img
17825 + newins boot/kernel7.img kernel7.img
17826 +
17827 + readme.gentoo_create_doc
17828 +}
17829
17830 diff --git a/sys-kernel/raspberrypi-sources/metadata.xml b/sys-kernel/raspberrypi-sources/metadata.xml
17831 new file mode 100644
17832 index 0000000..5ffcbcc
17833 --- /dev/null
17834 +++ b/sys-kernel/raspberrypi-sources/metadata.xml
17835 @@ -0,0 +1,11 @@
17836 +<?xml version="1.0" encoding="UTF-8"?>
17837 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
17838 +<pkgmetadata>
17839 + <maintainer type="person">
17840 + <email>xmw@g.o</email>
17841 + <name>Michael Weber</name>
17842 + </maintainer>
17843 + <upstream>
17844 + <remote-id type="github">raspberrypi/linux</remote-id>
17845 + </upstream>
17846 +</pkgmetadata>
17847
17848 diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.10.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.10.9999.ebuild
17849 new file mode 100644
17850 index 0000000..11c6e6a
17851 --- /dev/null
17852 +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.10.9999.ebuild
17853 @@ -0,0 +1,27 @@
17854 +# Copyright 1999-2017 Gentoo Foundation
17855 +# Distributed under the terms of the GNU General Public License v2
17856 +
17857 +EAPI=5
17858 +
17859 +ETYPE=sources
17860 +K_DEFCONFIG="bcmrpi_defconfig"
17861 +K_SECURITY_UNSUPPORTED=1
17862 +EXTRAVERSION="-${PN}/-*"
17863 +inherit kernel-2
17864 +detect_version
17865 +detect_arch
17866 +
17867 +inherit git-r3 versionator
17868 +EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
17869 +EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
17870 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
17871 +
17872 +DESCRIPTION="Raspberry PI kernel sources"
17873 +HOMEPAGE="https://github.com/raspberrypi/linux"
17874 +
17875 +KEYWORDS=""
17876 +
17877 +src_unpack() {
17878 + git-r3_src_unpack
17879 + unpack_set_extraversion
17880 +}
17881
17882 diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.11.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.11.9999.ebuild
17883 new file mode 100644
17884 index 0000000..11c6e6a
17885 --- /dev/null
17886 +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.11.9999.ebuild
17887 @@ -0,0 +1,27 @@
17888 +# Copyright 1999-2017 Gentoo Foundation
17889 +# Distributed under the terms of the GNU General Public License v2
17890 +
17891 +EAPI=5
17892 +
17893 +ETYPE=sources
17894 +K_DEFCONFIG="bcmrpi_defconfig"
17895 +K_SECURITY_UNSUPPORTED=1
17896 +EXTRAVERSION="-${PN}/-*"
17897 +inherit kernel-2
17898 +detect_version
17899 +detect_arch
17900 +
17901 +inherit git-r3 versionator
17902 +EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
17903 +EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
17904 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
17905 +
17906 +DESCRIPTION="Raspberry PI kernel sources"
17907 +HOMEPAGE="https://github.com/raspberrypi/linux"
17908 +
17909 +KEYWORDS=""
17910 +
17911 +src_unpack() {
17912 + git-r3_src_unpack
17913 + unpack_set_extraversion
17914 +}
17915
17916 diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.12.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.12.9999.ebuild
17917 new file mode 100644
17918 index 0000000..11c6e6a
17919 --- /dev/null
17920 +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.12.9999.ebuild
17921 @@ -0,0 +1,27 @@
17922 +# Copyright 1999-2017 Gentoo Foundation
17923 +# Distributed under the terms of the GNU General Public License v2
17924 +
17925 +EAPI=5
17926 +
17927 +ETYPE=sources
17928 +K_DEFCONFIG="bcmrpi_defconfig"
17929 +K_SECURITY_UNSUPPORTED=1
17930 +EXTRAVERSION="-${PN}/-*"
17931 +inherit kernel-2
17932 +detect_version
17933 +detect_arch
17934 +
17935 +inherit git-r3 versionator
17936 +EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
17937 +EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
17938 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
17939 +
17940 +DESCRIPTION="Raspberry PI kernel sources"
17941 +HOMEPAGE="https://github.com/raspberrypi/linux"
17942 +
17943 +KEYWORDS=""
17944 +
17945 +src_unpack() {
17946 + git-r3_src_unpack
17947 + unpack_set_extraversion
17948 +}
17949
17950 diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.13.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.13.9999.ebuild
17951 new file mode 100644
17952 index 0000000..11c6e6a
17953 --- /dev/null
17954 +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.13.9999.ebuild
17955 @@ -0,0 +1,27 @@
17956 +# Copyright 1999-2017 Gentoo Foundation
17957 +# Distributed under the terms of the GNU General Public License v2
17958 +
17959 +EAPI=5
17960 +
17961 +ETYPE=sources
17962 +K_DEFCONFIG="bcmrpi_defconfig"
17963 +K_SECURITY_UNSUPPORTED=1
17964 +EXTRAVERSION="-${PN}/-*"
17965 +inherit kernel-2
17966 +detect_version
17967 +detect_arch
17968 +
17969 +inherit git-r3 versionator
17970 +EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
17971 +EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
17972 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
17973 +
17974 +DESCRIPTION="Raspberry PI kernel sources"
17975 +HOMEPAGE="https://github.com/raspberrypi/linux"
17976 +
17977 +KEYWORDS=""
17978 +
17979 +src_unpack() {
17980 + git-r3_src_unpack
17981 + unpack_set_extraversion
17982 +}
17983
17984 diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.14.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.14.9999.ebuild
17985 new file mode 100644
17986 index 0000000..11c6e6a
17987 --- /dev/null
17988 +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.14.9999.ebuild
17989 @@ -0,0 +1,27 @@
17990 +# Copyright 1999-2017 Gentoo Foundation
17991 +# Distributed under the terms of the GNU General Public License v2
17992 +
17993 +EAPI=5
17994 +
17995 +ETYPE=sources
17996 +K_DEFCONFIG="bcmrpi_defconfig"
17997 +K_SECURITY_UNSUPPORTED=1
17998 +EXTRAVERSION="-${PN}/-*"
17999 +inherit kernel-2
18000 +detect_version
18001 +detect_arch
18002 +
18003 +inherit git-r3 versionator
18004 +EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
18005 +EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
18006 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
18007 +
18008 +DESCRIPTION="Raspberry PI kernel sources"
18009 +HOMEPAGE="https://github.com/raspberrypi/linux"
18010 +
18011 +KEYWORDS=""
18012 +
18013 +src_unpack() {
18014 + git-r3_src_unpack
18015 + unpack_set_extraversion
18016 +}
18017
18018 diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.4.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.4.9999.ebuild
18019 new file mode 100644
18020 index 0000000..11c6e6a
18021 --- /dev/null
18022 +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.4.9999.ebuild
18023 @@ -0,0 +1,27 @@
18024 +# Copyright 1999-2017 Gentoo Foundation
18025 +# Distributed under the terms of the GNU General Public License v2
18026 +
18027 +EAPI=5
18028 +
18029 +ETYPE=sources
18030 +K_DEFCONFIG="bcmrpi_defconfig"
18031 +K_SECURITY_UNSUPPORTED=1
18032 +EXTRAVERSION="-${PN}/-*"
18033 +inherit kernel-2
18034 +detect_version
18035 +detect_arch
18036 +
18037 +inherit git-r3 versionator
18038 +EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
18039 +EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
18040 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
18041 +
18042 +DESCRIPTION="Raspberry PI kernel sources"
18043 +HOMEPAGE="https://github.com/raspberrypi/linux"
18044 +
18045 +KEYWORDS=""
18046 +
18047 +src_unpack() {
18048 + git-r3_src_unpack
18049 + unpack_set_extraversion
18050 +}
18051
18052 diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.9.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.9.9999.ebuild
18053 new file mode 100644
18054 index 0000000..11c6e6a
18055 --- /dev/null
18056 +++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.9.9999.ebuild
18057 @@ -0,0 +1,27 @@
18058 +# Copyright 1999-2017 Gentoo Foundation
18059 +# Distributed under the terms of the GNU General Public License v2
18060 +
18061 +EAPI=5
18062 +
18063 +ETYPE=sources
18064 +K_DEFCONFIG="bcmrpi_defconfig"
18065 +K_SECURITY_UNSUPPORTED=1
18066 +EXTRAVERSION="-${PN}/-*"
18067 +inherit kernel-2
18068 +detect_version
18069 +detect_arch
18070 +
18071 +inherit git-r3 versionator
18072 +EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
18073 +EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
18074 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
18075 +
18076 +DESCRIPTION="Raspberry PI kernel sources"
18077 +HOMEPAGE="https://github.com/raspberrypi/linux"
18078 +
18079 +KEYWORDS=""
18080 +
18081 +src_unpack() {
18082 + git-r3_src_unpack
18083 + unpack_set_extraversion
18084 +}
18085
18086 diff --git a/sys-kernel/rt-sources/files/rt-sources-posix-printf.patch b/sys-kernel/rt-sources/files/rt-sources-posix-printf.patch
18087 new file mode 100644
18088 index 0000000..81ebcaf
18089 --- /dev/null
18090 +++ b/sys-kernel/rt-sources/files/rt-sources-posix-printf.patch
18091 @@ -0,0 +1,40 @@
18092 +From 651e54953b5d4ad103f0efa54fc6b380807fca3a Mon Sep 17 00:00:00 2001
18093 +From: Thomas Schneider <qsx@×××.re>
18094 +Date: Fri, 14 Oct 2016 21:29:49 +0200
18095 +Subject: security/apparmor: Use POSIX-compatible "printf '%s'"
18096 +
18097 +When using a strictly POSIX-compliant shell, "-n #define ..." gets
18098 +written into the file. Use "printf '%s'" to avoid this.
18099 +
18100 +Signed-off-by: Thomas Schneider <qsx@×××.re>
18101 +Signed-off-by: John Johansen <john.johansen@×××××××××.com>
18102 +---
18103 + security/apparmor/Makefile | 4 ++--
18104 + 1 file changed, 2 insertions(+), 2 deletions(-)
18105 +
18106 +(limited to 'security/apparmor')
18107 +
18108 +diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
18109 +index ad369a7..2ded2f1 100644
18110 +--- a/security/apparmor/Makefile
18111 ++++ b/security/apparmor/Makefile
18112 +@@ -20,7 +20,7 @@ cmd_make-caps = echo "static const char *const capability_names[] = {" > $@ ;\
18113 + sed $< >>$@ -r -n -e '/CAP_FS_MASK/d' \
18114 + -e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/[\2] = "\L\1",/p';\
18115 + echo "};" >> $@ ;\
18116 +- echo -n '\#define AA_FS_CAPS_MASK "' >> $@ ;\
18117 ++ printf '%s' '\#define AA_FS_CAPS_MASK "' >> $@ ;\
18118 + sed $< -r -n -e '/CAP_FS_MASK/d' \
18119 + -e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/\L\1/p' | \
18120 + tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
18121 +@@ -56,7 +56,7 @@ cmd_make-rlim = echo "static const char *const rlim_names[RLIM_NLIMITS] = {" \
18122 + echo "static const int rlim_map[RLIM_NLIMITS] = {" >> $@ ;\
18123 + sed -r -n "s/^\# ?define[ \t]+(RLIMIT_[A-Z0-9_]+).*/\1,/p" $< >> $@ ;\
18124 + echo "};" >> $@ ; \
18125 +- echo -n '\#define AA_FS_RLIMIT_MASK "' >> $@ ;\
18126 ++ printf '%s' '\#define AA_FS_RLIMIT_MASK "' >> $@ ;\
18127 + sed -r -n 's/^\# ?define[ \t]+RLIMIT_([A-Z0-9_]+).*/\L\1/p' $< | \
18128 + tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
18129 +
18130 +--
18131 +cgit v1.1
18132
18133 diff --git a/sys-kernel/rt-sources/metadata.xml b/sys-kernel/rt-sources/metadata.xml
18134 new file mode 100644
18135 index 0000000..0791a2c
18136 --- /dev/null
18137 +++ b/sys-kernel/rt-sources/metadata.xml
18138 @@ -0,0 +1,21 @@
18139 +<?xml version="1.0" encoding="UTF-8"?>
18140 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
18141 +<pkgmetadata>
18142 + <maintainer type="person">
18143 + <email>karl.j.linden@×××××.com</email>
18144 + <name>Karl Linden</name>
18145 + </maintainer>
18146 + <maintainer type="project">
18147 + <email>proxy-maint@g.o</email>
18148 + <name>Proxy Maintainers</name>
18149 + </maintainer>
18150 + <longdescription>
18151 + Real-time patchset for the Linux Kernel
18152 + </longdescription>
18153 + <use>
18154 + <flag name="deblob">Remove binary blobs from kernel sources to provide libre license compliance.</flag>
18155 + </use>
18156 + <upstream>
18157 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
18158 + </upstream>
18159 +</pkgmetadata>
18160
18161 diff --git a/sys-kernel/rt-sources/rt-sources-3.18.121_p106.ebuild b/sys-kernel/rt-sources/rt-sources-3.18.121_p106.ebuild
18162 new file mode 100644
18163 index 0000000..6ec80f7
18164 --- /dev/null
18165 +++ b/sys-kernel/rt-sources/rt-sources-3.18.121_p106.ebuild
18166 @@ -0,0 +1,58 @@
18167 +# Copyright 1999-2018 Gentoo Foundation
18168 +# Distributed under the terms of the GNU General Public License v2
18169 +
18170 +EAPI="6"
18171 +ETYPE="sources"
18172 +KEYWORDS="~amd64"
18173 +
18174 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18175 +
18176 +inherit eapi7-ver
18177 +
18178 +CKV="$(ver_cut 1-3)"
18179 +K_SECURITY_UNSUPPORTED="1"
18180 +K_DEBLOB_AVAILABLE="1"
18181 +RT_PATCHSET="${PV/*_p}"
18182 +
18183 +inherit kernel-2
18184 +detect_version
18185 +
18186 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18187 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18188 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18189 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18190 +
18191 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18192 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18193 +
18194 +KV_FULL="${PVR/_p/-rt}"
18195 +S="${WORKDIR}/linux-${KV_FULL}"
18196 +
18197 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18198 +UNIPATCH_STRICTORDER="yes"
18199 +
18200 +PATCHES=(
18201 + "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
18202 +)
18203 +
18204 +src_prepare() {
18205 + default
18206 +
18207 + # 627796
18208 + sed \
18209 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18210 + -i "${S}/kernel/Kconfig.preempt"
18211 +}
18212 +
18213 +pkg_postinst() {
18214 + kernel-2_pkg_postinst
18215 + ewarn
18216 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18217 + ewarn "If you need support, please contact the RT project developers directly."
18218 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18219 + ewarn "the ebuilds."
18220 + ewarn
18221 +}
18222 +
18223 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18224 +${HOMEPAGE}."
18225
18226 diff --git a/sys-kernel/rt-sources/rt-sources-3.18.123_p107.ebuild b/sys-kernel/rt-sources/rt-sources-3.18.123_p107.ebuild
18227 new file mode 100644
18228 index 0000000..14daca2
18229 --- /dev/null
18230 +++ b/sys-kernel/rt-sources/rt-sources-3.18.123_p107.ebuild
18231 @@ -0,0 +1,58 @@
18232 +# Copyright 1999-2018 Gentoo Authors
18233 +# Distributed under the terms of the GNU General Public License v2
18234 +
18235 +EAPI="6"
18236 +ETYPE="sources"
18237 +KEYWORDS="~amd64"
18238 +
18239 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18240 +
18241 +inherit eapi7-ver
18242 +
18243 +CKV="$(ver_cut 1-3)"
18244 +K_SECURITY_UNSUPPORTED="1"
18245 +K_DEBLOB_AVAILABLE="1"
18246 +RT_PATCHSET="${PV/*_p}"
18247 +
18248 +inherit kernel-2
18249 +detect_version
18250 +
18251 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18252 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18253 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18254 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18255 +
18256 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18257 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18258 +
18259 +KV_FULL="${PVR/_p/-rt}"
18260 +S="${WORKDIR}/linux-${KV_FULL}"
18261 +
18262 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18263 +UNIPATCH_STRICTORDER="yes"
18264 +
18265 +PATCHES=(
18266 + "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
18267 +)
18268 +
18269 +src_prepare() {
18270 + default
18271 +
18272 + # 627796
18273 + sed \
18274 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18275 + -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
18276 +}
18277 +
18278 +pkg_postinst() {
18279 + kernel-2_pkg_postinst
18280 + ewarn
18281 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18282 + ewarn "If you need support, please contact the RT project developers directly."
18283 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18284 + ewarn "the ebuilds."
18285 + ewarn
18286 +}
18287 +
18288 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18289 +${HOMEPAGE}."
18290
18291 diff --git a/sys-kernel/rt-sources/rt-sources-4.14.69_p43.ebuild b/sys-kernel/rt-sources/rt-sources-4.14.69_p43.ebuild
18292 new file mode 100644
18293 index 0000000..d65a86c
18294 --- /dev/null
18295 +++ b/sys-kernel/rt-sources/rt-sources-4.14.69_p43.ebuild
18296 @@ -0,0 +1,54 @@
18297 +# Copyright 1999-2018 Gentoo Foundation
18298 +# Distributed under the terms of the GNU General Public License v2
18299 +
18300 +EAPI="6"
18301 +ETYPE="sources"
18302 +KEYWORDS="~amd64"
18303 +
18304 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18305 +
18306 +inherit eapi7-ver
18307 +
18308 +CKV="$(ver_cut 1-3)"
18309 +K_SECURITY_UNSUPPORTED="1"
18310 +K_DEBLOB_AVAILABLE="1"
18311 +RT_PATCHSET="${PV/*_p}"
18312 +
18313 +inherit kernel-2
18314 +detect_version
18315 +
18316 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18317 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18318 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18319 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18320 +
18321 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18322 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18323 +
18324 +KV_FULL="${PVR/_p/-rt}"
18325 +S="${WORKDIR}/linux-${KV_FULL}"
18326 +
18327 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18328 +UNIPATCH_STRICTORDER="yes"
18329 +
18330 +src_prepare() {
18331 + default
18332 +
18333 + # 627796
18334 + sed \
18335 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18336 + -i "${S}/kernel/Kconfig.preempt"
18337 +}
18338 +
18339 +pkg_postinst() {
18340 + kernel-2_pkg_postinst
18341 + ewarn
18342 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18343 + ewarn "If you need support, please contact the RT project developers directly."
18344 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18345 + ewarn "the ebuilds."
18346 + ewarn
18347 +}
18348 +
18349 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18350 +${HOMEPAGE}."
18351
18352 diff --git a/sys-kernel/rt-sources/rt-sources-4.14.71_p44.ebuild b/sys-kernel/rt-sources/rt-sources-4.14.71_p44.ebuild
18353 new file mode 100644
18354 index 0000000..18034a5
18355 --- /dev/null
18356 +++ b/sys-kernel/rt-sources/rt-sources-4.14.71_p44.ebuild
18357 @@ -0,0 +1,54 @@
18358 +# Copyright 1999-2018 Gentoo Authors
18359 +# Distributed under the terms of the GNU General Public License v2
18360 +
18361 +EAPI="6"
18362 +ETYPE="sources"
18363 +KEYWORDS="~amd64"
18364 +
18365 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18366 +
18367 +inherit eapi7-ver
18368 +
18369 +CKV="$(ver_cut 1-3)"
18370 +K_SECURITY_UNSUPPORTED="1"
18371 +K_DEBLOB_AVAILABLE="1"
18372 +RT_PATCHSET="${PV/*_p}"
18373 +
18374 +inherit kernel-2
18375 +detect_version
18376 +
18377 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18378 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18379 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18380 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18381 +
18382 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18383 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18384 +
18385 +KV_FULL="${PVR/_p/-rt}"
18386 +S="${WORKDIR}/linux-${KV_FULL}"
18387 +
18388 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18389 +UNIPATCH_STRICTORDER="yes"
18390 +
18391 +src_prepare() {
18392 + default
18393 +
18394 + # 627796
18395 + sed \
18396 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18397 + -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
18398 +}
18399 +
18400 +pkg_postinst() {
18401 + kernel-2_pkg_postinst
18402 + ewarn
18403 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18404 + ewarn "If you need support, please contact the RT project developers directly."
18405 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18406 + ewarn "the ebuilds."
18407 + ewarn
18408 +}
18409 +
18410 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18411 +${HOMEPAGE}."
18412
18413 diff --git a/sys-kernel/rt-sources/rt-sources-4.16.18_p12.ebuild b/sys-kernel/rt-sources/rt-sources-4.16.18_p12.ebuild
18414 new file mode 100644
18415 index 0000000..18034a5
18416 --- /dev/null
18417 +++ b/sys-kernel/rt-sources/rt-sources-4.16.18_p12.ebuild
18418 @@ -0,0 +1,54 @@
18419 +# Copyright 1999-2018 Gentoo Authors
18420 +# Distributed under the terms of the GNU General Public License v2
18421 +
18422 +EAPI="6"
18423 +ETYPE="sources"
18424 +KEYWORDS="~amd64"
18425 +
18426 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18427 +
18428 +inherit eapi7-ver
18429 +
18430 +CKV="$(ver_cut 1-3)"
18431 +K_SECURITY_UNSUPPORTED="1"
18432 +K_DEBLOB_AVAILABLE="1"
18433 +RT_PATCHSET="${PV/*_p}"
18434 +
18435 +inherit kernel-2
18436 +detect_version
18437 +
18438 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18439 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18440 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18441 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18442 +
18443 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18444 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18445 +
18446 +KV_FULL="${PVR/_p/-rt}"
18447 +S="${WORKDIR}/linux-${KV_FULL}"
18448 +
18449 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18450 +UNIPATCH_STRICTORDER="yes"
18451 +
18452 +src_prepare() {
18453 + default
18454 +
18455 + # 627796
18456 + sed \
18457 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18458 + -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
18459 +}
18460 +
18461 +pkg_postinst() {
18462 + kernel-2_pkg_postinst
18463 + ewarn
18464 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18465 + ewarn "If you need support, please contact the RT project developers directly."
18466 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18467 + ewarn "the ebuilds."
18468 + ewarn
18469 +}
18470 +
18471 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18472 +${HOMEPAGE}."
18473
18474 diff --git a/sys-kernel/rt-sources/rt-sources-4.18.12_p7.ebuild b/sys-kernel/rt-sources/rt-sources-4.18.12_p7.ebuild
18475 new file mode 100644
18476 index 0000000..18034a5
18477 --- /dev/null
18478 +++ b/sys-kernel/rt-sources/rt-sources-4.18.12_p7.ebuild
18479 @@ -0,0 +1,54 @@
18480 +# Copyright 1999-2018 Gentoo Authors
18481 +# Distributed under the terms of the GNU General Public License v2
18482 +
18483 +EAPI="6"
18484 +ETYPE="sources"
18485 +KEYWORDS="~amd64"
18486 +
18487 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18488 +
18489 +inherit eapi7-ver
18490 +
18491 +CKV="$(ver_cut 1-3)"
18492 +K_SECURITY_UNSUPPORTED="1"
18493 +K_DEBLOB_AVAILABLE="1"
18494 +RT_PATCHSET="${PV/*_p}"
18495 +
18496 +inherit kernel-2
18497 +detect_version
18498 +
18499 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18500 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18501 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18502 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18503 +
18504 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18505 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18506 +
18507 +KV_FULL="${PVR/_p/-rt}"
18508 +S="${WORKDIR}/linux-${KV_FULL}"
18509 +
18510 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18511 +UNIPATCH_STRICTORDER="yes"
18512 +
18513 +src_prepare() {
18514 + default
18515 +
18516 + # 627796
18517 + sed \
18518 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18519 + -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
18520 +}
18521 +
18522 +pkg_postinst() {
18523 + kernel-2_pkg_postinst
18524 + ewarn
18525 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18526 + ewarn "If you need support, please contact the RT project developers directly."
18527 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18528 + ewarn "the ebuilds."
18529 + ewarn
18530 +}
18531 +
18532 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18533 +${HOMEPAGE}."
18534
18535 diff --git a/sys-kernel/rt-sources/rt-sources-4.18.16_p9.ebuild b/sys-kernel/rt-sources/rt-sources-4.18.16_p9.ebuild
18536 new file mode 100644
18537 index 0000000..18034a5
18538 --- /dev/null
18539 +++ b/sys-kernel/rt-sources/rt-sources-4.18.16_p9.ebuild
18540 @@ -0,0 +1,54 @@
18541 +# Copyright 1999-2018 Gentoo Authors
18542 +# Distributed under the terms of the GNU General Public License v2
18543 +
18544 +EAPI="6"
18545 +ETYPE="sources"
18546 +KEYWORDS="~amd64"
18547 +
18548 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18549 +
18550 +inherit eapi7-ver
18551 +
18552 +CKV="$(ver_cut 1-3)"
18553 +K_SECURITY_UNSUPPORTED="1"
18554 +K_DEBLOB_AVAILABLE="1"
18555 +RT_PATCHSET="${PV/*_p}"
18556 +
18557 +inherit kernel-2
18558 +detect_version
18559 +
18560 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18561 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18562 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18563 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18564 +
18565 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18566 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18567 +
18568 +KV_FULL="${PVR/_p/-rt}"
18569 +S="${WORKDIR}/linux-${KV_FULL}"
18570 +
18571 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18572 +UNIPATCH_STRICTORDER="yes"
18573 +
18574 +src_prepare() {
18575 + default
18576 +
18577 + # 627796
18578 + sed \
18579 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18580 + -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
18581 +}
18582 +
18583 +pkg_postinst() {
18584 + kernel-2_pkg_postinst
18585 + ewarn
18586 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18587 + ewarn "If you need support, please contact the RT project developers directly."
18588 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18589 + ewarn "the ebuilds."
18590 + ewarn
18591 +}
18592 +
18593 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18594 +${HOMEPAGE}."
18595
18596 diff --git a/sys-kernel/rt-sources/rt-sources-4.18.7_p5.ebuild b/sys-kernel/rt-sources/rt-sources-4.18.7_p5.ebuild
18597 new file mode 100644
18598 index 0000000..d65a86c
18599 --- /dev/null
18600 +++ b/sys-kernel/rt-sources/rt-sources-4.18.7_p5.ebuild
18601 @@ -0,0 +1,54 @@
18602 +# Copyright 1999-2018 Gentoo Foundation
18603 +# Distributed under the terms of the GNU General Public License v2
18604 +
18605 +EAPI="6"
18606 +ETYPE="sources"
18607 +KEYWORDS="~amd64"
18608 +
18609 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18610 +
18611 +inherit eapi7-ver
18612 +
18613 +CKV="$(ver_cut 1-3)"
18614 +K_SECURITY_UNSUPPORTED="1"
18615 +K_DEBLOB_AVAILABLE="1"
18616 +RT_PATCHSET="${PV/*_p}"
18617 +
18618 +inherit kernel-2
18619 +detect_version
18620 +
18621 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18622 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18623 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18624 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18625 +
18626 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18627 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18628 +
18629 +KV_FULL="${PVR/_p/-rt}"
18630 +S="${WORKDIR}/linux-${KV_FULL}"
18631 +
18632 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18633 +UNIPATCH_STRICTORDER="yes"
18634 +
18635 +src_prepare() {
18636 + default
18637 +
18638 + # 627796
18639 + sed \
18640 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18641 + -i "${S}/kernel/Kconfig.preempt"
18642 +}
18643 +
18644 +pkg_postinst() {
18645 + kernel-2_pkg_postinst
18646 + ewarn
18647 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18648 + ewarn "If you need support, please contact the RT project developers directly."
18649 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18650 + ewarn "the ebuilds."
18651 + ewarn
18652 +}
18653 +
18654 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18655 +${HOMEPAGE}."
18656
18657 diff --git a/sys-kernel/rt-sources/rt-sources-4.4.148_p165.ebuild b/sys-kernel/rt-sources/rt-sources-4.4.148_p165.ebuild
18658 new file mode 100644
18659 index 0000000..6ec80f7
18660 --- /dev/null
18661 +++ b/sys-kernel/rt-sources/rt-sources-4.4.148_p165.ebuild
18662 @@ -0,0 +1,58 @@
18663 +# Copyright 1999-2018 Gentoo Foundation
18664 +# Distributed under the terms of the GNU General Public License v2
18665 +
18666 +EAPI="6"
18667 +ETYPE="sources"
18668 +KEYWORDS="~amd64"
18669 +
18670 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18671 +
18672 +inherit eapi7-ver
18673 +
18674 +CKV="$(ver_cut 1-3)"
18675 +K_SECURITY_UNSUPPORTED="1"
18676 +K_DEBLOB_AVAILABLE="1"
18677 +RT_PATCHSET="${PV/*_p}"
18678 +
18679 +inherit kernel-2
18680 +detect_version
18681 +
18682 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18683 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18684 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18685 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18686 +
18687 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18688 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18689 +
18690 +KV_FULL="${PVR/_p/-rt}"
18691 +S="${WORKDIR}/linux-${KV_FULL}"
18692 +
18693 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18694 +UNIPATCH_STRICTORDER="yes"
18695 +
18696 +PATCHES=(
18697 + "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
18698 +)
18699 +
18700 +src_prepare() {
18701 + default
18702 +
18703 + # 627796
18704 + sed \
18705 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18706 + -i "${S}/kernel/Kconfig.preempt"
18707 +}
18708 +
18709 +pkg_postinst() {
18710 + kernel-2_pkg_postinst
18711 + ewarn
18712 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18713 + ewarn "If you need support, please contact the RT project developers directly."
18714 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18715 + ewarn "the ebuilds."
18716 + ewarn
18717 +}
18718 +
18719 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18720 +${HOMEPAGE}."
18721
18722 diff --git a/sys-kernel/rt-sources/rt-sources-4.4.157_p174.ebuild b/sys-kernel/rt-sources/rt-sources-4.4.157_p174.ebuild
18723 new file mode 100644
18724 index 0000000..14daca2
18725 --- /dev/null
18726 +++ b/sys-kernel/rt-sources/rt-sources-4.4.157_p174.ebuild
18727 @@ -0,0 +1,58 @@
18728 +# Copyright 1999-2018 Gentoo Authors
18729 +# Distributed under the terms of the GNU General Public License v2
18730 +
18731 +EAPI="6"
18732 +ETYPE="sources"
18733 +KEYWORDS="~amd64"
18734 +
18735 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18736 +
18737 +inherit eapi7-ver
18738 +
18739 +CKV="$(ver_cut 1-3)"
18740 +K_SECURITY_UNSUPPORTED="1"
18741 +K_DEBLOB_AVAILABLE="1"
18742 +RT_PATCHSET="${PV/*_p}"
18743 +
18744 +inherit kernel-2
18745 +detect_version
18746 +
18747 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18748 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18749 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18750 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18751 +
18752 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18753 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18754 +
18755 +KV_FULL="${PVR/_p/-rt}"
18756 +S="${WORKDIR}/linux-${KV_FULL}"
18757 +
18758 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18759 +UNIPATCH_STRICTORDER="yes"
18760 +
18761 +PATCHES=(
18762 + "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
18763 +)
18764 +
18765 +src_prepare() {
18766 + default
18767 +
18768 + # 627796
18769 + sed \
18770 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18771 + -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
18772 +}
18773 +
18774 +pkg_postinst() {
18775 + kernel-2_pkg_postinst
18776 + ewarn
18777 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18778 + ewarn "If you need support, please contact the RT project developers directly."
18779 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18780 + ewarn "the ebuilds."
18781 + ewarn
18782 +}
18783 +
18784 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18785 +${HOMEPAGE}."
18786
18787 diff --git a/sys-kernel/rt-sources/rt-sources-4.4.162_p175.ebuild b/sys-kernel/rt-sources/rt-sources-4.4.162_p175.ebuild
18788 new file mode 100644
18789 index 0000000..14daca2
18790 --- /dev/null
18791 +++ b/sys-kernel/rt-sources/rt-sources-4.4.162_p175.ebuild
18792 @@ -0,0 +1,58 @@
18793 +# Copyright 1999-2018 Gentoo Authors
18794 +# Distributed under the terms of the GNU General Public License v2
18795 +
18796 +EAPI="6"
18797 +ETYPE="sources"
18798 +KEYWORDS="~amd64"
18799 +
18800 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18801 +
18802 +inherit eapi7-ver
18803 +
18804 +CKV="$(ver_cut 1-3)"
18805 +K_SECURITY_UNSUPPORTED="1"
18806 +K_DEBLOB_AVAILABLE="1"
18807 +RT_PATCHSET="${PV/*_p}"
18808 +
18809 +inherit kernel-2
18810 +detect_version
18811 +
18812 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18813 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18814 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18815 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18816 +
18817 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18818 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18819 +
18820 +KV_FULL="${PVR/_p/-rt}"
18821 +S="${WORKDIR}/linux-${KV_FULL}"
18822 +
18823 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18824 +UNIPATCH_STRICTORDER="yes"
18825 +
18826 +PATCHES=(
18827 + "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
18828 +)
18829 +
18830 +src_prepare() {
18831 + default
18832 +
18833 + # 627796
18834 + sed \
18835 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18836 + -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
18837 +}
18838 +
18839 +pkg_postinst() {
18840 + kernel-2_pkg_postinst
18841 + ewarn
18842 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18843 + ewarn "If you need support, please contact the RT project developers directly."
18844 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18845 + ewarn "the ebuilds."
18846 + ewarn
18847 +}
18848 +
18849 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18850 +${HOMEPAGE}."
18851
18852 diff --git a/sys-kernel/rt-sources/rt-sources-4.9.115_p93.ebuild b/sys-kernel/rt-sources/rt-sources-4.9.115_p93.ebuild
18853 new file mode 100644
18854 index 0000000..14daca2
18855 --- /dev/null
18856 +++ b/sys-kernel/rt-sources/rt-sources-4.9.115_p93.ebuild
18857 @@ -0,0 +1,58 @@
18858 +# Copyright 1999-2018 Gentoo Authors
18859 +# Distributed under the terms of the GNU General Public License v2
18860 +
18861 +EAPI="6"
18862 +ETYPE="sources"
18863 +KEYWORDS="~amd64"
18864 +
18865 +HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
18866 +
18867 +inherit eapi7-ver
18868 +
18869 +CKV="$(ver_cut 1-3)"
18870 +K_SECURITY_UNSUPPORTED="1"
18871 +K_DEBLOB_AVAILABLE="1"
18872 +RT_PATCHSET="${PV/*_p}"
18873 +
18874 +inherit kernel-2
18875 +detect_version
18876 +
18877 +K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
18878 +RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
18879 +RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
18880 + mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
18881 +
18882 +DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
18883 +SRC_URI="${KERNEL_URI} ${RT_URI}"
18884 +
18885 +KV_FULL="${PVR/_p/-rt}"
18886 +S="${WORKDIR}/linux-${KV_FULL}"
18887 +
18888 +UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
18889 +UNIPATCH_STRICTORDER="yes"
18890 +
18891 +PATCHES=(
18892 + "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
18893 +)
18894 +
18895 +src_prepare() {
18896 + default
18897 +
18898 + # 627796
18899 + sed \
18900 + "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
18901 + -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
18902 +}
18903 +
18904 +pkg_postinst() {
18905 + kernel-2_pkg_postinst
18906 + ewarn
18907 + ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
18908 + ewarn "If you need support, please contact the RT project developers directly."
18909 + ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
18910 + ewarn "the ebuilds."
18911 + ewarn
18912 +}
18913 +
18914 +K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
18915 +${HOMEPAGE}."
18916
18917 diff --git a/sys-kernel/spl/metadata.xml b/sys-kernel/spl/metadata.xml
18918 new file mode 100644
18919 index 0000000..b51664d
18920 --- /dev/null
18921 +++ b/sys-kernel/spl/metadata.xml
18922 @@ -0,0 +1,15 @@
18923 +<?xml version="1.0" encoding="UTF-8"?>
18924 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
18925 +<pkgmetadata>
18926 + <maintainer type="person">
18927 + <email>ryao@g.o</email>
18928 + <name>Richard Yao</name>
18929 + </maintainer>
18930 + <maintainer type="person">
18931 + <email>gyakovlev@g.o</email>
18932 + <name>Georgy Yakovlev</name>
18933 + </maintainer>
18934 + <upstream>
18935 + <remote-id type="github">zfsonlinux/spl</remote-id>
18936 + </upstream>
18937 +</pkgmetadata>
18938
18939 diff --git a/sys-kernel/spl/spl-0.6.5.11.ebuild b/sys-kernel/spl/spl-0.6.5.11.ebuild
18940 new file mode 100644
18941 index 0000000..d527d29
18942 --- /dev/null
18943 +++ b/sys-kernel/spl/spl-0.6.5.11.ebuild
18944 @@ -0,0 +1,112 @@
18945 +# Copyright 1999-2018 Gentoo Foundation
18946 +# Distributed under the terms of the GNU General Public License v2
18947 +
18948 +EAPI="5"
18949 +
18950 +if [[ ${PV} == "9999" ]] ; then
18951 + AUTOTOOLS_AUTORECONF="1"
18952 + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
18953 + inherit git-r3
18954 +else
18955 + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
18956 + KEYWORDS="amd64"
18957 +fi
18958 +
18959 +inherit flag-o-matic linux-info linux-mod autotools-utils
18960 +
18961 +DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
18962 +HOMEPAGE="http://zfsonlinux.org/"
18963 +
18964 +LICENSE="GPL-2"
18965 +SLOT="0"
18966 +IUSE="custom-cflags debug"
18967 +RESTRICT="debug? ( strip ) test"
18968 +
18969 +COMMON_DEPEND="
18970 + dev-lang/perl
18971 + virtual/awk"
18972 +
18973 +DEPEND="${COMMON_DEPEND}"
18974 +
18975 +RDEPEND="${COMMON_DEPEND}
18976 + !sys-devel/spl"
18977 +
18978 +AT_M4DIR="config"
18979 +AUTOTOOLS_IN_SOURCE_BUILD="1"
18980 +DOCS=( AUTHORS DISCLAIMER )
18981 +
18982 +pkg_setup() {
18983 + linux-info_pkg_setup
18984 + CONFIG_CHECK="
18985 + !DEBUG_LOCK_ALLOC
18986 + !CONFIG_REISER4_FS
18987 + MODULES
18988 + KALLSYMS
18989 + !PAX_KERNEXEC_PLUGIN_METHOD_OR
18990 + !PAX_SIZE_OVERFLOW
18991 + ZLIB_DEFLATE
18992 + ZLIB_INFLATE
18993 + "
18994 +
18995 + use debug && CONFIG_CHECK="${CONFIG_CHECK}
18996 + FRAME_POINTER
18997 + DEBUG_INFO
18998 + !DEBUG_INFO_REDUCED
18999 + "
19000 +
19001 + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
19002 +
19003 + [ ${PV} != "9999" ] && \
19004 + { kernel_is le 4 12 || die "Linux 4.12 is the latest supported version."; }
19005 +
19006 + check_extra_config
19007 +}
19008 +
19009 +src_prepare() {
19010 + # Workaround for hard coded path
19011 + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
19012 + die "Cannot patch check.sh"
19013 +
19014 + # splat is unnecessary unless we are debugging
19015 + use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
19016 +
19017 + # Set module revision number
19018 + [ ${PV} != "9999" ] && \
19019 + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
19020 +
19021 + autotools-utils_src_prepare
19022 +}
19023 +
19024 +src_configure() {
19025 + use custom-cflags || strip-flags
19026 + filter-ldflags -Wl,*
19027 +
19028 + set_arch_to_kernel
19029 + local myeconfargs=(
19030 + --bindir="${EPREFIX}/bin"
19031 + --sbindir="${EPREFIX}/sbin"
19032 + --with-config=all
19033 + --with-linux="${KV_DIR}"
19034 + --with-linux-obj="${KV_OUT_DIR}"
19035 + $(use_enable debug)
19036 + )
19037 + autotools-utils_src_configure
19038 +}
19039 +
19040 +src_install() {
19041 + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
19042 +}
19043 +
19044 +pkg_postinst() {
19045 + linux-mod_pkg_postinst
19046 +
19047 + # Remove old modules
19048 + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
19049 + then
19050 + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
19051 + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
19052 + ewarn "Automatically removing old modules to avoid problems."
19053 + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
19054 + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
19055 + fi
19056 +}
19057
19058 diff --git a/sys-kernel/spl/spl-0.7.11.ebuild b/sys-kernel/spl/spl-0.7.11.ebuild
19059 new file mode 100644
19060 index 0000000..59fcff4
19061 --- /dev/null
19062 +++ b/sys-kernel/spl/spl-0.7.11.ebuild
19063 @@ -0,0 +1,111 @@
19064 +# Copyright 1999-2018 Gentoo Foundation
19065 +# Distributed under the terms of the GNU General Public License v2
19066 +
19067 +EAPI="5"
19068 +
19069 +if [[ ${PV} == "9999" ]] ; then
19070 + AUTOTOOLS_AUTORECONF="1"
19071 + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
19072 + inherit git-r3
19073 +else
19074 + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
19075 + KEYWORDS="~amd64"
19076 +fi
19077 +
19078 +inherit flag-o-matic linux-info linux-mod autotools-utils
19079 +
19080 +DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
19081 +HOMEPAGE="http://zfsonlinux.org/"
19082 +
19083 +LICENSE="GPL-2"
19084 +SLOT="0"
19085 +IUSE="custom-cflags debug"
19086 +RESTRICT="debug? ( strip ) test"
19087 +
19088 +COMMON_DEPEND="
19089 + dev-lang/perl
19090 + virtual/awk"
19091 +
19092 +DEPEND="${COMMON_DEPEND}"
19093 +
19094 +RDEPEND="${COMMON_DEPEND}
19095 + !sys-devel/spl"
19096 +
19097 +AT_M4DIR="config"
19098 +AUTOTOOLS_IN_SOURCE_BUILD="1"
19099 +DOCS=( AUTHORS DISCLAIMER )
19100 +
19101 +pkg_setup() {
19102 + linux-info_pkg_setup
19103 + CONFIG_CHECK="
19104 + !DEBUG_LOCK_ALLOC
19105 + MODULES
19106 + KALLSYMS
19107 + !PAX_KERNEXEC_PLUGIN_METHOD_OR
19108 + !PAX_SIZE_OVERFLOW
19109 + ZLIB_DEFLATE
19110 + ZLIB_INFLATE
19111 + "
19112 +
19113 + use debug && CONFIG_CHECK="${CONFIG_CHECK}
19114 + FRAME_POINTER
19115 + DEBUG_INFO
19116 + !DEBUG_INFO_REDUCED
19117 + "
19118 +
19119 + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
19120 +
19121 + [ ${PV} != "9999" ] && \
19122 + { kernel_is le 4 18 || die "Linux 4.18 is the latest supported version."; }
19123 +
19124 + check_extra_config
19125 +}
19126 +
19127 +src_prepare() {
19128 + # Workaround for hard coded path
19129 + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
19130 + die "Cannot patch check.sh"
19131 +
19132 + # splat is unnecessary unless we are debugging
19133 + use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
19134 +
19135 + # Set module revision number
19136 + [ ${PV} != "9999" ] && \
19137 + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
19138 +
19139 + autotools-utils_src_prepare
19140 +}
19141 +
19142 +src_configure() {
19143 + use custom-cflags || strip-flags
19144 + filter-ldflags -Wl,*
19145 +
19146 + set_arch_to_kernel
19147 + local myeconfargs=(
19148 + --bindir="${EPREFIX}/bin"
19149 + --sbindir="${EPREFIX}/sbin"
19150 + --with-config=all
19151 + --with-linux="${KV_DIR}"
19152 + --with-linux-obj="${KV_OUT_DIR}"
19153 + $(use_enable debug)
19154 + )
19155 + autotools-utils_src_configure
19156 +}
19157 +
19158 +src_install() {
19159 + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
19160 +}
19161 +
19162 +pkg_postinst() {
19163 + linux-mod_pkg_postinst
19164 +
19165 + # Remove old modules
19166 + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
19167 + then
19168 + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
19169 + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
19170 + ewarn "Automatically removing old modules to avoid problems."
19171 + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
19172 + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
19173 + fi
19174 +}
19175
19176 diff --git a/sys-kernel/spl/spl-0.7.8.ebuild b/sys-kernel/spl/spl-0.7.8.ebuild
19177 new file mode 100644
19178 index 0000000..871dba5
19179 --- /dev/null
19180 +++ b/sys-kernel/spl/spl-0.7.8.ebuild
19181 @@ -0,0 +1,111 @@
19182 +# Copyright 1999-2018 Gentoo Foundation
19183 +# Distributed under the terms of the GNU General Public License v2
19184 +
19185 +EAPI="5"
19186 +
19187 +if [[ ${PV} == "9999" ]] ; then
19188 + AUTOTOOLS_AUTORECONF="1"
19189 + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
19190 + inherit git-r3
19191 +else
19192 + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
19193 + KEYWORDS="amd64"
19194 +fi
19195 +
19196 +inherit flag-o-matic linux-info linux-mod autotools-utils
19197 +
19198 +DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
19199 +HOMEPAGE="http://zfsonlinux.org/"
19200 +
19201 +LICENSE="GPL-2"
19202 +SLOT="0"
19203 +IUSE="custom-cflags debug"
19204 +RESTRICT="debug? ( strip ) test"
19205 +
19206 +COMMON_DEPEND="
19207 + dev-lang/perl
19208 + virtual/awk"
19209 +
19210 +DEPEND="${COMMON_DEPEND}"
19211 +
19212 +RDEPEND="${COMMON_DEPEND}
19213 + !sys-devel/spl"
19214 +
19215 +AT_M4DIR="config"
19216 +AUTOTOOLS_IN_SOURCE_BUILD="1"
19217 +DOCS=( AUTHORS DISCLAIMER )
19218 +
19219 +pkg_setup() {
19220 + linux-info_pkg_setup
19221 + CONFIG_CHECK="
19222 + !DEBUG_LOCK_ALLOC
19223 + MODULES
19224 + KALLSYMS
19225 + !PAX_KERNEXEC_PLUGIN_METHOD_OR
19226 + !PAX_SIZE_OVERFLOW
19227 + ZLIB_DEFLATE
19228 + ZLIB_INFLATE
19229 + "
19230 +
19231 + use debug && CONFIG_CHECK="${CONFIG_CHECK}
19232 + FRAME_POINTER
19233 + DEBUG_INFO
19234 + !DEBUG_INFO_REDUCED
19235 + "
19236 +
19237 + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
19238 +
19239 + [ ${PV} != "9999" ] && \
19240 + { kernel_is le 4 16 || die "Linux 4.16 is the latest supported version."; }
19241 +
19242 + check_extra_config
19243 +}
19244 +
19245 +src_prepare() {
19246 + # Workaround for hard coded path
19247 + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
19248 + die "Cannot patch check.sh"
19249 +
19250 + # splat is unnecessary unless we are debugging
19251 + use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
19252 +
19253 + # Set module revision number
19254 + [ ${PV} != "9999" ] && \
19255 + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
19256 +
19257 + autotools-utils_src_prepare
19258 +}
19259 +
19260 +src_configure() {
19261 + use custom-cflags || strip-flags
19262 + filter-ldflags -Wl,*
19263 +
19264 + set_arch_to_kernel
19265 + local myeconfargs=(
19266 + --bindir="${EPREFIX}/bin"
19267 + --sbindir="${EPREFIX}/sbin"
19268 + --with-config=all
19269 + --with-linux="${KV_DIR}"
19270 + --with-linux-obj="${KV_OUT_DIR}"
19271 + $(use_enable debug)
19272 + )
19273 + autotools-utils_src_configure
19274 +}
19275 +
19276 +src_install() {
19277 + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
19278 +}
19279 +
19280 +pkg_postinst() {
19281 + linux-mod_pkg_postinst
19282 +
19283 + # Remove old modules
19284 + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
19285 + then
19286 + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
19287 + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
19288 + ewarn "Automatically removing old modules to avoid problems."
19289 + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
19290 + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
19291 + fi
19292 +}
19293
19294 diff --git a/sys-kernel/spl/spl-0.7.9-r1.ebuild b/sys-kernel/spl/spl-0.7.9-r1.ebuild
19295 new file mode 100644
19296 index 0000000..8d4bead
19297 --- /dev/null
19298 +++ b/sys-kernel/spl/spl-0.7.9-r1.ebuild
19299 @@ -0,0 +1,120 @@
19300 +# Copyright 1999-2018 Gentoo Foundation
19301 +# Distributed under the terms of the GNU General Public License v2
19302 +
19303 +EAPI="5"
19304 +
19305 +AUTOTOOLS_AUTORECONF="1"
19306 +if [[ ${PV} == "9999" ]] ; then
19307 + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
19308 + inherit git-r3
19309 +else
19310 + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz
19311 + https://dev.gentoo.org/~ryao/dist/${PF}-patches.tar.xz"
19312 + KEYWORDS="~amd64"
19313 +fi
19314 +
19315 +inherit flag-o-matic linux-info linux-mod autotools-utils
19316 +
19317 +DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
19318 +HOMEPAGE="http://zfsonlinux.org/"
19319 +
19320 +LICENSE="GPL-2"
19321 +SLOT="0"
19322 +IUSE="custom-cflags debug"
19323 +RESTRICT="debug? ( strip ) test"
19324 +
19325 +COMMON_DEPEND="
19326 + dev-lang/perl
19327 + virtual/awk"
19328 +
19329 +DEPEND="${COMMON_DEPEND}"
19330 +
19331 +RDEPEND="${COMMON_DEPEND}
19332 + !sys-devel/spl"
19333 +
19334 +AT_M4DIR="config"
19335 +AUTOTOOLS_IN_SOURCE_BUILD="1"
19336 +DOCS=( AUTHORS DISCLAIMER )
19337 +
19338 +pkg_setup() {
19339 + linux-info_pkg_setup
19340 + CONFIG_CHECK="
19341 + !DEBUG_LOCK_ALLOC
19342 + MODULES
19343 + KALLSYMS
19344 + !PAX_KERNEXEC_PLUGIN_METHOD_OR
19345 + !PAX_SIZE_OVERFLOW
19346 + ZLIB_DEFLATE
19347 + ZLIB_INFLATE
19348 + "
19349 +
19350 + use debug && CONFIG_CHECK="${CONFIG_CHECK}
19351 + FRAME_POINTER
19352 + DEBUG_INFO
19353 + !DEBUG_INFO_REDUCED
19354 + "
19355 +
19356 + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
19357 +
19358 + [ ${PV} != "9999" ] && \
19359 + { kernel_is le 4 18 || die "Linux 4.18 is the latest supported version."; }
19360 +
19361 + check_extra_config
19362 +}
19363 +
19364 +src_prepare() {
19365 + if [ ${PV} != "9999" ]
19366 + then
19367 + # Apply patch set
19368 + EPATCH_SUFFIX="patch" \
19369 + EPATCH_FORCE="yes" \
19370 + epatch "${WORKDIR}/${PF}-patches"
19371 + fi
19372 +
19373 + # Workaround for hard coded path
19374 + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
19375 + die "Cannot patch check.sh"
19376 +
19377 + # splat is unnecessary unless we are debugging
19378 + use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
19379 +
19380 + # Set module revision number
19381 + [ ${PV} != "9999" ] && \
19382 + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
19383 +
19384 + autotools-utils_src_prepare
19385 +}
19386 +
19387 +src_configure() {
19388 + use custom-cflags || strip-flags
19389 + filter-ldflags -Wl,*
19390 +
19391 + set_arch_to_kernel
19392 + local myeconfargs=(
19393 + --bindir="${EPREFIX}/bin"
19394 + --sbindir="${EPREFIX}/sbin"
19395 + --with-config=all
19396 + --with-linux="${KV_DIR}"
19397 + --with-linux-obj="${KV_OUT_DIR}"
19398 + $(use_enable debug)
19399 + )
19400 + autotools-utils_src_configure
19401 +}
19402 +
19403 +src_install() {
19404 + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
19405 +}
19406 +
19407 +pkg_postinst() {
19408 + linux-mod_pkg_postinst
19409 +
19410 + # Remove old modules
19411 + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
19412 + then
19413 + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
19414 + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
19415 + ewarn "Automatically removing old modules to avoid problems."
19416 + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
19417 + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
19418 + fi
19419 +}
19420
19421 diff --git a/sys-kernel/spl/spl-0.7.9.ebuild b/sys-kernel/spl/spl-0.7.9.ebuild
19422 new file mode 100644
19423 index 0000000..5295e9d
19424 --- /dev/null
19425 +++ b/sys-kernel/spl/spl-0.7.9.ebuild
19426 @@ -0,0 +1,111 @@
19427 +# Copyright 1999-2018 Gentoo Foundation
19428 +# Distributed under the terms of the GNU General Public License v2
19429 +
19430 +EAPI="5"
19431 +
19432 +if [[ ${PV} == "9999" ]] ; then
19433 + AUTOTOOLS_AUTORECONF="1"
19434 + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
19435 + inherit git-r3
19436 +else
19437 + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
19438 + KEYWORDS="amd64"
19439 +fi
19440 +
19441 +inherit flag-o-matic linux-info linux-mod autotools-utils
19442 +
19443 +DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
19444 +HOMEPAGE="http://zfsonlinux.org/"
19445 +
19446 +LICENSE="GPL-2"
19447 +SLOT="0"
19448 +IUSE="custom-cflags debug"
19449 +RESTRICT="debug? ( strip ) test"
19450 +
19451 +COMMON_DEPEND="
19452 + dev-lang/perl
19453 + virtual/awk"
19454 +
19455 +DEPEND="${COMMON_DEPEND}"
19456 +
19457 +RDEPEND="${COMMON_DEPEND}
19458 + !sys-devel/spl"
19459 +
19460 +AT_M4DIR="config"
19461 +AUTOTOOLS_IN_SOURCE_BUILD="1"
19462 +DOCS=( AUTHORS DISCLAIMER )
19463 +
19464 +pkg_setup() {
19465 + linux-info_pkg_setup
19466 + CONFIG_CHECK="
19467 + !DEBUG_LOCK_ALLOC
19468 + MODULES
19469 + KALLSYMS
19470 + !PAX_KERNEXEC_PLUGIN_METHOD_OR
19471 + !PAX_SIZE_OVERFLOW
19472 + ZLIB_DEFLATE
19473 + ZLIB_INFLATE
19474 + "
19475 +
19476 + use debug && CONFIG_CHECK="${CONFIG_CHECK}
19477 + FRAME_POINTER
19478 + DEBUG_INFO
19479 + !DEBUG_INFO_REDUCED
19480 + "
19481 +
19482 + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
19483 +
19484 + [ ${PV} != "9999" ] && \
19485 + { kernel_is le 4 17 || die "Linux 4.17 is the latest supported version."; }
19486 +
19487 + check_extra_config
19488 +}
19489 +
19490 +src_prepare() {
19491 + # Workaround for hard coded path
19492 + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
19493 + die "Cannot patch check.sh"
19494 +
19495 + # splat is unnecessary unless we are debugging
19496 + use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
19497 +
19498 + # Set module revision number
19499 + [ ${PV} != "9999" ] && \
19500 + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
19501 +
19502 + autotools-utils_src_prepare
19503 +}
19504 +
19505 +src_configure() {
19506 + use custom-cflags || strip-flags
19507 + filter-ldflags -Wl,*
19508 +
19509 + set_arch_to_kernel
19510 + local myeconfargs=(
19511 + --bindir="${EPREFIX}/bin"
19512 + --sbindir="${EPREFIX}/sbin"
19513 + --with-config=all
19514 + --with-linux="${KV_DIR}"
19515 + --with-linux-obj="${KV_OUT_DIR}"
19516 + $(use_enable debug)
19517 + )
19518 + autotools-utils_src_configure
19519 +}
19520 +
19521 +src_install() {
19522 + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
19523 +}
19524 +
19525 +pkg_postinst() {
19526 + linux-mod_pkg_postinst
19527 +
19528 + # Remove old modules
19529 + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
19530 + then
19531 + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
19532 + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
19533 + ewarn "Automatically removing old modules to avoid problems."
19534 + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
19535 + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
19536 + fi
19537 +}
19538
19539 diff --git a/sys-kernel/spl/spl-0.7.9999.ebuild b/sys-kernel/spl/spl-0.7.9999.ebuild
19540 new file mode 100644
19541 index 0000000..69d32ec
19542 --- /dev/null
19543 +++ b/sys-kernel/spl/spl-0.7.9999.ebuild
19544 @@ -0,0 +1,113 @@
19545 +# Copyright 1999-2018 Gentoo Foundation
19546 +# Distributed under the terms of the GNU General Public License v2
19547 +
19548 +EAPI="5"
19549 +
19550 +if [[ ${PV} == *"9999" ]] ; then
19551 + AUTOTOOLS_AUTORECONF="1"
19552 + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
19553 + EGIT_BRANCH="spl-0.7-release"
19554 + inherit git-r3
19555 +else
19556 + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
19557 + KEYWORDS="~amd64 ~arm ~ppc ~ppc64"
19558 +fi
19559 +
19560 +inherit flag-o-matic linux-info linux-mod autotools-utils
19561 +
19562 +DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
19563 +HOMEPAGE="http://zfsonlinux.org/"
19564 +
19565 +LICENSE="GPL-2"
19566 +SLOT="0"
19567 +IUSE="custom-cflags debug"
19568 +RESTRICT="debug? ( strip ) test"
19569 +
19570 +COMMON_DEPEND="
19571 + dev-lang/perl
19572 + virtual/awk"
19573 +
19574 +DEPEND="${COMMON_DEPEND}"
19575 +
19576 +RDEPEND="${COMMON_DEPEND}
19577 + !sys-devel/spl"
19578 +
19579 +AT_M4DIR="config"
19580 +AUTOTOOLS_IN_SOURCE_BUILD="1"
19581 +DOCS=( AUTHORS DISCLAIMER README.markdown )
19582 +
19583 +pkg_setup() {
19584 + linux-info_pkg_setup
19585 + CONFIG_CHECK="
19586 + !DEBUG_LOCK_ALLOC
19587 + !CONFIG_REISER4_FS
19588 + !GRKERNSEC_RANDSTRUCT
19589 + KALLSYMS
19590 + MODULES
19591 + !PAX_KERNEXEC_PLUGIN_METHOD_OR
19592 + ZLIB_DEFLATE
19593 + ZLIB_INFLATE
19594 + "
19595 +
19596 + use debug && CONFIG_CHECK="${CONFIG_CHECK}
19597 + FRAME_POINTER
19598 + DEBUG_INFO
19599 + !DEBUG_INFO_REDUCED
19600 + "
19601 +
19602 + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
19603 +
19604 + [ ${PV} != *"9999" ] && \
19605 + { kernel_is le 4 17 || die "Linux 4.17 is the latest supported version."; }
19606 +
19607 + check_extra_config
19608 +}
19609 +
19610 +src_prepare() {
19611 + # Workaround for hard coded path
19612 + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
19613 + die "Cannot patch check.sh"
19614 +
19615 + # splat is unnecessary unless we are debugging
19616 + use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
19617 +
19618 + # Set module revision number
19619 + [ ${PV} != *"9999" ] && \
19620 + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
19621 +
19622 + autotools-utils_src_prepare
19623 +}
19624 +
19625 +src_configure() {
19626 + use custom-cflags || strip-flags
19627 + filter-ldflags -Wl,*
19628 +
19629 + set_arch_to_kernel
19630 + local myeconfargs=(
19631 + --bindir="${EPREFIX}/bin"
19632 + --sbindir="${EPREFIX}/sbin"
19633 + --with-config=all
19634 + --with-linux="${KV_DIR}"
19635 + --with-linux-obj="${KV_OUT_DIR}"
19636 + $(use_enable debug)
19637 + )
19638 + autotools-utils_src_configure
19639 +}
19640 +
19641 +src_install() {
19642 + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
19643 +}
19644 +
19645 +pkg_postinst() {
19646 + linux-mod_pkg_postinst
19647 +
19648 + # Remove old modules
19649 + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
19650 + then
19651 + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
19652 + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
19653 + ewarn "Automatically removing old modules to avoid problems."
19654 + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
19655 + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
19656 + fi
19657 +}
19658
19659 diff --git a/sys-kernel/spl/spl-9999.ebuild b/sys-kernel/spl/spl-9999.ebuild
19660 new file mode 100644
19661 index 0000000..b39cb38
19662 --- /dev/null
19663 +++ b/sys-kernel/spl/spl-9999.ebuild
19664 @@ -0,0 +1,112 @@
19665 +# Copyright 1999-2018 Gentoo Foundation
19666 +# Distributed under the terms of the GNU General Public License v2
19667 +
19668 +EAPI="5"
19669 +
19670 +if [[ ${PV} == "9999" ]] ; then
19671 + AUTOTOOLS_AUTORECONF="1"
19672 + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
19673 + inherit git-r3
19674 +else
19675 + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
19676 + KEYWORDS="~amd64 ~arm ~ppc ~ppc64"
19677 +fi
19678 +
19679 +inherit flag-o-matic linux-info linux-mod autotools-utils
19680 +
19681 +DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
19682 +HOMEPAGE="http://zfsonlinux.org/"
19683 +
19684 +LICENSE="GPL-2"
19685 +SLOT="0"
19686 +IUSE="custom-cflags debug"
19687 +RESTRICT="debug? ( strip ) test"
19688 +
19689 +COMMON_DEPEND="
19690 + dev-lang/perl
19691 + virtual/awk"
19692 +
19693 +DEPEND="${COMMON_DEPEND}"
19694 +
19695 +RDEPEND="${COMMON_DEPEND}
19696 + !sys-devel/spl"
19697 +
19698 +AT_M4DIR="config"
19699 +AUTOTOOLS_IN_SOURCE_BUILD="1"
19700 +DOCS=( AUTHORS DISCLAIMER README.markdown )
19701 +
19702 +pkg_setup() {
19703 + linux-info_pkg_setup
19704 + CONFIG_CHECK="
19705 + !DEBUG_LOCK_ALLOC
19706 + !CONFIG_REISER4_FS
19707 + !GRKERNSEC_RANDSTRUCT
19708 + KALLSYMS
19709 + MODULES
19710 + !PAX_KERNEXEC_PLUGIN_METHOD_OR
19711 + ZLIB_DEFLATE
19712 + ZLIB_INFLATE
19713 + "
19714 +
19715 + use debug && CONFIG_CHECK="${CONFIG_CHECK}
19716 + FRAME_POINTER
19717 + DEBUG_INFO
19718 + !DEBUG_INFO_REDUCED
19719 + "
19720 +
19721 + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
19722 +
19723 + [ ${PV} != "9999" ] && \
19724 + { kernel_is le 4 17 || die "Linux 4.17 is the latest supported version."; }
19725 +
19726 + check_extra_config
19727 +}
19728 +
19729 +src_prepare() {
19730 + # Workaround for hard coded path
19731 + sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
19732 + die "Cannot patch check.sh"
19733 +
19734 + # splat is unnecessary unless we are debugging
19735 + use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
19736 +
19737 + # Set module revision number
19738 + [ ${PV} != "9999" ] && \
19739 + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
19740 +
19741 + autotools-utils_src_prepare
19742 +}
19743 +
19744 +src_configure() {
19745 + use custom-cflags || strip-flags
19746 + filter-ldflags -Wl,*
19747 +
19748 + set_arch_to_kernel
19749 + local myeconfargs=(
19750 + --bindir="${EPREFIX}/bin"
19751 + --sbindir="${EPREFIX}/sbin"
19752 + --with-config=all
19753 + --with-linux="${KV_DIR}"
19754 + --with-linux-obj="${KV_OUT_DIR}"
19755 + $(use_enable debug)
19756 + )
19757 + autotools-utils_src_configure
19758 +}
19759 +
19760 +src_install() {
19761 + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
19762 +}
19763 +
19764 +pkg_postinst() {
19765 + linux-mod_pkg_postinst
19766 +
19767 + # Remove old modules
19768 + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
19769 + then
19770 + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
19771 + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
19772 + ewarn "Automatically removing old modules to avoid problems."
19773 + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
19774 + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
19775 + fi
19776 +}
19777
19778 diff --git a/sys-kernel/vanilla-sources/metadata.xml b/sys-kernel/vanilla-sources/metadata.xml
19779 new file mode 100644
19780 index 0000000..23dc092
19781 --- /dev/null
19782 +++ b/sys-kernel/vanilla-sources/metadata.xml
19783 @@ -0,0 +1,19 @@
19784 +<?xml version="1.0" encoding="UTF-8"?>
19785 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
19786 +<pkgmetadata>
19787 + <maintainer type="project">
19788 + <email>kernel@g.o</email>
19789 + <name>Gentoo kernel team</name>
19790 + </maintainer>
19791 + <maintainer type="person">
19792 + <email>ago@g.o</email>
19793 + <name>Agostino Sarubbo</name>
19794 + <description>CC/Assign to me the version bump request</description>
19795 + </maintainer>
19796 + <longdescription>
19797 + Vanilla prepatch/rc sources, for people who like to have the latest kernel available
19798 + </longdescription>
19799 + <upstream>
19800 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
19801 + </upstream>
19802 +</pkgmetadata>
19803
19804 diff --git a/sys-kernel/vanilla-sources/vanilla-sources-3.16.60.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-3.16.60.ebuild
19805 new file mode 100644
19806 index 0000000..4d8a280
19807 --- /dev/null
19808 +++ b/sys-kernel/vanilla-sources/vanilla-sources-3.16.60.ebuild
19809 @@ -0,0 +1,16 @@
19810 +# Copyright 1999-2018 Gentoo Authors
19811 +# Distributed under the terms of the GNU General Public License v2
19812 +
19813 +EAPI="6"
19814 +K_NOUSENAME="yes"
19815 +K_NOSETEXTRAVERSION="yes"
19816 +K_SECURITY_UNSUPPORTED="1"
19817 +ETYPE="sources"
19818 +inherit kernel-2
19819 +detect_version
19820 +
19821 +DESCRIPTION="Full sources for the Linux kernel"
19822 +HOMEPAGE="https://www.kernel.org"
19823 +SRC_URI="${KERNEL_URI}"
19824 +
19825 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
19826
19827 diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.14.78.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.14.78.ebuild
19828 new file mode 100644
19829 index 0000000..4d8a280
19830 --- /dev/null
19831 +++ b/sys-kernel/vanilla-sources/vanilla-sources-4.14.78.ebuild
19832 @@ -0,0 +1,16 @@
19833 +# Copyright 1999-2018 Gentoo Authors
19834 +# Distributed under the terms of the GNU General Public License v2
19835 +
19836 +EAPI="6"
19837 +K_NOUSENAME="yes"
19838 +K_NOSETEXTRAVERSION="yes"
19839 +K_SECURITY_UNSUPPORTED="1"
19840 +ETYPE="sources"
19841 +inherit kernel-2
19842 +detect_version
19843 +
19844 +DESCRIPTION="Full sources for the Linux kernel"
19845 +HOMEPAGE="https://www.kernel.org"
19846 +SRC_URI="${KERNEL_URI}"
19847 +
19848 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
19849
19850 diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.18.16.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.18.16.ebuild
19851 new file mode 100644
19852 index 0000000..4d8a280
19853 --- /dev/null
19854 +++ b/sys-kernel/vanilla-sources/vanilla-sources-4.18.16.ebuild
19855 @@ -0,0 +1,16 @@
19856 +# Copyright 1999-2018 Gentoo Authors
19857 +# Distributed under the terms of the GNU General Public License v2
19858 +
19859 +EAPI="6"
19860 +K_NOUSENAME="yes"
19861 +K_NOSETEXTRAVERSION="yes"
19862 +K_SECURITY_UNSUPPORTED="1"
19863 +ETYPE="sources"
19864 +inherit kernel-2
19865 +detect_version
19866 +
19867 +DESCRIPTION="Full sources for the Linux kernel"
19868 +HOMEPAGE="https://www.kernel.org"
19869 +SRC_URI="${KERNEL_URI}"
19870 +
19871 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
19872
19873 diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.19.0.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.19.0.ebuild
19874 new file mode 100644
19875 index 0000000..4d8a280
19876 --- /dev/null
19877 +++ b/sys-kernel/vanilla-sources/vanilla-sources-4.19.0.ebuild
19878 @@ -0,0 +1,16 @@
19879 +# Copyright 1999-2018 Gentoo Authors
19880 +# Distributed under the terms of the GNU General Public License v2
19881 +
19882 +EAPI="6"
19883 +K_NOUSENAME="yes"
19884 +K_NOSETEXTRAVERSION="yes"
19885 +K_SECURITY_UNSUPPORTED="1"
19886 +ETYPE="sources"
19887 +inherit kernel-2
19888 +detect_version
19889 +
19890 +DESCRIPTION="Full sources for the Linux kernel"
19891 +HOMEPAGE="https://www.kernel.org"
19892 +SRC_URI="${KERNEL_URI}"
19893 +
19894 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
19895
19896 diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.4.162.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.4.162.ebuild
19897 new file mode 100644
19898 index 0000000..4d8a280
19899 --- /dev/null
19900 +++ b/sys-kernel/vanilla-sources/vanilla-sources-4.4.162.ebuild
19901 @@ -0,0 +1,16 @@
19902 +# Copyright 1999-2018 Gentoo Authors
19903 +# Distributed under the terms of the GNU General Public License v2
19904 +
19905 +EAPI="6"
19906 +K_NOUSENAME="yes"
19907 +K_NOSETEXTRAVERSION="yes"
19908 +K_SECURITY_UNSUPPORTED="1"
19909 +ETYPE="sources"
19910 +inherit kernel-2
19911 +detect_version
19912 +
19913 +DESCRIPTION="Full sources for the Linux kernel"
19914 +HOMEPAGE="https://www.kernel.org"
19915 +SRC_URI="${KERNEL_URI}"
19916 +
19917 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
19918
19919 diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.9.135.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.9.135.ebuild
19920 new file mode 100644
19921 index 0000000..4d8a280
19922 --- /dev/null
19923 +++ b/sys-kernel/vanilla-sources/vanilla-sources-4.9.135.ebuild
19924 @@ -0,0 +1,16 @@
19925 +# Copyright 1999-2018 Gentoo Authors
19926 +# Distributed under the terms of the GNU General Public License v2
19927 +
19928 +EAPI="6"
19929 +K_NOUSENAME="yes"
19930 +K_NOSETEXTRAVERSION="yes"
19931 +K_SECURITY_UNSUPPORTED="1"
19932 +ETYPE="sources"
19933 +inherit kernel-2
19934 +detect_version
19935 +
19936 +DESCRIPTION="Full sources for the Linux kernel"
19937 +HOMEPAGE="https://www.kernel.org"
19938 +SRC_URI="${KERNEL_URI}"
19939 +
19940 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
19941
19942 diff --git a/sys-kernel/xbox-sources/metadata.xml b/sys-kernel/xbox-sources/metadata.xml
19943 new file mode 100644
19944 index 0000000..dbad95c
19945 --- /dev/null
19946 +++ b/sys-kernel/xbox-sources/metadata.xml
19947 @@ -0,0 +1,13 @@
19948 +<?xml version="1.0" encoding="UTF-8"?>
19949 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
19950 +<pkgmetadata>
19951 + <maintainer type="project">
19952 + <email>kernel@g.o</email>
19953 + <name>Gentoo Kernel Project</name>
19954 + </maintainer>
19955 + <longdescription>Full sources for the Xbox Linux kernel</longdescription>
19956 + <upstream>
19957 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
19958 + <remote-id type="sourceforge">xbox-linux</remote-id>
19959 + </upstream>
19960 +</pkgmetadata>
19961
19962 diff --git a/sys-kernel/xbox-sources/xbox-sources-2.6.16.26.ebuild b/sys-kernel/xbox-sources/xbox-sources-2.6.16.26.ebuild
19963 new file mode 100644
19964 index 0000000..9abd75e
19965 --- /dev/null
19966 +++ b/sys-kernel/xbox-sources/xbox-sources-2.6.16.26.ebuild
19967 @@ -0,0 +1,24 @@
19968 +# Copyright 1999-2013 Gentoo Foundation
19969 +# Distributed under the terms of the GNU General Public License v2
19970 +
19971 +EAPI="5"
19972 +
19973 +K_NOUSENAME="yes"
19974 +K_NOSETEXTRAVERSION="yes"
19975 +ETYPE='sources'
19976 +K_SECURITY_UNSUPPORTED="1"
19977 +inherit kernel-2
19978 +detect_arch
19979 +detect_version
19980 +
19981 +# version of gentoo patchset
19982 +XBOX_PATCHES=linux-2.6.16-xbox.patch.gz
19983 +
19984 +KEYWORDS="~x86 -*"
19985 +UNIPATCH_LIST="
19986 + ${ARCH_PATCH}
19987 + ${DISTDIR}/${XBOX_PATCHES}"
19988 +DESCRIPTION="Full sources for the Xbox Linux kernel"
19989 +SRC_URI="${KERNEL_URI}
19990 + ${ARCH_URI}
19991 + mirror://sourceforge/xbox-linux/${XBOX_PATCHES}"
19992
19993 diff --git a/sys-kernel/zen-sources/metadata.xml b/sys-kernel/zen-sources/metadata.xml
19994 new file mode 100644
19995 index 0000000..fafe9a5
19996 --- /dev/null
19997 +++ b/sys-kernel/zen-sources/metadata.xml
19998 @@ -0,0 +1,8 @@
19999 +<?xml version="1.0" encoding="UTF-8"?>
20000 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
20001 +<pkgmetadata>
20002 +<!-- maintainer-needed -->
20003 +<upstream>
20004 + <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
20005 +</upstream>
20006 +</pkgmetadata>
20007
20008 diff --git a/sys-kernel/zen-sources/zen-sources-4.14.9999.ebuild b/sys-kernel/zen-sources/zen-sources-4.14.9999.ebuild
20009 new file mode 100644
20010 index 0000000..07a3edb
20011 --- /dev/null
20012 +++ b/sys-kernel/zen-sources/zen-sources-4.14.9999.ebuild
20013 @@ -0,0 +1,39 @@
20014 +# Copyright 1999-2018 Gentoo Foundation
20015 +# Distributed under the terms of the GNU General Public License v2
20016 +
20017 +EAPI=6
20018 +
20019 +K_PREPATCHED="yes"
20020 +UNIPATCH_STRICTORDER="yes"
20021 +K_SECURITY_UNSUPPORTED="1"
20022 +K_DEBLOB_AVAILABLE=0
20023 +CKV="${PV/99/}"
20024 +
20025 +ETYPE="sources"
20026 +
20027 +EGIT_BRANCH="${PV/.9999/}/master"
20028 +EGIT_REPO_URI="https://github.com/zen-kernel/zen-kernel.git"
20029 +
20030 +inherit kernel-2 git-r3
20031 +detect_version
20032 +
20033 +K_NOSETEXTRAVERSION="don't_set_it"
20034 +DESCRIPTION="The Zen Kernel Live Sources"
20035 +HOMEPAGE="https://github.com/zen-kernel"
20036 +
20037 +IUSE=""
20038 +
20039 +KEYWORDS=""
20040 +
20041 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${KV_FULL}"
20042 +
20043 +K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
20044 +${HOMEPAGE}, also go to #zen-sources on freenode"
20045 +
20046 +pkg_setup(){
20047 + ewarn "Be carefull!! You are about to install live kernel sources."
20048 + ewarn "Git zen-sources are extremely unsupported, even from the upstream"
20049 + ewarn "developers. Use them at your own risk and don't bite us if your"
20050 + ewarn "system explodes"
20051 + kernel-2_pkg_setup
20052 +}
20053
20054 diff --git a/sys-kernel/zen-sources/zen-sources-4.15.9999.ebuild b/sys-kernel/zen-sources/zen-sources-4.15.9999.ebuild
20055 new file mode 100644
20056 index 0000000..07a3edb
20057 --- /dev/null
20058 +++ b/sys-kernel/zen-sources/zen-sources-4.15.9999.ebuild
20059 @@ -0,0 +1,39 @@
20060 +# Copyright 1999-2018 Gentoo Foundation
20061 +# Distributed under the terms of the GNU General Public License v2
20062 +
20063 +EAPI=6
20064 +
20065 +K_PREPATCHED="yes"
20066 +UNIPATCH_STRICTORDER="yes"
20067 +K_SECURITY_UNSUPPORTED="1"
20068 +K_DEBLOB_AVAILABLE=0
20069 +CKV="${PV/99/}"
20070 +
20071 +ETYPE="sources"
20072 +
20073 +EGIT_BRANCH="${PV/.9999/}/master"
20074 +EGIT_REPO_URI="https://github.com/zen-kernel/zen-kernel.git"
20075 +
20076 +inherit kernel-2 git-r3
20077 +detect_version
20078 +
20079 +K_NOSETEXTRAVERSION="don't_set_it"
20080 +DESCRIPTION="The Zen Kernel Live Sources"
20081 +HOMEPAGE="https://github.com/zen-kernel"
20082 +
20083 +IUSE=""
20084 +
20085 +KEYWORDS=""
20086 +
20087 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${KV_FULL}"
20088 +
20089 +K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
20090 +${HOMEPAGE}, also go to #zen-sources on freenode"
20091 +
20092 +pkg_setup(){
20093 + ewarn "Be carefull!! You are about to install live kernel sources."
20094 + ewarn "Git zen-sources are extremely unsupported, even from the upstream"
20095 + ewarn "developers. Use them at your own risk and don't bite us if your"
20096 + ewarn "system explodes"
20097 + kernel-2_pkg_setup
20098 +}
20099
20100 diff --git a/sys-kernel/zen-sources/zen-sources-4.16.9999.ebuild b/sys-kernel/zen-sources/zen-sources-4.16.9999.ebuild
20101 new file mode 100644
20102 index 0000000..07a3edb
20103 --- /dev/null
20104 +++ b/sys-kernel/zen-sources/zen-sources-4.16.9999.ebuild
20105 @@ -0,0 +1,39 @@
20106 +# Copyright 1999-2018 Gentoo Foundation
20107 +# Distributed under the terms of the GNU General Public License v2
20108 +
20109 +EAPI=6
20110 +
20111 +K_PREPATCHED="yes"
20112 +UNIPATCH_STRICTORDER="yes"
20113 +K_SECURITY_UNSUPPORTED="1"
20114 +K_DEBLOB_AVAILABLE=0
20115 +CKV="${PV/99/}"
20116 +
20117 +ETYPE="sources"
20118 +
20119 +EGIT_BRANCH="${PV/.9999/}/master"
20120 +EGIT_REPO_URI="https://github.com/zen-kernel/zen-kernel.git"
20121 +
20122 +inherit kernel-2 git-r3
20123 +detect_version
20124 +
20125 +K_NOSETEXTRAVERSION="don't_set_it"
20126 +DESCRIPTION="The Zen Kernel Live Sources"
20127 +HOMEPAGE="https://github.com/zen-kernel"
20128 +
20129 +IUSE=""
20130 +
20131 +KEYWORDS=""
20132 +
20133 +EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${KV_FULL}"
20134 +
20135 +K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
20136 +${HOMEPAGE}, also go to #zen-sources on freenode"
20137 +
20138 +pkg_setup(){
20139 + ewarn "Be carefull!! You are about to install live kernel sources."
20140 + ewarn "Git zen-sources are extremely unsupported, even from the upstream"
20141 + ewarn "developers. Use them at your own risk and don't bite us if your"
20142 + ewarn "system explodes"
20143 + kernel-2_pkg_setup
20144 +}