aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlice Ferrazzi <alicef@gentoo.org>2018-11-02 07:20:57 +0000
committerAlice Ferrazzi <alicef@gentoo.org>2018-11-02 07:24:12 +0000
commit45a6d830fb44980db4f9c03b7285d3a19fde42f5 (patch)
tree34bc6a6fc56b6cd17df5327004d6f5ec632201f5
parentKernel overlay init commit (diff)
downloadkernel-45a6d830.tar.gz
kernel-45a6d830.tar.bz2
kernel-45a6d830.zip
Initial commit of kernel related packages
Signed-off-by: Alice Ferrazzi <alicef@gentoo.org>
-rw-r--r--eclass/kernel-2.eclass1637
-rw-r--r--eclass/linux-info.eclass966
-rw-r--r--eclass/linux-mod.eclass758
-rw-r--r--sys-kernel/aufs-sources/Manifest65
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.52.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.65.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.71.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.72.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.73.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.74.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.75.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.76.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.77.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.14.78.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.18.10.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.18.11.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.18.12.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.18.13.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.18.14.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.18.15.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.18.16.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.18.9.ebuild84
-rw-r--r--sys-kernel/aufs-sources/aufs-sources-4.19.0.ebuild84
-rw-r--r--sys-kernel/aufs-sources/files/README.gentoo21
-rw-r--r--sys-kernel/aufs-sources/files/README.gentoo-r121
-rw-r--r--sys-kernel/aufs-sources/metadata.xml25
-rw-r--r--sys-kernel/bliss-initramfs/Manifest1
-rw-r--r--sys-kernel/bliss-initramfs/bliss-initramfs-7.1.3.ebuild45
-rw-r--r--sys-kernel/bliss-initramfs/metadata.xml8
-rw-r--r--sys-kernel/ck-sources/Manifest81
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.14.63.ebuild64
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.14.66.ebuild64
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.14.67.ebuild64
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.14.69.ebuild64
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.14.71.ebuild64
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.14.73.ebuild64
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.14.75.ebuild57
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.14.78.ebuild57
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.18.11.ebuild54
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.18.13.ebuild47
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.18.16.ebuild47
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.18.5.ebuild54
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.18.7.ebuild54
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.18.9.ebuild54
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.9.120.ebuild59
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.9.123.ebuild59
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.9.124.ebuild59
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.9.126.ebuild59
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.9.128.ebuild59
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.9.130.ebuild59
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.9.132.ebuild52
-rw-r--r--sys-kernel/ck-sources/ck-sources-4.9.135.ebuild52
-rw-r--r--sys-kernel/ck-sources/metadata.xml26
-rw-r--r--sys-kernel/cryptodev/Manifest1
-rw-r--r--sys-kernel/cryptodev/cryptodev-1.9.ebuild56
-rw-r--r--sys-kernel/cryptodev/cryptodev-9999.ebuild57
-rw-r--r--sys-kernel/cryptodev/files/cryptodev-1.9-fix-build-with-4.14-629958.patch44
-rw-r--r--sys-kernel/cryptodev/files/ioctl.c-Fix-build-with-linux-4.17.patch39
-rw-r--r--sys-kernel/cryptodev/metadata.xml8
-rw-r--r--sys-kernel/dracut-crypt-ssh/Manifest1
-rw-r--r--sys-kernel/dracut-crypt-ssh/dracut-crypt-ssh-1.0.6-r1.ebuild20
-rw-r--r--sys-kernel/dracut-crypt-ssh/metadata.xml15
-rw-r--r--sys-kernel/dracut/Manifest5
-rw-r--r--sys-kernel/dracut/dracut-044-r1.ebuild259
-rw-r--r--sys-kernel/dracut/dracut-044-r3.ebuild246
-rw-r--r--sys-kernel/dracut/dracut-045-r2.ebuild164
-rw-r--r--sys-kernel/dracut/dracut-046-r1.ebuild165
-rw-r--r--sys-kernel/dracut/dracut-047-r1.ebuild154
-rw-r--r--sys-kernel/dracut/dracut-048-r1.ebuild152
-rw-r--r--sys-kernel/dracut/dracut-048.ebuild148
-rw-r--r--sys-kernel/dracut/dracut-9999.ebuild158
-rw-r--r--sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch32
-rw-r--r--sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch24
-rw-r--r--sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch23
-rw-r--r--sys-kernel/dracut/files/045-systemdutildir.patch45
-rw-r--r--sys-kernel/dracut/files/046-amd-microcode.patch30
-rw-r--r--sys-kernel/dracut/files/047-all-fix-issues-found-by-shellcheck.patch77
-rw-r--r--sys-kernel/dracut/files/047-plymouth-fix-detection-of-plymouth-directory.patch31
-rw-r--r--sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch41
-rw-r--r--sys-kernel/dracut/files/dracut-044-bash-4.4.patch80
-rw-r--r--sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch51
-rw-r--r--sys-kernel/dracut/metadata.xml24
-rw-r--r--sys-kernel/genkernel-next/Manifest2
-rw-r--r--sys-kernel/genkernel-next/genkernel-next-66.ebuild51
-rw-r--r--sys-kernel/genkernel-next/genkernel-next-68.ebuild51
-rw-r--r--sys-kernel/genkernel-next/metadata.xml19
-rw-r--r--sys-kernel/genkernel/Manifest24
-rw-r--r--sys-kernel/genkernel/files/genkernel-3.4.52.4-crc32c.patch130
-rw-r--r--sys-kernel/genkernel/files/genkernel-3.4.52.4-grub-mkconfig.patch17
-rw-r--r--sys-kernel/genkernel/files/genkernel-3.4.52.4-system-map.patch38
-rw-r--r--sys-kernel/genkernel/files/genkernel.bash73
-rw-r--r--sys-kernel/genkernel/files/initramfs.mounts23
-rw-r--r--sys-kernel/genkernel/genkernel-3.4.52.3.ebuild154
-rw-r--r--sys-kernel/genkernel/genkernel-3.4.52.4-r1.ebuild155
-rw-r--r--sys-kernel/genkernel/genkernel-3.4.52.4-r2.ebuild156
-rw-r--r--sys-kernel/genkernel/genkernel-3.4.52.4-r3.ebuild157
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.1.1.ebuild158
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.2.0-r1.ebuild159
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.2.1.ebuild159
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.2.2.ebuild159
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.2.3.ebuild159
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.2.4.ebuild159
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.2.5.ebuild159
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.3.2.ebuild159
-rw-r--r--sys-kernel/genkernel/genkernel-3.5.3.3.ebuild159
-rw-r--r--sys-kernel/genkernel/genkernel-9999.ebuild159
-rw-r--r--sys-kernel/genkernel/metadata.xml19
-rw-r--r--sys-kernel/gentoo-sources/Manifest98
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.52.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.65.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.71.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.72.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.73.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.74.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.75.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.76.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.77.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.14.78.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.18.10.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.18.11.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.18.12.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.18.13.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.18.14.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.18.15.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.18.16.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.18.9.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.19.0.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.4.150.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.4.157.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.4.159.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.4.160.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.4.161.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.4.162.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.9.122.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.9.132.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.9.133.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.9.134.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.9.135.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-4.9.49-r1.ebuild28
-rw-r--r--sys-kernel/gentoo-sources/metadata.xml14
-rw-r--r--sys-kernel/git-sources/Manifest9
-rw-r--r--sys-kernel/git-sources/git-sources-4.19_rc1.ebuild40
-rw-r--r--sys-kernel/git-sources/git-sources-4.19_rc2.ebuild40
-rw-r--r--sys-kernel/git-sources/git-sources-4.19_rc3.ebuild40
-rw-r--r--sys-kernel/git-sources/git-sources-4.19_rc4.ebuild40
-rw-r--r--sys-kernel/git-sources/git-sources-4.19_rc5.ebuild40
-rw-r--r--sys-kernel/git-sources/git-sources-4.19_rc6.ebuild40
-rw-r--r--sys-kernel/git-sources/git-sources-4.19_rc7.ebuild40
-rw-r--r--sys-kernel/git-sources/git-sources-4.19_rc8.ebuild40
-rw-r--r--sys-kernel/git-sources/metadata.xml18
-rw-r--r--sys-kernel/hardened-sources/Manifest15
-rw-r--r--sys-kernel/hardened-sources/hardened-sources-4.8.17-r2.ebuild44
-rw-r--r--sys-kernel/hardened-sources/hardened-sources-4.9.21.ebuild45
-rw-r--r--sys-kernel/hardened-sources/hardened-sources-4.9.22.ebuild45
-rw-r--r--sys-kernel/hardened-sources/hardened-sources-4.9.23.ebuild45
-rw-r--r--sys-kernel/hardened-sources/hardened-sources-4.9.24.ebuild45
-rw-r--r--sys-kernel/hardened-sources/metadata.xml23
-rw-r--r--sys-kernel/kergen/Manifest2
-rw-r--r--sys-kernel/kergen/kergen-0.1.3.ebuild17
-rw-r--r--sys-kernel/kergen/kergen-0.1.4.ebuild17
-rw-r--r--sys-kernel/kergen/metadata.xml11
-rw-r--r--sys-kernel/kpatch/Manifest3
-rw-r--r--sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild76
-rw-r--r--sys-kernel/kpatch/kpatch-0.6.0.ebuild76
-rw-r--r--sys-kernel/kpatch/kpatch-0.6.2.ebuild76
-rw-r--r--sys-kernel/kpatch/kpatch-9999.ebuild77
-rw-r--r--sys-kernel/kpatch/metadata.xml8
-rw-r--r--sys-kernel/linux-docs/Manifest3
-rw-r--r--sys-kernel/linux-docs/linux-docs-4.1.ebuild64
-rw-r--r--sys-kernel/linux-docs/linux-docs-4.4.ebuild64
-rw-r--r--sys-kernel/linux-docs/linux-docs-4.9.ebuild64
-rw-r--r--sys-kernel/linux-docs/metadata.xml10
-rw-r--r--sys-kernel/linux-firmware/Manifest1
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20181026.ebuild114
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-99999999.ebuild114
-rw-r--r--sys-kernel/linux-firmware/metadata.xml19
-rw-r--r--sys-kernel/linux-headers/Manifest21
-rw-r--r--sys-kernel/linux-headers/linux-headers-3.18.ebuild53
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.13.ebuild55
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.14-r1.ebuild57
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.15-r1.ebuild57
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.16-r2.ebuild60
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.16.ebuild60
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.17.ebuild57
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.18.ebuild60
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.19.ebuild60
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.4.ebuild55
-rw-r--r--sys-kernel/linux-headers/linux-headers-4.9.ebuild55
-rw-r--r--sys-kernel/linux-headers/metadata.xml11
-rw-r--r--sys-kernel/metadata.xml39
-rw-r--r--sys-kernel/mips-sources/Manifest16
-rw-r--r--sys-kernel/mips-sources/metadata.xml21
-rw-r--r--sys-kernel/mips-sources/mips-sources-4.14.67.ebuild346
-rw-r--r--sys-kernel/mips-sources/mips-sources-4.17.19.ebuild346
-rw-r--r--sys-kernel/mips-sources/mips-sources-4.4.152.ebuild350
-rw-r--r--sys-kernel/mips-sources/mips-sources-4.9.124.ebuild346
-rw-r--r--sys-kernel/pf-sources/Manifest13
-rw-r--r--sys-kernel/pf-sources/metadata.xml8
-rw-r--r--sys-kernel/pf-sources/pf-sources-4.10_p3.ebuild77
-rw-r--r--sys-kernel/pf-sources/pf-sources-4.11_p3.ebuild77
-rw-r--r--sys-kernel/pf-sources/pf-sources-4.11_p4.ebuild77
-rw-r--r--sys-kernel/pf-sources/pf-sources-4.13_p4.ebuild77
-rw-r--r--sys-kernel/pf-sources/pf-sources-4.4_p8.ebuild77
-rw-r--r--sys-kernel/pf-sources/pf-sources-4.5_p4.ebuild77
-rw-r--r--sys-kernel/pf-sources/pf-sources-4.8_p8.ebuild77
-rw-r--r--sys-kernel/raspberrypi-image/Manifest2
-rw-r--r--sys-kernel/raspberrypi-image/metadata.xml11
-rw-r--r--sys-kernel/raspberrypi-image/raspberrypi-image-4.1.17_p20160209.ebuild62
-rw-r--r--sys-kernel/raspberrypi-image/raspberrypi-image-4.1.19_p20160309.ebuild62
-rw-r--r--sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild57
-rw-r--r--sys-kernel/raspberrypi-sources/metadata.xml11
-rw-r--r--sys-kernel/raspberrypi-sources/raspberrypi-sources-4.10.9999.ebuild27
-rw-r--r--sys-kernel/raspberrypi-sources/raspberrypi-sources-4.11.9999.ebuild27
-rw-r--r--sys-kernel/raspberrypi-sources/raspberrypi-sources-4.12.9999.ebuild27
-rw-r--r--sys-kernel/raspberrypi-sources/raspberrypi-sources-4.13.9999.ebuild27
-rw-r--r--sys-kernel/raspberrypi-sources/raspberrypi-sources-4.14.9999.ebuild27
-rw-r--r--sys-kernel/raspberrypi-sources/raspberrypi-sources-4.4.9999.ebuild27
-rw-r--r--sys-kernel/raspberrypi-sources/raspberrypi-sources-4.9.9999.ebuild27
-rw-r--r--sys-kernel/rt-sources/Manifest42
-rw-r--r--sys-kernel/rt-sources/files/rt-sources-posix-printf.patch40
-rw-r--r--sys-kernel/rt-sources/metadata.xml21
-rw-r--r--sys-kernel/rt-sources/rt-sources-3.18.121_p106.ebuild58
-rw-r--r--sys-kernel/rt-sources/rt-sources-3.18.123_p107.ebuild58
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.14.69_p43.ebuild54
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.14.71_p44.ebuild54
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.16.18_p12.ebuild54
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.18.12_p7.ebuild54
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.18.16_p9.ebuild54
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.18.7_p5.ebuild54
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.4.148_p165.ebuild58
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.4.157_p174.ebuild58
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.4.162_p175.ebuild58
-rw-r--r--sys-kernel/rt-sources/rt-sources-4.9.115_p93.ebuild58
-rw-r--r--sys-kernel/spl/Manifest5
-rw-r--r--sys-kernel/spl/metadata.xml15
-rw-r--r--sys-kernel/spl/spl-0.6.5.11.ebuild112
-rw-r--r--sys-kernel/spl/spl-0.7.11.ebuild111
-rw-r--r--sys-kernel/spl/spl-0.7.8.ebuild111
-rw-r--r--sys-kernel/spl/spl-0.7.9-r1.ebuild120
-rw-r--r--sys-kernel/spl/spl-0.7.9.ebuild111
-rw-r--r--sys-kernel/spl/spl-0.7.9999.ebuild113
-rw-r--r--sys-kernel/spl/spl-9999.ebuild112
-rw-r--r--sys-kernel/vanilla-sources/Manifest11
-rw-r--r--sys-kernel/vanilla-sources/metadata.xml19
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-3.16.60.ebuild16
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-4.14.78.ebuild16
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-4.18.16.ebuild16
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-4.19.0.ebuild16
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-4.4.162.ebuild16
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-4.9.135.ebuild16
-rw-r--r--sys-kernel/xbox-sources/Manifest3
-rw-r--r--sys-kernel/xbox-sources/metadata.xml13
-rw-r--r--sys-kernel/xbox-sources/xbox-sources-2.6.16.26.ebuild24
-rw-r--r--sys-kernel/zen-sources/metadata.xml8
-rw-r--r--sys-kernel/zen-sources/zen-sources-4.14.9999.ebuild39
-rw-r--r--sys-kernel/zen-sources/zen-sources-4.15.9999.ebuild39
-rw-r--r--sys-kernel/zen-sources/zen-sources-4.16.9999.ebuild39
257 files changed, 18684 insertions, 0 deletions
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
new file mode 100644
index 0000000..8e595d5
--- /dev/null
+++ b/eclass/kernel-2.eclass
@@ -0,0 +1,1637 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: kernel-2.eclass
+# @MAINTAINER:
+# Gentoo Kernel project <kernel@gentoo.org>
+# @AUTHOR:
+# John Mylchreest <johnm@gentoo.org>
+# Mike Pagano <mpagano@gentoo.org>
+# <so many, many others, please add yourself>
+# @SUPPORTED_EAPIS: 2 3 4 5 6
+# @BLURB: Eclass for kernel packages
+# @DESCRIPTION:
+# This is the kernel.eclass rewrite for a clean base regarding the 2.6
+# series of kernel with back-compatibility for 2.4
+# Please direct your bugs to the current eclass maintainer :)
+# added functionality:
+# unipatch - a flexible, singular method to extract, add and remove patches.
+
+# @ECLASS-VARIABLE: K_USEPV
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# When setting the EXTRAVERSION variable, it should
+# add PV to the end.
+# this is useful for things like wolk. IE:
+# EXTRAVERSION would be something like : -wolk-4.19-r1
+
+# @ECLASS-VARIABLE: K_NOSETEXTRAVERSION
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# if this is set then EXTRAVERSION will not be
+# automatically set within the kernel Makefile
+
+# @ECLASS-VARIABLE: K_NOUSENAME
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# if this is set then EXTRAVERSION will not include the
+# first part of ${PN} in EXTRAVERSION
+
+# @ECLASS-VARIABLE: K_NOUSEPR
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# if this is set then EXTRAVERSION will not include the
+# anything based on ${PR}.
+
+# @ECLASS-VARIABLE: K_PREPATCHED
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# if the patchset is prepatched (ie: mm-sources,
+# ck-sources, ac-sources) it will use PR (ie: -r5) as
+# the patchset version for
+# and not use it as a true package revision
+
+# @ECLASS-VARIABLE: K_EXTRAEINFO
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# this is a new-line seperated list of einfo displays in
+# postinst and can be used to carry additional postinst
+# messages
+
+# @ECLASS-VARIABLE: K_EXTRAELOG
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# same as K_EXTRAEINFO except using elog instead of einfo
+
+# @ECLASS-VARIABLE: K_EXTRAEWARN
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# same as K_EXTRAEINFO except using ewarn instead of einfo
+
+# @ECLASS-VARIABLE: K_SYMLINK
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# if this is set, then forcably create symlink anyway
+
+# @ECLASS-VARIABLE: K_BASE_VER
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# for git-sources, declare the base version this patch is
+# based off of.
+
+# @ECLASS-VARIABLE: K_DEFCONFIG
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Allow specifying a different defconfig target.
+# If length zero, defaults to "defconfig".
+
+# @ECLASS-VARIABLE: K_WANT_GENPATCHES
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Apply genpatches to kernel source. Provide any
+# combination of "base", "extras" or "experimental".
+
+# @ECLASS-VARIABLE: K_EXP_GENPATCHES_PULL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, we pull "experimental" regardless of the USE FLAG
+# but expect the ebuild maintainer to use K_EXP_GENPATCHES_LIST.
+
+# @ECLASS-VARIABLE: K_EXP_GENPATCHES_NOUSE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, no USE flag will be provided for "experimental";
+# as a result the user cannot choose to apply those patches.
+
+# @ECLASS-VARIABLE: K_EXP_GENPATCHES_LIST
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# A list of patches to pick from "experimental" to apply when
+# the USE flag is unset and K_EXP_GENPATCHES_PULL is set.
+
+# @ECLASS-VARIABLE: K_FROM_GIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, this variable signals that the kernel sources derives
+# from a git tree and special handling will be applied so that
+# any patches that are applied will actually apply.
+
+# @ECLASS-VARIABLE: K_GENPATCHES_VER
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# The version of the genpatches tarball(s) to apply.
+# A value of "5" would apply genpatches-2.6.12-5 to
+# my-sources-2.6.12.ebuild
+
+# @ECLASS-VARIABLE: K_SECURITY_UNSUPPORTED
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, this kernel is unsupported by Gentoo Security
+# to the current eclass maintainer :)
+
+# @ECLASS-VARIABLE: K_DEBLOB_AVAILABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# A value of "0" will disable all of the optional deblob
+# code. If empty, will be set to "1" if deblobbing is
+# possible. Test ONLY for "1".
+
+# @ECLASS-VARIABLE: K_DEBLOB_TAG
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# This will be the version of deblob script. It's a upstream SVN tag
+# such asw -gnu or -gnu1.
+
+# @ECLASS-VARIABLE: K_PREDEBLOBBED
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# This kernel was already deblobbed elsewhere.
+# If false, either optional deblobbing will be available
+# or the license will note the inclusion of linux-firmware code.
+
+# @ECLASS-VARIABLE: K_LONGTERM
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, the eclass will search for the kernel source
+# in the long term directories on the upstream servers
+# as the location has been changed by upstream
+
+# @ECLASS-VARIABLE: H_SUPPORTEDARCH
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# this should be a space separated list of ARCH's which
+# can be supported by the headers ebuild
+
+# @ECLASS-VARIABLE: UNIPATCH_LIST
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# space delimetered list of patches to be applied to the kernel
+
+# @ECLASS-VARIABLE: UNIPATCH_EXCLUDE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# An addition var to support exlusion based completely
+# on "<passedstring>*" and not "<passedno#>_*"
+# this should _NOT_ be used from the ebuild as this is
+# reserved for end users passing excludes from the cli
+
+# @ECLASS-VARIABLE: UNIPATCH_DOCS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# space delimemeted list of docs to be installed to
+# the doc dir
+
+# @ECLASS-VARIABLE: UNIPATCH_STRICTORDER
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# if this is set places patches into directories of
+# order, so they are applied in the order passed
+# Changing any other variable in this eclass is not supported; you can request
+# for additional variables to be added by contacting the current maintainer.
+# If you do change them, there is a chance that we will not fix resulting bugs;
+# that of course does not mean we're not willing to help.
+
+PYTHON_COMPAT=( python{2_6,2_7} )
+
+inherit toolchain-funcs python-any-r1
+[[ ${EAPI:-0} == [012345] ]] && inherit epatch
+[[ ${EAPI:-0} == [0123456] ]] && inherit estack eapi7-ver
+case ${EAPI:-0} in
+ 2|3|4|5|6)
+ EXPORT_FUNCTIONS src_{unpack,prepare,compile,install,test} \
+ pkg_{setup,preinst,postinst,postrm} ;;
+ *) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
+esac
+
+# Added by Daniel Ostrow <dostrow@gentoo.org>
+# This is an ugly hack to get around an issue with a 32-bit userland on ppc64.
+# I will remove it when I come up with something more reasonable.
+[[ ${PROFILE_ARCH} == "ppc64" ]] && CHOST="powerpc64-${CHOST#*-}"
+
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} && ${CATEGORY/cross-} != ${CATEGORY} ]]; then
+ export CTARGET=${CATEGORY/cross-}
+fi
+
+HOMEPAGE="https://www.kernel.org/ https://www.gentoo.org/ ${HOMEPAGE}"
+: ${LICENSE:="GPL-2"}
+
+# This is the latest KV_PATCH of the deblob tool available from the
+# libre-sources upstream. If you bump this, you MUST regenerate the Manifests
+# for ALL kernel-2 consumer packages where deblob is available.
+: ${DEBLOB_MAX_VERSION:=38}
+
+# No need to run scanelf/strip on kernel sources/headers (bug #134453).
+RESTRICT="binchecks strip"
+
+# set LINUX_HOSTCFLAGS if not already set
+: ${LINUX_HOSTCFLAGS:="-Wall -Wstrict-prototypes -Os -fomit-frame-pointer -I${S}/include"}
+
+
+# @FUNCTION: debug-print-kernel2-variables
+# @USAGE:
+# @DESCRIPTION:
+# this function exists only to help debug kernel-2.eclass
+# if you are adding new functionality in, put a call to it
+# at the start of src_unpack, or during SRC_URI/dep generation.
+
+debug-print-kernel2-variables() {
+ for v in PVR CKV OKV KV KV_FULL KV_MAJOR KV_MINOR KV_PATCH RELEASETYPE \
+ RELEASE UNIPATCH_LIST_DEFAULT UNIPATCH_LIST_GENPATCHES \
+ UNIPATCH_LIST S KERNEL_URI K_WANT_GENPATCHES ; do
+ debug-print "${v}: ${!v}"
+ done
+}
+
+# @FUNCTION: handle_genpatches
+# @USAGE: [--set-unipatch-list]
+# @DESCRIPTION:
+# add genpatches to list of patches to apply if wanted
+
+handle_genpatches() {
+ local tarball want_unipatch_list
+ [[ -z ${K_WANT_GENPATCHES} || -z ${K_GENPATCHES_VER} ]] && return 1
+
+ if [[ -n ${1} ]]; then
+ # set UNIPATCH_LIST_GENPATCHES only on explicit request
+ # since that requires 'use' call which can be used only in phase
+ # functions, while the function is also called in global scope
+ if [[ ${1} == --set-unipatch-list ]]; then
+ want_unipatch_list=1
+ else
+ die "Usage: ${FUNCNAME} [--set-unipatch-list]"
+ fi
+ fi
+
+ debug-print "Inside handle_genpatches"
+ local OKV_ARRAY
+ IFS="." read -r -a OKV_ARRAY <<<"${OKV}"
+
+ # for > 3.0 kernels, handle genpatches tarball name
+ # genpatches for 3.0 and 3.0.1 might be named
+ # genpatches-3.0-1.base.tar.xz and genpatches-3.0-2.base.tar.xz
+ # respectively. Handle this.
+
+ for i in ${K_WANT_GENPATCHES} ; do
+ if [[ ${KV_MAJOR} -ge 3 ]]; then
+ if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then
+ tarball="genpatches-${KV_MAJOR}.${KV_MINOR}-${K_GENPATCHES_VER}.${i}.tar.xz"
+ else
+ tarball="genpatches-${KV_MAJOR}.${KV_PATCH}-${K_GENPATCHES_VER}.${i}.tar.xz"
+ fi
+ else
+ tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.xz"
+ fi
+
+ local use_cond_start="" use_cond_end=""
+
+ if [[ "${i}" == "experimental" && -z ${K_EXP_GENPATCHES_PULL} && -z ${K_EXP_GENPATCHES_NOUSE} ]] ; then
+ use_cond_start="experimental? ( "
+ use_cond_end=" )"
+
+ if [[ -n ${want_unipatch_list} ]] && use experimental ; then
+ UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
+ debug-print "genpatches tarball: $tarball"
+ fi
+ elif [[ -n ${want_unipatch_list} ]]; then
+ UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
+ debug-print "genpatches tarball: $tarball"
+ fi
+ GENPATCHES_URI+=" ${use_cond_start}mirror://gentoo/${tarball}${use_cond_end}"
+ done
+}
+
+# @FUNCTION: detect_version
+# @USAGE:
+# @DESCRIPTION:
+# this function will detect and set
+# - OKV: Original Kernel Version (2.6.0/2.6.0-test11)
+# - KV: Kernel Version (2.6.0-gentoo/2.6.0-test11-gentoo-r1)
+# - EXTRAVERSION: The additional version appended to OKV (-gentoo/-gentoo-r1)
+detect_version() {
+
+ # We've already run, so nothing to do here.
+ [[ -n ${KV_FULL} ]] && return 0
+
+ # CKV is used as a comparison kernel version, which is used when
+ # PV doesnt reflect the genuine kernel version.
+ # this gets set to the portage style versioning. ie:
+ # CKV=2.6.11_rc4
+ CKV=${CKV:-${PV}}
+ OKV=${OKV:-${CKV}}
+ OKV=${OKV/_beta/-test}
+ OKV=${OKV/_rc/-rc}
+ OKV=${OKV/-r*}
+ OKV=${OKV/_p*}
+
+ KV_MAJOR=$(ver_cut 1 ${OKV})
+ # handle if OKV is X.Y or X.Y.Z (e.g. 3.0 or 3.0.1)
+ local OKV_ARRAY
+ IFS="." read -r -a OKV_ARRAY <<<"${OKV}"
+
+ # if KV_MAJOR >= 3, then we have no more KV_MINOR
+ #if [[ ${KV_MAJOR} -lt 3 ]]; then
+ if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then
+ KV_MINOR=$(ver_cut 2 ${OKV})
+ KV_PATCH=$(ver_cut 3 ${OKV})
+ if [[ ${KV_MAJOR}${KV_MINOR}${KV_PATCH} -ge 269 ]]; then
+ KV_EXTRA=$(ver_cut 4- ${OKV})
+ KV_EXTRA=${KV_EXTRA/[-_]*}
+ else
+ KV_PATCH=$(ver_cut 3- ${OKV})
+ fi
+ else
+ KV_PATCH=$(ver_cut 2 ${OKV})
+ KV_EXTRA=$(ver_cut 3- ${OKV})
+ KV_EXTRA=${KV_EXTRA/[-_]*}
+ fi
+
+ debug-print "KV_EXTRA is ${KV_EXTRA}"
+
+ KV_PATCH=${KV_PATCH/[-_]*}
+
+ local v n=0 missing
+ #if [[ ${KV_MAJOR} -lt 3 ]]; then
+ if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then
+ for v in CKV OKV KV_{MAJOR,MINOR,PATCH} ; do
+ [[ -z ${!v} ]] && n=1 && missing="${missing}${v} ";
+ done
+ else
+ for v in CKV OKV KV_{MAJOR,PATCH} ; do
+ [[ -z ${!v} ]] && n=1 && missing="${missing}${v} ";
+ done
+ fi
+
+ [[ $n -eq 1 ]] && \
+ eerror "Missing variables: ${missing}" && \
+ die "Failed to extract kernel version (try explicit CKV in ebuild)!"
+ unset v n missing
+
+# if [[ ${KV_MAJOR} -ge 3 ]]; then
+ if [[ ${#OKV_ARRAY[@]} -lt 3 ]]; then
+ KV_PATCH_ARR=(${KV_PATCH//\./ })
+
+ # at this point 031412, Linus is putting all 3.x kernels in a
+ # 3.x directory, may need to revisit when 4.x is released
+ KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.x"
+
+ [[ -n "${K_LONGTERM}" ]] &&
+ KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm/v${KV_MAJOR}.${KV_PATCH_ARR}"
+ else
+ #KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.0"
+ #KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}"
+ if [[ ${KV_MAJOR} -ge 3 ]]; then
+ KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.x"
+ else
+ KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}"
+ fi
+
+ [[ -n "${K_LONGTERM}" ]] &&
+ #KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm"
+ KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm/v${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
+ fi
+
+ debug-print "KERNEL_BASE_URI is ${KERNEL_BASE_URI}"
+
+ if [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]]; then
+ # handle non genpatch using sources correctly
+ if [[ -z ${K_WANT_GENPATCHES} && -z ${K_GENPATCHES_VER} && ${KV_PATCH} -gt 0 ]]; then
+ KERNEL_URI="${KERNEL_BASE_URI}/patch-${OKV}.xz"
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.xz"
+ fi
+ KERNEL_URI="${KERNEL_URI} ${KERNEL_BASE_URI}/linux-${KV_MAJOR}.${KV_MINOR}.tar.xz"
+ else
+ KERNEL_URI="${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+ fi
+
+ RELEASE=${CKV/${OKV}}
+ RELEASE=${RELEASE/_beta}
+ RELEASE=${RELEASE/_rc/-rc}
+ RELEASE=${RELEASE/_pre/-pre}
+ # We cannot trivally call kernel_is here, because it calls us to detect the
+ # version
+ #kernel_is ge 2 6 && RELEASE=${RELEASE/-pre/-git}
+ [ $(($KV_MAJOR * 1000 + ${KV_MINOR:-0})) -ge 2006 ] && RELEASE=${RELEASE/-pre/-git}
+ RELEASETYPE=${RELEASE//[0-9]}
+
+ # Now we know that RELEASE is the -rc/-git
+ # and RELEASETYPE is the same but with its numerics stripped
+ # we can work on better sorting EXTRAVERSION.
+ # first of all, we add the release
+ EXTRAVERSION="${RELEASE}"
+ debug-print "0 EXTRAVERSION:${EXTRAVERSION}"
+ [[ -n ${KV_EXTRA} ]] && [[ ${KV_MAJOR} -lt 3 ]] && EXTRAVERSION=".${KV_EXTRA}${EXTRAVERSION}"
+
+ debug-print "1 EXTRAVERSION:${EXTRAVERSION}"
+ if [[ -n "${K_NOUSEPR}" ]]; then
+ # Don't add anything based on PR to EXTRAVERSION
+ debug-print "1.0 EXTRAVERSION:${EXTRAVERSION}"
+ elif [[ -n ${K_PREPATCHED} ]]; then
+ debug-print "1.1 EXTRAVERSION:${EXTRAVERSION}"
+ EXTRAVERSION="${EXTRAVERSION}-${PN/-*}${PR/r}"
+ elif [[ "${ETYPE}" = "sources" ]]; then
+ debug-print "1.2 EXTRAVERSION:${EXTRAVERSION}"
+ # For some sources we want to use the PV in the extra version
+ # This is because upstream releases with a completely different
+ # versioning scheme.
+ case ${PN/-*} in
+ wolk) K_USEPV=1;;
+ vserver) K_USEPV=1;;
+ esac
+
+ [[ -z "${K_NOUSENAME}" ]] && EXTRAVERSION="${EXTRAVERSION}-${PN/-*}"
+ [[ -n "${K_USEPV}" ]] && EXTRAVERSION="${EXTRAVERSION}-${PV//_/-}"
+ [[ -n "${PR//r0}" ]] && EXTRAVERSION="${EXTRAVERSION}-${PR}"
+ fi
+ debug-print "2 EXTRAVERSION:${EXTRAVERSION}"
+
+ # The only messing around which should actually effect this is for KV_EXTRA
+ # since this has to limit OKV to MAJ.MIN.PAT and strip EXTRA off else
+ # KV_FULL evaluates to MAJ.MIN.PAT.EXT.EXT after EXTRAVERSION
+
+ if [[ -n ${KV_EXTRA} ]]; then
+ if [[ -n ${KV_MINOR} ]]; then
+ OKV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
+ else
+ OKV="${KV_MAJOR}.${KV_PATCH}"
+ fi
+ KERNEL_URI="${KERNEL_BASE_URI}/patch-${CKV}.xz
+ ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.xz"
+ fi
+
+ # We need to set this using OKV, but we need to set it before we do any
+ # messing around with OKV based on RELEASETYPE
+ KV_FULL=${OKV}${EXTRAVERSION}
+
+ # we will set this for backwards compatibility.
+ S="${WORKDIR}"/linux-${KV_FULL}
+ KV=${KV_FULL}
+
+ # -rc-git pulls can be achieved by specifying CKV
+ # for example:
+ # CKV="2.6.11_rc3_pre2"
+ # will pull:
+ # linux-2.6.10.tar.xz & patch-2.6.11-rc3.xz & patch-2.6.11-rc3-git2.xz
+
+ if [[ ${KV_MAJOR}${KV_MINOR} -eq 26 ]]; then
+
+ if [[ ${RELEASETYPE} == -rc ]] || [[ ${RELEASETYPE} == -pre ]]; then
+ OKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_PATCH} - 1))"
+ KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.xz
+ ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.xz"
+ fi
+
+ if [[ ${RELEASETYPE} == -git ]]; then
+ KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.xz
+ ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.xz"
+ fi
+
+ if [[ ${RELEASETYPE} == -rc-git ]]; then
+ OKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_PATCH} - 1))"
+ KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.xz
+ ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.xz
+ ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.xz ${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.xz"
+ fi
+ else
+ KV_PATCH_ARR=(${KV_PATCH//\./ })
+
+ # the different majorminor versions have different patch start versions
+ OKV_DICT=(["2"]="${KV_MAJOR}.$((${KV_PATCH_ARR} - 1))" ["3"]="2.6.39" ["4"]="3.19")
+
+ if [[ ${RELEASETYPE} == -rc ]] || [[ ${RELEASETYPE} == -pre ]]; then
+
+ OKV=${K_BASE_VER:-$OKV_DICT["${KV_MAJOR}"]}
+
+ # as of 12/5/2017, the rc patch is no longer offered as a compressed
+ # file, and no longer is it mirrored on kernel.org
+ if [[ ${KV_MAJOR} -ge 4 ]] && [[ ${KV_PATCH} -ge 12 ]]; then
+ KERNEL_URI="https://git.kernel.org/torvalds/p/v${KV_FULL}/v${OKV} -> patch-${KV_FULL}.patch
+ ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.patch"
+ else
+ KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.xz
+ ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.xz"
+ fi
+ fi
+
+ if [[ ${RELEASETYPE} == -git ]]; then
+ KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.xz
+ ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.xz"
+ fi
+
+ if [[ ${RELEASETYPE} == -rc-git ]]; then
+ OKV=${K_BASE_VER:-$OKV_DICT["${KV_MAJOR}"]}
+ KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz
+ ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz
+ ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz"
+
+ UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz ${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz"
+ fi
+
+
+ fi
+
+ debug-print-kernel2-variables
+
+ handle_genpatches
+}
+
+# @FUNCTION: kernel_is
+# @USAGE: <conditional version | version>
+# @DESCRIPTION:
+# user for comparing kernel versions
+# or just identifying a version
+# e.g kernel_is 2 4
+# e.g kernel_is ge 4.8.11
+# Note: duplicated in linux-info.eclass
+kernel_is() {
+ # ALL of these should be set before we can safely continue this function.
+ # some of the sources have in the past had only one set.
+ local v n=0
+ for v in OKV KV_{MAJOR,MINOR,PATCH} ; do [[ -z ${!v} ]] && n=1 ; done
+ [[ $n -eq 1 ]] && detect_version
+ unset v n
+
+ # Now we can continue
+ local operator test value
+
+ case ${1#-} in
+ lt) operator="-lt"; shift;;
+ gt) operator="-gt"; shift;;
+ le) operator="-le"; shift;;
+ ge) operator="-ge"; shift;;
+ eq) operator="-eq"; shift;;
+ *) operator="-eq";;
+ esac
+ [[ $# -gt 3 ]] && die "Error in kernel-2_kernel_is(): too many parameters"
+
+ : $(( test = (KV_MAJOR << 16) + (KV_MINOR << 8) + KV_PATCH ))
+ : $(( value = (${1:-${KV_MAJOR}} << 16) + (${2:-${KV_MINOR}} << 8) + ${3:-${KV_PATCH}} ))
+ [ ${test} ${operator} ${value} ]
+}
+
+# @FUNCTION: kernel_is_2_4
+# @USAGE:
+# @DESCRIPTION:
+# return true if kernel is version 2.4
+kernel_is_2_4() {
+ kernel_is 2 4
+}
+
+# @FUNCTION: kernel_is_2_6
+# @USAGE:
+# @DESCRIPTION:
+# return true if kernel is version 2.6
+kernel_is_2_6() {
+ kernel_is 2 6 || kernel_is 2 5
+}
+
+# Capture the sources type and set DEPENDs
+if [[ ${ETYPE} == sources ]]; then
+ DEPEND="!build? (
+ sys-apps/sed
+ >=sys-devel/binutils-2.11.90.0.31
+ )"
+ RDEPEND="!build? (
+ dev-lang/perl
+ sys-devel/bc
+ sys-devel/bison
+ sys-devel/flex
+ sys-devel/make
+ >=sys-libs/ncurses-5.2
+ virtual/libelf
+ )"
+
+ SLOT="${PVR}"
+ DESCRIPTION="Sources based on the Linux Kernel."
+ IUSE="symlink build"
+
+ # Bug #266157, deblob for libre support
+ if [[ -z ${K_PREDEBLOBBED} ]] ; then
+ # Bug #359865, force a call to detect_version if needed
+ kernel_is ge 2 6 27 && \
+ [[ -z "${K_DEBLOB_AVAILABLE}" ]] && \
+ kernel_is le 2 6 ${DEBLOB_MAX_VERSION} && \
+ K_DEBLOB_AVAILABLE=1
+ if [[ ${K_DEBLOB_AVAILABLE} == "1" ]] ; then
+ IUSE="${IUSE} deblob"
+
+ # Reflect that kernels contain firmware blobs unless otherwise
+ # stripped
+ LICENSE="${LICENSE} !deblob? ( linux-firmware )"
+
+ DEPEND+=" deblob? ( ${PYTHON_DEPS} )"
+
+ if [[ -n KV_MINOR ]]; then
+ DEBLOB_PV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
+ else
+ DEBLOB_PV="${KV_MAJOR}.${KV_PATCH}"
+ fi
+
+ if [[ ${KV_MAJOR} -ge 3 ]]; then
+ DEBLOB_PV="${KV_MAJOR}.${KV_MINOR}"
+ fi
+
+ # deblob svn tag, default is -gnu, to change, use K_DEBLOB_TAG in ebuild
+ K_DEBLOB_TAG=${K_DEBLOB_TAG:--gnu}
+ DEBLOB_A="deblob-${DEBLOB_PV}"
+ DEBLOB_CHECK_A="deblob-check-${DEBLOB_PV}"
+ DEBLOB_HOMEPAGE="https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/"
+ DEBLOB_URI_PATH="${DEBLOB_PV}${K_DEBLOB_TAG}"
+ DEBLOB_CHECK_URI="${DEBLOB_HOMEPAGE}/${DEBLOB_URI_PATH}/deblob-check -> ${DEBLOB_CHECK_A}"
+ DEBLOB_URI="${DEBLOB_HOMEPAGE}/${DEBLOB_URI_PATH}/${DEBLOB_A}"
+ HOMEPAGE="${HOMEPAGE} ${DEBLOB_HOMEPAGE}"
+
+ KERNEL_URI="${KERNEL_URI}
+ deblob? (
+ ${DEBLOB_URI}
+ ${DEBLOB_CHECK_URI}
+ )"
+ else
+ # We have no way to deblob older kernels, so just mark them as
+ # tainted with non-libre materials.
+ LICENSE="${LICENSE} linux-firmware"
+ fi
+ fi
+
+elif [[ ${ETYPE} == headers ]]; then
+ DESCRIPTION="Linux system headers"
+ IUSE="headers-only"
+
+ # Since we should NOT honour KBUILD_OUTPUT in headers
+ # lets unset it here.
+ unset KBUILD_OUTPUT
+
+ SLOT="0"
+fi
+
+# Cross-compile support functions
+
+# @FUNCTION: kernel_header_destdir
+# @USAGE:
+# @DESCRIPTION:
+# return header destination directory
+kernel_header_destdir() {
+ [[ ${CTARGET} == ${CHOST} ]] \
+ && echo /usr/include \
+ || echo /usr/${CTARGET}/usr/include
+}
+
+# @FUNCTION: cross_pre_c_headers
+# @USAGE:
+# @DESCRIPTION:
+# set use if necessary for cross compile support
+cross_pre_c_headers() {
+ use headers-only && [[ ${CHOST} != ${CTARGET} ]]
+}
+
+# @FUNCTION: env_setup_xmakeopts
+# @USAGE:
+# @DESCRIPTION:
+# set the ARCH/CROSS_COMPILE when cross compiling
+
+env_setup_xmakeopts() {
+ # Kernel ARCH != portage ARCH
+ export KARCH=$(tc-arch-kernel)
+
+ # When cross-compiling, we need to set the ARCH/CROSS_COMPILE
+ # variables properly or bad things happen !
+ xmakeopts="ARCH=${KARCH}"
+ if [[ ${CTARGET} != ${CHOST} ]] && ! cross_pre_c_headers ; then
+ xmakeopts="${xmakeopts} CROSS_COMPILE=${CTARGET}-"
+ elif type -p ${CHOST}-ar > /dev/null ; then
+ xmakeopts="${xmakeopts} CROSS_COMPILE=${CHOST}-"
+ fi
+ export xmakeopts
+}
+
+# @FUNCTION: unpack_2_4
+# @USAGE:
+# @DESCRIPTION:
+# unpack and generate .config for 2.4 kernels
+
+unpack_2_4() {
+ # this file is required for other things to build properly,
+ # so we autogenerate it
+ make -s mrproper ${xmakeopts} || die "make mrproper failed"
+ make -s symlinks ${xmakeopts} || die "make symlinks failed"
+ make -s include/linux/version.h ${xmakeopts} || die "make include/linux/version.h failed"
+ echo ">>> version.h compiled successfully."
+}
+
+# @FUNCTION: unpack_2_6
+# @USAGE:
+# @DESCRIPTION:
+# unpack and generate .config for 2.6 kernels
+
+unpack_2_6() {
+ # this file is required for other things to build properly, so we
+ # autogenerate it ... generate a .config to keep version.h build from
+ # spitting out an annoying warning
+ make -s mrproper ${xmakeopts} 2>/dev/null \
+ || die "make mrproper failed"
+
+ # quick fix for bug #132152 which triggers when it cannot include linux
+ # headers (ie, we have not installed it yet)
+ if ! make -s defconfig ${xmakeopts} &>/dev/null 2>&1 ; then
+ touch .config
+ eerror "make defconfig failed."
+ eerror "assuming you dont have any headers installed yet and continuing"
+ fi
+
+ make -s include/linux/version.h ${xmakeopts} 2>/dev/null \
+ || die "make include/linux/version.h failed"
+ rm -f .config >/dev/null
+}
+
+# @FUNCTION: universal_unpack
+# @USAGE:
+# @DESCRIPTION:
+# unpack kernel sources
+
+universal_unpack() {
+ debug-print "Inside universal_unpack"
+
+ local OKV_ARRAY
+ IFS="." read -r -a OKV_ARRAY <<<"${OKV}"
+
+ cd "${WORKDIR}"
+ if [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]]; then
+ unpack linux-${KV_MAJOR}.${KV_MINOR}.tar.xz
+ else
+ unpack linux-${OKV}.tar.xz
+ fi
+
+ if [[ -d "linux" ]]; then
+ debug-print "Moving linux to linux-${KV_FULL}"
+ mv linux linux-${KV_FULL} \
+ || die "Unable to move source tree to ${KV_FULL}."
+ elif [[ "${OKV}" != "${KV_FULL}" ]]; then
+ if [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]] &&
+ [[ "${ETYPE}" = "sources" ]]; then
+ debug-print "moving linux-${KV_MAJOR}.${KV_MINOR} to linux-${KV_FULL} "
+ mv linux-${KV_MAJOR}.${KV_MINOR} linux-${KV_FULL} \
+ || die "Unable to move source tree to ${KV_FULL}."
+ else
+ debug-print "moving linux-${OKV} to linux-${KV_FULL} "
+ mv linux-${OKV} linux-${KV_FULL} \
+ || die "Unable to move source tree to ${KV_FULL}."
+ fi
+ elif [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]]; then
+ mv linux-${KV_MAJOR}.${KV_MINOR} linux-${KV_FULL} \
+ || die "Unable to move source tree to ${KV_FULL}."
+ fi
+ cd "${S}"
+
+ # remove all backup files
+ find . -iname "*~" -exec rm {} \; 2> /dev/null
+
+}
+
+# @FUNCTION: unpack_set_extraversion
+# @USAGE:
+# @DESCRIPTION:
+# handle EXTRAVERSION
+
+unpack_set_extraversion() {
+ cd "${S}"
+ sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" Makefile
+ cd "${OLDPWD}"
+}
+
+# @FUNCTION: unpack_fix_install_path
+# @USAGE:
+# @DESCRIPTION:
+# Should be done after patches have been applied
+# Otherwise patches that modify the same area of Makefile will fail
+
+unpack_fix_install_path() {
+ cd "${S}"
+ sed -i -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' Makefile
+}
+
+# Compile Functions
+
+# @FUNCTION: compile_headers
+# @USAGE:
+# @DESCRIPTION:
+# header compilation
+
+compile_headers() {
+ env_setup_xmakeopts
+
+ # if we couldnt obtain HOSTCFLAGS from the Makefile,
+ # then set it to something sane
+ local HOSTCFLAGS=$(getfilevar HOSTCFLAGS "${S}"/Makefile)
+ HOSTCFLAGS=${HOSTCFLAGS:--Wall -Wstrict-prototypes -O2 -fomit-frame-pointer}
+
+ if kernel_is 2 4; then
+ yes "" | make oldconfig ${xmakeopts}
+ echo ">>> make oldconfig complete"
+ make dep ${xmakeopts}
+ elif kernel_is 2 6; then
+ # 2.6.18 introduces headers_install which means we dont need any
+ # of this crap anymore :D
+ kernel_is ge 2 6 18 && return 0
+
+ # autoconf.h isnt generated unless it already exists. plus, we have
+ # no guarantee that any headers are installed on the system...
+ [[ -f ${EROOT}usr/include/linux/autoconf.h ]] \
+ || touch include/linux/autoconf.h
+
+ # if K_DEFCONFIG isn't set, force to "defconfig"
+ # needed by mips
+ if [[ -z ${K_DEFCONFIG} ]]; then
+ if kernel_is ge 2 6 16 ; then
+ case ${CTARGET} in
+ powerpc64*) K_DEFCONFIG="ppc64_defconfig";;
+ powerpc*) K_DEFCONFIG="pmac32_defconfig";;
+ *) K_DEFCONFIG="defconfig";;
+ esac
+ else
+ K_DEFCONFIG="defconfig"
+ fi
+ fi
+
+ # if there arent any installed headers, then there also isnt an asm
+ # symlink in /usr/include/, and make defconfig will fail, so we have
+ # to force an include path with $S.
+ HOSTCFLAGS="${HOSTCFLAGS} -I${S}/include/"
+ ln -sf asm-${KARCH} "${S}"/include/asm || die
+ cross_pre_c_headers && return 0
+
+ make ${K_DEFCONFIG} HOSTCFLAGS="${HOSTCFLAGS}" ${xmakeopts} || die "defconfig failed (${K_DEFCONFIG})"
+ if compile_headers_tweak_config ; then
+ yes "" | make oldconfig HOSTCFLAGS="${HOSTCFLAGS}" ${xmakeopts} || die "2nd oldconfig failed"
+ fi
+ make prepare HOSTCFLAGS="${HOSTCFLAGS}" ${xmakeopts} || die "prepare failed"
+ make prepare-all HOSTCFLAGS="${HOSTCFLAGS}" ${xmakeopts} || die "prepare failed"
+ fi
+}
+
+# @FUNCTION: compile_headers_tweak_config
+# @USAGE:
+# @DESCRIPTION:
+# some targets can be very very picky, so let's finesse the
+# .config based upon any info we may have
+
+compile_headers_tweak_config() {
+ case ${CTARGET} in
+ sh*)
+ sed -i '/CONFIG_CPU_SH/d' .config || die
+ echo "CONFIG_CPU_SH${CTARGET:2:1}=y" >> .config
+ return 0;;
+ esac
+
+ # no changes, so lets do nothing
+ return 1
+}
+
+# install functions
+
+# @FUNCTION: install_universal
+# @USAGE:
+# @DESCRIPTION:
+# Fix permissions in tarball
+
+install_universal() {
+ cd "${WORKDIR}"
+ chown -R 0:0 * >& /dev/null
+ chmod -R a+r-w+X,u+w *
+ cd ${OLDPWD}
+}
+
+# @FUNCTION: install_headers
+# @USAGE:
+# @DESCRIPTION:
+# Install headers
+
+install_headers() {
+ local ddir=$(kernel_header_destdir)
+
+ # 2.6.18 introduces headers_install which means we dont need any
+ # of this crap anymore :D
+ if kernel_is ge 2 6 18 ; then
+ env_setup_xmakeopts
+ emake headers_install INSTALL_HDR_PATH="${ED}"${ddir}/.. ${xmakeopts} || die
+
+ # let other packages install some of these headers
+ rm -rf "${ED}"${ddir}/scsi || die #glibc/uclibc/etc...
+ return 0
+ fi
+
+ # Do not use "linux/*" as that can cause problems with very long
+ # $S values where the cmdline to cp is too long
+ pushd "${S}" >/dev/null
+ dodir ${ddir}/linux
+ cp -pPR "${S}"/include/linux "${ED}"${ddir}/ || die
+ rm -rf "${ED}"${ddir}/linux/modules || die
+
+ dodir ${ddir}/asm
+ cp -pPR "${S}"/include/asm/* "${ED}"${ddir}/asm || die
+
+ if kernel_is 2 6 ; then
+ dodir ${ddir}/asm-generic
+ cp -pPR "${S}"/include/asm-generic/* "${ED}"${ddir}/asm-generic || die
+ fi
+
+ # clean up
+ find "${D}" -name '*.orig' -exec rm -f {} \;
+
+ popd >/dev/null
+}
+
+# @FUNCTION: install_sources
+# @USAGE:
+# @DESCRIPTION:
+# Install sources
+
+install_sources() {
+ local file
+
+ cd "${S}"
+ dodir /usr/src
+ echo ">>> Copying sources ..."
+
+ file="$(find ${WORKDIR} -iname "docs" -type d)"
+ if [[ -n ${file} ]]; then
+ for file in $(find ${file} -type f); do
+ echo "${file//*docs\/}" >> "${S}"/patches.txt
+ echo "===================================================" >> "${S}"/patches.txt
+ cat ${file} >> "${S}"/patches.txt
+ echo "===================================================" >> "${S}"/patches.txt
+ echo "" >> "${S}"/patches.txt
+ done
+ fi
+
+ mv "${WORKDIR}"/linux* "${ED}"usr/src || die
+
+ if [[ -n "${UNIPATCH_DOCS}" ]] ; then
+ for i in ${UNIPATCH_DOCS}; do
+ dodoc "${T}"/${i}
+ done
+ fi
+}
+
+# @FUNCTION: preinst_headers
+# @USAGE:
+# @DESCRIPTION:
+# Headers preinst steps
+
+preinst_headers() {
+ local ddir=$(kernel_header_destdir)
+ [[ -L ${EPREFIX}${ddir}/linux ]] && { rm "${EPREFIX}"${ddir}/linux || die; }
+ [[ -L ${EPREFIX}${ddir}/asm ]] && { rm "${EPREFIX}"${ddir}/asm || die; }
+}
+
+# @FUNCTION: postinst_sources
+# @USAGE:
+# @DESCRIPTION:
+# Sources post installation function.
+# see inline comments
+
+postinst_sources() {
+ local MAKELINK=0
+
+ # if we have USE=symlink, then force K_SYMLINK=1
+ use symlink && K_SYMLINK=1
+
+ # We do support security on a deblobbed kernel, bug #555878.
+ # If some particular kernel version doesn't have security
+ # supported because of USE=deblob or otherwise, one can still
+ # set K_SECURITY_UNSUPPORTED on a per ebuild basis.
+ #[[ $K_DEBLOB_AVAILABLE == 1 ]] && \
+ # use deblob && \
+ # K_SECURITY_UNSUPPORTED=deblob
+
+ # if we are to forcably symlink, delete it if it already exists first.
+ if [[ ${K_SYMLINK} > 0 ]]; then
+ [[ -h ${EROOT}usr/src/linux ]] && { rm "${EROOT}"usr/src/linux || die; }
+ MAKELINK=1
+ fi
+
+ # if the link doesnt exist, lets create it
+ [[ ! -h ${EROOT}usr/src/linux ]] && MAKELINK=1
+
+ if [[ ${MAKELINK} == 1 ]]; then
+ ln -sf linux-${KV_FULL} "${EROOT}"usr/src/linux || die
+ fi
+
+ # Don't forget to make directory for sysfs
+ [[ ! -d ${EROOT}sys ]] && kernel_is 2 6 && { mkdir "${EROOT}"sys || die ; }
+
+ echo
+ elog "If you are upgrading from a previous kernel, you may be interested"
+ elog "in the following document:"
+ elog " - General upgrade guide: https://wiki.gentoo.org/wiki/Kernel/Upgrade"
+ echo
+
+ # if K_EXTRAEINFO is set then lets display it now
+ if [[ -n ${K_EXTRAEINFO} ]]; then
+ echo ${K_EXTRAEINFO} | fmt |
+ while read -s ELINE; do einfo "${ELINE}"; done
+ fi
+
+ # if K_EXTRAELOG is set then lets display it now
+ if [[ -n ${K_EXTRAELOG} ]]; then
+ echo ${K_EXTRAELOG} | fmt |
+ while read -s ELINE; do elog "${ELINE}"; done
+ fi
+
+ # if K_EXTRAEWARN is set then lets display it now
+ if [[ -n ${K_EXTRAEWARN} ]]; then
+ echo ${K_EXTRAEWARN} | fmt |
+ while read -s ELINE; do ewarn "${ELINE}"; done
+ fi
+
+ # optionally display security unsupported message
+ # Start with why
+ if [[ -n ${K_SECURITY_UNSUPPORTED} ]]; then
+ ewarn "${PN} is UNSUPPORTED by Gentoo Security."
+ fi
+ # And now the general message.
+ if [[ -n ${K_SECURITY_UNSUPPORTED} ]]; then
+ ewarn "This means that it is likely to be vulnerable to recent security issues."
+ echo
+ ewarn "Upstream kernel developers recommend always running the latest "
+ ewarn "release of any current long term supported Linux kernel version."
+ ewarn "To see a list of these versions, their most current release and "
+ ewarn "long term support status, please go to https://www.kernel.org ."
+ echo
+ ewarn "For specific information on why this kernel is unsupported, please read:"
+ ewarn "https://wiki.gentoo.org/wiki/Project:Kernel_Security"
+ fi
+
+ # warn sparc users that they need to do cross-compiling with >= 2.6.25(bug #214765)
+ KV_MAJOR=$(ver_cut 1 ${OKV})
+ KV_MINOR=$(ver_cut 2 ${OKV})
+ KV_PATCH=$(ver_cut 3 ${OKV})
+ if [[ "$(tc-arch)" = "sparc" ]]; then
+ if [[ $(gcc-major-version) -lt 4 && $(gcc-minor-version) -lt 4 ]]; then
+ if [[ ${KV_MAJOR} -ge 3 || ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} > 2.6.24 ]] ; then
+ echo
+ elog "NOTE: Since 2.6.25 the kernel Makefile has changed in a way that"
+ elog "you now need to do"
+ elog " make CROSS_COMPILE=sparc64-unknown-linux-gnu-"
+ elog "instead of just"
+ elog " make"
+ elog "to compile the kernel. For more information please browse to"
+ elog "https://bugs.gentoo.org/show_bug.cgi?id=214765"
+ echo
+ fi
+ fi
+ fi
+}
+
+# pkg_setup functions
+
+# @FUNCTION: setup_headers
+# @USAGE:
+# @DESCRIPTION:
+# Determine if ${PN} supports arch
+
+setup_headers() {
+ [[ -z ${H_SUPPORTEDARCH} ]] && H_SUPPORTEDARCH=${PN/-*/}
+ for i in ${H_SUPPORTEDARCH}; do
+ [[ $(tc-arch) == "${i}" ]] && H_ACCEPT_ARCH="yes"
+ done
+
+ if [[ ${H_ACCEPT_ARCH} != "yes" ]]; then
+ echo
+ eerror "This version of ${PN} does not support $(tc-arch)."
+ eerror "Please merge the appropriate sources, in most cases"
+ eerror "(but not all) this will be called $(tc-arch)-headers."
+ die "Package unsupported for $(tc-arch)"
+ fi
+}
+
+# @FUNCTION: unipatch
+# @USAGE: <list of patches to apply>
+# @DESCRIPTION:
+# Universal function that will apply patches to source
+
+unipatch() {
+ local i x y z extention PIPE_CMD UNIPATCH_DROP KPATCH_DIR PATCH_DEPTH ELINE
+ local STRICT_COUNT PATCH_LEVEL myLC_ALL myLANG
+
+ # set to a standard locale to ensure sorts are ordered properly.
+ myLC_ALL="${LC_ALL}"
+ myLANG="${LANG}"
+ LC_ALL="C"
+ LANG=""
+
+ [ -z "${KPATCH_DIR}" ] && KPATCH_DIR="${WORKDIR}/patches/"
+ [ ! -d ${KPATCH_DIR} ] && mkdir -p ${KPATCH_DIR}
+
+ # We're gonna need it when doing patches with a predefined patchlevel
+ eshopts_push -s extglob
+
+ # This function will unpack all passed tarballs, add any passed patches,
+ # and remove any passed patchnumbers
+ # usage can be either via an env var or by params
+ # although due to the nature we pass this within this eclass
+ # it shall be by param only.
+ # -z "${UNIPATCH_LIST}" ] && UNIPATCH_LIST="${@}"
+ UNIPATCH_LIST="${@}"
+
+ #unpack any passed tarballs
+ for i in ${UNIPATCH_LIST}; do
+ if echo ${i} | grep -qs -e "\.tar" -e "\.tbz" -e "\.tgz" ; then
+ if [ -n "${UNIPATCH_STRICTORDER}" ]; then
+ unset z
+ STRICT_COUNT=$((10#${STRICT_COUNT} + 1))
+ for((y=0; y<$((6 - ${#STRICT_COUNT})); y++));
+ do z="${z}0";
+ done
+ PATCH_ORDER="${z}${STRICT_COUNT}"
+
+ mkdir -p "${KPATCH_DIR}/${PATCH_ORDER}"
+ pushd "${KPATCH_DIR}/${PATCH_ORDER}" >/dev/null
+ unpack ${i##*/}
+ popd >/dev/null
+ else
+ pushd "${KPATCH_DIR}" >/dev/null
+ unpack ${i##*/}
+ popd >/dev/null
+ fi
+
+ [[ ${i} == *:* ]] && echo ">>> Strict patch levels not currently supported for tarballed patchsets"
+ else
+ extention=${i/*./}
+ extention=${extention/:*/}
+ PIPE_CMD=""
+ case ${extention} in
+ xz) PIPE_CMD="xz -dc";;
+ lzma) PIPE_CMD="lzma -dc";;
+ bz2) PIPE_CMD="bzip2 -dc";;
+ patch*) PIPE_CMD="cat";;
+ diff) PIPE_CMD="cat";;
+ gz|Z|z) PIPE_CMD="gzip -dc";;
+ ZIP|zip) PIPE_CMD="unzip -p";;
+ *) UNIPATCH_DROP="${UNIPATCH_DROP} ${i/:*/}";;
+ esac
+
+ PATCH_LEVEL=${i/*([^:])?(:)}
+ i=${i/:*/}
+ x=${i/*\//}
+ x=${x/\.${extention}/}
+
+ if [ -n "${PIPE_CMD}" ]; then
+ if [ ! -r "${i}" ]; then
+ echo
+ eerror "FATAL: unable to locate:"
+ eerror "${i}"
+ eerror "for read-only. The file either has incorrect permissions"
+ eerror "or does not exist."
+ die Unable to locate ${i}
+ fi
+
+ if [ -n "${UNIPATCH_STRICTORDER}" ]; then
+ unset z
+ STRICT_COUNT=$((10#${STRICT_COUNT} + 1))
+ for((y=0; y<$((6 - ${#STRICT_COUNT})); y++));
+ do z="${z}0";
+ done
+ PATCH_ORDER="${z}${STRICT_COUNT}"
+
+ mkdir -p ${KPATCH_DIR}/${PATCH_ORDER}/
+ $(${PIPE_CMD} ${i} > ${KPATCH_DIR}/${PATCH_ORDER}/${x}.patch${PATCH_LEVEL}) || die "uncompressing patch failed"
+ else
+ $(${PIPE_CMD} ${i} > ${KPATCH_DIR}/${x}.patch${PATCH_LEVEL}) || die "uncompressing patch failed"
+ fi
+ fi
+ fi
+
+ # If experimental was not chosen by the user, drop experimental patches not in K_EXP_GENPATCHES_LIST.
+ if [[ "${i}" == *"genpatches-"*".experimental."* && -n ${K_EXP_GENPATCHES_PULL} ]] ; then
+ if [[ -z ${K_EXP_GENPATCHES_NOUSE} ]] && use experimental; then
+ continue
+ fi
+
+ local j
+ for j in ${KPATCH_DIR}/*/50*_*.patch*; do
+ for k in ${K_EXP_GENPATCHES_LIST} ; do
+ [[ "$(basename ${j})" == ${k}* ]] && continue 2
+ done
+ UNIPATCH_DROP+=" $(basename ${j})"
+ done
+ else
+ UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}"
+ debug-print "genpatches tarball: $tarball"
+
+ # check gcc version < 4.9.X uses patch 5000 and = 4.9.X uses patch 5010
+ if [[ $(gcc-major-version) -eq 4 ]] && [[ $(gcc-minor-version) -ne 9 ]]; then
+ # drop 5000_enable-additional-cpu-optimizations-for-gcc-4.9.patch
+ if [[ $UNIPATCH_DROP != *"5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"* ]]; then
+ UNIPATCH_DROP+=" 5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
+ fi
+ else
+ if [[ $UNIPATCH_DROP != *"5000_enable-additional-cpu-optimizations-for-gcc.patch"* ]]; then
+ #drop 5000_enable-additional-cpu-optimizations-for-gcc.patch
+ UNIPATCH_DROP+=" 5000_enable-additional-cpu-optimizations-for-gcc.patch"
+ fi
+ fi
+ fi
+ done
+
+ #populate KPATCH_DIRS so we know where to look to remove the excludes
+ x=${KPATCH_DIR}
+ KPATCH_DIR=""
+ for i in $(find ${x} -type d | sort -n); do
+ KPATCH_DIR="${KPATCH_DIR} ${i}"
+ done
+
+ # do not apply fbcondecor patch to sparc/sparc64 as it breaks boot
+ # bug #272676
+ if [[ "$(tc-arch)" = "sparc" || "$(tc-arch)" = "sparc64" ]]; then
+ if [[ ${KV_MAJOR} -ge 3 || ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} > 2.6.28 ]]; then
+ if [[ ! -z ${K_WANT_GENPATCHES} ]] ; then
+ UNIPATCH_DROP="${UNIPATCH_DROP} *_fbcondecor*.patch"
+ echo
+ ewarn "fbcondecor currently prevents sparc/sparc64 from booting"
+ ewarn "for kernel versions >= 2.6.29. Removing fbcondecor patch."
+ ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=272676 for details"
+ echo
+ fi
+ fi
+ fi
+
+ #so now lets get rid of the patchno's we want to exclude
+ UNIPATCH_DROP="${UNIPATCH_EXCLUDE} ${UNIPATCH_DROP}"
+ for i in ${UNIPATCH_DROP}; do
+ ebegin "Excluding Patch #${i}"
+ for x in ${KPATCH_DIR}; do rm -f ${x}/${i}* 2>/dev/null; done
+ eend $?
+ done
+
+ # and now, finally, we patch it :)
+ for x in ${KPATCH_DIR}; do
+ for i in $(find ${x} -maxdepth 1 -iname "*.patch*" -or -iname "*.diff*" | sort -n); do
+ STDERR_T="${T}/${i/*\//}"
+ STDERR_T="${STDERR_T/.patch*/.err}"
+
+ [ -z ${i/*.patch*/} ] && PATCH_DEPTH=${i/*.patch/}
+ #[ -z ${i/*.diff*/} ] && PATCH_DEPTH=${i/*.diff/}
+
+ if [ -z "${PATCH_DEPTH}" ]; then PATCH_DEPTH=0; fi
+
+ ####################################################################
+ # IMPORTANT: This is temporary code to support Linux git 3.15_rc1! #
+ # #
+ # The patch contains a removal of a symlink, followed by addition #
+ # of a file with the same name as the symlink in the same #
+ # location; this causes the dry-run to fail, filed bug #507656. #
+ # #
+ # https://bugs.gentoo.org/show_bug.cgi?id=507656 #
+ ####################################################################
+ if [[ -n ${K_FROM_GIT} ]] ; then
+ if [[ ${KV_MAJOR} -gt 3 || ( ${KV_MAJOR} -eq 3 && ${KV_PATCH} -gt 15 ) &&
+ ${RELEASETYPE} == -rc ]] ; then
+ ebegin "Applying ${i/*\//} (-p1)"
+ if [ $(patch -p1 --no-backup-if-mismatch -f < ${i} >> ${STDERR_T}) "$?" -le 2 ]; then
+ eend 0
+ rm ${STDERR_T} || die
+ break
+ else
+ eend 1
+ eerror "Failed to apply patch ${i/*\//}"
+ eerror "Please attach ${STDERR_T} to any bug you may post."
+ eshopts_pop
+ die "Failed to apply ${i/*\//} on patch depth 1."
+ fi
+ fi
+ fi
+ ####################################################################
+
+ while [ ${PATCH_DEPTH} -lt 5 ]; do
+ echo "Attempting Dry-run:" >> ${STDERR_T}
+ echo "cmd: patch -p${PATCH_DEPTH} --no-backup-if-mismatch --dry-run -f < ${i}" >> ${STDERR_T}
+ echo "=======================================================" >> ${STDERR_T}
+ if [ $(patch -p${PATCH_DEPTH} --no-backup-if-mismatch --dry-run -f < ${i} >> ${STDERR_T}) $? -eq 0 ]; then
+ ebegin "Applying ${i/*\//} (-p${PATCH_DEPTH})"
+ echo "Attempting patch:" > ${STDERR_T}
+ echo "cmd: patch -p${PATCH_DEPTH} --no-backup-if-mismatch -f < ${i}" >> ${STDERR_T}
+ echo "=======================================================" >> ${STDERR_T}
+ if [ $(patch -p${PATCH_DEPTH} --no-backup-if-mismatch -f < ${i} >> ${STDERR_T}) "$?" -eq 0 ]; then
+ eend 0
+ rm ${STDERR_T} || die
+ break
+ else
+ eend 1
+ eerror "Failed to apply patch ${i/*\//}"
+ eerror "Please attach ${STDERR_T} to any bug you may post."
+ eshopts_pop
+ die "Failed to apply ${i/*\//} on patch depth ${PATCH_DEPTH}."
+ fi
+ else
+ PATCH_DEPTH=$((${PATCH_DEPTH} + 1))
+ fi
+ done
+ if [ ${PATCH_DEPTH} -eq 5 ]; then
+ eerror "Failed to dry-run patch ${i/*\//}"
+ eerror "Please attach ${STDERR_T} to any bug you may post."
+ eshopts_pop
+ die "Unable to dry-run patch on any patch depth lower than 5."
+ fi
+ done
+ done
+
+ # When genpatches is used, we want to install 0000_README which documents
+ # the patches that were used; such that the user can see them, bug #301478.
+ if [[ ! -z ${K_WANT_GENPATCHES} ]] ; then
+ UNIPATCH_DOCS="${UNIPATCH_DOCS} 0000_README"
+ fi
+
+ # When files listed in UNIPATCH_DOCS are found in KPATCH_DIR's, we copy it
+ # to the temporary directory and remember them in UNIPATCH_DOCS to install
+ # them during the install phase.
+ local tmp
+ for x in ${KPATCH_DIR}; do
+ for i in ${UNIPATCH_DOCS}; do
+ if [[ -f ${x}/${i} ]] ; then
+ tmp="${tmp} ${i}"
+ cp -f "${x}/${i}" "${T}"/ || die
+ fi
+ done
+ done
+ UNIPATCH_DOCS="${tmp}"
+
+ # clean up KPATCH_DIR's - fixes bug #53610
+ for x in ${KPATCH_DIR}; do rm -Rf ${x}; done
+
+ LC_ALL="${myLC_ALL}"
+ LANG="${myLANG}"
+ eshopts_pop
+}
+
+# @FUNCTION: getfilevar
+# @USAGE: <variable> <configfile>
+# @DESCRIPTION:
+# pulled from linux-info
+
+getfilevar() {
+ local workingdir basefname basedname xarch=$(tc-arch-kernel)
+
+ if [[ -z ${1} ]] && [[ ! -f ${2} ]]; then
+ echo -e "\n"
+ eerror "getfilevar requires 2 variables, with the second a valid file."
+ eerror " getfilevar <VARIABLE> <CONFIGFILE>"
+ else
+ workingdir=${PWD}
+ basefname=$(basename ${2})
+ basedname=$(dirname ${2})
+ unset ARCH
+
+ cd ${basedname}
+ echo -e "include ${basefname}\ne:\n\t@echo \$(${1})" | \
+ make ${BUILD_FIXES} -s -f - e 2>/dev/null
+ cd ${workingdir}
+
+ ARCH=${xarch}
+ fi
+}
+
+# @FUNCTION: detect_arch
+# @USAGE:
+# @DESCRIPTION:
+# This function sets ARCH_URI and ARCH_PATCH
+# with the neccessary info for the arch sepecific compatibility
+# patchsets.
+
+detect_arch() {
+
+ local ALL_ARCH LOOP_ARCH LOOP_ARCH_L COMPAT_URI i TC_ARCH_KERNEL
+
+ # COMPAT_URI is the contents of ${ARCH}_URI
+ # ARCH_URI is the URI for all the ${ARCH}_URI patches
+ # ARCH_PATCH is ARCH_URI broken into files for UNIPATCH
+
+ ARCH_URI=""
+ ARCH_PATCH=""
+ TC_ARCH_KERNEL=""
+ ALL_ARCH="ALPHA AMD64 ARM HPPA IA64 M68K MIPS PPC PPC64 S390 SH SPARC X86"
+
+ for LOOP_ARCH in ${ALL_ARCH}; do
+ COMPAT_URI="${LOOP_ARCH}_URI"
+ COMPAT_URI="${!COMPAT_URI}"
+
+ declare -l LOOP_ARCH_L=${LOOP_ARCH}
+
+ [[ -n ${COMPAT_URI} ]] && \
+ ARCH_URI="${ARCH_URI} ${LOOP_ARCH_L}? ( ${COMPAT_URI} )"
+
+ declare -u TC_ARCH_KERNEL=$(tc-arch-kernel)
+ if [[ ${LOOP_ARCH} == ${TC_ARCH_KERNEL} ]]; then
+ for i in ${COMPAT_URI}; do
+ ARCH_PATCH="${ARCH_PATCH} ${DISTDIR}/${i/*\//}"
+ done
+ fi
+
+ done
+}
+
+# @FUNCTION: headers___fix
+# @USAGE:
+# @DESCRIPTION:
+# Voodoo to partially fix broken upstream headers.
+# note: do not put inline/asm/volatile together (breaks "inline asm volatile")
+
+headers___fix() {
+ sed -i \
+ -e '/^\#define.*_TYPES_H/{:loop n; bloop}' \
+ -e 's:\<\([us]\(8\|16\|32\|64\)\)\>:__\1:g' \
+ -e "s/\([[:space:]]\)inline\([[:space:](]\)/\1__inline__\2/g" \
+ -e "s/\([[:space:]]\)asm\([[:space:](]\)/\1__asm__\2/g" \
+ -e "s/\([[:space:]]\)volatile\([[:space:](]\)/\1__volatile__\2/g" \
+ "$@"
+}
+
+# @FUNCTION: kernel-2_src_unpack
+# @USAGE:
+# @DESCRIPTION:
+# unpack sources, handle genpatches, deblob
+
+kernel-2_src_unpack() {
+ universal_unpack
+ debug-print "Doing unipatch"
+
+ # request UNIPATCH_LIST_GENPATCHES in phase since it calls 'use'
+ handle_genpatches --set-unipatch-list
+ [[ -n ${UNIPATCH_LIST} || -n ${UNIPATCH_LIST_DEFAULT} || -n ${UNIPATCH_LIST_GENPATCHES} ]] && \
+ unipatch "${UNIPATCH_LIST_DEFAULT} ${UNIPATCH_LIST_GENPATCHES} ${UNIPATCH_LIST}"
+
+ debug-print "Doing premake"
+
+ # allow ebuilds to massage the source tree after patching but before
+ # we run misc `make` functions below
+ [[ $(type -t kernel-2_hook_premake) == "function" ]] && kernel-2_hook_premake
+
+ debug-print "Doing unpack_set_extraversion"
+
+ [[ -z ${K_NOSETEXTRAVERSION} ]] && unpack_set_extraversion
+ unpack_fix_install_path
+
+ # Setup xmakeopts and cd into sourcetree.
+ env_setup_xmakeopts
+ cd "${S}"
+
+ # We dont need a version.h for anything other than headers
+ # at least, I should hope we dont. If this causes problems
+ # take out the if/fi block and inform me please.
+ # unpack_2_6 should now be 2.6.17 safe anyways
+ if [[ ${ETYPE} == headers ]]; then
+ kernel_is 2 4 && unpack_2_4
+ kernel_is 2 6 && unpack_2_6
+ fi
+
+ if [[ $K_DEBLOB_AVAILABLE == 1 ]] && use deblob ; then
+ cp "${DISTDIR}/${DEBLOB_A}" "${T}" || die "cp ${DEBLOB_A} failed"
+ cp "${DISTDIR}/${DEBLOB_CHECK_A}" "${T}/deblob-check" || die "cp ${DEBLOB_CHECK_A} failed"
+ chmod +x "${T}/${DEBLOB_A}" "${T}/deblob-check" || die "chmod deblob scripts failed"
+ fi
+
+ # fix a problem on ppc where TOUT writes to /usr/src/linux breaking sandbox
+ # only do this for kernel < 2.6.27 since this file does not exist in later
+ # kernels
+ if [[ -n ${KV_MINOR} && ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} < 2.6.27 ]] ; then
+ sed -i \
+ -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \
+ "${S}"/arch/ppc/Makefile
+ else
+ sed -i \
+ -e 's|TOUT := .tmp_gas_check|TOUT := $(T).tmp_gas_check|' \
+ "${S}"/arch/powerpc/Makefile
+ fi
+}
+
+# @FUNCTION: kernel-2_src_prepare
+# @USAGE:
+# @DESCRIPTION:
+# Apply any user patches
+
+kernel-2_src_prepare() {
+
+ debug-print "Applying any user patches"
+
+ # apply any user patches
+ case ${EAPI:-0} in
+ 0|1|2|3|4|5) epatch_user ;;
+ 6) eapply_user ;;
+ esac
+}
+
+# @FUNCTION: kernel-2_src_compile
+# @USAGE:
+# @DESCRIPTION:
+# conpile headers or run deblob script
+
+kernel-2_src_compile() {
+ cd "${S}"
+ [[ ${ETYPE} == headers ]] && compile_headers
+
+ if [[ $K_DEBLOB_AVAILABLE == 1 ]] && use deblob ; then
+ echo ">>> Running deblob script ..."
+ python_setup
+ sh "${T}/${DEBLOB_A}" --force || die "Deblob script failed to run!!!"
+ fi
+}
+
+# @FUNCTION: kernel-2_src_test
+# @USAGE:
+# @DESCRIPTION:
+# if you leave it to the default src_test, it will run make to
+# find whether test/check targets are present; since "make test"
+# actually produces a few support files, they are installed even
+# though the package is binchecks-restricted.
+#
+# Avoid this altogether by making the function moot.
+kernel-2_src_test() { :; }
+
+# @FUNCTION: kernel-2_pkg_preinst
+# @DESCRIPTION:
+# if ETYPE = headers, call preinst_headers
+
+kernel-2_pkg_preinst() {
+ [[ ${ETYPE} == headers ]] && preinst_headers
+}
+
+# @FUNCTION: kernel-2_src_install
+# @USAGE:
+# @DESCRIPTION:
+# Install headers or sources dependant on ETYPE
+
+kernel-2_src_install() {
+ install_universal
+ [[ ${ETYPE} == headers ]] && install_headers
+ [[ ${ETYPE} == sources ]] && install_sources
+}
+
+# @FUNCTION: kernel-2_pkg_postinst
+# @USAGE:
+# @DESCRIPTION:
+# call postinst_sources for ETYPE = sources
+
+kernel-2_pkg_postinst() {
+ [[ ${ETYPE} == sources ]] && postinst_sources
+}
+
+# @FUNCTION: kernel-2_pkg_setup
+# @USAGE:
+# @DESCRIPTION:
+# check for supported kernel version, die if ETYPE is unknown, call setup_headers
+# if necessary
+
+kernel-2_pkg_setup() {
+ if kernel_is 2 4; then
+ if [[ $(gcc-major-version) -ge 4 ]] ; then
+ echo
+ ewarn "Be warned !! >=sys-devel/gcc-4.0.0 isn't supported with linux-2.4!"
+ ewarn "Either switch to another gcc-version (via gcc-config) or use a"
+ ewarn "newer kernel that supports gcc-4."
+ echo
+ ewarn "Also be aware that bugreports about gcc-4 not working"
+ ewarn "with linux-2.4 based ebuilds will be closed as INVALID!"
+ echo
+ fi
+ fi
+
+ ABI="${KERNEL_ABI}"
+ if [[ ${ETYPE} != sources ]] && [[ ${ETYPE} != headers ]]; then
+ eerror "Unknown ETYPE=\"${ETYPE}\", must be \"sources\" or \"headers\""
+ die "Unknown ETYPE=\"${ETYPE}\", must be \"sources\" or \"headers\""
+ fi
+
+ [[ ${ETYPE} == headers ]] && setup_headers
+ [[ ${ETYPE} == sources ]] && echo ">>> Preparing to unpack ..."
+}
+
+# @FUNCTION: kernel-2_pkg_postrm
+# @USAGE:
+# @DESCRIPTION:
+# Notify the user that after a depclean, there may be sources
+# left behind that need to be manually cleaned
+
+kernel-2_pkg_postrm() {
+ # This warning only makes sense for kernel sources.
+ [[ ${ETYPE} == headers ]] && return 0
+
+ # If there isn't anything left behind, then don't complain.
+ [[ -e ${EROOT}usr/src/linux-${KV_FULL} ]] || return 0
+ echo
+ ewarn "Note: Even though you have successfully unmerged "
+ ewarn "your kernel package, directories in kernel source location: "
+ ewarn "${EROOT}usr/src/linux-${KV_FULL}"
+ ewarn "with modified files will remain behind. By design, package managers"
+ ewarn "will not remove these modified files and the directories they reside in."
+ echo
+ ewarn "For more detailed kernel removal instructions, please see: "
+ ewarn "https://wiki.gentoo.org/wiki/Kernel/Removal"
+ echo
+}
diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
new file mode 100644
index 0000000..98ec0ac
--- /dev/null
+++ b/eclass/linux-info.eclass
@@ -0,0 +1,966 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: linux-info.eclass
+# @MAINTAINER:
+# kernel@gentoo.org
+# @AUTHOR:
+# Original author: John Mylchreest <johnm@gentoo.org>
+# @BLURB: eclass used for accessing kernel related information
+# @DESCRIPTION:
+# This eclass is used as a central eclass for accessing kernel
+# related information for source or binary already installed.
+# It is vital for linux-mod.eclass to function correctly, and is split
+# out so that any ebuild behaviour "templates" are abstracted out
+# using additional eclasses.
+#
+# "kernel config" in this file means:
+# The .config of the currently installed sources is used as the first
+# preference, with a fall-back to bundled config (/proc/config.gz) if available.
+#
+# Before using any of the config-handling functions in this eclass, you must
+# ensure that one of the following functions has been called (in order of
+# preference), otherwise you will get bugs like #364041):
+# linux-info_pkg_setup
+# linux-info_get_any_version
+# get_version
+# get_running_version
+
+# A Couple of env vars are available to effect usage of this eclass
+# These are as follows:
+
+# @ECLASS-VARIABLE: KERNEL_DIR
+# @DESCRIPTION:
+# A string containing the directory of the target kernel sources. The default value is
+# "/usr/src/linux"
+
+# @ECLASS-VARIABLE: CONFIG_CHECK
+# @DESCRIPTION:
+# A string containing a list of .config options to check for before
+# proceeding with the install.
+#
+# e.g.: CONFIG_CHECK="MTRR"
+#
+# You can also check that an option doesn't exist by
+# prepending it with an exclamation mark (!).
+#
+# e.g.: CONFIG_CHECK="!MTRR"
+#
+# To simply warn about a missing option, prepend a '~'.
+# It may be combined with '!'.
+#
+# In general, most checks should be non-fatal. The only time fatal checks should
+# be used is for building kernel modules or cases that a compile will fail
+# without the option.
+#
+# This is to allow usage of binary kernels, and minimal systems without kernel
+# sources.
+
+# @ECLASS-VARIABLE: ERROR_<CFG>
+# @DESCRIPTION:
+# A string containing the error message to display when the check against CONFIG_CHECK
+# fails. <CFG> should reference the appropriate option used in CONFIG_CHECK.
+#
+# e.g.: ERROR_MTRR="MTRR exists in the .config but shouldn't!!"
+
+# @ECLASS-VARIABLE: KBUILD_OUTPUT
+# @DESCRIPTION:
+# A string passed on commandline, or set from the kernel makefile. It contains the directory
+# which is to be used as the kernel object directory.
+
+# There are also a couple of variables which are set by this, and shouldn't be
+# set by hand. These are as follows:
+
+# @ECLASS-VARIABLE: KV_FULL
+# @DESCRIPTION:
+# A read-only variable. It's a string containing the full kernel version. ie: 2.6.9-gentoo-johnm-r1
+
+# @ECLASS-VARIABLE: KV_MAJOR
+# @DESCRIPTION:
+# A read-only variable. It's an integer containing the kernel major version. ie: 2
+
+# @ECLASS-VARIABLE: KV_MINOR
+# @DESCRIPTION:
+# A read-only variable. It's an integer containing the kernel minor version. ie: 6
+
+# @ECLASS-VARIABLE: KV_PATCH
+# @DESCRIPTION:
+# A read-only variable. It's an integer containing the kernel patch version. ie: 9
+
+# @ECLASS-VARIABLE: KV_EXTRA
+# @DESCRIPTION:
+# A read-only variable. It's a string containing the kernel EXTRAVERSION. ie: -gentoo
+
+# @ECLASS-VARIABLE: KV_LOCAL
+# @DESCRIPTION:
+# A read-only variable. It's a string containing the kernel LOCALVERSION concatenation. ie: -johnm
+
+# @ECLASS-VARIABLE: KV_DIR
+# @DESCRIPTION:
+# A read-only variable. It's a string containing the kernel source directory, will be null if
+# KERNEL_DIR is invalid.
+
+# @ECLASS-VARIABLE: KV_OUT_DIR
+# @DESCRIPTION:
+# A read-only variable. It's a string containing the kernel object directory, will be KV_DIR unless
+# KBUILD_OUTPUT is used. This should be used for referencing .config.
+
+# And to ensure all the weirdness with crosscompile
+inherit toolchain-funcs
+[[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver
+
+EXPORT_FUNCTIONS pkg_setup
+
+IUSE="kernel_linux"
+
+# Overwritable environment Var's
+# ---------------------------------------
+KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
+
+
+# Bug fixes
+# fix to bug #75034
+case ${ARCH} in
+ ppc) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
+ ppc64) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
+esac
+
+# @FUNCTION: set_arch_to_kernel
+# @DESCRIPTION:
+# Set the env ARCH to match what the kernel expects.
+set_arch_to_kernel() { export ARCH=$(tc-arch-kernel); }
+# @FUNCTION: set_arch_to_portage
+# @DESCRIPTION:
+# Set the env ARCH to match what portage expects.
+set_arch_to_portage() { export ARCH=$(tc-arch); }
+
+# qeinfo "Message"
+# -------------------
+# qeinfo is a quiet einfo call when EBUILD_PHASE
+# should not have visible output.
+qout() {
+ local outputmsg type
+ type=${1}
+ shift
+ outputmsg="${@}"
+ case "${EBUILD_PHASE}" in
+ depend) unset outputmsg;;
+ clean) unset outputmsg;;
+ preinst) unset outputmsg;;
+ esac
+ [ -n "${outputmsg}" ] && ${type} "${outputmsg}"
+}
+
+qeinfo() { qout einfo "${@}" ; }
+qewarn() { qout ewarn "${@}" ; }
+qeerror() { qout eerror "${@}" ; }
+
+# File Functions
+# ---------------------------------------
+
+# @FUNCTION: getfilevar
+# @USAGE: variable configfile
+# @RETURN: the value of the variable
+# @DESCRIPTION:
+# It detects the value of the variable defined in the file configfile. This is
+# done by including the configfile, and printing the variable with Make.
+# It WILL break if your makefile has missing dependencies!
+getfilevar() {
+ local ERROR basefname basedname myARCH="${ARCH}" M="${S}"
+ ERROR=0
+
+ [ -z "${1}" ] && ERROR=1
+ [ ! -f "${2}" ] && ERROR=1
+
+ if [ "${ERROR}" = 1 ]
+ then
+ echo -e "\n"
+ eerror "getfilevar requires 2 variables, with the second a valid file."
+ eerror " getfilevar <VARIABLE> <CONFIGFILE>"
+ else
+ basefname="$(basename ${2})"
+ basedname="$(dirname ${2})"
+ unset ARCH
+
+ # We use nonfatal because we want the caller to take care of things #373151
+ [[ ${EAPI:-0} == [0123] ]] && nonfatal() { "$@"; }
+ case ${EBUILD_PHASE_FUNC} in
+ pkg_info|pkg_nofetch|pkg_pretend) M="${T}" ;;
+ esac
+ echo -e "e:\\n\\t@echo \$(${1})\\ninclude ${basefname}" | \
+ nonfatal emake -C "${basedname}" M="${M}" ${BUILD_FIXES} -s -f - 2>/dev/null
+
+ ARCH=${myARCH}
+ fi
+}
+
+# @FUNCTION: getfilevar_noexec
+# @USAGE: variable configfile
+# @RETURN: the value of the variable
+# @DESCRIPTION:
+# It detects the value of the variable defined in the file configfile.
+# This is done with sed matching an expression only. If the variable is defined,
+# you will run into problems. See getfilevar for those cases.
+getfilevar_noexec() {
+ local ERROR basefname basedname mycat myARCH="${ARCH}"
+ ERROR=0
+ mycat='cat'
+
+ [ -z "${1}" ] && ERROR=1
+ [ ! -f "${2}" ] && ERROR=1
+ [ "${2%.gz}" != "${2}" ] && mycat='zcat'
+
+ if [ "${ERROR}" = 1 ]
+ then
+ echo -e "\n"
+ eerror "getfilevar_noexec requires 2 variables, with the second a valid file."
+ eerror " getfilevar_noexec <VARIABLE> <CONFIGFILE>"
+ else
+ ${mycat} "${2}" | \
+ sed -n \
+ -e "/^[[:space:]]*${1}[[:space:]]*:\\?=[[:space:]]*\(.*\)\$/{
+ s,^[^=]*[[:space:]]*=[[:space:]]*,,g ;
+ s,[[:space:]]*\$,,g ;
+ p
+ }"
+ fi
+}
+
+# @ECLASS-VARIABLE: _LINUX_CONFIG_EXISTS_DONE
+# @INTERNAL
+# @DESCRIPTION:
+# This is only set if one of the linux_config_*exists functions has been called.
+# We use it for a QA warning that the check for a config has not been performed,
+# as linux_chkconfig* in non-legacy mode WILL return an undefined value if no
+# config is available at all.
+_LINUX_CONFIG_EXISTS_DONE=
+
+linux_config_qa_check() {
+ local f="$1"
+ if [ -z "${_LINUX_CONFIG_EXISTS_DONE}" ]; then
+ ewarn "QA: You called $f before any linux_config_exists!"
+ ewarn "QA: The return value of $f will NOT guaranteed later!"
+ fi
+
+ if ! use kernel_linux; then
+ die "$f called on non-Linux system, please fix the ebuild"
+ fi
+}
+
+# @FUNCTION: linux_config_src_exists
+# @RETURN: true or false
+# @DESCRIPTION:
+# It returns true if .config exists in a build directory otherwise false
+linux_config_src_exists() {
+ export _LINUX_CONFIG_EXISTS_DONE=1
+ use kernel_linux && [[ -n ${KV_OUT_DIR} && -s ${KV_OUT_DIR}/.config ]]
+}
+
+# @FUNCTION: linux_config_bin_exists
+# @RETURN: true or false
+# @DESCRIPTION:
+# It returns true if .config exists in /proc, otherwise false
+linux_config_bin_exists() {
+ export _LINUX_CONFIG_EXISTS_DONE=1
+ use kernel_linux && [[ -s /proc/config.gz ]]
+}
+
+# @FUNCTION: linux_config_exists
+# @RETURN: true or false
+# @DESCRIPTION:
+# It returns true if .config exists otherwise false
+#
+# This function MUST be checked before using any of the linux_chkconfig_*
+# functions.
+linux_config_exists() {
+ linux_config_src_exists || linux_config_bin_exists
+}
+
+# @FUNCTION: linux_config_path
+# @DESCRIPTION:
+# Echo the name of the config file to use. If none are found,
+# then return false.
+linux_config_path() {
+ if linux_config_src_exists; then
+ echo "${KV_OUT_DIR}/.config"
+ elif linux_config_bin_exists; then
+ echo "/proc/config.gz"
+ else
+ return 1
+ fi
+}
+
+# @FUNCTION: require_configured_kernel
+# @DESCRIPTION:
+# This function verifies that the current kernel is configured (it checks against the existence of .config)
+# otherwise it dies.
+require_configured_kernel() {
+ if ! use kernel_linux; then
+ die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
+ fi
+
+ if ! linux_config_src_exists; then
+ qeerror "Could not find a usable .config in the kernel source directory."
+ qeerror "Please ensure that ${KERNEL_DIR} points to a configured set of Linux sources."
+ qeerror "If you are using KBUILD_OUTPUT, please set the environment var so that"
+ qeerror "it points to the necessary object directory so that it might find .config."
+ die "Kernel not configured; no .config found in ${KV_OUT_DIR}"
+ fi
+ get_version || die "Unable to determine configured kernel version"
+}
+
+# @FUNCTION: linux_chkconfig_present
+# @USAGE: option
+# @RETURN: true or false
+# @DESCRIPTION:
+# It checks that CONFIG_<option>=y or CONFIG_<option>=m is present in the current kernel .config
+# If linux_config_exists returns false, the results of this are UNDEFINED. You
+# MUST call linux_config_exists first.
+linux_chkconfig_present() {
+ linux_config_qa_check linux_chkconfig_present
+ [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == [my] ]]
+}
+
+# @FUNCTION: linux_chkconfig_module
+# @USAGE: option
+# @RETURN: true or false
+# @DESCRIPTION:
+# It checks that CONFIG_<option>=m is present in the current kernel .config
+# If linux_config_exists returns false, the results of this are UNDEFINED. You
+# MUST call linux_config_exists first.
+linux_chkconfig_module() {
+ linux_config_qa_check linux_chkconfig_module
+ [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == m ]]
+}
+
+# @FUNCTION: linux_chkconfig_builtin
+# @USAGE: option
+# @RETURN: true or false
+# @DESCRIPTION:
+# It checks that CONFIG_<option>=y is present in the current kernel .config
+# If linux_config_exists returns false, the results of this are UNDEFINED. You
+# MUST call linux_config_exists first.
+linux_chkconfig_builtin() {
+ linux_config_qa_check linux_chkconfig_builtin
+ [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == y ]]
+}
+
+# @FUNCTION: linux_chkconfig_string
+# @USAGE: option
+# @RETURN: CONFIG_<option>
+# @DESCRIPTION:
+# It prints the CONFIG_<option> value of the current kernel .config (it requires a configured kernel).
+# If linux_config_exists returns false, the results of this are UNDEFINED. You
+# MUST call linux_config_exists first.
+linux_chkconfig_string() {
+ linux_config_qa_check linux_chkconfig_string
+ getfilevar_noexec "CONFIG_$1" "$(linux_config_path)"
+}
+
+# Versioning Functions
+# ---------------------------------------
+
+# @FUNCTION: kernel_is
+# @USAGE: [-lt -gt -le -ge -eq] major_number [minor_number patch_number]
+# @RETURN: true or false
+# @DESCRIPTION:
+# It returns true when the current kernel version satisfies the comparison against the passed version.
+# -eq is the default comparison.
+#
+# @CODE
+# For Example where KV = 2.6.9
+# kernel_is 2 4 returns false
+# kernel_is 2 returns true
+# kernel_is 2 6 returns true
+# kernel_is 2 6 8 returns false
+# kernel_is 2 6 9 returns true
+# @CODE
+
+# Note: duplicated in kernel-2.eclass
+kernel_is() {
+ if ! use kernel_linux; then
+ die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
+ fi
+
+ # if we haven't determined the version yet, we need to.
+ linux-info_get_any_version
+
+ # Now we can continue
+ local operator test value
+
+ case ${1#-} in
+ lt) operator="-lt"; shift;;
+ gt) operator="-gt"; shift;;
+ le) operator="-le"; shift;;
+ ge) operator="-ge"; shift;;
+ eq) operator="-eq"; shift;;
+ *) operator="-eq";;
+ esac
+ [[ $# -gt 3 ]] && die "Error in kernel-2_kernel_is(): too many parameters"
+
+ : $(( test = (KV_MAJOR << 16) + (KV_MINOR << 8) + KV_PATCH ))
+ : $(( value = (${1:-${KV_MAJOR}} << 16) + (${2:-${KV_MINOR}} << 8) + ${3:-${KV_PATCH}} ))
+ [ ${test} ${operator} ${value} ]
+}
+
+get_localversion() {
+ local lv_list i x
+
+ local shopt_save=$(shopt -p nullglob)
+ shopt -s nullglob
+ local files=( ${1}/localversion* )
+ ${shopt_save}
+
+ # ignore files with ~ in it.
+ for i in "${files[@]}"; do
+ [[ -n ${i//*~*} ]] && lv_list="${lv_list} ${i}"
+ done
+
+ for i in ${lv_list}; do
+ x="${x}$(<${i})"
+ done
+ x=${x/ /}
+ echo ${x}
+}
+
+# Check if the Makefile is valid for direct parsing.
+# Check status results:
+# - PASS, use 'getfilevar' to extract values
+# - FAIL, use 'getfilevar_noexec' to extract values
+# The check may fail if:
+# - make is not present
+# - corruption exists in the kernel makefile
+get_makefile_extract_function() {
+ local a='' b='' mkfunc='getfilevar'
+ a="$(getfilevar VERSION ${KERNEL_MAKEFILE})"
+ b="$(getfilevar_noexec VERSION ${KERNEL_MAKEFILE})"
+ [[ "${a}" != "${b}" ]] && mkfunc='getfilevar_noexec'
+ echo "${mkfunc}"
+}
+
+# internal variable, so we know to only print the warning once
+get_version_warning_done=
+
+# @FUNCTION: get_version
+# @DESCRIPTION:
+# It gets the version of the kernel inside KERNEL_DIR and populates the KV_FULL variable
+# (if KV_FULL is already set it does nothing).
+#
+# The kernel version variables (KV_MAJOR, KV_MINOR, KV_PATCH, KV_EXTRA and KV_LOCAL) are also set.
+#
+# The KV_DIR is set using the KERNEL_DIR env var, the KV_DIR_OUT is set using a valid
+# KBUILD_OUTPUT (in a decreasing priority list, we look for the env var, makefile var or the
+# symlink /lib/modules/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}/build).
+get_version() {
+ if ! use kernel_linux; then
+ die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
+ fi
+
+ local tmplocal
+
+ # no need to execute this twice assuming KV_FULL is populated.
+ # we can force by unsetting KV_FULL
+ [ -n "${KV_FULL}" ] && return 0
+
+ # if we dont know KV_FULL, then we need too.
+ # make sure KV_DIR isnt set since we need to work it out via KERNEL_DIR
+ unset KV_DIR
+
+ # KV_DIR will contain the full path to the sources directory we should use
+ [ -z "${get_version_warning_done}" ] && \
+ qeinfo "Determining the location of the kernel source code"
+ [ -d "${KERNEL_DIR}" ] && KV_DIR="${KERNEL_DIR}"
+
+ if [ -z "${KV_DIR}" ]
+ then
+ if [ -z "${get_version_warning_done}" ]; then
+ get_version_warning_done=1
+ qewarn "Unable to find kernel sources at ${KERNEL_DIR}"
+ #qeinfo "This package requires Linux sources."
+ if [ "${KERNEL_DIR}" == "/usr/src/linux" ] ; then
+ qeinfo "Please make sure that ${KERNEL_DIR} points at your running kernel, "
+ qeinfo "(or the kernel you wish to build against)."
+ qeinfo "Alternatively, set the KERNEL_DIR environment variable to the kernel sources location"
+ else
+ qeinfo "Please ensure that the KERNEL_DIR environment variable points at full Linux sources of the kernel you wish to compile against."
+ fi
+ fi
+ return 1
+ fi
+
+ # See if the kernel dir is actually an output dir. #454294
+ if [ -z "${KBUILD_OUTPUT}" -a -L "${KERNEL_DIR}/source" ]; then
+ KBUILD_OUTPUT=${KERNEL_DIR}
+ KERNEL_DIR=$(readlink -f "${KERNEL_DIR}/source")
+ KV_DIR=${KERNEL_DIR}
+ fi
+
+ if [ -z "${get_version_warning_done}" ]; then
+ qeinfo "Found kernel source directory:"
+ qeinfo " ${KV_DIR}"
+ fi
+
+ if [ ! -s "${KV_DIR}/Makefile" ]
+ then
+ if [ -z "${get_version_warning_done}" ]; then
+ get_version_warning_done=1
+ qeerror "Could not find a Makefile in the kernel source directory."
+ qeerror "Please ensure that ${KERNEL_DIR} points to a complete set of Linux sources"
+ fi
+ return 1
+ fi
+
+ # OK so now we know our sources directory, but they might be using
+ # KBUILD_OUTPUT, and we need this for .config and localversions-*
+ # so we better find it eh?
+ # do we pass KBUILD_OUTPUT on the CLI?
+ local OUTPUT_DIR=${KBUILD_OUTPUT}
+
+ # keep track of it
+ KERNEL_MAKEFILE="${KV_DIR}/Makefile"
+
+ if [[ -z ${OUTPUT_DIR} ]]; then
+ # Decide the function used to extract makefile variables.
+ local mkfunc=$(get_makefile_extract_function "${KERNEL_MAKEFILE}")
+
+ # And if we didn't pass it, we can take a nosey in the Makefile.
+ OUTPUT_DIR=$(${mkfunc} KBUILD_OUTPUT "${KERNEL_MAKEFILE}")
+ fi
+
+ # And contrary to existing functions I feel we shouldn't trust the
+ # directory name to find version information as this seems insane.
+ # So we parse ${KERNEL_MAKEFILE}. We should be able to trust that
+ # the Makefile is simple enough to use the noexec extract function.
+ # This has been true for every release thus far, and it's faster
+ # than using make to evaluate the Makefile every time.
+ KV_MAJOR=$(getfilevar_noexec VERSION "${KERNEL_MAKEFILE}")
+ KV_MINOR=$(getfilevar_noexec PATCHLEVEL "${KERNEL_MAKEFILE}")
+ KV_PATCH=$(getfilevar_noexec SUBLEVEL "${KERNEL_MAKEFILE}")
+ KV_EXTRA=$(getfilevar_noexec EXTRAVERSION "${KERNEL_MAKEFILE}")
+
+ if [ -z "${KV_MAJOR}" -o -z "${KV_MINOR}" -o -z "${KV_PATCH}" ]
+ then
+ if [ -z "${get_version_warning_done}" ]; then
+ get_version_warning_done=1
+ qeerror "Could not detect kernel version."
+ qeerror "Please ensure that ${KERNEL_DIR} points to a complete set of Linux sources."
+ fi
+ return 1
+ fi
+
+ [ -d "${OUTPUT_DIR}" ] && KV_OUT_DIR="${OUTPUT_DIR}"
+ if [ -n "${KV_OUT_DIR}" ];
+ then
+ qeinfo "Found kernel object directory:"
+ qeinfo " ${KV_OUT_DIR}"
+ fi
+ # and if we STILL have not got it, then we better just set it to KV_DIR
+ KV_OUT_DIR="${KV_OUT_DIR:-${KV_DIR}}"
+
+ # Grab the kernel release from the output directory.
+ # TODO: we MUST detect kernel.release being out of date, and 'return 1' from
+ # this function.
+ if [ -s "${KV_OUT_DIR}"/include/config/kernel.release ]; then
+ KV_LOCAL=$(<"${KV_OUT_DIR}"/include/config/kernel.release)
+ elif [ -s "${KV_OUT_DIR}"/.kernelrelease ]; then
+ KV_LOCAL=$(<"${KV_OUT_DIR}"/.kernelrelease)
+ else
+ KV_LOCAL=
+ fi
+
+ # KV_LOCAL currently contains the full release; discard the first bits.
+ tmplocal=${KV_LOCAL#${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}}
+
+ # If the updated local version was not changed, the tree is not prepared.
+ # Clear out KV_LOCAL in that case.
+ # TODO: this does not detect a change in the localversion part between
+ # kernel.release and the value that would be generated.
+ if [ "$KV_LOCAL" = "$tmplocal" ]; then
+ KV_LOCAL=
+ else
+ KV_LOCAL=$tmplocal
+ fi
+
+ # and in newer versions we can also pull LOCALVERSION if it is set.
+ # but before we do this, we need to find if we use a different object directory.
+ # This *WILL* break if the user is using localversions, but we assume it was
+ # caught before this if they are.
+ if [[ -z ${OUTPUT_DIR} ]] ; then
+ # Try to locate a kernel that is most relevant for us.
+ for OUTPUT_DIR in "${SYSROOT}" "${ROOT%/}" "" ; do
+ OUTPUT_DIR+="/lib/modules/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}${KV_LOCAL}/build"
+ if [[ -e ${OUTPUT_DIR} ]] ; then
+ break
+ fi
+ done
+ fi
+
+ # And we should set KV_FULL to the full expanded version
+ KV_FULL="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}${KV_LOCAL}"
+
+ qeinfo "Found sources for kernel version:"
+ qeinfo " ${KV_FULL}"
+
+ return 0
+}
+
+# @FUNCTION: get_running_version
+# @DESCRIPTION:
+# It gets the version of the current running kernel and the result is the same as get_version() if the
+# function can find the sources.
+get_running_version() {
+ if ! use kernel_linux; then
+ die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
+ fi
+
+ KV_FULL=$(uname -r)
+
+ if [[ -f ${ROOT%/}/lib/modules/${KV_FULL}/source/Makefile && -f ${ROOT%/}/lib/modules/${KV_FULL}/build/Makefile ]]; then
+ KERNEL_DIR=$(readlink -f ${ROOT%/}/lib/modules/${KV_FULL}/source)
+ KBUILD_OUTPUT=$(readlink -f ${ROOT%/}/lib/modules/${KV_FULL}/build)
+ unset KV_FULL
+ get_version
+ return $?
+ elif [[ -f ${ROOT%/}/lib/modules/${KV_FULL}/source/Makefile ]]; then
+ KERNEL_DIR=$(readlink -f ${ROOT%/}/lib/modules/${KV_FULL}/source)
+ unset KV_FULL
+ get_version
+ return $?
+ elif [[ -f ${ROOT%/}/lib/modules/${KV_FULL}/build/Makefile ]]; then
+ KERNEL_DIR=$(readlink -f ${ROOT%/}/lib/modules/${KV_FULL}/build)
+ unset KV_FULL
+ get_version
+ return $?
+ else
+ # This handles a variety of weird kernel versions. Make sure to update
+ # tests/linux-info_get_running_version.sh if you want to change this.
+ local kv_full=${KV_FULL//[-+_]*}
+ KV_MAJOR=$(ver_cut 1 ${kv_full})
+ KV_MINOR=$(ver_cut 2 ${kv_full})
+ KV_PATCH=$(ver_cut 3 ${kv_full})
+ KV_EXTRA="${KV_FULL#${KV_MAJOR}.${KV_MINOR}${KV_PATCH:+.${KV_PATCH}}}"
+ : ${KV_PATCH:=0}
+ fi
+ return 0
+}
+
+# This next function is named with the eclass prefix to avoid conflicts with
+# some old versionator-like eclass functions.
+
+# @FUNCTION: linux-info_get_any_version
+# @DESCRIPTION:
+# This attempts to find the version of the sources, and otherwise falls back to
+# the version of the running kernel.
+linux-info_get_any_version() {
+ if ! use kernel_linux; then
+ die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
+ fi
+
+ if ! get_version; then
+ ewarn "Unable to calculate Linux Kernel version for build, attempting to use running version"
+ if ! get_running_version; then
+ die "Unable to determine any Linux Kernel version, please report a bug"
+ fi
+ fi
+}
+
+
+# ebuild check functions
+# ---------------------------------------
+
+# @FUNCTION: check_kernel_built
+# @DESCRIPTION:
+# This function verifies that the current kernel sources have been already prepared otherwise it dies.
+check_kernel_built() {
+ if ! use kernel_linux; then
+ die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
+ fi
+
+ # if we haven't determined the version yet, we need to
+ require_configured_kernel
+
+ local versionh_path
+ if kernel_is -ge 3 7; then
+ versionh_path="include/generated/uapi/linux/version.h"
+ else
+ versionh_path="include/linux/version.h"
+ fi
+
+ if [ ! -f "${KV_OUT_DIR}/${versionh_path}" ]
+ then
+ eerror "These sources have not yet been prepared."
+ eerror "We cannot build against an unprepared tree."
+ eerror "To resolve this, please type the following:"
+ eerror
+ eerror "# cd ${KV_DIR}"
+ eerror "# make oldconfig"
+ eerror "# make modules_prepare"
+ eerror
+ eerror "Then please try merging this module again."
+ die "Kernel sources need compiling first"
+ fi
+}
+
+# @FUNCTION: check_modules_supported
+# @DESCRIPTION:
+# This function verifies that the current kernel support modules (it checks CONFIG_MODULES=y) otherwise it dies.
+check_modules_supported() {
+ if ! use kernel_linux; then
+ die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
+ fi
+
+ # if we haven't determined the version yet, we need too.
+ require_configured_kernel
+
+ if ! linux_chkconfig_builtin "MODULES"; then
+ eerror "These sources do not support loading external modules."
+ eerror "to be able to use this module please enable \"Loadable modules support\""
+ eerror "in your kernel, recompile and then try merging this module again."
+ die "No support for external modules in ${KV_FULL} config"
+ fi
+}
+
+# @FUNCTION: check_extra_config
+# @DESCRIPTION:
+# It checks the kernel config options specified by CONFIG_CHECK. It dies only when a required config option (i.e.
+# the prefix ~ is not used) doesn't satisfy the directive. Ignored on non-Linux systems.
+check_extra_config() {
+ use kernel_linux || return
+
+ local config negate die error reworkmodulenames
+ local soft_errors_count=0 hard_errors_count=0 config_required=0
+ # store the value of the QA check, because otherwise we won't catch usages
+ # after if check_extra_config is called AND other direct calls are done
+ # later.
+ local old_LINUX_CONFIG_EXISTS_DONE="${_LINUX_CONFIG_EXISTS_DONE}"
+
+ # if we haven't determined the version yet, we need to
+ linux-info_get_any_version
+
+ # Determine if we really need a .config. The only time when we don't need
+ # one is when all of the CONFIG_CHECK options are prefixed with "~".
+ for config in ${CONFIG_CHECK}; do
+ if [[ "${config:0:1}" != "~" ]]; then
+ config_required=1
+ break
+ fi
+ done
+
+ if [[ ${config_required} == 0 ]]; then
+ # In the case where we don't require a .config, we can now bail out
+ # if the user has no .config as there is nothing to do. Otherwise
+ # code later will cause a failure due to missing .config.
+ if ! linux_config_exists; then
+ ewarn "Unable to check for the following kernel config options due"
+ ewarn "to absence of any configured kernel sources or compiled"
+ ewarn "config:"
+ for config in ${CONFIG_CHECK}; do
+ config=${config#\~}
+ config=${config#\!}
+ local_error="ERROR_${config}"
+ msg="${!local_error}"
+ if [[ -z ${msg} ]]; then
+ local_error="WARNING_${config}"
+ msg="${!local_error}"
+ fi
+ ewarn " - ${config}${msg:+ - }${msg}"
+ done
+ ewarn "You're on your own to make sure they are set if needed."
+ export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"
+ return 0
+ fi
+ else
+ require_configured_kernel
+ fi
+
+ einfo "Checking for suitable kernel configuration options..."
+
+ for config in ${CONFIG_CHECK}
+ do
+ # if we specify any fatal, ensure we honor them
+ die=1
+ error=0
+ negate=0
+ reworkmodulenames=0
+
+ if [[ ${config:0:1} == "~" ]]; then
+ die=0
+ config=${config:1}
+ elif [[ ${config:0:1} == "@" ]]; then
+ die=0
+ reworkmodulenames=1
+ config=${config:1}
+ fi
+ if [[ ${config:0:1} == "!" ]]; then
+ negate=1
+ config=${config:1}
+ fi
+
+ if [[ ${negate} == 1 ]]; then
+ linux_chkconfig_present ${config} && error=2
+ elif [[ ${reworkmodulenames} == 1 ]]; then
+ local temp_config="${config//*:}" i n
+ config="${config//:*}"
+ if linux_chkconfig_present ${config}; then
+ for i in ${MODULE_NAMES}; do
+ n="${i//${temp_config}}"
+ [[ -z ${n//\(*} ]] && \
+ MODULE_IGNORE="${MODULE_IGNORE} ${temp_config}"
+ done
+ error=2
+ fi
+ else
+ linux_chkconfig_present ${config} || error=1
+ fi
+
+ if [[ ${error} > 0 ]]; then
+ local report_func="eerror" local_error
+ local_error="ERROR_${config}"
+ local_error="${!local_error}"
+
+ if [[ -z "${local_error}" ]]; then
+ # using old, deprecated format.
+ local_error="${config}_ERROR"
+ local_error="${!local_error}"
+ fi
+ if [[ ${die} == 0 && -z "${local_error}" ]]; then
+ #soft errors can be warnings
+ local_error="WARNING_${config}"
+ local_error="${!local_error}"
+ if [[ -n "${local_error}" ]] ; then
+ report_func="ewarn"
+ fi
+ fi
+
+ if [[ -z "${local_error}" ]]; then
+ [[ ${error} == 1 ]] \
+ && local_error="is not set when it should be." \
+ || local_error="should not be set. But it is."
+ local_error="CONFIG_${config}:\t ${local_error}"
+ fi
+ if [[ ${die} == 0 ]]; then
+ ${report_func} " ${local_error}"
+ soft_errors_count=$[soft_errors_count + 1]
+ else
+ ${report_func} " ${local_error}"
+ hard_errors_count=$[hard_errors_count + 1]
+ fi
+ fi
+ done
+
+ if [[ ${hard_errors_count} > 0 ]]; then
+ eerror "Please check to make sure these options are set correctly."
+ eerror "Failure to do so may cause unexpected problems."
+ eerror "Once you have satisfied these options, please try merging"
+ eerror "this package again."
+ export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"
+ die "Incorrect kernel configuration options"
+ elif [[ ${soft_errors_count} > 0 ]]; then
+ ewarn "Please check to make sure these options are set correctly."
+ ewarn "Failure to do so may cause unexpected problems."
+ else
+ eend 0
+ fi
+ export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"
+}
+
+check_zlibinflate() {
+ if ! use kernel_linux; then
+ die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
+ fi
+
+ # if we haven't determined the version yet, we need to
+ require_configured_kernel
+
+ # although I restructured this code - I really really really dont support it!
+
+ # bug #27882 - zlib routines are only linked into the kernel
+ # if something compiled into the kernel calls them
+ #
+ # plus, for the cloop module, it appears that there's no way
+ # to get cloop.o to include a static zlib if CONFIG_MODVERSIONS
+ # is on
+
+ local INFLATE
+ local DEFLATE
+
+ einfo "Determining the usability of ZLIB_INFLATE support in your kernel"
+
+ ebegin "checking ZLIB_INFLATE"
+ linux_chkconfig_builtin CONFIG_ZLIB_INFLATE
+ eend $? || die
+
+ ebegin "checking ZLIB_DEFLATE"
+ linux_chkconfig_builtin CONFIG_ZLIB_DEFLATE
+ eend $? || die
+
+ local LINENO_START
+ local LINENO_END
+ local SYMBOLS
+ local x
+
+ LINENO_END="$(grep -n 'CONFIG_ZLIB_INFLATE y' ${KV_DIR}/lib/Config.in | cut -d : -f 1)"
+ LINENO_START="$(head -n $LINENO_END ${KV_DIR}/lib/Config.in | grep -n 'if \[' | tail -n 1 | cut -d : -f 1)"
+ (( LINENO_AMOUNT = $LINENO_END - $LINENO_START ))
+ (( LINENO_END = $LINENO_END - 1 ))
+ SYMBOLS="$(head -n $LINENO_END ${KV_DIR}/lib/Config.in | tail -n $LINENO_AMOUNT | sed -e 's/^.*\(CONFIG_[^\" ]*\).*/\1/g;')"
+
+ # okay, now we have a list of symbols
+ # we need to check each one in turn, to see whether it is set or not
+ for x in $SYMBOLS ; do
+ if [ "${!x}" = "y" ]; then
+ # we have a winner!
+ einfo "${x} ensures zlib is linked into your kernel - excellent"
+ return 0
+ fi
+ done
+
+ eerror
+ eerror "This kernel module requires ZLIB library support."
+ eerror "You have enabled zlib support in your kernel, but haven't enabled"
+ eerror "enabled any option that will ensure that zlib is linked into your"
+ eerror "kernel."
+ eerror
+ eerror "Please ensure that you enable at least one of these options:"
+ eerror
+
+ for x in $SYMBOLS ; do
+ eerror " * $x"
+ done
+
+ eerror
+ eerror "Please remember to recompile and install your kernel, and reboot"
+ eerror "into your new kernel before attempting to load this kernel module."
+
+ die "Kernel doesn't include zlib support"
+}
+
+################################
+# Default pkg_setup
+# Also used when inheriting linux-mod to force a get_version call
+# @FUNCTION: linux-info_pkg_setup
+# @DESCRIPTION:
+# Force a get_version() call when inherited from linux-mod.eclass and then check if the kernel is configured
+# to support the options specified in CONFIG_CHECK (if not null)
+linux-info_pkg_setup() {
+ use kernel_linux || return
+
+ linux-info_get_any_version
+
+ if kernel_is 2 4; then
+ if [ "$( gcc-major-version )" -eq "4" ] ; then
+ echo
+ ewarn "Be warned !! >=sys-devel/gcc-4.0.0 isn't supported with"
+ ewarn "linux-2.4 (or modules building against a linux-2.4 kernel)!"
+ echo
+ ewarn "Either switch to another gcc-version (via gcc-config) or use a"
+ ewarn "newer kernel that supports gcc-4."
+ echo
+ ewarn "Also be aware that bugreports about gcc-4 not working"
+ ewarn "with linux-2.4 based ebuilds will be closed as INVALID!"
+ echo
+ fi
+ fi
+
+ [ -n "${CONFIG_CHECK}" ] && check_extra_config;
+}
diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
new file mode 100644
index 0000000..920790b
--- /dev/null
+++ b/eclass/linux-mod.eclass
@@ -0,0 +1,758 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: linux-mod.eclass
+# @MAINTAINER:
+# kernel@gentoo.org
+# @AUTHOR:
+# John Mylchreest <johnm@gentoo.org>,
+# Stefan Schweizer <genstef@gentoo.org>
+# @BLURB: It provides the functionality required to install external modules against a kernel source tree.
+# @DESCRIPTION:
+# This eclass is used to interface with linux-info.eclass in such a way
+# to provide the functionality and initial functions
+# required to install external modules against a kernel source
+# tree.
+
+# A Couple of env vars are available to effect usage of this eclass
+# These are as follows:
+
+# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE
+# @DESCRIPTION:
+# A string containing the USE flag to use for making this eclass optional
+# The recommended non-empty value is 'modules'
+
+# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE_IUSE_DEFAULT
+# @DESCRIPTION:
+# A boolean to control the IUSE default state for the MODULES_OPTIONAL_USE USE
+# flag. Default value is unset (false). True represented by 1 or 'on', other
+# values including unset treated as false.
+
+# @ECLASS-VARIABLE: KERNEL_DIR
+# @DESCRIPTION:
+# A string containing the directory of the target kernel sources. The default value is
+# "/usr/src/linux"
+
+# @ECLASS-VARIABLE: ECONF_PARAMS
+# @DESCRIPTION:
+# It's a string containing the parameters to pass to econf.
+# If this is not set, then econf isn't run.
+
+# @ECLASS-VARIABLE: BUILD_PARAMS
+# @DESCRIPTION:
+# It's a string with the parameters to pass to emake.
+
+# @ECLASS-VARIABLE: BUILD_TARGETS
+# @DESCRIPTION:
+# It's a string with the build targets to pass to make. The default value is "clean module"
+
+# @ECLASS-VARIABLE: MODULE_NAMES
+# @DESCRIPTION:
+# It's a string containing the modules to be built automatically using the default
+# src_compile/src_install. It will only make ${BUILD_TARGETS} once in any directory.
+#
+# The structure of each MODULE_NAMES entry is as follows:
+#
+# modulename(libdir:srcdir:objdir)
+#
+# where:
+#
+# modulename = name of the module file excluding the .ko
+# libdir = place in system modules directory where module is installed (by default it's misc)
+# srcdir = place for ebuild to cd to before running make (by default it's ${S})
+# objdir = place the .ko and objects are located after make runs (by default it's set to srcdir)
+#
+# To get an idea of how these variables are used, here's a few lines
+# of code from around line 540 in this eclass:
+#
+# einfo "Installing ${modulename} module"
+# cd ${objdir} || die "${objdir} does not exist"
+# insinto /lib/modules/${KV_FULL}/${libdir}
+# doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed"
+#
+# For example:
+# MODULE_NAMES="module_pci(pci:${S}/pci:${S}) module_usb(usb:${S}/usb:${S})"
+#
+# what this would do is
+#
+# cd "${S}"/pci
+# make ${BUILD_PARAMS} ${BUILD_TARGETS}
+# cd "${S}"
+# insinto /lib/modules/${KV_FULL}/pci
+# doins module_pci.${KV_OBJ}
+#
+# cd "${S}"/usb
+# make ${BUILD_PARAMS} ${BUILD_TARGETS}
+# cd "${S}"
+# insinto /lib/modules/${KV_FULL}/usb
+# doins module_usb.${KV_OBJ}
+
+# There is also support for automated modprobe.d file generation.
+# This can be explicitly enabled by setting any of the following variables.
+
+# @ECLASS-VARIABLE: MODULESD_<modulename>_ENABLED
+# @DESCRIPTION:
+# This is used to disable the modprobe.d file generation otherwise the file will be
+# always generated (unless no MODULESD_<modulename>_* variable is provided). Set to "no" to disable
+# the generation of the file and the installation of the documentation.
+
+# @ECLASS-VARIABLE: MODULESD_<modulename>_EXAMPLES
+# @DESCRIPTION:
+# This is a bash array containing a list of examples which should
+# be used. If you want us to try and take a guess set this to "guess".
+#
+# For each array_component it's added an options line in the modprobe.d file
+#
+# options array_component
+#
+# where array_component is "<modulename> options" (see modprobe.conf(5))
+
+# @ECLASS-VARIABLE: MODULESD_<modulename>_ALIASES
+# @DESCRIPTION:
+# This is a bash array containing a list of associated aliases.
+#
+# For each array_component it's added an alias line in the modprobe.d file
+#
+# alias array_component
+#
+# where array_component is "wildcard <modulename>" (see modprobe.conf(5))
+
+# @ECLASS-VARIABLE: MODULESD_<modulename>_ADDITIONS
+# @DESCRIPTION:
+# This is a bash array containing a list of additional things to
+# add to the bottom of the file. This can be absolutely anything.
+# Each entry is a new line.
+
+# @ECLASS-VARIABLE: MODULESD_<modulename>_DOCS
+# @DESCRIPTION:
+# This is a string list which contains the full path to any associated
+# documents for <modulename>. These files are installed in the live tree.
+
+# @ECLASS-VARIABLE: KV_OBJ
+# @DESCRIPTION:
+# It's a read-only variable. It contains the extension of the kernel modules.
+
+inherit eutils linux-info multilib
+EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst src_install src_compile pkg_postrm
+
+case ${MODULES_OPTIONAL_USE_IUSE_DEFAULT:-n} in
+ [nNfF]*|[oO][fF]*|0|-) _modules_optional_use_iuse_default='' ;;
+ *) _modules_optional_use_iuse_default='+' ;;
+esac
+
+[[ -n "${_modules_optional_use_iuse_default}" ]] && case ${EAPI:-0} in
+ 0) die "EAPI=${EAPI} is not supported with MODULES_OPTIONAL_USE_IUSE_DEFAULT due to lack of IUSE defaults" ;;
+esac
+
+IUSE="kernel_linux ${MODULES_OPTIONAL_USE:+${_modules_optional_use_iuse_default}}${MODULES_OPTIONAL_USE}"
+SLOT="0"
+RDEPEND="${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (} kernel_linux? ( virtual/modutils ) ${MODULES_OPTIONAL_USE:+)}"
+DEPEND="${RDEPEND}
+ ${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (}
+ sys-apps/sed
+ kernel_linux? ( virtual/linux-sources virtual/libelf )
+ ${MODULES_OPTIONAL_USE:+)}"
+
+# eclass utilities
+# ----------------------------------
+
+check_vermagic() {
+ debug-print-function ${FUNCNAME} $*
+
+ local curr_gcc_ver=$(gcc -dumpversion)
+ local tmpfile old_chost old_gcc_ver result=0
+ [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+
+ tmpfile=`find "${KV_DIR}/" -iname "*.o.cmd" -exec grep usr/lib/gcc {} \; -quit`
+ tmpfile=${tmpfile//*usr/lib}
+ tmpfile=${tmpfile//\/include*}
+ old_chost=${tmpfile//*gcc\/}
+ old_chost=${old_chost//\/*}
+ old_gcc_ver=${tmpfile//*\/}
+
+ if [[ -z ${old_gcc_ver} || -z ${old_chost} ]]; then
+ ewarn ""
+ ewarn "Unable to detect what version of GCC was used to compile"
+ ewarn "the kernel. Build will continue, but you may experience problems."
+ elif [[ ${curr_gcc_ver} != ${old_gcc_ver} ]]; then
+ ewarn ""
+ ewarn "The version of GCC you are using (${curr_gcc_ver}) does"
+ ewarn "not match the version of GCC used to compile the"
+ ewarn "kernel (${old_gcc_ver})."
+ result=1
+ elif [[ ${CHOST} != ${old_chost} ]]; then
+ ewarn ""
+ ewarn "The current CHOST (${CHOST}) does not match the chost"
+ ewarn "used when compiling the kernel (${old_chost})."
+ result=1
+ fi
+
+ if [[ ${result} -gt 0 ]]; then
+ ewarn ""
+ ewarn "Build will not continue, because you will experience problems."
+ ewarn "To fix this either change the version of GCC you wish to use"
+ ewarn "to match the kernel, or recompile the kernel first."
+ die "GCC Version Mismatch."
+ fi
+}
+
+# @FUNCTION: use_m
+# @RETURN: true or false
+# @DESCRIPTION:
+# It checks if the kernel version is greater than 2.6.5.
+use_m() {
+ debug-print-function ${FUNCNAME} $*
+
+ # if we haven't determined the version yet, we need too.
+ get_version;
+
+ # if the kernel version is greater than 2.6.6 then we should use
+ # M= instead of SUBDIRS=
+ [ ${KV_MAJOR} -eq 3 ] && return 0
+ [ ${KV_MAJOR} -eq 2 -a ${KV_MINOR} -gt 5 -a ${KV_PATCH} -gt 5 ] && \
+ return 0 || return 1
+}
+
+# @FUNCTION: convert_to_m
+# @USAGE: /path/to/the/file
+# @DESCRIPTION:
+# It converts a file (e.g. a makefile) to use M= instead of SUBDIRS=
+convert_to_m() {
+ debug-print-function ${FUNCNAME} $*
+
+ if use_m
+ then
+ [ ! -f "${1}" ] && \
+ die "convert_to_m() requires a filename as an argument"
+ ebegin "Converting ${1/${WORKDIR}\//} to use M= instead of SUBDIRS="
+ sed -i 's:SUBDIRS=:M=:g' "${1}"
+ eend $?
+ fi
+}
+
+# internal function
+#
+# FUNCTION: update_depmod
+# DESCRIPTION:
+# It updates the modules.dep file for the current kernel.
+update_depmod() {
+ debug-print-function ${FUNCNAME} $*
+
+ # if we haven't determined the version yet, we need too.
+ get_version;
+
+ ebegin "Updating module dependencies for ${KV_FULL}"
+ if [ -r "${KV_OUT_DIR}"/System.map ]
+ then
+ depmod -ae -F "${KV_OUT_DIR}"/System.map -b "${ROOT:-/}" ${KV_FULL}
+ eend $?
+ else
+ ewarn
+ ewarn "${KV_OUT_DIR}/System.map not found."
+ ewarn "You must manually update the kernel module dependencies using depmod."
+ eend 1
+ ewarn
+ fi
+}
+
+# internal function
+#
+# FUNCTION: move_old_moduledb
+# DESCRIPTION:
+# It updates the location of the database used by the module-rebuild utility.
+move_old_moduledb() {
+ debug-print-function ${FUNCNAME} $*
+
+ local OLDDIR="${ROOT%/}"/usr/share/module-rebuild
+ local NEWDIR="${ROOT%/}"/var/lib/module-rebuild
+
+ if [[ -f "${OLDDIR}"/moduledb ]]; then
+ [[ ! -d "${NEWDIR}" ]] && mkdir -p "${NEWDIR}"
+ [[ ! -f "${NEWDIR}"/moduledb ]] && \
+ mv "${OLDDIR}"/moduledb "${NEWDIR}"/moduledb
+ rm -f "${OLDDIR}"/*
+ rmdir "${OLDDIR}"
+ fi
+}
+
+# internal function
+#
+# FUNCTION: update_moduledb
+# DESCRIPTION:
+# It adds the package to the /var/lib/module-rebuild/moduledb database used by the module-rebuild utility.
+update_moduledb() {
+ debug-print-function ${FUNCNAME} $*
+
+ local MODULEDB_DIR="${ROOT%/}"/var/lib/module-rebuild
+ move_old_moduledb
+
+ if [[ ! -f "${MODULEDB_DIR}"/moduledb ]]; then
+ [[ ! -d "${MODULEDB_DIR}" ]] && mkdir -p "${MODULEDB_DIR}"
+ touch "${MODULEDB_DIR}"/moduledb
+ fi
+
+ if ! grep -qs ${CATEGORY}/${PN}-${PVR} "${MODULEDB_DIR}"/moduledb ; then
+ einfo "Adding module to moduledb."
+ echo "a:1:${CATEGORY}/${PN}-${PVR}" >> "${MODULEDB_DIR}"/moduledb
+ fi
+}
+
+# internal function
+#
+# FUNCTION: remove_moduledb
+# DESCRIPTION:
+# It removes the package from the /var/lib/module-rebuild/moduledb database used by
+# the module-rebuild utility.
+remove_moduledb() {
+ debug-print-function ${FUNCNAME} $*
+
+ local MODULEDB_DIR="${ROOT%/}"/var/lib/module-rebuild
+ move_old_moduledb
+
+ if grep -qs ${CATEGORY}/${PN}-${PVR} "${MODULEDB_DIR}"/moduledb ; then
+ einfo "Removing ${CATEGORY}/${PN}-${PVR} from moduledb."
+ sed -i -e "/.*${CATEGORY}\/${PN}-${PVR}.*/d" "${MODULEDB_DIR}"/moduledb
+ fi
+}
+
+# @FUNCTION: set_kvobj
+# @DESCRIPTION:
+# It sets the KV_OBJ variable.
+set_kvobj() {
+ debug-print-function ${FUNCNAME} $*
+
+ if kernel_is ge 2 6
+ then
+ KV_OBJ="ko"
+ else
+ KV_OBJ="o"
+ fi
+ # Do we really need to know this?
+ # Lets silence it.
+ # einfo "Using KV_OBJ=${KV_OBJ}"
+}
+
+get-KERNEL_CC() {
+ debug-print-function ${FUNCNAME} $*
+
+ if [[ -n ${KERNEL_CC} ]] ; then
+ echo "${KERNEL_CC}"
+ return
+ fi
+
+ local kernel_cc
+ if [ -n "${KERNEL_ABI}" ]; then
+ # In future, an arch might want to define CC_$ABI
+ #kernel_cc="$(get_abi_CC)"
+ #[ -z "${kernel_cc}" ] &&
+ kernel_cc="$(tc-getCC $(ABI=${KERNEL_ABI} get_abi_CHOST))"
+ else
+ kernel_cc=$(tc-getCC)
+ fi
+ echo "${kernel_cc}"
+}
+
+# internal function
+#
+# FUNCTION:
+# USAGE: /path/to/the/modulename_without_extension
+# RETURN: A file in /etc/modprobe.d
+# DESCRIPTION:
+# This function will generate and install the neccessary modprobe.d file from the
+# information contained in the modules exported parms.
+# (see the variables MODULESD_<modulename>_ENABLED, MODULESD_<modulename>_EXAMPLES,
+# MODULESD_<modulename>_ALIASES, MODULESD_<modulename>_ADDITION and MODULESD_<modulename>_DOCS).
+#
+# At the end the documentation specified with MODULESD_<modulename>_DOCS is installed.
+generate_modulesd() {
+ debug-print-function ${FUNCNAME} $*
+ [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+
+ local currm_path currm currm_t t myIFS myVAR
+ local module_docs module_enabled module_aliases \
+ module_additions module_examples module_modinfo module_opts
+
+ for currm_path in ${@}
+ do
+ currm=${currm_path//*\/}
+ currm=$(echo ${currm} | tr '[:lower:]' '[:upper:]')
+ currm_t=${currm}
+ while [[ -z ${currm_t//*-*} ]]; do
+ currm_t=${currm_t/-/_}
+ done
+
+ module_docs="$(eval echo \${MODULESD_${currm_t}_DOCS})"
+ module_enabled="$(eval echo \${MODULESD_${currm_t}_ENABLED})"
+ module_aliases="$(eval echo \${#MODULESD_${currm_t}_ALIASES[*]})"
+ module_additions="$(eval echo \${#MODULESD_${currm_t}_ADDITIONS[*]})"
+ module_examples="$(eval echo \${#MODULESD_${currm_t}_EXAMPLES[*]})"
+
+ [[ ${module_aliases} -eq 0 ]] && unset module_aliases
+ [[ ${module_additions} -eq 0 ]] && unset module_additions
+ [[ ${module_examples} -eq 0 ]] && unset module_examples
+
+ # If we specify we dont want it, then lets exit, otherwise we assume
+ # that if its set, we do want it.
+ [[ ${module_enabled} == no ]] && return 0
+
+ # unset any unwanted variables.
+ for t in ${!module_*}
+ do
+ [[ -z ${!t} ]] && unset ${t}
+ done
+
+ [[ -z ${!module_*} ]] && return 0
+
+ # OK so now if we have got this far, then we know we want to continue
+ # and generate the modprobe.d file.
+ module_modinfo="$(modinfo -p ${currm_path}.${KV_OBJ})"
+ module_config="${T}/modulesd-${currm}"
+
+ ebegin "Preparing file for modprobe.d"
+ #-----------------------------------------------------------------------
+ echo "# modprobe.d configuration file for ${currm}" >> "${module_config}"
+ #-----------------------------------------------------------------------
+ [[ -n ${module_docs} ]] && \
+ echo "# For more information please read:" >> "${module_config}"
+ for t in ${module_docs}
+ do
+ echo "# ${t//*\/}" >> "${module_config}"
+ done
+ echo >> "${module_config}"
+
+ #-----------------------------------------------------------------------
+ if [[ ${module_aliases} -gt 0 ]]
+ then
+ echo "# Internal Aliases - Do not edit" >> "${module_config}"
+ echo "# ------------------------------" >> "${module_config}"
+
+ for((t=0; t<${module_aliases}; t++))
+ do
+ echo "alias $(eval echo \${MODULESD_${currm}_ALIASES[$t]})" \
+ >> "${module_config}"
+ done
+ echo '' >> "${module_config}"
+ fi
+
+ #-----------------------------------------------------------------------
+ if [[ -n ${module_modinfo} ]]
+ then
+ echo >> "${module_config}"
+ echo "# Configurable module parameters" >> "${module_config}"
+ echo "# ------------------------------" >> "${module_config}"
+ myIFS="${IFS}"
+ IFS="$(echo -en "\n\b")"
+
+ for t in ${module_modinfo}
+ do
+ myVAR="$(echo ${t#*:} | grep -o "[^ ]*[0-9][ =][^ ]*" | tail -1 | grep -o "[0-9]")"
+ if [[ -n ${myVAR} ]]
+ then
+ module_opts="${module_opts} ${t%%:*}:${myVAR}"
+ fi
+ echo -e "# ${t%%:*}:\t${t#*:}" >> "${module_config}"
+ done
+ IFS="${myIFS}"
+ echo '' >> "${module_config}"
+ fi
+
+ #-----------------------------------------------------------------------
+ if [[ $(eval echo \${MODULESD_${currm}_ALIASES[0]}) == guess ]]
+ then
+ # So lets do some guesswork eh?
+ if [[ -n ${module_opts} ]]
+ then
+ echo "# For Example..." >> "${module_config}"
+ echo "# --------------" >> "${module_config}"
+ for t in ${module_opts}
+ do
+ echo "# options ${currm} ${t//:*}=${t//*:}" >> "${module_config}"
+ done
+ echo '' >> "${module_config}"
+ fi
+ elif [[ ${module_examples} -gt 0 ]]
+ then
+ echo "# For Example..." >> "${module_config}"
+ echo "# --------------" >> "${module_config}"
+ for((t=0; t<${module_examples}; t++))
+ do
+ echo "options $(eval echo \${MODULESD_${currm}_EXAMPLES[$t]})" \
+ >> "${module_config}"
+ done
+ echo '' >> "${module_config}"
+ fi
+
+ #-----------------------------------------------------------------------
+ if [[ ${module_additions} -gt 0 ]]
+ then
+ for((t=0; t<${module_additions}; t++))
+ do
+ echo "$(eval echo \${MODULESD_${currm}_ADDITIONS[$t]})" \
+ >> "${module_config}"
+ done
+ echo '' >> "${module_config}"
+ fi
+
+ #-----------------------------------------------------------------------
+
+ # then we install it
+ insinto /etc/modprobe.d
+ newins "${module_config}" "${currm_path//*\/}.conf"
+
+ # and install any documentation we might have.
+ [[ -n ${module_docs} ]] && dodoc ${module_docs}
+ done
+ eend 0
+ return 0
+}
+
+# internal function
+#
+# FUNCTION: find_module_params
+# USAGE: A string "NAME(LIBDIR:SRCDIR:OBJDIR)"
+# RETURN: The string "modulename:NAME libdir:LIBDIR srcdir:SRCDIR objdir:OBJDIR"
+# DESCRIPTION:
+# Analyze the specification NAME(LIBDIR:SRCDIR:OBJDIR) of one module as described in MODULE_NAMES.
+find_module_params() {
+ debug-print-function ${FUNCNAME} $*
+
+ local matched_offset=0 matched_opts=0 test="${@}" temp_var result
+ local i=0 y=0 z=0
+
+ for((i=0; i<=${#test}; i++))
+ do
+ case ${test:${i}:1} in
+ \() matched_offset[0]=${i};;
+ \:) matched_opts=$((${matched_opts} + 1));
+ matched_offset[${matched_opts}]="${i}";;
+ \)) matched_opts=$((${matched_opts} + 1));
+ matched_offset[${matched_opts}]="${i}";;
+ esac
+ done
+
+ for((i=0; i<=${matched_opts}; i++))
+ do
+ # i = offset were working on
+ # y = last offset
+ # z = current offset - last offset
+ # temp_var = temporary name
+ case ${i} in
+ 0) tempvar=${test:0:${matched_offset[0]}};;
+ *) y=$((${matched_offset[$((${i} - 1))]} + 1))
+ z=$((${matched_offset[${i}]} - ${matched_offset[$((${i} - 1))]}));
+ z=$((${z} - 1))
+ tempvar=${test:${y}:${z}};;
+ esac
+
+ case ${i} in
+ 0) result="${result} modulename:${tempvar}";;
+ 1) result="${result} libdir:${tempvar}";;
+ 2) result="${result} srcdir:${tempvar}";;
+ 3) result="${result} objdir:${tempvar}";;
+ esac
+ done
+
+ echo ${result}
+}
+
+# default ebuild functions
+# --------------------------------
+
+# @FUNCTION: linux-mod_pkg_setup
+# @DESCRIPTION:
+# It checks the CONFIG_CHECK options (see linux-info.eclass(5)), verifies that the kernel is
+# configured, verifies that the sources are prepared, verifies that the modules support is builtin
+# in the kernel and sets the object extension KV_OBJ.
+linux-mod_pkg_setup() {
+ debug-print-function ${FUNCNAME} $*
+ [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+
+ local is_bin="${MERGE_TYPE}"
+
+ # If we are installing a binpkg, take a different path.
+ # use MERGE_TYPE if available (eapi>=4); else use non-PMS EMERGE_FROM (eapi<4)
+ if has ${EAPI} 0 1 2 3; then
+ is_bin=${EMERGE_FROM}
+ fi
+
+ if [[ ${is_bin} == binary ]]; then
+ linux-mod_pkg_setup_binary
+ return
+ fi
+
+ # External modules use kernel symbols (bug #591832)
+ CONFIG_CHECK+=" !TRIM_UNUSED_KSYMS"
+
+ linux-info_pkg_setup;
+ require_configured_kernel
+ check_kernel_built;
+ strip_modulenames;
+ [[ -n ${MODULE_NAMES} ]] && check_modules_supported
+ set_kvobj;
+ # Commented out with permission from johnm until a fixed version for arches
+ # who intentionally use different kernel and userland compilers can be
+ # introduced - Jason Wever <weeve@gentoo.org>, 23 Oct 2005
+ #check_vermagic;
+}
+
+# @FUNCTION: linux-mod_pkg_setup_binary
+# @DESCRIPTION:
+# Perform all kernel option checks non-fatally, as the .config and
+# /proc/config.gz might not be present. Do not do anything that requires kernel
+# sources.
+linux-mod_pkg_setup_binary() {
+ debug-print-function ${FUNCNAME} $*
+ local new_CONFIG_CHECK
+ # ~ needs always to be quoted, else bash expands it.
+ for config in $CONFIG_CHECK ; do
+ optional='~'
+ [[ ${config:0:1} == "~" ]] && optional=''
+ new_CONFIG_CHECK="${new_CONFIG_CHECK} ${optional}${config}"
+ done
+ CONFIG_CHECK="${new_CONFIG_CHECK}"
+ linux-info_pkg_setup;
+}
+
+strip_modulenames() {
+ debug-print-function ${FUNCNAME} $*
+
+ local i
+ for i in ${MODULE_IGNORE}; do
+ MODULE_NAMES=${MODULE_NAMES//${i}(*}
+ done
+}
+
+# @FUNCTION: linux-mod_src_compile
+# @DESCRIPTION:
+# It compiles all the modules specified in MODULE_NAMES. For each module the econf command is
+# executed only if ECONF_PARAMS is defined, the name of the target is specified by BUILD_TARGETS
+# while the options are in BUILD_PARAMS (all the modules share these variables). The compilation
+# happens inside ${srcdir}.
+#
+# Look at the description of these variables for more details.
+linux-mod_src_compile() {
+ debug-print-function ${FUNCNAME} $*
+ [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+
+ local modulename libdir srcdir objdir i n myABI="${ABI}"
+ set_arch_to_kernel
+ ABI="${KERNEL_ABI}"
+
+ BUILD_TARGETS=${BUILD_TARGETS:-clean module}
+ strip_modulenames;
+ cd "${S}"
+ touch Module.symvers
+ for i in ${MODULE_NAMES}
+ do
+ unset libdir srcdir objdir
+ for n in $(find_module_params ${i})
+ do
+ eval ${n/:*}=${n/*:/}
+ done
+ libdir=${libdir:-misc}
+ srcdir=${srcdir:-${S}}
+ objdir=${objdir:-${srcdir}}
+
+ if [ ! -f "${srcdir}/.built" ];
+ then
+ cd "${srcdir}"
+ ln -s "${S}"/Module.symvers Module.symvers
+ einfo "Preparing ${modulename} module"
+ if [[ -n ${ECONF_PARAMS} ]]
+ then
+ econf ${ECONF_PARAMS} || \
+ die "Unable to run econf ${ECONF_PARAMS}"
+ fi
+
+ # This looks messy, but it is needed to handle multiple variables
+ # being passed in the BUILD_* stuff where the variables also have
+ # spaces that must be preserved. If don't do this, then the stuff
+ # inside the variables gets used as targets for Make, which then
+ # fails.
+ eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" \
+ CROSS_COMPILE=${CHOST}- \
+ LDFLAGS=\"$(get_abi_LDFLAGS)\" \
+ ${BUILD_FIXES} \
+ ${BUILD_PARAMS} \
+ ${BUILD_TARGETS} " \
+ || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"
+ cd "${OLDPWD}"
+ touch "${srcdir}"/.built
+ fi
+ done
+
+ set_arch_to_portage
+ ABI="${myABI}"
+}
+
+# @FUNCTION: linux-mod_src_install
+# @DESCRIPTION:
+# It install the modules specified in MODULES_NAME. The modules should be inside the ${objdir}
+# directory and they are installed inside /lib/modules/${KV_FULL}/${libdir}.
+#
+# The modprobe.d configuration file is automatically generated if the
+# MODULESD_<modulename>_* variables are defined. The only way to stop this process is by
+# setting MODULESD_<modulename>_ENABLED=no. At the end the documentation specified via
+# MODULESD_<modulename>_DOCS is also installed.
+#
+# Look at the description of these variables for more details.
+linux-mod_src_install() {
+ debug-print-function ${FUNCNAME} $*
+ [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+
+ local modulename libdir srcdir objdir i n
+
+ strip_modulenames;
+ for i in ${MODULE_NAMES}
+ do
+ unset libdir srcdir objdir
+ for n in $(find_module_params ${i})
+ do
+ eval ${n/:*}=${n/*:/}
+ done
+ libdir=${libdir:-misc}
+ srcdir=${srcdir:-${S}}
+ objdir=${objdir:-${srcdir}}
+
+ einfo "Installing ${modulename} module"
+ cd "${objdir}" || die "${objdir} does not exist"
+ insinto /lib/modules/${KV_FULL}/${libdir}
+ doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed"
+ cd "${OLDPWD}"
+
+ generate_modulesd "${objdir}/${modulename}"
+ done
+}
+
+# @FUNCTION: linux-mod_pkg_preinst
+# @DESCRIPTION:
+# It checks what to do after having merged the package.
+linux-mod_pkg_preinst() {
+ debug-print-function ${FUNCNAME} $*
+ [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+
+ [ -d "${D%/}/lib/modules" ] && UPDATE_DEPMOD=true || UPDATE_DEPMOD=false
+ [ -d "${D%/}/lib/modules" ] && UPDATE_MODULEDB=true || UPDATE_MODULEDB=false
+}
+
+# @FUNCTION: linux-mod_pkg_postinst
+# @DESCRIPTION:
+# It executes /sbin/depmod and adds the package to the /var/lib/module-rebuild/moduledb
+# database (if ${D}/lib/modules is created)"
+linux-mod_pkg_postinst() {
+ debug-print-function ${FUNCNAME} $*
+ [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+
+ ${UPDATE_DEPMOD} && update_depmod;
+ ${UPDATE_MODULEDB} && update_moduledb;
+}
+
+# @FUNCTION: linux-mod_pkg_postrm
+# @DESCRIPTION:
+# It removes the package from the /var/lib/module-rebuild/moduledb database but it doens't
+# call /sbin/depmod because the modules are still installed.
+linux-mod_pkg_postrm() {
+ debug-print-function ${FUNCNAME} $*
+ [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+ remove_moduledb;
+}
diff --git a/sys-kernel/aufs-sources/Manifest b/sys-kernel/aufs-sources/Manifest
new file mode 100644
index 0000000..caa6ff5
--- /dev/null
+++ b/sys-kernel/aufs-sources/Manifest
@@ -0,0 +1,65 @@
+DIST aufs-sources-4.14.56+_p20181008.tar.xz 184372 BLAKE2B 145c9aea8918702ad8eb6a0a76e3a107f168c7136198ac01ffe1372adcfb14387558a71445f1f9e7dc9642ef3c58b78f5e2fccf29931cf7f190abd43156d0c54 SHA512 f39b202b3b7c2eab26fae58c034d901258a951d3c63dc864bd7f8c866da5767133eab61eb9c56fe2eeac0f0353cb1d965d5d190ac76cc1d334795891b8246e9c
+DIST aufs-sources-4.14_p20180702.tar.xz 182024 BLAKE2B f57a26a6d28b3ca347e2aa96d1b54579c3f195b9020f26ca618f228e061d6d9d2c1d93269a2927753c407b83cae91602cc751a345c20f4f6c08a93928160a1f6 SHA512 423e31e290e92dae1cd57e2caabc31ccc2026a027bdaa363d37686b5c0087da5346785ebe0560d5a9cb6def0c019d41734e0ede84a6fe1472ab0581a9d6e3c27
+DIST aufs-sources-4.18.11+_p20181008.tar.xz 184324 BLAKE2B e75f1bcb4fd020e2307a82896880a6bec8892d8d145ab740e4b72dbed0d2152a4e9b732a017a44fc9a2de6159ca30bfb709108567048e0ed7f16352ed57609d2 SHA512 5c4f3fa430783263f52dcdf71bf1754b8b90c10044a8e3740d9f9bdd3afcf0845039ae6ea61598e2bb8a0766dc7140ab6787d3e923f5987a781954cc3a9b614c
+DIST aufs-sources-4.18_p20181008.tar.xz 184396 BLAKE2B fb5939732a21a981be75fa337bb1311a3d14d7973dc6fa6ad021997c5f9a7bbf94cdb65865fd276b61c2b8d90bf1e0795cb4073914c0877946705663aca64c5d SHA512 f838272b2673088458f8993c101cd6f89611f217224afc273abdfcac855f2ecebc51460895bf2d19748751ae931f3dfe9db5cc2d3f43a80b4776137cae78da5c
+DIST aufs-sources-4.19_p20181029.tar.xz 184104 BLAKE2B fb2016c3066bdfc91b7ecea302a3d699b62d8e5c8ce44e2c8b8f2cb6e603a862d6cd53caea97c788821abc3e944edfd989eee39849c35022418235c14a785568 SHA512 168b24c73743509dd355f50389e0196cc377273daa035919696264604d80cfae46402599ae5968b56e652513626373fe5fd6bc675e98ec9fff414b7c6aa90cac
+DIST genpatches-4.14-57.base.tar.xz 1472016 BLAKE2B 1905e983d34220a97bda5eb7b1fff09d7ac42dc129b722611c079418133231d6d41f871c20df94a3db5440c8b1374d09ae3303be9e2cb8b70f5d92b61382f3ed SHA512 bace21a042f6e45512a8ffe3cb329c70b3f3548142fbaddbd76b2be50f50276db8f4cc410a7d05915c30c443cc82934893203d3025cd4653387ff6fd64f0b4ae
+DIST genpatches-4.14-57.experimental.tar.xz 5216 BLAKE2B ac751059eb363f1327b8cc6a9ad6c993cc56e3a57010f6a7d8b30220a401ec2b607b7eda601b39f1d6480fddb45f7a980ba7ffe7cf808ae382a57cc57a785f39 SHA512 efb2bf34ea83789437388b6becb4c51564c885355dffdfe0f902ded0cd0a9dbc534a891a8eddde76418a651f0da41d8a7402e672688b2cccaae5897ce0bfb744
+DIST genpatches-4.14-57.extras.tar.xz 17488 BLAKE2B 6dbe6859eafa2a61d2139572a28046a1278a965aa6a82518b5658c61f18ece4054175116b5907436bc40bd4c32458752fc381cb29806d9e25550a17f81684eab SHA512 49d7a27075e7e113ef39f2da651e9302b51c66d46c4d2960acc648dcd0eb4b608118584dbcbf169d73cf1ed4e105fbae9125f06dda46d346a63f0f35bf23bb4e
+DIST genpatches-4.14-71.base.tar.xz 1731348 BLAKE2B 0b34671aede1514bde244e76319cd91ad73ce8f6a4b0b5708aef4664bc8bec1e246b407429711dcda49d150415fffb1d1284dccf50ca6e6aff58bfe898d732dd SHA512 9a6154fd4948389f1431833f7f743760dd9ac2ae4f8b6ea045e928384f48823303b2883f84b42f841ec83d0b80ed221011f01d2d94f22afac7eef6fba6c7c6a0
+DIST genpatches-4.14-71.experimental.tar.xz 5228 BLAKE2B 9cf712fc523acd6c7325f2f726e8b658d5df27c9d183d748374a700023f059c40a2eb25bfb1a9b5d682ed0e1fefcc9c88431a421392c7d5ec8a7612d0fb503bc SHA512 6ba3451a7248226b18d37d1496aaee3159f46ae533288f1a090129aef9660b5bdadbff7bd7f90e3677100180afcb09afeb610d1c6a97483815399467ae1ad036
+DIST genpatches-4.14-71.extras.tar.xz 17492 BLAKE2B 6c382cf00c22aba0dd280e6ce7ef0e8689560ca4318205a56b674c9c2f1c01e6942f9fcfcc6d417d56cabba0a762bb6a7250f0df8af5f88a0ac2dfcc02e77af5 SHA512 72ab2425270c43ec4bf36be83f22a25030e0d3ea3a01fc4835fe31652c7a61a07510f01ff99f02f6311eaeff651d249faaf2e0d4315c0983ff0114be91938537
+DIST genpatches-4.14-77.base.tar.xz 1897728 BLAKE2B 0481c22f540d3a8f663717ca5771c480a4c88dcd59323ee313b0fa08f887ec855a43cccf928e21978a666509ee96c1a1eb360909278944e625c0c802a2d7e7ac SHA512 d9433d1e5b9232dca6d74928a835bed1e3f27c0affa96e335895df67cb2f7d11d2ba27cd3f6ac40cc51a5a7a670008df91061be5274d61bcc08eb0f06f90d5fe
+DIST genpatches-4.14-77.experimental.tar.xz 5224 BLAKE2B 8d0b8f1e8a2953e500b9d3e654cd89d40ba0bae53a014b1bee8fb19e6580dbf33687821bb3edbffa2db8daf3fdfb521ce3232f9b4aca0f4d2661be8115220c8c SHA512 a063a5e76f391a0d8011a0a1bb1fa06e6693c7efb211e5d25bfa5f39b6dc216f3c965ec1303a1d865c4b3c1484e03a4b99f3097759a0e15b15ca8b11215a3342
+DIST genpatches-4.14-77.extras.tar.xz 17492 BLAKE2B abaf103790fceab73cacd949473e50b8d678e0fb1ead41a36577a02e48805052c8d10f78ce474c215773117e9aeb97a49123b58a3ce42348520e32415838ec13 SHA512 28db86e6cfeaa3293d5a9db43774d5c0710492e9ca6b750a687b65a4d38e3a6cc196f689025bf7ce8fded4e97a221f4e2c4352e1ffc2a465fb3546a8d6712536
+DIST genpatches-4.14-78.base.tar.xz 1929676 BLAKE2B 6021bef7b29ba475ff72d28cd908540555131d482f31086f449ba01fdcb3cab3994f55fec9e7247ab3099f82ff49b671f157b56604735bb8d2414b446c74d530 SHA512 f77d30b803273a271fb60bc2e14a31149bb20816d161567d32423ceaecde64eef256450ddf596da19c47214cb1ab86a71b95f673f6600f0d10540c9be25c1866
+DIST genpatches-4.14-78.experimental.tar.xz 5224 BLAKE2B 8d0b8f1e8a2953e500b9d3e654cd89d40ba0bae53a014b1bee8fb19e6580dbf33687821bb3edbffa2db8daf3fdfb521ce3232f9b4aca0f4d2661be8115220c8c SHA512 a063a5e76f391a0d8011a0a1bb1fa06e6693c7efb211e5d25bfa5f39b6dc216f3c965ec1303a1d865c4b3c1484e03a4b99f3097759a0e15b15ca8b11215a3342
+DIST genpatches-4.14-78.extras.tar.xz 17492 BLAKE2B 204b65089d2f320424fff929d21f3ba9f6c630adca2017b5789003ed310df8025b57e9984a0c03486f065fac26c4f7aecf8cee3f694ce860a9749327057501c1 SHA512 e2ac22696b426d52f71424209493ce5305fa6b4b611a7ab51a7818e09493507f5cb006a9b5c6295bebd30faf31619f4b4acaa7cc8b82088c4efe7893f5d37f3a
+DIST genpatches-4.14-79.base.tar.xz 1941112 BLAKE2B eadad4bd05e013fa68a47a420cfd76764df91f12ae1f25fc1e32fa30b7da999ac3eae42aaf6ae14a18b949f28adb4f4ec1557bc2a6cb3d496954851066b06a24 SHA512 8955f649752dd1bf2e8223f8bf6ac65a8b8775299a34c8d9ea3a7bb37d744444fd013b30118be9041a59a54671a3f5cf517d840b2f83f9fe431bcc51e7019508
+DIST genpatches-4.14-79.experimental.tar.xz 5224 BLAKE2B f03b0806ab474eb5fc3fe58a873cea76c16d39fe87629a15941eee0eca9b980714f099526741df8b2ce7203cadb7b0b1680422083b61e4725152421d43f737bb SHA512 5de7d487a229d26ab62518a670a55cd41f563455084c6f8a55f035c613df969e8c0698518243081859cb52c4e7df0fb6cb349c841fcb979e9a94212617ec523f
+DIST genpatches-4.14-79.extras.tar.xz 17496 BLAKE2B c543f7d58552cd519dd722f1d7912909a2216868201a5d5b3712a96b17f41b9f05df24fbee03d874a5fb2d8b8e32eb35907cc0ed569c85bdf4dd5be942d1680a SHA512 d789ae7affb905622f1d556f07450a842974296f7fa109152a9edba74e41fdf4f5ea0f1bc6a054ca02a4fbb99f472b85b2bef4005335e6e1a7c112a993220491
+DIST genpatches-4.14-80.base.tar.xz 1970464 BLAKE2B cdb1a4c7f6b6412e6936be19bcb4f429c035b5d46d03c2aeb8a90d588eafd7427b5968ff42f8c44b6332e53223f4da0c6e46d8891f981a3180fadb3a9c455c37 SHA512 327a2bf6effe3479a202e6a6bf8a9318804ff84f53050f786546d6d1fa265ad068a0fd4df5c1d64724f613a076c10d305a48f0e68ab2f119fa7e9ec0a200f979
+DIST genpatches-4.14-80.experimental.tar.xz 5228 BLAKE2B 0ac2b4b56e615216918d7f5739668223d4692a9dd1273202c6b346f223b149e306797693c1ac034e4316102e774a472bc8872c9486a862f841f20c0f13ba4d4f SHA512 9f143960a869c2ef2ab9ef31dc73de3f1ea9b1a34ceac332f6e7ac448d4380ceb7359b9014298a6f17cce2d12bfe270b2af112dd60a7feadf994ad28d5a717da
+DIST genpatches-4.14-80.extras.tar.xz 17496 BLAKE2B 9668753679261522d678778c29b3637388624ab6a8ae1223241c5c47979083caaa37b4926d7239ff574977c29afc66c7147a34eb42538f1f10fa7b5006fdaea4 SHA512 0459e6453a44ae88870890756b9e3a852b3da0356c3df723e4f81593a52d85b5547ce18470ca831f3f0eeb43feebbc5255167c8a73e69d6b94719b4b2167ac86
+DIST genpatches-4.14-81.base.tar.xz 1993216 BLAKE2B 96a60ade763801820a818d18973abec10833104da7f067c03863883aa94e96ea5134599e913015d551cae27b5f9a56efb87b10a60265608fd230567244bc371e SHA512 bb9e356425ea24e01350384956ebaaf3f9677449b2b0393dc130c586e7b337442d3a38a6b138009838d8dfeeaf89c61e1257c8a13eb79749dc5cd96132d06c3f
+DIST genpatches-4.14-81.experimental.tar.xz 5228 BLAKE2B 0ac2b4b56e615216918d7f5739668223d4692a9dd1273202c6b346f223b149e306797693c1ac034e4316102e774a472bc8872c9486a862f841f20c0f13ba4d4f SHA512 9f143960a869c2ef2ab9ef31dc73de3f1ea9b1a34ceac332f6e7ac448d4380ceb7359b9014298a6f17cce2d12bfe270b2af112dd60a7feadf994ad28d5a717da
+DIST genpatches-4.14-81.extras.tar.xz 17496 BLAKE2B 9668753679261522d678778c29b3637388624ab6a8ae1223241c5c47979083caaa37b4926d7239ff574977c29afc66c7147a34eb42538f1f10fa7b5006fdaea4 SHA512 0459e6453a44ae88870890756b9e3a852b3da0356c3df723e4f81593a52d85b5547ce18470ca831f3f0eeb43feebbc5255167c8a73e69d6b94719b4b2167ac86
+DIST genpatches-4.14-82.base.tar.xz 2005944 BLAKE2B aba29a0c50aafc3827c3516736b2cd866952634982ec9e263c2fd6a260111469d7ed66ab3c9e3d8e3119a42b8a2c1f448b6fabb54eac9f893653e1a42fda621b SHA512 a804cea5fe03f1d826d9f654e30abf2d3b15a4d0d0c01fce37ed6a5c216c38082563257c715801d248cef2ef224f04f2d3ec17c85f1576debf94f2a8e35de877
+DIST genpatches-4.14-82.experimental.tar.xz 5228 BLAKE2B 935ebacd334480a9b2158b007c3cbe5f4c294578ff4d3183beeab265c0d0d3ebe0ea0676c83eb7e882341ded772e0289950506e5916a5072453b7aad22f5085a SHA512 c2fa8d3ca9603d6f970da0d56b57785b14a92713b0ac2eb80729351650ee954c9472dd5e581449e08e7b11556ec4dae5af783a9595d2efe4f97d677eb8b991f4
+DIST genpatches-4.14-82.extras.tar.xz 17476 BLAKE2B 3d19e44e381105fc312aedea0cf1abd588c9020f499c3c7370dca8ebae604911c21f94b6630bd6242ba6d2fd9aff777d8e9e5b44a7d6d3405edd25d665a812f3 SHA512 cd66cd90020da58ff88cb50bfd76c1257ce8ab0ae69b29c480d8d6eb5666dfe1589716aa64678f3f921fd8b4e9668b994f568d2dcf8ee234750ef254060fca47
+DIST genpatches-4.14-84.base.tar.xz 2036956 BLAKE2B 588ac8a824ca7b34629e38d27468f16351ed0e33004c95f36b74b6aafd2d74b6b91e05a1d96524d8f02a360ab0bd8d43c0c1f736b2e06f7222e86c131cc7c320 SHA512 50d42017c1bb87d95f1003042cc35cf727021c16f2eef1337b7d4e6816186edd314042d80ceeb9f125dbc15c97145a48b4b823f093a7088b849a048276b91a9b
+DIST genpatches-4.14-84.experimental.tar.xz 5228 BLAKE2B 81938c317aac4669ea29895ac91d8a5445ea41c82a1bc78f673e1c552415a77428e71f30170537064ebed698095cc47431777f3d562795138d7c065cd121eef7 SHA512 72f1bd49724ae8f548377724acfc30665b92f29d8e67dbd11495ba82a5044accc8913ddd84e5cac1f3660a76adfdd5057b4e4cff3754c14f10d1e672c4196d59
+DIST genpatches-4.14-84.extras.tar.xz 17484 BLAKE2B a85d48a013393e6bb775c93138d447d806f78608175789e19acfa7acfa0d2f35c2c4d0e4fce6944112dbc56a6e38de25d9cf107a398c76813f9d7c2cbd65deb0 SHA512 23fa91880759b9ada54de2656086e2af252bd3e8ee35baaf43b615231bdf20ebeae28c18b677ef470a0231c3731d9699806e50d32f6fbd87df1b89d332d0a07b
+DIST genpatches-4.14-85.base.tar.xz 2050508 BLAKE2B 3d4b9917b538d6f906f8112cce00d06e07d09783fce9478ce7f166c900707d56cc147d30ffe4dcc6f26c1975881aa2771dfb76dd21d3580dc47430c035d6d850 SHA512 23b1b30c43e78ebe57c7dc06fb6a6aea035b1160d421c6577eaeb5afe0eb8c72390eb5b33e708990f3c0452fad4678946a74279f3e9ba547ebd385f59bfc6ead
+DIST genpatches-4.14-85.experimental.tar.xz 5224 BLAKE2B dcedc912566883c0c57934acc23a8c5d89c95d14bc3e6f52b715562a414a535896774f5e184c1c83f1d601c32231ab3b98579eac848fd6a71ee7f833a044088a SHA512 6beeb2a40e8f668f833da082d79fa33a3901891a7f062fca56f4f6182fe6d6368466ed9eef4ad1daddc62b383ec5aeb8189b09577b33fd39be9b53e1e53c920a
+DIST genpatches-4.14-85.extras.tar.xz 17492 BLAKE2B 220ed00e4813e2b94bc1815e5cdca40409239864b1447bc7eb261a37a6b132b92935f0cf1a01749d4d2b2522c7e932c2e5fd3eb127fb0d09b7b3615dcb8d531c SHA512 fa0cf06245bb72a36bece9cd98daa55ae49b82e08ad5bdd3474ac6fd875f43278eaaf85e64620c120856700222e4f8b61102cb0349566be3a2f39e561140bd43
+DIST genpatches-4.18-12.base.tar.xz 237564 BLAKE2B 221499b05746862c8d7261959b63791efc1450329ec50b14d487306fa97398c364ee553922bdfb7b4dbf688792fcb778e6a30a57a6df10099f5367f01f1869db SHA512 08efe1e89151e1c7c2e19ca48380fa797297879d83b7a51ea3278a966a39324a2a1e5f66f2e46a64ed88d24c243576b119967d3bbccfdb78c7388525bbdb9472
+DIST genpatches-4.18-12.experimental.tar.xz 5224 BLAKE2B 8d0b8f1e8a2953e500b9d3e654cd89d40ba0bae53a014b1bee8fb19e6580dbf33687821bb3edbffa2db8daf3fdfb521ce3232f9b4aca0f4d2661be8115220c8c SHA512 a063a5e76f391a0d8011a0a1bb1fa06e6693c7efb211e5d25bfa5f39b6dc216f3c965ec1303a1d865c4b3c1484e03a4b99f3097759a0e15b15ca8b11215a3342
+DIST genpatches-4.18-12.extras.tar.xz 17508 BLAKE2B c324b68771942f0372d0f4f34904e3f52b021ef36453002732ab041096714cb9949f03840ab7bc2197c498ff3bfd6d8f4f7000a27e9668b9cc9d3c90e40dc466 SHA512 746c0bab36b8a1ca9171882cb21735378a12636ce5e157dcebe3b286abb5392c6a2e099226cce5bca77ad808c233c9f968aeceb2fc4744a94cc9c2372dacfaf9
+DIST genpatches-4.18-13.base.tar.xz 291576 BLAKE2B 1509cc8eb389160035e4a5c8302a6a1691172c9a16c38b7639ce77db5e929fbc8dd309c8bbe256812429e0301197efc002e13d6de8a040e147d93203b389935b SHA512 b7fbef424051f03baee67db1996165cd7335368d355fba17c2bac9fbeeda03bfd76c8813d6e3d73a8e62350f4db3e450336cad41ae1358a23539c6d01647ee8b
+DIST genpatches-4.18-13.experimental.tar.xz 5220 BLAKE2B 96fd84ec13f0d71c3b1c45d042e3aa8c23c2adcb8db245e61ad9c4e241f452690475d9e0515b8f852961cee3821d62e728485cda31799d9500400811cbcfc4e1 SHA512 6ccacee89ee451ed648a926e44cb55e077034086496f34550b8891d854840743ff2a13caad8ec0c921b05243f71e626bec8041024f0f7c5a27d7e48d27b8db40
+DIST genpatches-4.18-13.extras.tar.xz 17496 BLAKE2B defec1bd1c54e450673498b22bb6f5726b728781a1060fd66180b481d933458c7fa95c0d2835c44bfa6a215b4029d1185378ef94ec81476f0ecd454bded77ddb SHA512 66ff28aaa4666011a9879cb8a103e1c0f500d0a35393fd1055bebd86b141dbe85cfe8006840e76fac8cd9ea72e0cf85e051f33cab09223e78c7ab7fa893decc7
+DIST genpatches-4.18-14.base.tar.xz 313244 BLAKE2B a47c0b01dffdc9480d99137b8d2d2ee4d125e86fdc653e6ed54acadb4818ee12b904335bd996577fb12a0132ffd8f565da9669b4033531fdb1cb53ff28a5c9a7 SHA512 8f59ef57c0c698932032e181044b2fd78d6f43a8022b75139c6aade451d946816329129047de8514d4c2f6c0c6eedf6a16786063584bb2c141e1a50fb83debd9
+DIST genpatches-4.18-14.experimental.tar.xz 5224 BLAKE2B 659859efd41430c3da5c104cc8e148d85df75ec323364f845a2f15b848544aaf0d7d9cd8b595c04a9209542bdb865874b9c8928d264ba896a70d701690464869 SHA512 50e172f6244741ed6d5e440ab55c4928c11c7cbe9d2bdc5891bd254e2aa05b7ed0387e85d3135745af0e056dfc0be9a325581d5cf38df1659d89cf387ed72625
+DIST genpatches-4.18-14.extras.tar.xz 17512 BLAKE2B f9a02074660a4f2c7b24d00035f0e529a1283a853d7271dea8a459fa1d5a6a2508ad400e828e47ac1b1f610b0732a9380301951f091cc9657d15f9c784e0d9ff SHA512 e27f7d5fc0ea35cb66d8478c83df36d5c28d2eaa87b65cdea77254d7cd665ba0f2a016927ba70e71c33920d80341270bc5419c610971989b1ec573631be080ab
+DIST genpatches-4.18-15.base.tar.xz 370976 BLAKE2B d52c551875151b809e9b3ae28f23add15dba9ee258e0e3b85ff4e00d2b7deb42a1a0ec5ac237f62761ec2e90b1c509c68be74ba52f8ee637b80a912217e75b31 SHA512 026f3003ad668ab1cf409115411319d6efa08fc41e1f48e91c494d7524d86f2ec5a341ad2055bd622aa56f56ba480fc5f9975ab272f6ae994315ded1942e6e78
+DIST genpatches-4.18-15.experimental.tar.xz 5216 BLAKE2B a83c158e2af03afa637fba6dd934fd2db8168940b856cb2c7e0a9a9489db1b0393852589d1532f8a58463c54a159914621095f47275bec1cb97f29774fd29499 SHA512 7b462f37ab6dfc25b184b225d14f2483b1d14f52c0b0dd7c85884787811545b2137843d393dea98bf7440e2bfbbf82240f31abc136a8e4cdde85c9ae0dee9f33
+DIST genpatches-4.18-15.extras.tar.xz 17524 BLAKE2B ec0af95e43a958eb548233b7b18685471d5d26c1c3760e1f0d1ff1e1b757a4bb85d9bff5afc376711661badf528d07ddc9ffab8a670d090c4f453d7d27d7f53e SHA512 a73360051da5a9e59ec5e92dba2a934c158b1d9c806ba89cf02e3c34149825439db8d93627d55bdeb2050105ce2d63a1c56b871bc83a61f92b5cfe7cda40bf1a
+DIST genpatches-4.18-16.base.tar.xz 422672 BLAKE2B 688de9ccda3e62656a046207aeaa2bf09d3c3f7138a78343e2d362099f0f3b245ac59be420db4f209dbdcf3f1d1ac6ae1ac5fc96713e91c5088123dc03d6e5e7 SHA512 6e55ce52f2175a897dc2ada9ba76befe48a9c19544b3df1a39540d5e66fac7351e9fbe0799f6f6f23923a48f17d6181ba580c7e3afd40029039f5e6bfc826a0e
+DIST genpatches-4.18-16.experimental.tar.xz 5228 BLAKE2B 558fd2197c5ccdb034b6d6284dd90ccd92cba09993fa58996febf340a6225bc46c458c3e9e47f69f1f31dc4ffa31675f3f9a33f7e5c0b499afe7db2b1c2b71fe SHA512 c64277edadd67d46d2e9a97c423fab5ab5e7d2a21e27b54c1118400b15d6fd5b406d3ac3fc9b6bc8ee49b94801748f88df7cbbd439e62e6061bf36d27c703dfd
+DIST genpatches-4.18-16.extras.tar.xz 17500 BLAKE2B f3bfb098fdb5db5651c78fdb26ce927420dc6cf08479b98cd820284e21f6323c8a3e95000c8839ae7de88b3088a96725607611979408fb553534c4531ddee69f SHA512 13dc9cace14c765301deb1ad929f4564565a480c7b347b25878122fe103a528198e9601288b6b930aee3d6ac703d03e9ed236e9954f3fb2194d0ac49488bddc0
+DIST genpatches-4.18-17.base.tar.xz 434484 BLAKE2B f42a17a28b03589f67ec3c37f627cb8a0c35c98c3be3d9ad5733607a6c11c238f41d3216f2e9d82290899a59ce831ce826ab925ec710991f7f5e3a578af36d53 SHA512 d2efd7a23ee284cd5841c82a93d232297b2f21ce756337cc35a4e9920563a154db2239db88e9ba6c89cb3feb99073747aaa8571d527d023741c7cebe2d551995
+DIST genpatches-4.18-17.experimental.tar.xz 5228 BLAKE2B 558fd2197c5ccdb034b6d6284dd90ccd92cba09993fa58996febf340a6225bc46c458c3e9e47f69f1f31dc4ffa31675f3f9a33f7e5c0b499afe7db2b1c2b71fe SHA512 c64277edadd67d46d2e9a97c423fab5ab5e7d2a21e27b54c1118400b15d6fd5b406d3ac3fc9b6bc8ee49b94801748f88df7cbbd439e62e6061bf36d27c703dfd
+DIST genpatches-4.18-17.extras.tar.xz 17500 BLAKE2B f3bfb098fdb5db5651c78fdb26ce927420dc6cf08479b98cd820284e21f6323c8a3e95000c8839ae7de88b3088a96725607611979408fb553534c4531ddee69f SHA512 13dc9cace14c765301deb1ad929f4564565a480c7b347b25878122fe103a528198e9601288b6b930aee3d6ac703d03e9ed236e9954f3fb2194d0ac49488bddc0
+DIST genpatches-4.18-18.base.tar.xz 474704 BLAKE2B 66fc0675de5c337c7ef913e276c4b71ad45eec0ca21ccfe9ed5913408885ab8722f85451cefdfc6ea686a270ed9773295d60ebaebb8c61c068913d59d04b8e7b SHA512 dbd05cb459628e23043180df5bfcd33c22c859ae2b3e849d325b8234cd8eff423ff4f9ea58af91bb5b347450f43ca33ce97fe0f43d8f3c8d52f53984b5fb8c4a
+DIST genpatches-4.18-18.experimental.tar.xz 5228 BLAKE2B 81938c317aac4669ea29895ac91d8a5445ea41c82a1bc78f673e1c552415a77428e71f30170537064ebed698095cc47431777f3d562795138d7c065cd121eef7 SHA512 72f1bd49724ae8f548377724acfc30665b92f29d8e67dbd11495ba82a5044accc8913ddd84e5cac1f3660a76adfdd5057b4e4cff3754c14f10d1e672c4196d59
+DIST genpatches-4.18-18.extras.tar.xz 17504 BLAKE2B 6b3b9b142b9fd254af235217c1681f41019e1c789c2162f7735052698b68e583788503cfd0f151df8ca45b5d528a81f103727f74704db73cbf58b9ec5499d142 SHA512 d132b8c44e94409b44dd0d2d51886a189b7233f5441cf38a5785ea6742849a1d67764ec3a1f702ac7d49b4050ec2af00d1cd8f61bc9b636e019f474ba0812705
+DIST genpatches-4.18-19.base.tar.xz 491560 BLAKE2B 37464af933a0611a40bb0795e2639c0b0e8ecd112a6b7664d3ce19932a25ca4c6a5f36a7eb07005abb7c85c7be3bd8fbcae6e2959031467d871f62c5b89f571e SHA512 7b07af0ece2511fb4cb39ef35c9ba926a6d2e34eb24829f957876e6be6f56ad6bae89d6aa818ae81bcdffb16e26471a4fa9adcc4ac6f48efb3e53151310755c9
+DIST genpatches-4.18-19.experimental.tar.xz 5220 BLAKE2B ae3cfe1a10e76bd22905db948770fb51bc3181a4218f1a4f010d656ad41528ada6f6e507de1bc238cd68b6e6f3cd5a87aa7ff6a3516e441b672b902a4402ea76 SHA512 937b8db859823aa2612430cc24e2e4441afa20539fa2427c15182d21aaf9bb2d2cf1d520a2a9fb2d04971c9bd75b885205fda940d89ff892c290b92db1cca13f
+DIST genpatches-4.18-19.extras.tar.xz 17512 BLAKE2B eb3d70211535ca9fc9a58ef02304d2ff87c48acc5c47804de401599c8618cc1adede45ab2cb9bb59acfde6c7434bf8cdf32f6efd2c2fdf4d34ed619882a04b89 SHA512 35dfcc2122fe3d383bcf9da1ee032f21bc0dc4f36d29c82e829270775c21d8a816eace717a1e65938f4b01eec7b1f584f865d5a9ee997e732292f9840ace9005
+DIST genpatches-4.19-1.base.tar.xz 4088 BLAKE2B 4cf8b20b0fdacfeb2e4e30442e3022306c5f84db838f155612c84cab2e3c74ead821f33623679f840839da6e71b6133e593c5c2650a6bd50737ab5d83127ee9b SHA512 a5b00977b59030c0240ecf6a0d6d73050ab223c745c34518bff0d8a009ebb624d3fac1a574beb174e9ad48ee191bb9433e798597bfbf5ba6aea214dca6122b11
+DIST genpatches-4.19-1.experimental.tar.xz 5224 BLAKE2B dcedc912566883c0c57934acc23a8c5d89c95d14bc3e6f52b715562a414a535896774f5e184c1c83f1d601c32231ab3b98579eac848fd6a71ee7f833a044088a SHA512 6beeb2a40e8f668f833da082d79fa33a3901891a7f062fca56f4f6182fe6d6368466ed9eef4ad1daddc62b383ec5aeb8189b09577b33fd39be9b53e1e53c920a
+DIST genpatches-4.19-1.extras.tar.xz 17480 BLAKE2B d0baf2d2fa347e8df30f6d6525947a0810355ea6f86b7d70f943294e8da041e05670a35180579443897f393a40dfad3de057a1bc94e30e7db9c21b72693aca94 SHA512 332dd814d4e9c70321623aa50762249f4f23fc09dcf5b2df63c06ddd17abbc5eaa2e9fad4bf666361cea01454821b9e6f28e542fbe0e67a23ff0f267bfe3ff01
+DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
+DIST linux-4.18.tar.xz 101781564 BLAKE2B 138bdc49dc8871e5566b5e23a9e5ed0e68fff480a7a04fc659a9efe2d4bcc778ac01368a32bc5d1dbde870102ce7294b9d315f81c4e6e762ee781135e83033f2 SHA512 950eb85ac743b291afe9f21cd174d823e25f11883ee62cecfbfff8fe8c5672aae707654b1b8f29a133b1f2e3529e63b9f7fba4c45d6dacccc8000b3a9a9ae038
+DIST linux-4.19.tar.xz 103117552 BLAKE2B 1dbf16cf410867412d17568fe42bc1e90c034183b654d270b650621ff7664a321950943d0639205bc1ee7ef6210be170c1f2c785a042ed8a4ec5e3a486d890e0 SHA512 ab67cc746b375a8b135e8b23e35e1d6787930d19b3c26b2679787d62951cbdbc3bb66f8ededeb9b890e5008b2459397f9018f1a6772fdef67780b06a4cb9f6f4
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.52.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.52.ebuild
new file mode 100644
index 0000000..3f568b1
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.52.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=57
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14_p20180702
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.65.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.65.ebuild
new file mode 100644
index 0000000..07e3a54
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.65.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=71
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.71.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.71.ebuild
new file mode 100644
index 0000000..c8d291f
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.71.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=77
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.72.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.72.ebuild
new file mode 100644
index 0000000..3d93e29
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.72.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=78
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.73.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.73.ebuild
new file mode 100644
index 0000000..4c2d64a
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.73.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=79
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.74.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.74.ebuild
new file mode 100644
index 0000000..eadd06c
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.74.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=80
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.75.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.75.ebuild
new file mode 100644
index 0000000..e34ce12
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.75.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=81
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.76.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.76.ebuild
new file mode 100644
index 0000000..c470534
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.76.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=82
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.77.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.77.ebuild
new file mode 100644
index 0000000..733afd7
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.77.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=84
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.14.78.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.14.78.ebuild
new file mode 100644
index 0000000..9550ecf
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.14.78.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=85
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.14.56+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.10.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.10.ebuild
new file mode 100644
index 0000000..04513e7
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.18.10.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=13
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.18_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.11.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.11.ebuild
new file mode 100644
index 0000000..952a3f8
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.18.11.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=14
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.18.11+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.12.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.12.ebuild
new file mode 100644
index 0000000..41f3c60
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.18.12.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=15
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.18.11+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.13.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.13.ebuild
new file mode 100644
index 0000000..dfd53d0
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.18.13.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=16
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.18.11+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.14.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.14.ebuild
new file mode 100644
index 0000000..18f5b37
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.18.14.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=17
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.18.11+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.15.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.15.ebuild
new file mode 100644
index 0000000..43b26f2
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.18.15.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=18
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.18.11+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.16.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.16.ebuild
new file mode 100644
index 0000000..471393e
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.18.16.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=19
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.18.11+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.18.9.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.18.9.ebuild
new file mode 100644
index 0000000..4ba7781
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.18.9.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=12
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.18.11+_p20181008
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/aufs-sources-4.19.0.ebuild b/sys-kernel/aufs-sources/aufs-sources-4.19.0.ebuild
new file mode 100644
index 0000000..4882884
--- /dev/null
+++ b/sys-kernel/aufs-sources/aufs-sources-4.19.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER=1
+UNIPATCH_STRICTORDER=1
+inherit kernel-2 eutils readme.gentoo-r1
+
+AUFS_VERSION=4.19_p20181029
+AUFS_TARBALL="aufs-sources-${AUFS_VERSION}.tar.xz"
+# git archive -v --remote=git://git.code.sf.net/p/aufs/aufs4-standalone aufs${AUFS_VERSION/_p*} > aufs-sources-${AUFS_VERSION}.tar
+AUFS_URI="https://dev.gentoo.org/~jlec/distfiles/${AUFS_TARBALL}"
+
+KEYWORDS="~amd64 ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches http://aufs.sourceforge.net/"
+IUSE="experimental module vanilla"
+
+DESCRIPTION="Full sources (incl. Gentoo patchset) for the linux kernel tree and aufs4 support"
+SRC_URI="
+ ${KERNEL_URI}
+ ${ARCH_URI}
+ ${AUFS_URI}
+ !vanilla? ( ${GENPATCHES_URI} )
+ "
+
+PDEPEND="=sys-fs/aufs-util-4*"
+
+README_GENTOO_SUFFIX="-r1"
+
+src_unpack() {
+ detect_version
+ detect_arch
+ if use vanilla; then
+ unset UNIPATCH_LIST_GENPATCHES UNIPATCH_LIST_DEFAULT
+ ewarn "You are using USE=vanilla"
+ ewarn "This will drop all support from the gentoo kernel security team"
+ fi
+
+ UNIPATCH_LIST="
+ "${WORKDIR}"/aufs4-kbuild.patch
+ "${WORKDIR}"/aufs4-base.patch
+ "${WORKDIR}"/aufs4-mmap.patch"
+
+ use module && UNIPATCH_LIST+=" "${WORKDIR}"/aufs4-standalone.patch"
+
+ unpack ${AUFS_TARBALL}
+
+ einfo "Using aufs4 version: ${AUFS_VERSION}"
+
+ kernel-2_src_unpack
+}
+
+src_prepare() {
+ kernel-2_src_prepare
+ if ! use module; then
+ sed -e 's:tristate:bool:g' -i "${WORKDIR}"/fs/aufs/Kconfig || die
+ fi
+ cp -f "${WORKDIR}"/include/uapi/linux/aufs_type.h include/uapi/linux/aufs_type.h || die
+ cp -rf "${WORKDIR}"/{Documentation,fs} . || die
+}
+
+src_install() {
+ kernel-2_src_install
+ dodoc "${WORKDIR}"/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ docompress -x /usr/share/doc/${PF}/{aufs4-loopback,vfs-ino,tmpfs-idr}.patch
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+ has_version sys-fs/aufs-util || \
+ elog "In order to use aufs FS you need to install sys-fs/aufs-util"
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/aufs-sources/files/README.gentoo b/sys-kernel/aufs-sources/files/README.gentoo
new file mode 100644
index 0000000..d9afb84
--- /dev/null
+++ b/sys-kernel/aufs-sources/files/README.gentoo
@@ -0,0 +1,21 @@
+
+There several other patches in aufs3.
+They are all optional. When you meet some problems, they will help you. You
+can find them in the documentation directory.
+
+ - aufs3-loopback.patch
+ Supports a nested loopback mount in a branch-fs. This patch is
+ unnecessary until aufs produces a message such like "you may want to try
+ another patch for loopback file".
+
+ - vfs-ino.patch
+ Modifies a system global kernel internal function get_next_ino() in
+ order to stop assigning 0 for an inode-number. Not directly related to
+ aufs, but recommended generally.
+
+ - tmpfs-ibitmap.patch/tmpfs-idr.patch
+ Keeps the tmpfs inode number as the lowest value. Effective to reduce
+ the size of aufs XINO files for tmpfs branch. Also it prevents the
+ duplication of inode number, which is important for backup
+ tools, aubrsync or other utilities. When you find aufs XINO files for
+ tmpfs branch growing too much, try this patch.
diff --git a/sys-kernel/aufs-sources/files/README.gentoo-r1 b/sys-kernel/aufs-sources/files/README.gentoo-r1
new file mode 100644
index 0000000..d59b18d
--- /dev/null
+++ b/sys-kernel/aufs-sources/files/README.gentoo-r1
@@ -0,0 +1,21 @@
+
+There several other patches in aufs3.
+They are all optional. When you meet some problems, they will help you. You
+can find them in the documentation directory.
+
+ - aufs3-loopback.patch
+ Supports a nested loopback mount in a branch-fs. This patch is
+ unnecessary until aufs produces a message such like "you may want to try
+ another patch for loopback file".
+
+ - vfs-ino.patch
+ Modifies a system global kernel internal function get_next_ino() in
+ order to stop assigning 0 for an inode-number. Not directly related to
+ aufs, but recommended generally.
+
+ - tmpfs-idr.patch
+ Keeps the tmpfs inode number as the lowest value. Effective to reduce
+ the size of aufs XINO files for tmpfs branch. Also it prevents the
+ duplication of inode number, which is important for backup
+ tools, aubrsync or other utilities. When you find aufs XINO files for
+ tmpfs branch growing too much, try this patch.
diff --git a/sys-kernel/aufs-sources/metadata.xml b/sys-kernel/aufs-sources/metadata.xml
new file mode 100644
index 0000000..22b452c
--- /dev/null
+++ b/sys-kernel/aufs-sources/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="experimental">
+ Apply experimental patches; for more information,
+ see "https://wiki.gentoo.org/wiki/Project:Kernel/Experimental".
+ </flag>
+ <flag name="module">
+ Patch kernel to allow aufs being build as a module.
+ </flag>
+ <flag name="vanilla">
+ Use vanilla kernel sources without applying genpatches.
+ WARNING: This flag will drop all support from the Gentoo Kernel
+ Security team
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+ <remote-id type="sourceforge">aufs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/bliss-initramfs/Manifest b/sys-kernel/bliss-initramfs/Manifest
new file mode 100644
index 0000000..af50987
--- /dev/null
+++ b/sys-kernel/bliss-initramfs/Manifest
@@ -0,0 +1 @@
+DIST bliss-initramfs-7.1.3.tar.gz 31278 BLAKE2B 3434f19908ba6203b5cc2b85972885c8d082b43e74deb704d145a4f7454b16b61bf5dfdf86c4485b322866633a8a869a2dace0adc612dbe15ad0c544b2058964 SHA512 b5c1d909d8393ae2a7cdb74dc46346c7fd5d3f6b0b7bebbc68b46a98ae0ae66ac94fa4d76329f6811b86b5b3a760c0aef9d5163c15eb65a2ad47bde4db970dad
diff --git a/sys-kernel/bliss-initramfs/bliss-initramfs-7.1.3.ebuild b/sys-kernel/bliss-initramfs/bliss-initramfs-7.1.3.ebuild
new file mode 100644
index 0000000..442f2fe
--- /dev/null
+++ b/sys-kernel/bliss-initramfs/bliss-initramfs-7.1.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{3_4,3_5,3_6} )
+inherit python-single-r1
+
+GITHUB_USER="fearedbliss"
+GITHUB_REPO="bliss-initramfs"
+GITHUB_TAG="${PV}"
+
+DESCRIPTION="Boot your system's rootfs from ZFS, LVM, RAID, or a variety of other configs."
+HOMEPAGE="https://github.com/${GITHUB_USER}/${GITHUB_REPO}"
+SRC_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}/archive/${GITHUB_TAG}.tar.gz -> ${P}.tar.gz"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="strip"
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="-* amd64"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-arch/cpio
+ virtual/udev"
+
+S="${WORKDIR}/${GITHUB_REPO}-${GITHUB_TAG}"
+
+src_install() {
+ # Copy the main executable
+ local executable="mkinitrd.py"
+ exeinto "/opt/${PN}"
+ doexe "${executable}"
+
+ # Copy the libraries required by this executable
+ cp -r "${S}/files" "${D}/opt/${PN}" || die
+ cp -r "${S}/pkg" "${D}/opt/${PN}" || die
+
+ # Copy documentation files
+ dodoc README USAGE
+
+ # Make a symbolic link: /sbin/bliss-initramfs
+ dosym "${EPREFIX}/opt/${PN}/${executable}" "/sbin/${PN}"
+}
diff --git a/sys-kernel/bliss-initramfs/metadata.xml b/sys-kernel/bliss-initramfs/metadata.xml
new file mode 100644
index 0000000..b328d87
--- /dev/null
+++ b/sys-kernel/bliss-initramfs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">fearedbliss/bliss-initramfs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/ck-sources/Manifest b/sys-kernel/ck-sources/Manifest
new file mode 100644
index 0000000..4558f7f
--- /dev/null
+++ b/sys-kernel/ck-sources/Manifest
@@ -0,0 +1,81 @@
+DIST ck-sources-4.14-blkio-fix.patch 1882 BLAKE2B b85d7d0bcc868284d60c73f26b055cfc061c7535b19ac3aac9ae6df0f086e6b2342fc3ceab878c45b2c021ffc12abf4c8793472b3db85ae32d7d6c3b917530a5 SHA512 aa1f65b505d32af70e0e3c921e477f7e0adea76204ede19ced32514598a1f369bf0897487273b2acb99290ddcd2788707f0711290b767183cecb689f6df5cfa1
+DIST ck-sources-4.14-irqregsdeclaration-fix.patch 1254 BLAKE2B ca93275665086bff06b7fa16dd913ed30974dd6d1666c0aceebd43cf74cb78604069b00e0866d6b9a86bd45a2429d501c2edcec904bc075b6e34058ee1fd3d23 SHA512 c226454f1477e9b729d3559ffa1ba8610a4fbc3cddba29d7b231c8edc89490bd6258adb208bd6bf13c7a9a8f8dded6e481af4dcad07ca7ad88ae67ef6f1f5dba
+DIST ck-sources-4.14-muqss.patch 282185 BLAKE2B 46af7e98f2abc7b207536fc657b539abf1511a83e0e3499e92744b417c2d50847502fa2775edbea6592550ba760c3f08aba82856133f73afbb3484cf11a155d2 SHA512 97701da9531b81ceade15eaa75de4a362182f5f5b6b66ed8de61e9e8c727853cb9301fa8a9f2debb43bf88abbcbe0fe2d5a54fc51247a0ea34e0cfdec6a85102
+DIST ck-sources-4.18-muqss.patch 300666 BLAKE2B 6b813475a1aab23d47f261ec4a86717c048bcbf1bb889491edee11169e9e757b2e5a3e1e8c4c1370be3571bae2f1745a43bb8d8c4e8ffb2d3ccddf6e9738b07d SHA512 184afddbba5036a18eb71b6fabd017bc3e9697e2e92fff184d45d83cb04ceeb4bea050f6038268ae7c458ac6410e93f358108e21295b23beafc7f50ceb35bb86
+DIST ck-sources-4.9-freezer-fix.patch 684 BLAKE2B 63894db45e5653af1851c7cee2493b6717d37f50d55c3a2b41316075d0f3e0bcb8975ff1c647c764bdf088ceeb4c716657e189d1e5337a69346e6dcefac332b9 SHA512 4241ca604f928263c29a49aca076832c06469db734864ec8c648cbbc30ba63cfb0b21d076ea4a7f3c438868802feb4e369d976e9ef6e091ce7bacf1a69c2c588
+DIST ck-sources-4.9-muqss.patch 303456 BLAKE2B be42cf125910d3978a6da69f5bd6050063b1bfba591c1a196bedf34f25338d57455ff1e8152a1ac11b05db4542058ec0283fe433ebb4c4312709400babccd21c SHA512 1325a18ce2f758ebf0aad95e29c4f2636eb952cf8306f863b1acbf74e982aecfbc82e321064c89fe19ee63938e4930662f40f55cd16284f86743effb79cef3ee
+DIST deblob-4.14 143883 BLAKE2B aaad9858bf626f1495f83187fd2ab91f812504534c7294cfb6818c773229eb780096a2c78a6aa963f3826df3cfdf7a7db5238f71fa8955c21b4acd75660d2b17 SHA512 662a11c03f51d85158175a8bf35fce20f01d94659d36b97a9773304ff9c091b2a9ab72a0445065c20188457fbe174fb43334a79e17b3a9e8553bb6144a971f4c
+DIST deblob-4.18 143094 BLAKE2B 6ad1f08bc48923dead72c25cc5e9ca2722d01f59b95684893b01717c0e1da67bb4b87c2516e74e0e4fdddbbaddc20960533dfedbdae7272c870bb76eb2d1a826 SHA512 4914fabe913a72e63e61b2f313a9e9147ede28971ceddd8ab4d3fd046f284d6020507a0b08b2e4251ddd7015ca942f1dba07fa6ec891f497418d4594196d2619
+DIST deblob-4.9 146273 BLAKE2B 8bc593ca375e003183dc6260aab0b2f81675b0814ec50fae3afe5d4ce9ce41c1c1401ce80e1c285153f610f8f730f82d6ad03e2578c792fd4af8779f2d1e3079 SHA512 3654b28e72b343bafdb38de10ef0c3621db0539bc0e7434bc99bb8f8ed911d4c9e53ca4785fd193fcfec369328f014fa5c6f3bda51b6f1a8f98b8c37ece119a6
+DIST deblob-check-4.14 755969 BLAKE2B 5573bdf913554e23dba3d3c56227a2c8c3fcfad7f4a99e1ec9208171008b5d2d50bdc55000672af95e020ef8171325b9d1797a69c988b4df5b0f71bc2a186fad SHA512 09626864cea33804d3dc94ceb691b24b6c14d1b9531eee8e745276dbc403903d762b1f75d685bf831f42b942d6f7ea265efb0d4889fecc976d95b11faf843fd3
+DIST deblob-check-4.18 781430 BLAKE2B b5e23f938eb7641ce6127cf2b0909a910f698e8d1ffd34212f999eb5d7a62e2c1846f30b7e349ec1dc995ee24d7fdc824c9dbf3c66cdcf3ceb2a4f457368c6fb SHA512 70ef576b3e56c6671a9c533e7766899e87a197d057639f603ff185dcd3de2e0cc17d51eb725b5b4c6a1ef52e1caa8e4875ae1d65e6d2876447513d1ba0710cba
+DIST deblob-check-4.9 717834 BLAKE2B f2471b45f6953ce83c0819b9157ce638a1d93959ec4074a329766ecb0c3adf90fd3022307ea70c2cb3bd3c291f98d6153576cc6597c62ca97abae6524b98112e SHA512 46258698f1c574b44a8c5c78cc2b7fdbaca746976266974ee0f6787904531754b17ad15d542b68e07d4633ee91a8e2d9c32a991ea214292ac072c4f26deed9c9
+DIST genpatches-4.14-69.base.tar.xz 1723168 BLAKE2B c0c9cbf34647abacefe97a76962f7b460ee3fda43a6530dd4eb8a380647842d7508c4e190aa05ee2eaa372e557c4528d1d36100f4a838727e633ba0d41de0979 SHA512 16b38854b1bfe9cbafa4feacc77dd88bde74e9d860db08cb143e2917360d80eb71bc298517b325eef1cabafcce0f35f0debf95e9122a6a016b3381a104a38e27
+DIST genpatches-4.14-69.experimental.tar.xz 5228 BLAKE2B fb72699292780b650d892e7f4b2e5ea96825023bda1b1a8640a6d7c7a428371e16e2510d9927b76bfb3020937ac295719658dc1bbfca1ecd83ba30f3c4a2b392 SHA512 10b096bd29e0f792eaa3c09106a89987b73812ed20e37a6becf5b817e856cb79928c3ec24a71a05dc69447ab199dc63ec82f4e4023b8f506be4f5a07e90e9cc3
+DIST genpatches-4.14-69.extras.tar.xz 17492 BLAKE2B ff0c08ce223b758746b57a7f1a3acd54499bfc9fcbb8bb41ed090d8397b2e3df61791b3e2159d97f43629e351bf722a500c44338d4d88c6818ba83047ada273e SHA512 876f1b98a896c46a5ed0ed76c1adbf1ae4884132d4f4a2c1166fb546cb3aa1de580be9cfd64e9d7e8a3193965b05603350b681ff9f52eb8799a8342fe288cee7
+DIST genpatches-4.14-72.base.tar.xz 1735900 BLAKE2B b2d48a5f103103a5d64e1987d23440cff23b6471a5e317b68b765d51ef38c5efbcf19e8a368ef35986db3133d6670a641c6cdfaf3fb38b55729fbd9fe7403d32 SHA512 f7c0465ab9ebc159abee61acf19e74a30a9e385de1263c7795f37607b5904f7e59fc28c1f68b940265cee3383ac2cefb8be76a56ed80459cd4dc27111236a870
+DIST genpatches-4.14-72.experimental.tar.xz 5220 BLAKE2B 9f1b09c8a01b961c49a78b8f195e61a999687d5890e60aa78227c7b11d128736fbf63d55651f2fef9a010353ba25682cba7bfda6ebb53290e4bb31894407884c SHA512 3a3783aaf42a453bab212caf7289f0baa9c1501fbaa06a54c038fa96bc5cc6dc62860e17533ea404d365a17ab21a188f2713ab82b269a40f60fb3ca0b6ab89e9
+DIST genpatches-4.14-72.extras.tar.xz 17484 BLAKE2B dec86eb26ccf0ec1ef0a47124aaf3f5dc3299f788a33be826758ab9f944d04f6807fcc008e0368b5ff4379fad025a727faac54d69a79114c5d2ff9da61218921 SHA512 7de3a38b3a00626d7c0be90cb1a2967836980d93de2ae5d4458fe88da589ae19bf1f352ad2b106c69ad9a4b623a78b7d858cbe5a6da096a8551be76535b41333
+DIST genpatches-4.14-73.base.tar.xz 1779884 BLAKE2B faade2d87d6cdf47172f444441d16bde03ff7f7610e2eb44237261518cf62255ab55bf25999945e4b0779b81cf3fc7eaf25cea256eca3f145d8e35150914bfbc SHA512 b6e94a7ce93cfe20fea4ed407e49b7140ab0169c91d504415c8d8c433ee30a987ad805ac93c4bd281ce6a56a05f2ded127fbdeffb4be47697ee44704bb6e0999
+DIST genpatches-4.14-73.experimental.tar.xz 5224 BLAKE2B 1577cd444c84c7a8fef88e167e3027773a5574459124f007ecbcccab5f7f9d544d594616ab4c43c58edcf97e2af699c82fea4995a98aa2a4a196f5aa8d345350 SHA512 57b87c85d902246a38f7822f296736cc471509c5ff63e1da8999fdd285437add9e0a20ced9d1997df1e1cbf6fdcee45c62747bcda9de4cbcfa3009a0d6ded06c
+DIST genpatches-4.14-73.extras.tar.xz 17492 BLAKE2B 012192e85aef3973e8306538ed013a231a8fae37dfa635e1285df92ba4bf8dd81ffa95b5f100f0fb502db66d8abe1bbbc8722b5f50f502ebf321cd10deb9e857 SHA512 939f54ea53f560f741f3db39ee57c301d0c31bd8c59cbd928caa22bdb9dbd2635e3fe87dda9e45145e2af790014fabae613ff71ed78472264323b3f47d44e9dc
+DIST genpatches-4.14-75.base.tar.xz 1838036 BLAKE2B 9890ebcc7dbf1a6787ba679792f369236643a0586ee4c825c03e97ac50b431779f2466bfdbd8fb4fbb2d439d0c73b01bead83add87603587e99174ae1200e655 SHA512 26c20463306c849c1e2c8abab82731c3ff61e467765c588e098b34ffcb84172f5f4edfa5162321ac819376d7cc5ed78be00ddb82cf3a1d246fd9a23ef04026c7
+DIST genpatches-4.14-75.experimental.tar.xz 5224 BLAKE2B ad9310ca8627ab72b0ba08769034cdacc10fdc46aaf6f3a9b9efb420fe2f737bf1034f69871fd89a81ad9edf1a5299094911c3fa109e4681e1754e999d34c343 SHA512 7ba19f271077e5c62be3e825f0f87302025511bba11fba72684201c4666cec70fe5446579d14c782aaa08d59b748373cb67f9c40abb46925c6abbb6463c0bd19
+DIST genpatches-4.14-75.extras.tar.xz 17488 BLAKE2B 64b765bc55181449566ef672bdbc3df31b431dffd0a5b981b53beb0e0de07ebae858f749159267ddff35d86be911529140193e2363d215ae1496c2b9433abdec SHA512 bcacc67187a73b1e2f3b0ef879fe637204b7395d2e72bc231261ef76827b42ab723ad50019bda5cd4c4aca2727e38b607fc41a73aedeb7f917647c91f1d42d9c
+DIST genpatches-4.14-77.base.tar.xz 1897728 BLAKE2B 0481c22f540d3a8f663717ca5771c480a4c88dcd59323ee313b0fa08f887ec855a43cccf928e21978a666509ee96c1a1eb360909278944e625c0c802a2d7e7ac SHA512 d9433d1e5b9232dca6d74928a835bed1e3f27c0affa96e335895df67cb2f7d11d2ba27cd3f6ac40cc51a5a7a670008df91061be5274d61bcc08eb0f06f90d5fe
+DIST genpatches-4.14-77.experimental.tar.xz 5224 BLAKE2B 8d0b8f1e8a2953e500b9d3e654cd89d40ba0bae53a014b1bee8fb19e6580dbf33687821bb3edbffa2db8daf3fdfb521ce3232f9b4aca0f4d2661be8115220c8c SHA512 a063a5e76f391a0d8011a0a1bb1fa06e6693c7efb211e5d25bfa5f39b6dc216f3c965ec1303a1d865c4b3c1484e03a4b99f3097759a0e15b15ca8b11215a3342
+DIST genpatches-4.14-77.extras.tar.xz 17492 BLAKE2B abaf103790fceab73cacd949473e50b8d678e0fb1ead41a36577a02e48805052c8d10f78ce474c215773117e9aeb97a49123b58a3ce42348520e32415838ec13 SHA512 28db86e6cfeaa3293d5a9db43774d5c0710492e9ca6b750a687b65a4d38e3a6cc196f689025bf7ce8fded4e97a221f4e2c4352e1ffc2a465fb3546a8d6712536
+DIST genpatches-4.14-79.base.tar.xz 1941112 BLAKE2B eadad4bd05e013fa68a47a420cfd76764df91f12ae1f25fc1e32fa30b7da999ac3eae42aaf6ae14a18b949f28adb4f4ec1557bc2a6cb3d496954851066b06a24 SHA512 8955f649752dd1bf2e8223f8bf6ac65a8b8775299a34c8d9ea3a7bb37d744444fd013b30118be9041a59a54671a3f5cf517d840b2f83f9fe431bcc51e7019508
+DIST genpatches-4.14-79.experimental.tar.xz 5224 BLAKE2B f03b0806ab474eb5fc3fe58a873cea76c16d39fe87629a15941eee0eca9b980714f099526741df8b2ce7203cadb7b0b1680422083b61e4725152421d43f737bb SHA512 5de7d487a229d26ab62518a670a55cd41f563455084c6f8a55f035c613df969e8c0698518243081859cb52c4e7df0fb6cb349c841fcb979e9a94212617ec523f
+DIST genpatches-4.14-79.extras.tar.xz 17496 BLAKE2B c543f7d58552cd519dd722f1d7912909a2216868201a5d5b3712a96b17f41b9f05df24fbee03d874a5fb2d8b8e32eb35907cc0ed569c85bdf4dd5be942d1680a SHA512 d789ae7affb905622f1d556f07450a842974296f7fa109152a9edba74e41fdf4f5ea0f1bc6a054ca02a4fbb99f472b85b2bef4005335e6e1a7c112a993220491
+DIST genpatches-4.14-81.base.tar.xz 1993216 BLAKE2B 96a60ade763801820a818d18973abec10833104da7f067c03863883aa94e96ea5134599e913015d551cae27b5f9a56efb87b10a60265608fd230567244bc371e SHA512 bb9e356425ea24e01350384956ebaaf3f9677449b2b0393dc130c586e7b337442d3a38a6b138009838d8dfeeaf89c61e1257c8a13eb79749dc5cd96132d06c3f
+DIST genpatches-4.14-81.experimental.tar.xz 5228 BLAKE2B 0ac2b4b56e615216918d7f5739668223d4692a9dd1273202c6b346f223b149e306797693c1ac034e4316102e774a472bc8872c9486a862f841f20c0f13ba4d4f SHA512 9f143960a869c2ef2ab9ef31dc73de3f1ea9b1a34ceac332f6e7ac448d4380ceb7359b9014298a6f17cce2d12bfe270b2af112dd60a7feadf994ad28d5a717da
+DIST genpatches-4.14-81.extras.tar.xz 17496 BLAKE2B 9668753679261522d678778c29b3637388624ab6a8ae1223241c5c47979083caaa37b4926d7239ff574977c29afc66c7147a34eb42538f1f10fa7b5006fdaea4 SHA512 0459e6453a44ae88870890756b9e3a852b3da0356c3df723e4f81593a52d85b5547ce18470ca831f3f0eeb43feebbc5255167c8a73e69d6b94719b4b2167ac86
+DIST genpatches-4.14-85.base.tar.xz 2050508 BLAKE2B 3d4b9917b538d6f906f8112cce00d06e07d09783fce9478ce7f166c900707d56cc147d30ffe4dcc6f26c1975881aa2771dfb76dd21d3580dc47430c035d6d850 SHA512 23b1b30c43e78ebe57c7dc06fb6a6aea035b1160d421c6577eaeb5afe0eb8c72390eb5b33e708990f3c0452fad4678946a74279f3e9ba547ebd385f59bfc6ead
+DIST genpatches-4.14-85.experimental.tar.xz 5224 BLAKE2B dcedc912566883c0c57934acc23a8c5d89c95d14bc3e6f52b715562a414a535896774f5e184c1c83f1d601c32231ab3b98579eac848fd6a71ee7f833a044088a SHA512 6beeb2a40e8f668f833da082d79fa33a3901891a7f062fca56f4f6182fe6d6368466ed9eef4ad1daddc62b383ec5aeb8189b09577b33fd39be9b53e1e53c920a
+DIST genpatches-4.14-85.extras.tar.xz 17492 BLAKE2B 220ed00e4813e2b94bc1815e5cdca40409239864b1447bc7eb261a37a6b132b92935f0cf1a01749d4d2b2522c7e932c2e5fd3eb127fb0d09b7b3615dcb8d531c SHA512 fa0cf06245bb72a36bece9cd98daa55ae49b82e08ad5bdd3474ac6fd875f43278eaaf85e64620c120856700222e4f8b61102cb0349566be3a2f39e561140bd43
+DIST genpatches-4.18-10.base.tar.xz 145340 BLAKE2B 052e5eba856e416cfb303ec9b8a064ef8a47492134cb4632ce5ba1818bf4dcdfc6b34a3c276017214a47ac4b4483fd46272a9c284b1abbe81960de55d118b3ee SHA512 af67a9316370bfbaf8999e993efb766928b729ebf1587a9804dd6ef89e5c7190577fda022b8ac128576e9e60d4ff638b780d6e324dcd244d4c8e7ce33f2a9abc
+DIST genpatches-4.18-10.experimental.tar.xz 5228 BLAKE2B 3485bbf76b9c6ab4382a835984d9c55a052fefafbc9550f2a08bbcb383991a8ceb0ca53b5931f57bace9e8893a2ccb2c2aea15f2939a6a4e69de1d924aeb5071 SHA512 45ef8b07719263eb2ffd75fc0c24dd0357bc6cf2e76e129d8c2ecdfaecca4f864b5ad091685e9d94a7460422e7c49fac68cf2f4b0bb90e2faeb5f0b9b94fbc0a
+DIST genpatches-4.18-10.extras.tar.xz 17504 BLAKE2B 2bd2aed76a5b1b9fe5200407edda412fe220d5a23f2baa5967c5930b182a74e97eb289006571a0400ad09b4397315c27fc1ca8f18f0e1c496a52c47029f61a69 SHA512 585de2757b97c6cfaed2ef52b00c8b6c784a0abe3937d58784bb473a1ea3c85b22a21bb978f6d6d9b772b6522370d141ea50440258aad5949ad2984723699a9a
+DIST genpatches-4.18-12.base.tar.xz 237564 BLAKE2B 221499b05746862c8d7261959b63791efc1450329ec50b14d487306fa97398c364ee553922bdfb7b4dbf688792fcb778e6a30a57a6df10099f5367f01f1869db SHA512 08efe1e89151e1c7c2e19ca48380fa797297879d83b7a51ea3278a966a39324a2a1e5f66f2e46a64ed88d24c243576b119967d3bbccfdb78c7388525bbdb9472
+DIST genpatches-4.18-12.experimental.tar.xz 5224 BLAKE2B 8d0b8f1e8a2953e500b9d3e654cd89d40ba0bae53a014b1bee8fb19e6580dbf33687821bb3edbffa2db8daf3fdfb521ce3232f9b4aca0f4d2661be8115220c8c SHA512 a063a5e76f391a0d8011a0a1bb1fa06e6693c7efb211e5d25bfa5f39b6dc216f3c965ec1303a1d865c4b3c1484e03a4b99f3097759a0e15b15ca8b11215a3342
+DIST genpatches-4.18-12.extras.tar.xz 17508 BLAKE2B c324b68771942f0372d0f4f34904e3f52b021ef36453002732ab041096714cb9949f03840ab7bc2197c498ff3bfd6d8f4f7000a27e9668b9cc9d3c90e40dc466 SHA512 746c0bab36b8a1ca9171882cb21735378a12636ce5e157dcebe3b286abb5392c6a2e099226cce5bca77ad808c233c9f968aeceb2fc4744a94cc9c2372dacfaf9
+DIST genpatches-4.18-14.base.tar.xz 313244 BLAKE2B a47c0b01dffdc9480d99137b8d2d2ee4d125e86fdc653e6ed54acadb4818ee12b904335bd996577fb12a0132ffd8f565da9669b4033531fdb1cb53ff28a5c9a7 SHA512 8f59ef57c0c698932032e181044b2fd78d6f43a8022b75139c6aade451d946816329129047de8514d4c2f6c0c6eedf6a16786063584bb2c141e1a50fb83debd9
+DIST genpatches-4.18-14.experimental.tar.xz 5224 BLAKE2B 659859efd41430c3da5c104cc8e148d85df75ec323364f845a2f15b848544aaf0d7d9cd8b595c04a9209542bdb865874b9c8928d264ba896a70d701690464869 SHA512 50e172f6244741ed6d5e440ab55c4928c11c7cbe9d2bdc5891bd254e2aa05b7ed0387e85d3135745af0e056dfc0be9a325581d5cf38df1659d89cf387ed72625
+DIST genpatches-4.18-14.extras.tar.xz 17512 BLAKE2B f9a02074660a4f2c7b24d00035f0e529a1283a853d7271dea8a459fa1d5a6a2508ad400e828e47ac1b1f610b0732a9380301951f091cc9657d15f9c784e0d9ff SHA512 e27f7d5fc0ea35cb66d8478c83df36d5c28d2eaa87b65cdea77254d7cd665ba0f2a016927ba70e71c33920d80341270bc5419c610971989b1ec573631be080ab
+DIST genpatches-4.18-16.base.tar.xz 422672 BLAKE2B 688de9ccda3e62656a046207aeaa2bf09d3c3f7138a78343e2d362099f0f3b245ac59be420db4f209dbdcf3f1d1ac6ae1ac5fc96713e91c5088123dc03d6e5e7 SHA512 6e55ce52f2175a897dc2ada9ba76befe48a9c19544b3df1a39540d5e66fac7351e9fbe0799f6f6f23923a48f17d6181ba580c7e3afd40029039f5e6bfc826a0e
+DIST genpatches-4.18-16.experimental.tar.xz 5228 BLAKE2B 558fd2197c5ccdb034b6d6284dd90ccd92cba09993fa58996febf340a6225bc46c458c3e9e47f69f1f31dc4ffa31675f3f9a33f7e5c0b499afe7db2b1c2b71fe SHA512 c64277edadd67d46d2e9a97c423fab5ab5e7d2a21e27b54c1118400b15d6fd5b406d3ac3fc9b6bc8ee49b94801748f88df7cbbd439e62e6061bf36d27c703dfd
+DIST genpatches-4.18-16.extras.tar.xz 17500 BLAKE2B f3bfb098fdb5db5651c78fdb26ce927420dc6cf08479b98cd820284e21f6323c8a3e95000c8839ae7de88b3088a96725607611979408fb553534c4531ddee69f SHA512 13dc9cace14c765301deb1ad929f4564565a480c7b347b25878122fe103a528198e9601288b6b930aee3d6ac703d03e9ed236e9954f3fb2194d0ac49488bddc0
+DIST genpatches-4.18-19.base.tar.xz 491560 BLAKE2B 37464af933a0611a40bb0795e2639c0b0e8ecd112a6b7664d3ce19932a25ca4c6a5f36a7eb07005abb7c85c7be3bd8fbcae6e2959031467d871f62c5b89f571e SHA512 7b07af0ece2511fb4cb39ef35c9ba926a6d2e34eb24829f957876e6be6f56ad6bae89d6aa818ae81bcdffb16e26471a4fa9adcc4ac6f48efb3e53151310755c9
+DIST genpatches-4.18-19.experimental.tar.xz 5220 BLAKE2B ae3cfe1a10e76bd22905db948770fb51bc3181a4218f1a4f010d656ad41528ada6f6e507de1bc238cd68b6e6f3cd5a87aa7ff6a3516e441b672b902a4402ea76 SHA512 937b8db859823aa2612430cc24e2e4441afa20539fa2427c15182d21aaf9bb2d2cf1d520a2a9fb2d04971c9bd75b885205fda940d89ff892c290b92db1cca13f
+DIST genpatches-4.18-19.extras.tar.xz 17512 BLAKE2B eb3d70211535ca9fc9a58ef02304d2ff87c48acc5c47804de401599c8618cc1adede45ab2cb9bb59acfde6c7434bf8cdf32f6efd2c2fdf4d34ed619882a04b89 SHA512 35dfcc2122fe3d383bcf9da1ee032f21bc0dc4f36d29c82e829270775c21d8a816eace717a1e65938f4b01eec7b1f584f865d5a9ee997e732292f9840ace9005
+DIST genpatches-4.18-8.base.tar.xz 61984 BLAKE2B fc4b575978ef25f2ac1ea23453a820cd3fce9fb99bdcc071e88d8d52113b3ad1b44725b1bddf8a9b0e17fcc4022b8a7ea1ca10925c560ebd2480ae7edbf08a93 SHA512 fb98eff21e6cfbf03feb1df16241e564acb086026db360136a46c78d7658cd76dbc98f698279e2e5e1c55c675acadf7da45136bcff5fc929d0fc155a70def29e
+DIST genpatches-4.18-8.experimental.tar.xz 5224 BLAKE2B 1577cd444c84c7a8fef88e167e3027773a5574459124f007ecbcccab5f7f9d544d594616ab4c43c58edcf97e2af699c82fea4995a98aa2a4a196f5aa8d345350 SHA512 57b87c85d902246a38f7822f296736cc471509c5ff63e1da8999fdd285437add9e0a20ced9d1997df1e1cbf6fdcee45c62747bcda9de4cbcfa3009a0d6ded06c
+DIST genpatches-4.18-8.extras.tar.xz 17508 BLAKE2B 2e9e8c17aacbd6894f682c6f95b767228c54673e23dd401519d69606177334408acee5c018b164c797750018d015c8abe35e48f5b00b45f5502b0dd72f776941 SHA512 059cf39a752f0088884cb3fe57f7d98118879bdd1d40c1242a012a11275a29dc7744d6333686fadda2fe08bbbea5a9b45f3f3cc9bfc20203f22184b2068baf07
+DIST genpatches-4.9-124.base.tar.xz 2343936 BLAKE2B 44da7d48a609b3092182f9a166d62c1398b7ae62ad8df795a3ba886b164b3bf5a74a799ca51af3844950fcbe36ce4c3927a27b2add287f0c88687576a096d616 SHA512 56308bb2d7b887413e2b1ca93a85b35de224e4ddce8aa6a9cf0d06df9e810ead1c608fec134401dcc2fc0b67b62b89ba1fceef4f3216295b8605593d51566efa
+DIST genpatches-4.9-124.experimental.tar.xz 106420 BLAKE2B e705d0a2cc9f8b4f83cdea1f49253ff751d7ddec8a464878a47b0534c645142f34f7803a16792050f70a02e3552a8083d32ff65129892726b2698b62181ce36f SHA512 fccd08a565e5913ba5e821b3965f3a8ac6932ee1e8556cd88aff5ee973c0fca973e42969634db1b3be76512eaa3b077b0a0c5773a66403e3ee585b3aea1b04df
+DIST genpatches-4.9-124.extras.tar.xz 17348 BLAKE2B 60c69049baa4a00291a00e6a7ae022b2a049ba0fb34f34523621ea98b661c4171e37fbf302bda33c9ab2b3d6890184aeac97d004b0ceca309f595756bfd41374 SHA512 5083dfac483e44fba5df781ce68e8b7851347e7e4fa9b5d55d79c8527a23c034134035bfb093d83a2b89a83ba617773a0f6b461bf787930afd555dcc84afd108
+DIST genpatches-4.9-127.base.tar.xz 2354512 BLAKE2B 2226db036333946c7a9e60ed7c41eaf76fc113b9ee4c1044c05196f8bb7bc7c263425cd16f0e16349ecaab9adab0b5ef75ceed690210fcfd9ae620dd8254e4bf SHA512 c5798dfb5389c7585155bbe7baca675dc53e9bd7a6f038e9db6026172c3b7b6733422fe931e3bed2462caad2f05c774b20ac49757c2763b3d78e5239500e58e1
+DIST genpatches-4.9-127.experimental.tar.xz 106396 BLAKE2B 5273ecfa6b48624ec665b1d80de623fa78cb95818252e02a732d6e4409be9dacfb710e420d9b0cb2bdcd71ae1389b6e888439d1d911b46bed5adfcc98981bea2 SHA512 5774bc6477931e51c2be55d365ca38a7619073afc7bcf342a3b7e024c31d31dd899bba63ea4af31cd1d5a81b5a605fda2d4c19862c5580e0d3762b0222f87a3a
+DIST genpatches-4.9-127.extras.tar.xz 17348 BLAKE2B b7d6fe9deb23dfa838d073143952aa3fca61f6b729035f52222443e8aca6ac061933ff037cf4b0b0e45504066eba1a979401ebd6b2cbd94eafc95b8302e79632 SHA512 f28c5825d22a29adfd33570e0490a02bf996ba48ce18ad6baeb330ac556153921cffb7cf8921e0bc8a81043c1ae085acf4d266f7e63d157ce832116cd939b2aa
+DIST genpatches-4.9-128.base.tar.xz 2379516 BLAKE2B e68c68ad74df356b3368b92e92253f7a202b85023cae0e2f129df65a62efc0fa2c18ec2bdc71eb7a031a4ec2137e2b212f9d9a17da93bc15d8394c3ff5339f3d SHA512 bbb3d36b8ee2676e56b8547132d3bf5d56e796ecc06b9e6222a520de9c29339c617ff93e03613d65a0b0bfeadb1eefa2d10fe2e0861d3c1343e272160e994326
+DIST genpatches-4.9-128.experimental.tar.xz 106400 BLAKE2B 3ca6de8991745069a3abdec7faa143eb77dc6a361bb638f1a880f7b707b2b622211ada9465cdc7eb24a61161589cd56055d10be6987336f095bf36218eb5c3af SHA512 1e1cc91d8d790e6a9e617ece093f91d1737d15c76f1df52c78111e9fdbf09c3dbd962ce35edf7c50a9a0d3a441ec834bf03bc9cb83e4988b973c14aeccb76724
+DIST genpatches-4.9-128.extras.tar.xz 17352 BLAKE2B 1cceb0fe070585680ce5924f249e1069606710fbd6a0c0112916534b434c5b8410abeb9e5b6f7b7e20f4eeca857fa0c0666d0c1db8f8239fdaedd36a73001033 SHA512 a79a0e359e018c8e54f2bd73fe3edc185ebc1b0a8a96f882ed17a197773d4ecaf6788dde06571eb3bf5954bb6475dbbfa52f35d6e654e81614575e7368aef1e0
+DIST genpatches-4.9-130.base.tar.xz 2415208 BLAKE2B 38ddc0d5b2ec8b33834550c87169c96300977013e2cdfde7999caaaddded86e3696c2460e5980ca9ab5e812a475e969b0202399f83cb8d82fd397515fa7d26ee SHA512 69dafb393a54d93e0ca26ecd6f24536cd23139d323bb32a9510945ce53a47b7d4fee966344ade1416c0b207f28e2b43d6cad0af25a78c400f3528f64719ad1ac
+DIST genpatches-4.9-130.experimental.tar.xz 106384 BLAKE2B cfe48d4fe7c1211390adf14a8512c6132b6b80760e38afbe0df1aa776c7db614d6171893c69f56f10a0bc3b60261f6c2299ddf71594ba6d27ecbc168d3ab742a SHA512 a95bea2ec43be17af441c216c40da1b48d5ae5098951dfe30dcfe746deec0270bdb21f4118976f31df5da898354e8eca08ce60fad3127986327243588a69db65
+DIST genpatches-4.9-130.extras.tar.xz 17356 BLAKE2B 299388e6feda84ee34d24583a8d1f4b8cd1813d19970f3ecc78323cfd301dceb74ea7df7d78905cee54fc9b30ac05ae7197162fe2b7a66e41681ec398e391a06 SHA512 b74ea5bd6f2d659ca4ea1ddc30b174cc156581a318f6c11783ca99a326e3a8957cf9750cc4782c93e9c2529b45e2c576ec86598a6655942abcbec8be32e0b4a9
+DIST genpatches-4.9-132.base.tar.xz 2441816 BLAKE2B 53a8675afe92c3821aca2251aa7e4cb5ccd5bd007871ddb6bbeeea9cf9ff7953505e67e4bc91685598734451bd2c470250bfc3ce4e2bfb749adbf0c606f89cd0 SHA512 f43ed194035db4eabdfd7c29113faaf6605d56e64613771011793fc7740fa06db0727328eaef33f847f6fbba6a7f8830f5d3b9c70b7268c7cf6974ce2afe2243
+DIST genpatches-4.9-132.experimental.tar.xz 106392 BLAKE2B e37bc8e9b99c2afdd0e57606d8a8f5eeeeda93013e6219801c3e9d14d91a6d70dfa4f7830a54293eabb81e821138432d18ef96ec98e3070a46b4b11680165ded SHA512 7fa9bba8c07d5cf861bf7dac0e8261e90c3ef834acca4768606d3292d664ed46cd790df7ab6f82fcaf83861ff9395a1a32da9122d99074c851aafade9cbbbde0
+DIST genpatches-4.9-132.extras.tar.xz 17356 BLAKE2B b7cbf6b4fb753c8b2155d61e86357a41978f9a218daedc016a1e11f2917294a82e1bca3915db80de9f6120e214869f7ae90b647b95fdd674b10eae651576affd SHA512 6e0777f4a57dd7e2f2771fd2416858a40f130cd110f1458debfad66a2ef6847969fda59ffa8f796a6f2736a3ccdd0f41b5fc1c66e3a507ff2b0b48ee6f291fbc
+DIST genpatches-4.9-134.base.tar.xz 2469148 BLAKE2B 98d632d35eecd9965bb78d0baf8889c22999c324ab2f93a27ed606b8f1fc9fbcc3ed473bca16d5d508b7aea57f3b9db0fdfa904e4dfe59d2d2849454e8d6d1da SHA512 75b10ad827435c6cf5bdc568bfb5d48d703c2117563cdd406e7d98701bb22e2944695295933ab7bae03e3647565fd8d86f3f4142ca2ea538dde4e9ea8d350ff0
+DIST genpatches-4.9-134.experimental.tar.xz 106384 BLAKE2B cf341a8c8f43353fead3844c549932de413380b72f5efb686031a35c5de78c13f66d606d5884bfea45333c7aaa39589d93cd6c295fc34dd103f354209a94116e SHA512 491a2b541b933a0e6f0eac55eb939ab668085158d059a2bbe99826e657bba3576bd6092a83baeda8c11a29a770823228ead660a5d64cce09354fb177eb857cd0
+DIST genpatches-4.9-134.extras.tar.xz 17356 BLAKE2B a6a8fd7226f451ea0a42abffab2a74c2dfc2ad61130b49a51548d72c98a3f1c96dba5432fc3abf88d3c08d1cb07b28ad7d252e22ad04443e3fc251a03affa045 SHA512 221edf2d3ca1f11d48dafd3cb86b316153ffd6928c1dc690fe5b69f212ae20ccd7b203c272e4554f3045da51cef7a3bc50d388cfe7bee7630ccee586ae3d7986
+DIST genpatches-4.9-136.base.tar.xz 2499112 BLAKE2B d68b80514607892807b343ba310cd87df1e655f290e265572e6162529bf65205723dc89cf3520ada6f7f9d2d94e9f9a9ed2a9f709096e2c4fae5db07a5921540 SHA512 286063c44a5752162924d4a1b1a1f34dda1f9bb5f81576a96a083d1b91ff2f846d813fb7c5bf312f711e4fbb5c1cebe700907eba78d936259fff27c27db0ab6f
+DIST genpatches-4.9-136.experimental.tar.xz 106404 BLAKE2B 7b3434f32eb16392162824e1a374f675c1e993a3e076b0d464812b420fcbb0d887bd8fc5b1316b71a4adcfeef714b9576a09c737e0c22374967d771417664757 SHA512 1241adbf933ec79f1ed809521c55e44a51b3060ef544ade05ee90ffbfd355613268beda4a1683f9b9a7b172f8f6305271b3caa9adea99980a0b1848f94e8cb86
+DIST genpatches-4.9-136.extras.tar.xz 17360 BLAKE2B e038a5f1fab6209642f023bbe789f540c2ffc4e946fa0c0d460ae9a9ee7c712c1c932317838313694a4a3312a4639e1f56db8e181825d2055c321e2f0fa6015e SHA512 49ec9be3ad02078fb235e4dda2111069244c37d04d434028d4fd5eb81e495480b2fdf1953d3671254839b3ddbf50a74c1f86bce2738db05180a0f3eb0b2d25f0
+DIST genpatches-4.9-139.base.tar.xz 2546088 BLAKE2B 5259a374fc11ef4ff950bb6104d6bfd958699541d9b9d5cffadb1d756df20c9c2c6be8b342beaef82d504a5c37f3406737ae7343ee9ac98c7e18e62fbd77a1ca SHA512 de1e97149cc8ee141aaf10e514cf0cdab71c318334ec19fffd74ec8465f58413b394ae2495ad60c995f28065824862532b9676e2de866be3718fc521dc37ecb0
+DIST genpatches-4.9-139.experimental.tar.xz 106392 BLAKE2B d3ba4c3d708147c4455202343bf824d257408dac6ccc0318e8dccb65ed0337b096d688fe9a28896cbe59bbb76fa74f663a9632ed38ed8532015b5613111ff9a2 SHA512 3353fbeac023b765f1e33040fe58600a85f620c19d7d530a27f3e5652c1536df5daf607edf682ec8616beee1a88e235bc4c916bff8575215d821b42de15396b9
+DIST genpatches-4.9-139.extras.tar.xz 17356 BLAKE2B a72f7b748397ee23ba94a4a8976acbc94a3a227ae027e0f4d02ce323925c248d31c376f10579cc54bb4ac551a1b546b1403f9d996050fe4f995e02848df76b10 SHA512 8c44046440d4bf97a21c84ab375b5c5441f4d8cefd2e273ee864460f90ebc104e35d24f44eb0f66ff420d958b70d87095df87d267fe4bf8ebacbaf681c2af1fd
+DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
+DIST linux-4.18.tar.xz 101781564 BLAKE2B 138bdc49dc8871e5566b5e23a9e5ed0e68fff480a7a04fc659a9efe2d4bcc778ac01368a32bc5d1dbde870102ce7294b9d315f81c4e6e762ee781135e83033f2 SHA512 950eb85ac743b291afe9f21cd174d823e25f11883ee62cecfbfff8fe8c5672aae707654b1b8f29a133b1f2e3529e63b9f7fba4c45d6dacccc8000b3a9a9ae038
+DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
diff --git a/sys-kernel/ck-sources/ck-sources-4.14.63.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.63.ebuild
new file mode 100644
index 0000000..a0c19c5
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.14.63.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="69"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="162"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# Fix for: https://github.com/gentoo/gentoo/pull/6942
+BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
+BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
+BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
+
+# Upstream: https://github.com/ckolivas/linux/pull/9/
+IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
+IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
+IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.14.66.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.66.ebuild
new file mode 100644
index 0000000..baa6ef3
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.14.66.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="72"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="162"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# Fix for: https://github.com/gentoo/gentoo/pull/6942
+BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
+BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
+BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
+
+# Upstream: https://github.com/ckolivas/linux/pull/9/
+IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
+IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
+IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.14.67.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.67.ebuild
new file mode 100644
index 0000000..19fdd21
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.14.67.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="73"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="162"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# Fix for: https://github.com/gentoo/gentoo/pull/6942
+BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
+BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
+BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
+
+# Upstream: https://github.com/ckolivas/linux/pull/9/
+IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
+IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
+IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.14.69.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.69.ebuild
new file mode 100644
index 0000000..911cc37
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.14.69.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="75"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="162"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# Fix for: https://github.com/gentoo/gentoo/pull/6942
+BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
+BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
+BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
+
+# Upstream: https://github.com/ckolivas/linux/pull/9/
+IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
+IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
+IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.14.71.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.71.ebuild
new file mode 100644
index 0000000..0a60f04
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.14.71.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="77"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="162"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# Fix for: https://github.com/gentoo/gentoo/pull/6942
+BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
+BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
+BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
+
+# Upstream: https://github.com/ckolivas/linux/pull/9/
+IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
+IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
+IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.14.73.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.73.ebuild
new file mode 100644
index 0000000..9e4b49a
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.14.73.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="79"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="162"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# Fix for: https://github.com/gentoo/gentoo/pull/6942
+BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
+BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
+BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
+
+# Upstream: https://github.com/ckolivas/linux/pull/9/
+IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
+IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
+IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.14.75.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.75.ebuild
new file mode 100644
index 0000000..1156a3a
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.14.75.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="81"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="162"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# Fix for: https://github.com/gentoo/gentoo/pull/6942
+BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
+BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
+BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
+
+# Upstream: https://github.com/ckolivas/linux/pull/9/
+IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
+IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
+IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.14.78.ebuild b/sys-kernel/ck-sources/ck-sources-4.14.78.ebuild
new file mode 100644
index 0000000..712f46c
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.14.78.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="85"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="162"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# Fix for: https://github.com/gentoo/gentoo/pull/6942
+BLKIO_HASH="25849740d77dfc089fdbfb53623e50d38a972aff"
+BLKIO_FILE="${PN}-4.14-blkio-fix.patch"
+BLKIO_URI="https://github.com/ckolivas/linux/commit/${BLKIO_HASH}.patch -> ${BLKIO_FILE}"
+
+# Upstream: https://github.com/ckolivas/linux/pull/9/
+IRQREGS_HASH="7bb09fbdf490f5de8eafc635ab858b1f38dca84c"
+IRQREGS_FILE="${PN}-4.14-irqregsdeclaration-fix.patch"
+IRQREGS_URI="https://github.com/ckolivas/linux/commit/${IRQREGS_HASH}.patch -> ${IRQREGS_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${BLKIO_URI} ${IRQREGS_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${BLKIO_FILE} ${DISTDIR}/${IRQREGS_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.18.11.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.11.ebuild
new file mode 100644
index 0000000..b009eb9
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.18.11.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="14"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="173"
+MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.18.13.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.13.ebuild
new file mode 100644
index 0000000..1c6f971
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.18.13.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="16"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="173"
+MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.18.16.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.16.ebuild
new file mode 100644
index 0000000..044e8de
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.18.16.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="19"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="173"
+MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.18.5.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.5.ebuild
new file mode 100644
index 0000000..b7c502b
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.18.5.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="8"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="173"
+MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.18.7.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.7.ebuild
new file mode 100644
index 0000000..63fee71
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.18.7.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="10"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="173"
+MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.18.9.ebuild b/sys-kernel/ck-sources/ck-sources-4.18.9.ebuild
new file mode 100644
index 0000000..14f9f65
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.18.9.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="12"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="173"
+MUQSS_FILE="0001-MultiQueue-Skiplist-Scheduler-version-v0.${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.9.120.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.120.ebuild
new file mode 100644
index 0000000..3f00921
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.9.120.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="124"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="150"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
+FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
+FRZR_FILE="${PN}-4.9-freezer-fix.patch"
+FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.9.123.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.123.ebuild
new file mode 100644
index 0000000..95b48d8
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.9.123.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="127"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="150"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
+FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
+FRZR_FILE="${PN}-4.9-freezer-fix.patch"
+FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.9.124.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.124.ebuild
new file mode 100644
index 0000000..b4e180d
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.9.124.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="128"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="150"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
+FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
+FRZR_FILE="${PN}-4.9-freezer-fix.patch"
+FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.9.126.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.126.ebuild
new file mode 100644
index 0000000..4cc750c
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.9.126.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="130"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="150"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
+FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
+FRZR_FILE="${PN}-4.9-freezer-fix.patch"
+FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.9.128.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.128.ebuild
new file mode 100644
index 0000000..41bbe58
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.9.128.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="132"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="150"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
+FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
+FRZR_FILE="${PN}-4.9-freezer-fix.patch"
+FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.9.130.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.130.ebuild
new file mode 100644
index 0000000..63e70f3
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.9.130.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="134"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="150"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
+FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
+FRZR_FILE="${PN}-4.9-freezer-fix.patch"
+FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
+
+pkg_postinst() {
+ elog "CPU optimizations patch (from genpatches) is off by default."
+ elog "Set USE=\"experimental\" if you need this patch / feature."
+ elog "This can be set in /etc/portage/package.use (or make.conf)"
+ elog "make menuconfig as usual to edit .config for this feature."
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.9.132.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.132.ebuild
new file mode 100644
index 0000000..7809ea8
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.9.132.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="136"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="150"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
+FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
+FRZR_FILE="${PN}-4.9-freezer-fix.patch"
+FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
diff --git a/sys-kernel/ck-sources/ck-sources-4.9.135.ebuild b/sys-kernel/ck-sources/ck-sources-4.9.135.ebuild
new file mode 100644
index 0000000..4e9d7c1
--- /dev/null
+++ b/sys-kernel/ck-sources/ck-sources-4.9.135.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2018 kuzetsa℠ and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64 ~x86"
+
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches/
+ http://kernel.kolivas.org/"
+
+IUSE="experimental"
+
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="139"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 kernel-2
+detect_version
+detect_arch
+
+DEPEND="deblob? ( ${PYTHON_DEPS} )"
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+
+DESCRIPTION="Gentoo's genpatches for Linux ${K_BRANCH_ID}, with Con Kolivas' MuQSS process scheduler."
+
+MUQSS_VERSION="150"
+MUQSS_FILE="${K_BRANCH_ID}-sched-MuQSS_${MUQSS_VERSION}.patch"
+MUQSS_BASE_URL="http://ck.kolivas.org/patches/muqss/4.0"
+
+# clearly identify package name in distrdir
+MUQSS_DISTNAME="${PN}-${K_BRANCH_ID}-muqss.patch"
+
+CK_LVER_URL="${MUQSS_BASE_URL}/${K_BRANCH_ID}"
+CK_URI="${CK_LVER_URL}/${MUQSS_FILE} -> ${MUQSS_DISTNAME}"
+
+# solves bug #606866 (Fix build for CONFIG_FREEZER disabled.x)
+FRZR_HASH="7de569950716147ed436b27936628ee3ab5b45cc"
+FRZR_FILE="${PN}-4.9-freezer-fix.patch"
+FRZR_URI="https://github.com/ckolivas/linux/commit/${FRZR_HASH}.patch -> ${FRZR_FILE}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${CK_URI} ${FRZR_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${MUQSS_DISTNAME} ${DISTDIR}/${FRZR_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+pkg_setup() {
+ use deblob && python-any-r1_pkg_setup
+ kernel-2_pkg_setup
+}
diff --git a/sys-kernel/ck-sources/metadata.xml b/sys-kernel/ck-sources/metadata.xml
new file mode 100644
index 0000000..3dcc977
--- /dev/null
+++ b/sys-kernel/ck-sources/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kuzetsa@poindexter.ovh</email>
+ <name>Sarah White</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gokturk@gentoo.org</email>
+ <name>Göktürk Yüksek</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="deblob">Remove binary blobs from kernel sources to provide
+ libre license compliance.
+ </flag>
+ <flag name="experimental">Apply experimental patches; for more information, see "https://wiki.gentoo.org/wiki/Project:Kernel/Experimental".</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+ <remote-id type="github">ckolivas/linux</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/cryptodev/Manifest b/sys-kernel/cryptodev/Manifest
new file mode 100644
index 0000000..5d057c0
--- /dev/null
+++ b/sys-kernel/cryptodev/Manifest
@@ -0,0 +1 @@
+DIST cryptodev-linux-1.9.tar.gz 54409 BLAKE2B 48427235409c792001f420c8a66ab4320457a1cf22c1bf47c8d0a40ef82491ffe64a27b7f2e7ed92f3b8b426fc8425bd15b2bf9c875bb222de8b738022adf99f SHA512 8aff822e834d7d77f2b954b3f6de22d7de9659dac27b8a185b7ca060ff4b17bd38e287bb5c19043a53f5015a3f000d31be961695152bad0fb9f55785b2753d29
diff --git a/sys-kernel/cryptodev/cryptodev-1.9.ebuild b/sys-kernel/cryptodev/cryptodev-1.9.ebuild
new file mode 100644
index 0000000..7ac492c
--- /dev/null
+++ b/sys-kernel/cryptodev/cryptodev-1.9.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit linux-info linux-mod
+
+DESCRIPTION="device that allows access to Linux kernel cryptographic drivers"
+HOMEPAGE="http://cryptodev-linux.org/index.html"
+SRC_URI="http://nwl.cc/pub/cryptodev-linux/${PN}-linux-${PV}.tar.gz"
+KEYWORDS="~amd64 ~arm ~x86"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="examples"
+
+DEPEND="virtual/linux-sources"
+
+#test requires that the module is already loaded
+RESTRICT="test"
+
+S=${WORKDIR}/${PN}-linux-${PV}
+
+MODULE_NAMES="cryptodev(extra:${S})"
+BUILD_PARAMS="KERNEL_DIR=\"\${KV_OUT_DIR}\""
+
+PATCHES=(
+ "${FILESDIR}"/cryptodev-1.9-fix-build-with-4.14-629958.patch
+ "${FILESDIR}"/ioctl.c-Fix-build-with-linux-4.17.patch
+)
+
+pkg_pretend() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~CRYPTO ~CRYPTO_BLKCIPHER ~CRYPTO_AEAD"
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ if use kernel_linux ; then
+ linux-mod_pkg_setup
+ else
+ die "cryptodev ebuild only support linux"
+ fi
+ BUILD_TARGETS="build"
+ export KERNEL_DIR
+}
+
+src_install() {
+ linux-mod_src_install
+ if use examples ; then
+ docinto examples
+ dodoc example/*
+ fi
+ insinto /usr/include/crypto
+ doins crypto/cryptodev.h
+}
diff --git a/sys-kernel/cryptodev/cryptodev-9999.ebuild b/sys-kernel/cryptodev/cryptodev-9999.ebuild
new file mode 100644
index 0000000..9718273
--- /dev/null
+++ b/sys-kernel/cryptodev/cryptodev-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit linux-info linux-mod
+
+DESCRIPTION="device that allows access to Linux kernel cryptographic drivers"
+HOMEPAGE="http://cryptodev-linux.org/index.html"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/cryptodev-linux/cryptodev-linux.git"
+ S="${WORKDIR}/${PN}-${PV}"
+else
+ SRC_URI="http://nwl.cc/pub/cryptodev-linux/${PN}-linux-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+ S=${WORKDIR}/${PN}-linux-${PV}
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="examples"
+
+DEPEND="virtual/linux-sources"
+
+#test requires that the module is already loaded
+RESTRICT="test"
+
+MODULE_NAMES="cryptodev(extra:${S})"
+BUILD_PARAMS="KERNEL_DIR=\"\${KV_OUT_DIR}\""
+
+pkg_pretend() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~CRYPTO ~CRYPTO_BLKCIPHER ~CRYPTO_AEAD"
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ if use kernel_linux ; then
+ linux-mod_pkg_setup
+ else
+ die "cryptodev ebuild only support linux"
+ fi
+ BUILD_TARGETS="build"
+ export KERNEL_DIR
+}
+
+src_install() {
+ linux-mod_src_install
+ if use examples ; then
+ docinto examples
+ dodoc example/*
+ fi
+ insinto /usr/include/crypto
+ doins crypto/cryptodev.h
+}
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
new file mode 100644
index 0000000..8a78d5e
--- /dev/null
+++ b/sys-kernel/cryptodev/files/cryptodev-1.9-fix-build-with-4.14-629958.patch
@@ -0,0 +1,44 @@
+From f0d69774afb27ffc62bf353465fba145e70cb85a Mon Sep 17 00:00:00 2001
+From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
+Date: Mon, 4 Sep 2017 11:05:08 +0200
+Subject: [PATCH] ioctl.c: Fix build with linux 4.13
+
+git/ioctl.c:1127:3: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
+ {0, },
+ ^
+note: (near initialization for 'verbosity_ctl_dir[1]')
+git/ioctl.c:1136:3: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
+ {0, },
+ ^
+
+Linux kernel has added -Werror=designated-init around 4.11 (c834f0e8a8b)
+triggering build errors with gcc 5 and 6 (but not with gcc 4)
+
+Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ ioctl.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ioctl.c b/ioctl.c
+index 0385203..8d4a162 100644
+--- a/ioctl.c
++++ b/ioctl.c
+@@ -1124,7 +1124,7 @@ static struct ctl_table verbosity_ctl_dir[] = {
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },
+- {0, },
++ {},
+ };
+
+ static struct ctl_table verbosity_ctl_root[] = {
+@@ -1133,7 +1133,7 @@ static struct ctl_table verbosity_ctl_root[] = {
+ .mode = 0555,
+ .child = verbosity_ctl_dir,
+ },
+- {0, },
++ {},
+ };
+ static struct ctl_table_header *verbosity_sysctl_header;
+ static int __init init_cryptodev(void)
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
new file mode 100644
index 0000000..3eb81e4
--- /dev/null
+++ b/sys-kernel/cryptodev/files/ioctl.c-Fix-build-with-linux-4.17.patch
@@ -0,0 +1,39 @@
+From f60aa08c63fc02780554a0a12180a478ca27d49f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com>
+Date: Wed, 23 May 2018 18:43:39 +0300
+Subject: [PATCH] ioctl.c: Fix build with linux 4.17
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Since kernel 4.17-rc1, sys_* syscalls can no longer be called directly:
+819671ff849b ("syscalls: define and explain goal to not call syscalls in the kernel")
+
+Since cryptodev uses sys_close() - and this has been removed in commit:
+2ca2a09d6215 ("fs: add ksys_close() wrapper; remove in-kernel calls to sys_close()")
+cryptodev has to be updated to use the ksys_close() wrapper.
+
+Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
+---
+ ioctl.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ioctl.c b/ioctl.c
+index d831b0c..2571034 100644
+--- a/ioctl.c
++++ b/ioctl.c
+@@ -828,7 +828,11 @@ cryptodev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg_)
+ fd = clonefd(filp);
+ ret = put_user(fd, p);
+ if (unlikely(ret)) {
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
+ sys_close(fd);
++#else
++ ksys_close(fd);
++#endif
+ return ret;
+ }
+ return ret;
+--
+2.16.4
+
diff --git a/sys-kernel/cryptodev/metadata.xml b/sys-kernel/cryptodev/metadata.xml
new file mode 100644
index 0000000..c7bb627
--- /dev/null
+++ b/sys-kernel/cryptodev/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>swegener@gentoo.org</email>
+ <name>Sven Wegener</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-kernel/dracut-crypt-ssh/Manifest b/sys-kernel/dracut-crypt-ssh/Manifest
new file mode 100644
index 0000000..c720f60
--- /dev/null
+++ b/sys-kernel/dracut-crypt-ssh/Manifest
@@ -0,0 +1 @@
+DIST dracut-crypt-ssh-1.0.6.tar.gz 19549 BLAKE2B fe73e5abefd00b07bcba9d8f55994a937328767730acc5b1ee7583487dea25c8df2628c4c46703148458cac3b0ae32673318fa960e0628570ddfcbadfb61dbd3 SHA512 a6fd9159ad74dd09f549a030fcb0189a525190d244d247a743e1c2ae044708aa1bfc3b9c7fe9d245945fa1b90668fedf913b87030fc7aab56e5ab36785a2f83d
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
new file mode 100644
index 0000000..9ec7b6f
--- /dev/null
+++ b/sys-kernel/dracut-crypt-ssh/dracut-crypt-ssh-1.0.6-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="early unlocking of encrypted systems via ssh for dracut"
+HOMEPAGE="https://github.com/dracut-crypt-ssh/dracut-crypt-ssh"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="sys-kernel/dracut"
+RDEPEND="${DEPEND}
+ net-misc/dhcp
+ net-misc/dropbear"
+
+DOCS=("README.md")
diff --git a/sys-kernel/dracut-crypt-ssh/metadata.xml b/sys-kernel/dracut-crypt-ssh/metadata.xml
new file mode 100644
index 0000000..41b596c
--- /dev/null
+++ b/sys-kernel/dracut-crypt-ssh/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo@asgar.de</email>
+ <name>Christian Baumhof</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+<longdescription lang="en">
+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.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest
new file mode 100644
index 0000000..cac8681
--- /dev/null
+++ b/sys-kernel/dracut/Manifest
@@ -0,0 +1,5 @@
+DIST dracut-044.tar.xz 280004 BLAKE2B 5b9603eb769b542e2d56fae4d0f0fe250e7e60eb9c85f9c7b7a472b9d889a9f323b3ba1cbbeb1d5de10507498542275cd4430695cc8b48426b42c03d0672ea87 SHA512 bc788076e425b223d98cf0e0b15ff57d75d423991d7a67fb564a2857c38d5c3a21d846d2ca4523f9d4b0128bb981d09b5c26031435c5fc5e30f53080bca19b3d
+DIST dracut-045.tar.xz 292652 BLAKE2B 0e7c57ddca6757d59823afdc4ff23dcb06cc9cec317ece8cca14c5b6dfd2a7984fb8e857f5f48ad61922ba11b4b68944b366bddb02552efb52375f6e12802de7 SHA512 b57aab1f6fbdd5ad52a13a0eb99937b1abcd11507a2a3e6ec9bcb94e578cc32edc01a814ea2cef93158c27c17e3e40bcdd32a66457a20363f8136b8b546bbb4a
+DIST dracut-046.tar.xz 299520 BLAKE2B 1e2d848aa0db0e90734d8c60610a60b1f0ff67f8c4d4f9933bec0bc1290071b1b1ee3cdb6c3da5b82d8f6d4cc7561ee17d38685659a4a6ee48a9085e388dfced SHA512 75cefc184960024ef32f7bb5a0fe060e9c7d82dbfd0fe247d54b585e2ebbf0f8af5d5dc1be7e5e8cf2c3bc27b3293842c6361ae62d047289d0c59d7d40b09122
+DIST dracut-047.tar.xz 305836 BLAKE2B 18333ae1e24cfbbb6a152bf9ba2c48884821f6a506344259ba56c581a9f3efac7b4c88e8ca149ef1f83347a5e4d59acba61e42b8e0ab3a9e9beb8684d5db28b0 SHA512 03369726b6c2b682d0c9dead7b7dbd1c3989aaf2b4a561015634d33a94e5230d03cb634c3890191b19dd8c1c83389533ae1a46d45d2024ba885e0d2d46c5d035
+DIST dracut-048.tar.xz 308484 BLAKE2B b19c8122034a8b40cbc9d09245730900b59691c336f1d231e768786ad64068e0a8daf57ae9a4182ab50d9e1c683c9b7dcac354eb26d8a60f061db78121bc11c7 SHA512 97fcfd5d314ef40687c245d95d2f1d0f3f9ff0472e66b6e6324bf9bd6b98186104f9d71fd9af344126d6ea9fa47b744d52831a374225633225f6f17fb15c04e0
diff --git a/sys-kernel/dracut/dracut-044-r1.ebuild b/sys-kernel/dracut/dracut-044-r1.ebuild
new file mode 100644
index 0000000..d3f5fbf
--- /dev/null
+++ b/sys-kernel/dracut/dracut-044-r1.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bash-completion-r1 eutils linux-info multilib systemd
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ia64 ppc ~ppc64 sparc x86"
+IUSE="debug selinux systemd"
+
+RESTRICT="test"
+
+CDEPEND="virtual/udev
+ systemd? ( >=sys-apps/systemd-199 )
+ "
+RDEPEND="${CDEPEND}
+ app-arch/cpio
+ >=app-shells/bash-4.0
+ >sys-apps/kmod-5[tools]
+ || (
+ >=sys-apps/sysvinit-2.87-r3
+ sys-apps/systemd[sysv-utils]
+ )
+ >=sys-apps/util-linux-2.21
+
+ debug? ( dev-util/strace )
+ selinux? (
+ sys-libs/libselinux
+ sys-libs/libsepol
+ sec-policy/selinux-dracut
+ )
+ !>=app-shells/bash-4.4"
+DEPEND="${CDEPEND}
+ app-text/asciidoc
+ >=dev-libs/libxslt-1.1.26
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ virtual/pkgconfig
+ "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+ README.testsuite TODO )
+MY_LIBDIR=/usr/lib
+QA_MULTILIB_PATHS="
+ usr/lib/dracut/dracut-install
+ usr/lib/dracut/skipcpio
+ "
+
+PATCHES=(
+ "${FILESDIR}"/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch
+ "${FILESDIR}"/044-0002-systemd-initrd-add-initrd-root-device.target.patch
+ "${FILESDIR}"/044-0003-50-dracut.install-use-bin-bash-shebang.patch
+)
+
+#
+# Helper functions
+#
+
+# Removes module from modules.d.
+# $1 = module name
+# Module name can be specified without number prefix.
+rm_module() {
+ local force m
+ [[ $1 = -f ]] && force=-f
+
+ for m in $@; do
+ if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
+ rm ${force} --interactive=never -r "${modules_dir}"/$m
+ else
+ rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
+ fi
+ done
+}
+
+src_prepare() {
+ local libdirs="/$(get_libdir) /usr/$(get_libdir)"
+ if [[ ${SYMLINK_LIB} = yes ]]; then
+ # Preserve lib -> lib64 symlinks in initramfs
+ [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
+ fi
+ einfo "Setting libdirs to \"${libdirs}\" ..."
+ sed -e "3alibdirs=\"${libdirs}\"" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+
+ local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
+ einfo "Setting udevdir to ${udevdir}..."
+ sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+
+ if use systemd; then
+ local systemdutildir="$(systemd_get_utildir)"
+ local systemdsystemunitdir="$(systemd_get_unitdir)"
+ local systemdsystemconfdir="$("$(tc-getPKG_CONFIG)" systemd \
+ --variable=systemdsystemconfdir)"
+ [[ ${systemdsystemconfdir} ]] \
+ || systemdsystemconfdir=/etc/systemd/system
+ einfo "Setting systemdutildir to ${systemdutildir} and ..."
+ sed -e "5asystemdutildir=\"${systemdutildir}\"" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+ einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir} and..."
+ sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+ einfo "Setting systemdsystemconfdir to ${systemdsystemconfdir}..."
+ sed -e "7asystemdsystemconfdir=\"${systemdsystemconfdir}\"" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+ else
+ local systemdutildir="/lib/systemd"
+ einfo "Setting systemdutildir for standalone udev to" \
+ "${systemdutildir}..."
+ sed -e "5asystemdutildir=\"${systemdutildir}\"" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+ fi
+
+ epatch "${PATCHES[@]}"
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=(
+ --libdir="${MY_LIBDIR}"
+ --bashcompletiondir="$(get_bashcompdir)"
+ )
+
+ if use systemd; then
+ myconf+=( --systemdsystemunitdir="$(systemd_get_unitdir)" )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ tc-export CC
+ emake doc install/dracut-install skipcpio/skipcpio
+}
+
+src_install() {
+ default
+
+ local my_libdir="${MY_LIBDIR}"
+ local dracutlibdir="${my_libdir#/}/dracut"
+
+ echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
+
+ insinto "${dracutlibdir}/dracut.conf.d/"
+ newins dracut.conf.d/gentoo.conf.example gentoo.conf
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ dodir /var/lib/dracut/overlay
+
+ dohtml dracut.html
+
+ if ! use systemd; then
+ # Scripts in kernel/install.d are systemd-specific
+ rm -r "${D%/}/${my_libdir}/kernel" || die
+ fi
+
+ #
+ # Modules
+ #
+ local module
+ modules_dir="${D%/}/${dracutlibdir}/modules.d"
+
+ use debug || rm_module 95debug
+ use selinux || rm_module 98selinux
+
+ if use systemd; then
+ # With systemd following modules do not make sense
+ rm_module 96securityfs 97masterkey 98integrity
+ else
+ rm_module 00systemd 98dracut-systemd
+ # Without systemd following modules do not make sense
+ rm_module 00systemd-bootchart 01systemd-initrd 02systemd-networkd
+ fi
+
+ # Remove modules which won't work for sure
+ rm_module 95fcoe # no tools
+ # fips module depends on masked app-crypt/hmaccalc
+ rm_module 01fips 02fips-aesni
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_exists; then
+ ewarn ""
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ ewarn ""
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+ # Kernel configuration options descriptions:
+ local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
+ local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
+"(initramfs/initrd) support"
+
+ local opt desc
+
+ # Generate ERROR_* variables for check_extra_config.
+ for opt in ${CONFIG_CHECK}; do
+ opt=${opt#\~}
+ desc=desc_${opt}
+ eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
+ "is missing and REQUIRED'"
+ done
+
+ check_extra_config
+ echo
+ else
+ ewarn ""
+ ewarn "Your kernel configuration couldn't be checked. Do you have"
+ ewarn "/usr/src/linux/.config file there? Please check manually if"
+ ewarn "following options are enabled:"
+ ewarn ""
+ ewarn " CONFIG_BLK_DEV_INITRD"
+ ewarn " CONFIG_DEVTMPFS"
+ ewarn ""
+ fi
+
+ elog "To get additional features, a number of optional runtime"
+ elog "dependencies may be installed:"
+ elog ""
+ optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
+ sys-apps/iproute2
+ optfeature \
+ "Measure performance of the boot process for later visualisation" \
+ app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+ optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
+ optfeature "Load kernel modules and drop this privilege for real init" \
+ sys-libs/libcap
+ optfeature "Support CIFS" net-fs/cifs-utils
+ optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+ "sys-fs/cryptsetup[-static-libs]"
+ optfeature "Support for GPG-encrypted keys for crypt module" \
+ app-crypt/gnupg
+ optfeature \
+ "Allows use of dash instead of default bash (on your own risk)" \
+ app-shells/dash
+ optfeature "Support iSCSI" sys-block/open-iscsi
+ optfeature "Support Logical Volume Manager" sys-fs/lvm2
+ optfeature "Support MD devices, also known as software RAID devices" \
+ sys-fs/mdadm
+ optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+ optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
+ optfeature "Support network block devices" sys-block/nbd
+ optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+ optfeature \
+ "Install ssh and scp along with config files and specified keys" \
+ net-misc/openssh
+ optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+ app-admin/rsyslog
+}
diff --git a/sys-kernel/dracut/dracut-044-r3.ebuild b/sys-kernel/dracut/dracut-044-r3.ebuild
new file mode 100644
index 0000000..ba9c064
--- /dev/null
+++ b/sys-kernel/dracut/dracut-044-r3.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils linux-info toolchain-funcs systemd
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug selinux systemd"
+
+RESTRICT="test"
+
+CDEPEND="virtual/udev
+ systemd? (
+ >=sys-apps/systemd-199
+ virtual/pkgconfig
+ )
+ "
+RDEPEND="${CDEPEND}
+ app-arch/cpio
+ >=app-shells/bash-4.0
+ >sys-apps/kmod-5[tools]
+ || (
+ >=sys-apps/sysvinit-2.87-r3
+ sys-apps/systemd[sysv-utils]
+ )
+ >=sys-apps/util-linux-2.21
+
+ debug? ( dev-util/strace )
+ selinux? (
+ sys-libs/libselinux
+ sys-libs/libsepol
+ sec-policy/selinux-dracut
+ )
+ "
+DEPEND="${CDEPEND}
+ app-text/asciidoc
+ >=dev-libs/libxslt-1.1.26
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ virtual/pkgconfig
+ "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+ README.testsuite TODO )
+MY_LIBDIR=/usr/lib
+QA_MULTILIB_PATHS="
+ usr/lib/dracut/dracut-install
+ usr/lib/dracut/skipcpio
+ "
+
+PATCHES=(
+ "${FILESDIR}"/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch
+ "${FILESDIR}"/044-0002-systemd-initrd-add-initrd-root-device.target.patch
+ "${FILESDIR}"/044-0003-50-dracut.install-use-bin-bash-shebang.patch
+ "${FILESDIR}"/dracut-044-bash-4.4.patch
+ "${FILESDIR}"/dracut-044-preserve-xattrs-when-copying.patch
+)
+
+#
+# Helper functions
+#
+
+# Removes module from modules.d.
+# $1 = module name
+# Module name can be specified without number prefix.
+rm_module() {
+ local force m
+ [[ $1 = -f ]] && force=-f
+
+ for m in $@; do
+ if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
+ rm ${force} --interactive=never -r "${modules_dir}"/$m
+ else
+ rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
+ fi
+ done
+}
+
+src_prepare() {
+ local libdirs="/$(get_libdir) /usr/$(get_libdir)"
+ if [[ ${SYMLINK_LIB} = yes ]]; then
+ # Preserve lib -> lib64 symlinks in initramfs
+ [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
+ fi
+ einfo "Setting libdirs to \"${libdirs}\" ..."
+ sed -e "3alibdirs=\"${libdirs}\"" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+
+ local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
+ einfo "Setting udevdir to ${udevdir}..."
+ sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+
+ if ! use systemd; then
+ local systemdutildir="/lib/systemd"
+ einfo "Setting systemdutildir for standalone udev to" \
+ "${systemdutildir}..."
+ sed -e "5asystemdutildir=\"${systemdutildir}\"" \
+ -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+ fi
+
+ default
+}
+
+src_configure() {
+ local myconf=(
+ --libdir="${MY_LIBDIR}"
+ --bashcompletiondir="$(get_bashcompdir)"
+ )
+
+ if use systemd; then
+ myconf+=( --systemdsystemunitdir="$(systemd_get_systemunitdir)" )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ tc-export CC
+ emake doc install/dracut-install skipcpio/skipcpio
+}
+
+src_install() {
+ default
+
+ local my_libdir="${MY_LIBDIR}"
+ local dracutlibdir="${my_libdir#/}/dracut"
+
+ echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
+
+ insinto "${dracutlibdir}/dracut.conf.d/"
+ newins dracut.conf.d/gentoo.conf.example gentoo.conf
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ dodir /var/lib/dracut/overlay
+
+ dodoc dracut.html
+
+ if ! use systemd; then
+ # Scripts in kernel/install.d are systemd-specific
+ rm -r "${D%/}/${my_libdir}/kernel" || die
+ fi
+
+ #
+ # Modules
+ #
+ local module
+ modules_dir="${D%/}/${dracutlibdir}/modules.d"
+
+ use debug || rm_module 95debug
+ use selinux || rm_module 98selinux
+
+ if use systemd; then
+ # With systemd following modules do not make sense
+ rm_module 96securityfs 97masterkey 98integrity
+ else
+ rm_module 00systemd 98dracut-systemd
+ # Without systemd following modules do not make sense
+ rm_module 00systemd-bootchart 01systemd-initrd 02systemd-networkd
+ fi
+
+ # Remove modules which won't work for sure
+ rm_module 95fcoe # no tools
+ # fips module depends on masked app-crypt/hmaccalc
+ rm_module 01fips 02fips-aesni
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_exists; then
+ ewarn ""
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ ewarn ""
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+ # Kernel configuration options descriptions:
+ local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
+ local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
+"(initramfs/initrd) support"
+
+ local opt desc
+
+ # Generate ERROR_* variables for check_extra_config.
+ for opt in ${CONFIG_CHECK}; do
+ opt=${opt#\~}
+ desc=desc_${opt}
+ eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
+ "is missing and REQUIRED'"
+ done
+
+ check_extra_config
+ echo
+ else
+ ewarn ""
+ ewarn "Your kernel configuration couldn't be checked. Do you have"
+ ewarn "/usr/src/linux/.config file there? Please check manually if"
+ ewarn "following options are enabled:"
+ ewarn ""
+ ewarn " CONFIG_BLK_DEV_INITRD"
+ ewarn " CONFIG_DEVTMPFS"
+ ewarn ""
+ fi
+
+ elog "To get additional features, a number of optional runtime"
+ elog "dependencies may be installed:"
+ elog ""
+ optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
+ sys-apps/iproute2
+ optfeature \
+ "Measure performance of the boot process for later visualisation" \
+ app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+ optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
+ optfeature "Load kernel modules and drop this privilege for real init" \
+ sys-libs/libcap
+ optfeature "Support CIFS" net-fs/cifs-utils
+ optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+ "sys-fs/cryptsetup[-static-libs]"
+ optfeature "Support for GPG-encrypted keys for crypt module" \
+ app-crypt/gnupg
+ optfeature \
+ "Allows use of dash instead of default bash (on your own risk)" \
+ app-shells/dash
+ optfeature "Support iSCSI" sys-block/open-iscsi
+ optfeature "Support Logical Volume Manager" sys-fs/lvm2
+ optfeature "Support MD devices, also known as software RAID devices" \
+ sys-fs/mdadm
+ optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+ optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
+ optfeature "Support network block devices" sys-block/nbd
+ optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+ optfeature \
+ "Install ssh and scp along with config files and specified keys" \
+ net-misc/openssh
+ optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+ app-admin/rsyslog
+}
diff --git a/sys-kernel/dracut/dracut-045-r2.ebuild b/sys-kernel/dracut/dracut-045-r2.ebuild
new file mode 100644
index 0000000..396de86
--- /dev/null
+++ b/sys-kernel/dracut/dracut-045-r2.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils linux-info toolchain-funcs systemd
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ia64 ~mips ppc ~ppc64 sparc x86"
+IUSE="debug selinux"
+
+RESTRICT="test"
+
+CDEPEND="virtual/udev
+ virtual/pkgconfig
+ >=sys-apps/kmod-15[tools]
+ "
+RDEPEND="${CDEPEND}
+ app-arch/cpio
+ >=app-shells/bash-4.0:0
+ || (
+ >=sys-apps/sysvinit-2.87-r3
+ sys-apps/systemd[sysv-utils]
+ )
+ sys-apps/coreutils[xattr(-)]
+ >=sys-apps/util-linux-2.21
+
+ debug? ( dev-util/strace )
+ selinux? (
+ sys-libs/libselinux
+ sys-libs/libsepol
+ sec-policy/selinux-dracut
+ )
+ !net-analyzer/arping
+ "
+DEPEND="${CDEPEND}
+ app-text/asciidoc
+ >=dev-libs/libxslt-1.1.26
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+ README.testsuite TODO )
+
+QA_MULTILIB_PATHS="usr/lib/dracut/.*"
+
+PATCHES=(
+ "${FILESDIR}/045-systemdutildir.patch"
+)
+
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ --bashcompletiondir="$(get_bashcompdir)"
+ --systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ tc-export CC PKG_CONFIG
+
+ echo ./configure "${myconf[@]}"
+ ./configure "${myconf[@]}" || die
+}
+
+src_install() {
+ default
+
+ local dracutlibdir="usr/lib/dracut"
+
+ local libdirs="/$(get_libdir) /usr/$(get_libdir)"
+ if [[ ${SYMLINK_LIB} = yes ]]; then
+ # Preserve lib -> lib64 symlinks in initramfs
+ [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
+ fi
+
+ einfo "Setting libdirs to \"${libdirs}\" ..."
+ echo "libdirs=\"${libdirs}\"" > "${T}/gentoo.conf"
+ insinto "${dracutlibdir}/dracut.conf.d"
+ doins "${T}/gentoo.conf"
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ dodir /var/lib/dracut/overlay
+
+ dodoc dracut.html
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_exists; then
+ ewarn ""
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ ewarn ""
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+ # Kernel configuration options descriptions:
+ local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
+ local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
+"(initramfs/initrd) support"
+
+ local opt desc
+
+ # Generate ERROR_* variables for check_extra_config.
+ for opt in ${CONFIG_CHECK}; do
+ opt=${opt#\~}
+ desc=desc_${opt}
+ eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
+ "is missing and REQUIRED'"
+ done
+
+ check_extra_config
+ echo
+ else
+ ewarn ""
+ ewarn "Your kernel configuration couldn't be checked. Do you have"
+ ewarn "/usr/src/linux/.config file there? Please check manually if"
+ ewarn "following options are enabled:"
+ ewarn ""
+ ewarn " CONFIG_BLK_DEV_INITRD"
+ ewarn " CONFIG_DEVTMPFS"
+ ewarn ""
+ fi
+
+ elog "To get additional features, a number of optional runtime"
+ elog "dependencies may be installed:"
+ elog ""
+ optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
+ sys-apps/iproute2 "net-misc/iputils[arping]"
+ optfeature \
+ "Measure performance of the boot process for later visualisation" \
+ app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+ optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
+ optfeature "Load kernel modules and drop this privilege for real init" \
+ sys-libs/libcap
+ optfeature "Support CIFS" net-fs/cifs-utils
+ optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+ "sys-fs/cryptsetup[-static-libs]"
+ optfeature "Support for GPG-encrypted keys for crypt module" \
+ app-crypt/gnupg
+ optfeature \
+ "Allows use of dash instead of default bash (on your own risk)" \
+ app-shells/dash
+ optfeature "Support iSCSI" sys-block/open-iscsi
+ optfeature "Support Logical Volume Manager" sys-fs/lvm2
+ optfeature "Support MD devices, also known as software RAID devices" \
+ sys-fs/mdadm
+ optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+ optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
+ optfeature "Support network block devices" sys-block/nbd
+ optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+ optfeature \
+ "Install ssh and scp along with config files and specified keys" \
+ net-misc/openssh
+ optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+ app-admin/rsyslog
+}
diff --git a/sys-kernel/dracut/dracut-046-r1.ebuild b/sys-kernel/dracut/dracut-046-r1.ebuild
new file mode 100644
index 0000000..e3ba1f4
--- /dev/null
+++ b/sys-kernel/dracut/dracut-046-r1.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils linux-info toolchain-funcs systemd
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ia64 ~mips ppc ~ppc64 sparc x86"
+IUSE="debug selinux"
+
+RESTRICT="test"
+
+CDEPEND="virtual/udev
+ virtual/pkgconfig
+ >=sys-apps/kmod-15[tools]
+ "
+RDEPEND="${CDEPEND}
+ app-arch/cpio
+ >=app-shells/bash-4.0:0
+ || (
+ >=sys-apps/sysvinit-2.87-r3
+ sys-apps/systemd[sysv-utils]
+ )
+ sys-apps/coreutils[xattr(-)]
+ >=sys-apps/util-linux-2.21
+
+ debug? ( dev-util/strace )
+ selinux? (
+ sys-libs/libselinux
+ sys-libs/libsepol
+ sec-policy/selinux-dracut
+ )
+ !net-analyzer/arping
+ "
+DEPEND="${CDEPEND}
+ app-text/asciidoc
+ >=dev-libs/libxslt-1.1.26
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+ README.testsuite TODO )
+
+QA_MULTILIB_PATHS="usr/lib/dracut/.*"
+
+PATCHES=(
+ "${FILESDIR}/045-systemdutildir.patch"
+ "${FILESDIR}/046-amd-microcode.patch"
+)
+
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ --bashcompletiondir="$(get_bashcompdir)"
+ --systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ tc-export CC PKG_CONFIG
+
+ echo ./configure "${myconf[@]}"
+ ./configure "${myconf[@]}" || die
+}
+
+src_install() {
+ default
+
+ local dracutlibdir="usr/lib/dracut"
+
+ local libdirs="/$(get_libdir) /usr/$(get_libdir)"
+ if [[ ${SYMLINK_LIB} = yes ]]; then
+ # Preserve lib -> lib64 symlinks in initramfs
+ [[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
+ fi
+
+ einfo "Setting libdirs to \"${libdirs}\" ..."
+ echo "libdirs=\"${libdirs}\"" > "${T}/gentoo.conf"
+ insinto "${dracutlibdir}/dracut.conf.d"
+ doins "${T}/gentoo.conf"
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ dodir /var/lib/dracut/overlay
+
+ dodoc dracut.html
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_exists; then
+ ewarn ""
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ ewarn ""
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+ # Kernel configuration options descriptions:
+ local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
+ local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
+"(initramfs/initrd) support"
+
+ local opt desc
+
+ # Generate ERROR_* variables for check_extra_config.
+ for opt in ${CONFIG_CHECK}; do
+ opt=${opt#\~}
+ desc=desc_${opt}
+ eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
+ "is missing and REQUIRED'"
+ done
+
+ check_extra_config
+ echo
+ else
+ ewarn ""
+ ewarn "Your kernel configuration couldn't be checked. Do you have"
+ ewarn "/usr/src/linux/.config file there? Please check manually if"
+ ewarn "following options are enabled:"
+ ewarn ""
+ ewarn " CONFIG_BLK_DEV_INITRD"
+ ewarn " CONFIG_DEVTMPFS"
+ ewarn ""
+ fi
+
+ elog "To get additional features, a number of optional runtime"
+ elog "dependencies may be installed:"
+ elog ""
+ optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
+ sys-apps/iproute2 "net-misc/iputils[arping]"
+ optfeature \
+ "Measure performance of the boot process for later visualisation" \
+ app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+ optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
+ optfeature "Load kernel modules and drop this privilege for real init" \
+ sys-libs/libcap
+ optfeature "Support CIFS" net-fs/cifs-utils
+ optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+ "sys-fs/cryptsetup[-static-libs]"
+ optfeature "Support for GPG-encrypted keys for crypt module" \
+ app-crypt/gnupg
+ optfeature \
+ "Allows use of dash instead of default bash (on your own risk)" \
+ app-shells/dash
+ optfeature "Support iSCSI" sys-block/open-iscsi
+ optfeature "Support Logical Volume Manager" sys-fs/lvm2
+ optfeature "Support MD devices, also known as software RAID devices" \
+ sys-fs/mdadm
+ optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+ optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
+ optfeature "Support network block devices" sys-block/nbd
+ optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+ optfeature \
+ "Install ssh and scp along with config files and specified keys" \
+ net-misc/openssh
+ optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+ app-admin/rsyslog
+}
diff --git a/sys-kernel/dracut/dracut-047-r1.ebuild b/sys-kernel/dracut/dracut-047-r1.ebuild
new file mode 100644
index 0000000..5010bcc
--- /dev/null
+++ b/sys-kernel/dracut/dracut-047-r1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug selinux"
+
+# Tests need root privileges, bug #298014
+RESTRICT="test"
+
+COMMON_DEPEND=">=sys-apps/kmod-23[tools]
+ virtual/pkgconfig
+ virtual/udev
+ "
+RDEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ >=app-shells/bash-4.0:0
+ sys-apps/coreutils[xattr(-)]
+ || (
+ >=sys-apps/sysvinit-2.87-r3
+ sys-apps/systemd[sysv-utils]
+ )
+ >=sys-apps/util-linux-2.21
+
+ debug? ( dev-util/strace )
+ selinux? (
+ sec-policy/selinux-dracut
+ sys-libs/libselinux
+ sys-libs/libsepol
+ )
+ "
+DEPEND="${COMMON_DEPEND}
+ app-text/asciidoc
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ >=dev-libs/libxslt-1.1.26
+ "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+ README.testsuite TODO )
+
+QA_MULTILIB_PATHS="usr/lib/dracut/.*"
+
+PATCHES=(
+ "${FILESDIR}/045-systemdutildir.patch"
+ "${FILESDIR}/047-all-fix-issues-found-by-shellcheck.patch"
+ "${FILESDIR}/047-plymouth-fix-detection-of-plymouth-directory.patch"
+)
+
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ --bashcompletiondir="$(get_bashcompdir)"
+ --systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ tc-export CC PKG_CONFIG
+
+ echo ./configure "${myconf[@]}"
+ ./configure "${myconf[@]}" || die
+}
+
+src_install() {
+ default
+
+ local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
+ if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
+ # Preserve lib -> lib64 symlinks in initramfs
+ libdirs+=( /lib /usr/lib )
+ fi
+
+ einfo "Setting libdirs to \"${libdirs[*]}\" ..."
+ echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
+ insinto "/usr/lib/dracut/dracut.conf.d"
+ doins "${T}/gentoo.conf"
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ docinto html
+ dodoc dracut.html
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_exists; then
+ ewarn ""
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ ewarn ""
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+ # Kernel configuration options descriptions:
+ local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
+ ERROR_DEVTMPFS+='is missing and REQUIRED'
+ local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
+ ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
+
+ check_extra_config
+ echo
+ else
+ ewarn ""
+ ewarn "Your kernel configuration couldn't be checked."
+ ewarn "Please check manually if following options are enabled:"
+ ewarn ""
+ ewarn " CONFIG_BLK_DEV_INITRD"
+ ewarn " CONFIG_DEVTMPFS"
+ ewarn ""
+ fi
+
+ elog "To get additional features, a number of optional runtime"
+ elog "dependencies may be installed:"
+ elog ""
+ optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
+ sys-apps/iproute2 "net-misc/iputils[arping]"
+ optfeature \
+ "Measure performance of the boot process for later visualisation" \
+ app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+ optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
+ optfeature "Load kernel modules and drop this privilege for real init" \
+ sys-libs/libcap
+ optfeature "Support CIFS" net-fs/cifs-utils
+ optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+ "sys-fs/cryptsetup[-static-libs]"
+ optfeature "Support for GPG-encrypted keys for crypt module" \
+ app-crypt/gnupg
+ optfeature \
+ "Allows use of dash instead of default bash (on your own risk)" \
+ app-shells/dash
+ optfeature "Support iSCSI" sys-block/open-iscsi
+ optfeature "Support Logical Volume Manager" sys-fs/lvm2
+ optfeature "Support MD devices, also known as software RAID devices" \
+ sys-fs/mdadm
+ optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+ optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
+ optfeature "Support network block devices" sys-block/nbd
+ optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+ optfeature \
+ "Install ssh and scp along with config files and specified keys" \
+ net-misc/openssh
+ optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+ app-admin/rsyslog
+}
diff --git a/sys-kernel/dracut/dracut-048-r1.ebuild b/sys-kernel/dracut/dracut-048-r1.ebuild
new file mode 100644
index 0000000..274f7b9
--- /dev/null
+++ b/sys-kernel/dracut/dracut-048-r1.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug selinux"
+
+# Tests need root privileges, bug #298014
+RESTRICT="test"
+
+COMMON_DEPEND=">=sys-apps/kmod-23[tools]
+ virtual/pkgconfig
+ virtual/udev
+ "
+RDEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ >=app-shells/bash-4.0:0
+ sys-apps/coreutils[xattr(-)]
+ || (
+ >=sys-apps/sysvinit-2.87-r3
+ sys-apps/systemd[sysv-utils]
+ )
+ >=sys-apps/util-linux-2.21
+
+ debug? ( dev-util/strace )
+ selinux? (
+ sec-policy/selinux-dracut
+ sys-libs/libselinux
+ sys-libs/libsepol
+ )
+ "
+DEPEND="${COMMON_DEPEND}
+ app-text/asciidoc
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ >=dev-libs/libxslt-1.1.26
+ "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+ README.testsuite TODO )
+
+QA_MULTILIB_PATHS="usr/lib/dracut/.*"
+
+PATCHES=(
+ "${FILESDIR}"/048-dracut-install-simplify-ldd-parsing-logic.patch
+)
+
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ --bashcompletiondir="$(get_bashcompdir)"
+ --systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ tc-export CC PKG_CONFIG
+
+ echo ./configure "${myconf[@]}"
+ ./configure "${myconf[@]}" || die
+}
+
+src_install() {
+ default
+
+ local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
+ if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
+ # Preserve lib -> lib64 symlinks in initramfs
+ libdirs+=( /lib /usr/lib )
+ fi
+
+ einfo "Setting libdirs to \"${libdirs[*]}\" ..."
+ echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
+ insinto "/usr/lib/dracut/dracut.conf.d"
+ doins "${T}/gentoo.conf"
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ docinto html
+ dodoc dracut.html
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_exists; then
+ ewarn ""
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ ewarn ""
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+ # Kernel configuration options descriptions:
+ local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
+ ERROR_DEVTMPFS+='is missing and REQUIRED'
+ local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
+ ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
+
+ check_extra_config
+ echo
+ else
+ ewarn ""
+ ewarn "Your kernel configuration couldn't be checked."
+ ewarn "Please check manually if following options are enabled:"
+ ewarn ""
+ ewarn " CONFIG_BLK_DEV_INITRD"
+ ewarn " CONFIG_DEVTMPFS"
+ ewarn ""
+ fi
+
+ elog "To get additional features, a number of optional runtime"
+ elog "dependencies may be installed:"
+ elog ""
+ optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
+ sys-apps/iproute2 "net-misc/iputils[arping]"
+ optfeature \
+ "Measure performance of the boot process for later visualisation" \
+ app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+ optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
+ optfeature "Load kernel modules and drop this privilege for real init" \
+ sys-libs/libcap
+ optfeature "Support CIFS" net-fs/cifs-utils
+ optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+ "sys-fs/cryptsetup[-static-libs]"
+ optfeature "Support for GPG-encrypted keys for crypt module" \
+ app-crypt/gnupg
+ optfeature \
+ "Allows use of dash instead of default bash (on your own risk)" \
+ app-shells/dash
+ optfeature "Support iSCSI" sys-block/open-iscsi
+ optfeature "Support Logical Volume Manager" sys-fs/lvm2
+ optfeature "Support MD devices, also known as software RAID devices" \
+ sys-fs/mdadm
+ optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+ optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
+ optfeature "Support network block devices" sys-block/nbd
+ optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+ optfeature \
+ "Install ssh and scp along with config files and specified keys" \
+ net-misc/openssh
+ optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+ app-admin/rsyslog
+}
diff --git a/sys-kernel/dracut/dracut-048.ebuild b/sys-kernel/dracut/dracut-048.ebuild
new file mode 100644
index 0000000..122f8c7
--- /dev/null
+++ b/sys-kernel/dracut/dracut-048.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug selinux"
+
+# Tests need root privileges, bug #298014
+RESTRICT="test"
+
+COMMON_DEPEND=">=sys-apps/kmod-23[tools]
+ virtual/pkgconfig
+ virtual/udev
+ "
+RDEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ >=app-shells/bash-4.0:0
+ sys-apps/coreutils[xattr(-)]
+ || (
+ >=sys-apps/sysvinit-2.87-r3
+ sys-apps/systemd[sysv-utils]
+ )
+ >=sys-apps/util-linux-2.21
+
+ debug? ( dev-util/strace )
+ selinux? (
+ sec-policy/selinux-dracut
+ sys-libs/libselinux
+ sys-libs/libsepol
+ )
+ "
+DEPEND="${COMMON_DEPEND}
+ app-text/asciidoc
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ >=dev-libs/libxslt-1.1.26
+ "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+ README.testsuite TODO )
+
+QA_MULTILIB_PATHS="usr/lib/dracut/.*"
+
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ --bashcompletiondir="$(get_bashcompdir)"
+ --systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ tc-export CC PKG_CONFIG
+
+ echo ./configure "${myconf[@]}"
+ ./configure "${myconf[@]}" || die
+}
+
+src_install() {
+ default
+
+ local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
+ if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
+ # Preserve lib -> lib64 symlinks in initramfs
+ libdirs+=( /lib /usr/lib )
+ fi
+
+ einfo "Setting libdirs to \"${libdirs[*]}\" ..."
+ echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
+ insinto "/usr/lib/dracut/dracut.conf.d"
+ doins "${T}/gentoo.conf"
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ docinto html
+ dodoc dracut.html
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_exists; then
+ ewarn ""
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ ewarn ""
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+ # Kernel configuration options descriptions:
+ local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
+ ERROR_DEVTMPFS+='is missing and REQUIRED'
+ local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
+ ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
+
+ check_extra_config
+ echo
+ else
+ ewarn ""
+ ewarn "Your kernel configuration couldn't be checked."
+ ewarn "Please check manually if following options are enabled:"
+ ewarn ""
+ ewarn " CONFIG_BLK_DEV_INITRD"
+ ewarn " CONFIG_DEVTMPFS"
+ ewarn ""
+ fi
+
+ elog "To get additional features, a number of optional runtime"
+ elog "dependencies may be installed:"
+ elog ""
+ optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
+ sys-apps/iproute2 "net-misc/iputils[arping]"
+ optfeature \
+ "Measure performance of the boot process for later visualisation" \
+ app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+ optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
+ optfeature "Load kernel modules and drop this privilege for real init" \
+ sys-libs/libcap
+ optfeature "Support CIFS" net-fs/cifs-utils
+ optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+ "sys-fs/cryptsetup[-static-libs]"
+ optfeature "Support for GPG-encrypted keys for crypt module" \
+ app-crypt/gnupg
+ optfeature \
+ "Allows use of dash instead of default bash (on your own risk)" \
+ app-shells/dash
+ optfeature "Support iSCSI" sys-block/open-iscsi
+ optfeature "Support Logical Volume Manager" sys-fs/lvm2
+ optfeature "Support MD devices, also known as software RAID devices" \
+ sys-fs/mdadm
+ optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+ optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
+ optfeature "Support network block devices" sys-block/nbd
+ optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+ optfeature \
+ "Install ssh and scp along with config files and specified keys" \
+ net-misc/openssh
+ optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+ app-admin/rsyslog
+}
diff --git a/sys-kernel/dracut/dracut-9999.ebuild b/sys-kernel/dracut/dracut-9999.ebuild
new file mode 100644
index 0000000..a686d06
--- /dev/null
+++ b/sys-kernel/dracut/dracut-9999.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dracutdevs/dracut"
+else
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~alpha amd64 ~arm ia64 ~mips ~ppc ~ppc64 sparc x86"
+ SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+fi
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://dracut.wiki.kernel.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug selinux"
+
+# Tests need root privileges, bug #298014
+RESTRICT="test"
+
+COMMON_DEPEND=">=sys-apps/kmod-23[tools]
+ virtual/pkgconfig
+ virtual/udev
+ "
+RDEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ >=app-shells/bash-4.0:0
+ sys-apps/coreutils[xattr(-)]
+ || (
+ >=sys-apps/sysvinit-2.87-r3
+ sys-apps/systemd[sysv-utils]
+ )
+ >=sys-apps/util-linux-2.21
+
+ debug? ( dev-util/strace )
+ selinux? (
+ sec-policy/selinux-dracut
+ sys-libs/libselinux
+ sys-libs/libsepol
+ )
+ "
+DEPEND="${COMMON_DEPEND}
+ app-text/asciidoc
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ >=dev-libs/libxslt-1.1.26
+ "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+ README.testsuite TODO )
+
+QA_MULTILIB_PATHS="usr/lib/dracut/.*"
+
+PATCHES=(
+)
+
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ --bashcompletiondir="$(get_bashcompdir)"
+ --systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ tc-export CC PKG_CONFIG
+
+ echo ./configure "${myconf[@]}"
+ ./configure "${myconf[@]}" || die
+}
+
+src_install() {
+ default
+
+ local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
+ if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
+ # Preserve lib -> lib64 symlinks in initramfs
+ libdirs+=( /lib /usr/lib )
+ fi
+
+ einfo "Setting libdirs to \"${libdirs[*]}\" ..."
+ echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
+ insinto "/usr/lib/dracut/dracut.conf.d"
+ doins "${T}/gentoo.conf"
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ docinto html
+ dodoc dracut.html
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_exists; then
+ ewarn ""
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ ewarn ""
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+ # Kernel configuration options descriptions:
+ local ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
+ ERROR_DEVTMPFS+='is missing and REQUIRED'
+ local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
+ ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
+
+ check_extra_config
+ echo
+ else
+ ewarn ""
+ ewarn "Your kernel configuration couldn't be checked."
+ ewarn "Please check manually if following options are enabled:"
+ ewarn ""
+ ewarn " CONFIG_BLK_DEV_INITRD"
+ ewarn " CONFIG_DEVTMPFS"
+ ewarn ""
+ fi
+
+ elog "To get additional features, a number of optional runtime"
+ elog "dependencies may be installed:"
+ elog ""
+ optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
+ sys-apps/iproute2 "net-misc/iputils[arping]"
+ optfeature \
+ "Measure performance of the boot process for later visualisation" \
+ app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+ optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
+ optfeature "Load kernel modules and drop this privilege for real init" \
+ sys-libs/libcap
+ optfeature "Support CIFS" net-fs/cifs-utils
+ optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+ "sys-fs/cryptsetup[-static-libs]"
+ optfeature "Support for GPG-encrypted keys for crypt module" \
+ app-crypt/gnupg
+ optfeature \
+ "Allows use of dash instead of default bash (on your own risk)" \
+ app-shells/dash
+ optfeature "Support iSCSI" sys-block/open-iscsi
+ optfeature "Support Logical Volume Manager" sys-fs/lvm2
+ optfeature "Support MD devices, also known as software RAID devices" \
+ sys-fs/mdadm
+ optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+ optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
+ optfeature "Support network block devices" sys-block/nbd
+ optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+ optfeature \
+ "Install ssh and scp along with config files and specified keys" \
+ net-misc/openssh
+ optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+ app-admin/rsyslog
+}
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
new file mode 100644
index 0000000..fd6f118
--- /dev/null
+++ b/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch
@@ -0,0 +1,32 @@
+From c41df7e1db1adc51399ab2c22f251b15eb2065b1 Mon Sep 17 00:00:00 2001
+From: Alexander Tsoy <alexander@tsoy.me>
+Date: Tue, 5 Jan 2016 22:11:57 +0300
+Subject: [PATCH] base/dracut-lib.sh:dev_unit_name() guard against $dev
+ beginning with "-"
+
+crypt/parse-crypt.sh generate initqueue job which always call
+dev_unit_name() with an argument beginning with "-". This results
+in the following error:
+
+dracut-initqueue[307]: + systemd-escape -p -cfb4aa43-2f02-4c6b-a313-60ea99288087
+dracut-initqueue[307]: systemd-escape: invalid option -- 'c'
+---
+ modules.d/99base/dracut-lib.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
+index ad03394..0a0b1b9 100755
+--- a/modules.d/99base/dracut-lib.sh
++++ b/modules.d/99base/dracut-lib.sh
+@@ -874,7 +874,7 @@ dev_unit_name()
+ local dev="$1"
+
+ if command -v systemd-escape >/dev/null; then
+- systemd-escape -p "$dev"
++ systemd-escape -p -- "$dev"
+ return
+ fi
+
+--
+2.10.2
+
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
new file mode 100644
index 0000000..21cb679
--- /dev/null
+++ b/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch
@@ -0,0 +1,24 @@
+From d4efc0aeeecc470d9a267b7f3c130f472488905c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 25 May 2016 15:06:29 +0200
+Subject: [PATCH] systemd-initrd: add initrd-root-device.target
+
+---
+ modules.d/01systemd-initrd/module-setup.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh
+index fb6a9ea..c1ccd2a 100755
+--- a/modules.d/01systemd-initrd/module-setup.sh
++++ b/modules.d/01systemd-initrd/module-setup.sh
+@@ -28,6 +28,7 @@ install() {
+ inst_multiple -o \
+ $systemdsystemunitdir/initrd.target \
+ $systemdsystemunitdir/initrd-fs.target \
++ $systemdsystemunitdir/initrd-root-device.target \
+ $systemdsystemunitdir/initrd-root-fs.target \
+ $systemdsystemunitdir/initrd-switch-root.target \
+ $systemdsystemunitdir/initrd-switch-root.service \
+--
+2.10.2
+
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
new file mode 100644
index 0000000..85ebc7e
--- /dev/null
+++ b/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch
@@ -0,0 +1,23 @@
+From 69395a528aed99ec04b16c14ebacf4c2e10afd26 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Fri, 4 Nov 2016 13:09:28 -0400
+Subject: [PATCH] 50-dracut.install: use /bin/bash shebang
+
+This script utilizes several bash-specific constructs.
+---
+ 50-dracut.install | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/50-dracut.install b/50-dracut.install
+index 7d081d5..54c71d4 100755
+--- a/50-dracut.install
++++ b/50-dracut.install
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+
+ COMMAND="$1"
+ KERNEL_VERSION="$2"
+--
+2.10.2
+
diff --git a/sys-kernel/dracut/files/045-systemdutildir.patch b/sys-kernel/dracut/files/045-systemdutildir.patch
new file mode 100644
index 0000000..e56abba
--- /dev/null
+++ b/sys-kernel/dracut/files/045-systemdutildir.patch
@@ -0,0 +1,45 @@
+From ed5cc98864c28eab2c4cb45ec0f67450699aaaa8 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Mon, 3 Jul 2017 22:39:42 -0400
+Subject: [PATCH] dracut.sh: improve udevdir and systemdutildir fallback logic
+
+Check for a common binary in systemdutildir. This resolves an issue on
+split-usr systems, where it is common to have both /lib/systemd[/system]
+and /usr/lib/systemd[/user] present.
+
+Check for systemd-udevd specifically, since some distros (Gentoo) allow
+udev to be installed without the rest of the systemd stack.
+
+Similar logic is applied to udevdir simply for consistency.
+---
+ dracut.sh | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 64d94201..67c12a72 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1266,16 +1266,16 @@ done
+ [[ -d $udevdir ]] \
+ || udevdir="$(pkg-config udev --variable=udevdir 2>/dev/null)"
+ if ! [[ -d "$udevdir" ]]; then
+- [[ ! -h /lib ]] && [[ -d /lib/udev ]] && udevdir=/lib/udev
+- [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
++ [[ -e /lib/udev/collect ]] && udevdir=/lib/udev
++ [[ -e /usr/lib/udev/collect ]] && udevdir=/usr/lib/udev
+ fi
+
+ [[ -d $systemdutildir ]] \
+ || systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null)
+
+ if ! [[ -d "$systemdutildir" ]]; then
+- [[ ! -h /lib ]] && [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd
+- [[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd
++ [[ -e /lib/systemd/systemd-udevd ]] && systemdutildir=/lib/systemd
++ [[ -e /usr/lib/systemd/systemd-udevd ]] && systemdutildir=/usr/lib/systemd
+ fi
+
+ [[ -d $systemdsystemunitdir ]] \
+--
+2.13.2
+
diff --git a/sys-kernel/dracut/files/046-amd-microcode.patch b/sys-kernel/dracut/files/046-amd-microcode.patch
new file mode 100644
index 0000000..c351275
--- /dev/null
+++ b/sys-kernel/dracut/files/046-amd-microcode.patch
@@ -0,0 +1,30 @@
+From a1250a704e33c59f2395aaad054db1c745a5c98a Mon Sep 17 00:00:00 2001
+From: Daniel Molkentin <dmolkentin@suse.com>
+Date: Tue, 12 Dec 2017 17:48:36 +0100
+Subject: [PATCH] Simplify microcode lookup for for AMD CPUs
+
+---
+ dracut-functions.sh | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 112b2434..d7fc5303 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -661,11 +661,8 @@ get_ucode_file ()
+ local stepping=`grep -E "stepping" /proc/cpuinfo | head -1 | sed s/.*:\ //`
+
+ if [[ "$(get_cpu_vendor)" == "AMD" ]]; then
+- # If family greater than or equal to 0x16
+- if [[ $family -ge 22 ]]; then
+- printf "microcode_amd_fam16h.bin"
+- elif [[ $family -eq 21 ]]; then
+- printf "microcode_amd_fam15h.bin"
++ if [[ $family -ge 21 ]]; then
++ printf "microcode_amd_fam%xh.bin" $family
+ else
+ printf "microcode_amd.bin"
+ fi
+--
+2.16.0.rc0
+
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
new file mode 100644
index 0000000..d5cbe04
--- /dev/null
+++ b/sys-kernel/dracut/files/047-all-fix-issues-found-by-shellcheck.patch
@@ -0,0 +1,77 @@
+From 3aa37cafde734719f2377600a17459fad30edfbc Mon Sep 17 00:00:00 2001
+From: Lukas Nykryn <lnykryn@redhat.com>
+Date: Fri, 2 Mar 2018 12:29:46 +0100
+Subject: [PATCH 06/14] all: fix issues found by shellcheck
+To: <initramfs@vger.kernel.org>
+
+Error: SHELLCHECK_WARNING:
+/usr/lib/dracut/dracut-init.sh:939:20: error: Argument to implicit -n is always true due to literal strings. [SC2157]
+ 937| dracut_kernel_post() {
+ 938| for _f in modules.builtin.bin modules.builtin modules.order; do
+ 939|-> [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
+ 940| done
+ 941|
+
+Error: SHELLCHECK_WARNING:
+/usr/lib/dracut/modules.d/98syslog/parse-syslog-opts.sh:18:12: error: This expression is constant. Did you forget a $ somewhere? [SC2078]
+ 16| elif [ -e /sbin/syslogd ]; then
+ 17| syslogtype="syslogd"
+ 18|-> elif [ /sbin/syslog-ng ]; then
+ 19| syslogtype="syslog-ng"
+ 20| else
+
+Error: SHELLCHECK_WARNING:
+/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]
+ 13| strstr "$d" "${luks##luks-}" && return 0
+ 14| if [ -n "$dev" ]; then
+ 15|-> for _dev in "$(devnames $d)"; do
+ 16| [ "$dev" -ef "$_dev" ] && return 0
+ 17| done
+---
+ dracut-init.sh | 2 +-
+ modules.d/90crypt/crypt-lib.sh | 2 +-
+ modules.d/98syslog/parse-syslog-opts.sh | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/dracut-init.sh b/dracut-init.sh
+index 53e6f13a..1278c638 100644
+--- a/dracut-init.sh
++++ b/dracut-init.sh
+@@ -942,7 +942,7 @@ for_each_kmod_dep() {
+
+ dracut_kernel_post() {
+ for _f in modules.builtin.bin modules.builtin modules.order; do
+- [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
++ [[ -e $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
+ done
+
+ # generate module dependencies for the initrd
+diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
+index 532b9a71..bbf485e0 100755
+--- a/modules.d/90crypt/crypt-lib.sh
++++ b/modules.d/90crypt/crypt-lib.sh
+@@ -12,7 +12,7 @@ crypttab_contains() {
+ strstr "${l##luks-}" "${luks##luks-}" && return 0
+ strstr "$d" "${luks##luks-}" && return 0
+ if [ -n "$dev" ]; then
+- for _dev in "$(devnames $d)"; do
++ for _dev in $(devnames $d); do
+ [ "$dev" -ef "$_dev" ] && return 0
+ done
+ fi
+diff --git a/modules.d/98syslog/parse-syslog-opts.sh b/modules.d/98syslog/parse-syslog-opts.sh
+index 50ec2759..9ec6ad47 100755
+--- a/modules.d/98syslog/parse-syslog-opts.sh
++++ b/modules.d/98syslog/parse-syslog-opts.sh
+@@ -15,7 +15,7 @@ detect_syslog() {
+ syslogtype="rsyslogd"
+ elif [ -e /sbin/syslogd ]; then
+ syslogtype="syslogd"
+- elif [ /sbin/syslog-ng ]; then
++ elif [ -e /sbin/syslog-ng ]; then
+ syslogtype="syslog-ng"
+ else
+ warn "Could not find any syslog binary although the syslogmodule is selected to be installed. Please check."
+--
+2.16.1
+
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
new file mode 100644
index 0000000..42f8772
--- /dev/null
+++ b/sys-kernel/dracut/files/047-plymouth-fix-detection-of-plymouth-directory.patch
@@ -0,0 +1,31 @@
+From fe6c7e0f06cde65effb3503a47c31ac39aceefb6 Mon Sep 17 00:00:00 2001
+From: Alexander Tsoy <alexander@tsoy.me>
+Date: Fri, 23 Mar 2018 11:52:27 +0300
+Subject: [PATCH 14/14] plymouth: fix detection of plymouth directory
+To: <initramfs@vger.kernel.org>
+
+Some distros have both /usr/lib/plymouth and /usr/libexec/plymouth
+directorirs, so we should check the existance of plymouth-populate-initrd
+script.
+
+Fixes: 421b46f8ae89cfe2b62e880a8a5079ee8c1b3aae
+---
+ modules.d/50plymouth/module-setup.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
+index 5fbca8b0..b51913e8 100755
+--- a/modules.d/50plymouth/module-setup.sh
++++ b/modules.d/50plymouth/module-setup.sh
+@@ -6,7 +6,7 @@ pkglib_dir() {
+ _dirs+=" /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/plymouth"
+ fi
+ for _dir in $_dirs; do
+- if [ -d $_dir ]; then
++ if [ -x $_dir/plymouth-populate-initrd ]; then
+ echo $_dir
+ return
+ fi
+--
+2.16.1
+
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
new file mode 100644
index 0000000..aa9c543
--- /dev/null
+++ b/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch
@@ -0,0 +1,41 @@
+From 6d886bb74d1608e4565d926aa259ea5afc9df7b9 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Thu, 4 Oct 2018 16:45:47 -0400
+Subject: [PATCH] dracut-install: simplify ldd parsing logic
+
+The previous logic would not handle absolute paths on the left side of
+the "=>" properly. For example, on Gentoo ARM64, ldd outputs this:
+
+ /lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1
+
+At runtime, the kernel tries to load the file from /lib, and fails if we
+only provide it in /lib64.
+
+Instead of looking for the first slash after the "=>", just look for the
+first slash, period. This would fail if we somehow had a relative path
+on the left side (foo/libbar.so), but I'm not aware of any binaries that
+would contain such an entry in DT_NEEDED.
+
+Bug: https://bugs.gentoo.org/667752
+Signed-off-by: Mike Gilbert <floppym@gentoo.org>
+---
+ install/dracut-install.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/install/dracut-install.c b/install/dracut-install.c
+index 88bca1d44..5f352b360 100644
+--- a/install/dracut-install.c
++++ b/install/dracut-install.c
+@@ -479,11 +479,7 @@ static int resolve_deps(const char *src)
+ if (strstr(buf, destrootdir))
+ break;
+
+- p = strstr(buf, "=>");
+- if (!p)
+- p = buf;
+-
+- p = strchr(p, '/');
++ p = strchr(buf, '/');
+ if (p) {
+ char *q;
+
diff --git a/sys-kernel/dracut/files/dracut-044-bash-4.4.patch b/sys-kernel/dracut/files/dracut-044-bash-4.4.patch
new file mode 100644
index 0000000..3144c8e
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-044-bash-4.4.patch
@@ -0,0 +1,80 @@
+diff -urN dracut-044.orig/modules.d/50drm/module-setup.sh dracut-044/modules.d/50drm/module-setup.sh
+--- dracut-044.orig/modules.d/50drm/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
++++ dracut-044/modules.d/50drm/module-setup.sh 2016-09-28 02:50:08.914967926 +0300
+@@ -24,9 +24,9 @@
+ local _fname _fcont
+ while read _fname || [ -n "$_fname" ]; do
+ case "$_fname" in
+- *.ko) _fcont="$(< $_fname)" ;;
+- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
+- *.ko.xz) _fcont="$(xz -dc $_fname)" ;;
++ *.ko) _fcont="$(< $_fname tr -d \\0)" ;;
++ *.ko.gz) _fcont="$(gzip -dc $_fname | tr -d \\0)" ;;
++ *.ko.xz) _fcont="$(xz -dc $_fname | tr -d \\0)" ;;
+ esac
+ [[ $_fcont =~ $_drm_drivers
+ && ! $_fcont =~ iw_handler_get_spy ]] \
+diff -urN dracut-044.orig/modules.d/90kernel-modules/module-setup.sh dracut-044/modules.d/90kernel-modules/module-setup.sh
+--- dracut-044.orig/modules.d/90kernel-modules/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
++++ dracut-044/modules.d/90kernel-modules/module-setup.sh 2016-09-28 02:49:11.725390294 +0300
+@@ -10,9 +10,9 @@
+ function bmf1() {
+ local _f
+ while read _f || [ -n "$_f" ]; do case "$_f" in
+- *.ko) [[ $(< $_f) =~ $_blockfuncs ]] && echo "$_f" ;;
+- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
+- *.ko.xz) [[ $(xz -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
++ *.ko) [[ $(< $_f tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;;
++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;;
++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;;
+ esac
+ done
+ return 0
+diff -urN dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh dracut-044/modules.d/90kernel-network-modules/module-setup.sh
+--- dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
++++ dracut-044/modules.d/90kernel-network-modules/module-setup.sh 2016-09-28 02:51:08.202422231 +0300
+@@ -26,9 +26,9 @@
+ while read _fname; do
+ [[ $_fname =~ $_unwanted_drivers ]] && continue
+ case "$_fname" in
+- *.ko) _fcont="$(< $_fname)" ;;
+- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
+- *.ko.xz) _fcont="$(xz -dc $_fname)" ;;
++ *.ko) _fcont="$(< $_fname tr -d \\0)" ;;
++ *.ko.gz) _fcont="$(gzip -dc $_fname | tr -d \\0)" ;;
++ *.ko.xz) _fcont="$(xz -dc $_fname | tr -d \\0)" ;;
+ esac
+ [[ $_fcont =~ $_net_drivers
+ && ! $_fcont =~ iw_handler_get_spy ]] \
+diff -urN dracut-044.orig/modules.d/90multipath/module-setup.sh dracut-044/modules.d/90multipath/module-setup.sh
+--- dracut-044.orig/modules.d/90multipath/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
++++ dracut-044/modules.d/90multipath/module-setup.sh 2016-09-28 02:49:11.726390235 +0300
+@@ -58,9 +58,9 @@
+ local _f
+ while read _f || [ -n "$_f" ]; do
+ case "$_f" in
+- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;;
+- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
+- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
++ *.ko) [[ $(< $_f tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
+ esac
+ done
+ return 0
+diff -urN dracut-044.orig/modules.d/95iscsi/module-setup.sh dracut-044/modules.d/95iscsi/module-setup.sh
+--- dracut-044.orig/modules.d/95iscsi/module-setup.sh 2015-11-25 16:22:28.000000000 +0300
++++ dracut-044/modules.d/95iscsi/module-setup.sh 2016-09-28 02:49:11.726390235 +0300
+@@ -168,9 +168,9 @@
+ local _f
+ while read _f || [ -n "$_f" ]; do
+ case "$_f" in
+- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;;
+- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
+- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
++ *.ko) [[ $(< $_f tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
++ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
++ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;;
+ esac
+ done
+ return 0
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
new file mode 100644
index 0000000..3146d84
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch
@@ -0,0 +1,51 @@
+From 61c761bc2c35fb244d46fbbde97161f5927071dc Mon Sep 17 00:00:00 2001
+From: Stefan Berger <stefanb@us.ibm.com>
+Date: Tue, 25 Oct 2016 15:09:49 -0400
+Subject: [PATCH] dracut-install: preserve extended attributes when copying
+ files
+
+Preserve extended attributes when copying files using dracut-install.
+
+The copying of extended attributes avoids file execution denials when
+the Linux Integrity Measurement's Appraisal mode is active. In that mode
+executables need their file signatures copied. In particular, this patch
+solves the problem that dependent libaries are not included in the
+initramfs since the copied programs could not be executed due to missing
+signatures. The following audit record shows the type of failure that
+is now prevented:
+
+type=INTEGRITY_DATA msg=audit(1477409025.492:30065): pid=922 uid=0
+ auid=4294967295 ses=4294967295
+ subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
+ op="appraise_data" cause="IMA-signature-required"
+ comm="ld-linux-x86-64"
+ name="/var/tmp/dracut.R6ySa4/initramfs/usr/bin/journalctl"
+ dev="dm-0" ino=37136 res=0
+
+Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
+---
+ install/dracut-install.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/install/dracut-install.c b/install/dracut-install.c
+index fe30bba..c0f1c17 100644
+--- a/install/dracut-install.c
++++ b/install/dracut-install.c
+@@ -294,7 +294,7 @@ static int cp(const char *src, const char *dst)
+ normal_copy:
+ pid = fork();
+ if (pid == 0) {
+- execlp("cp", "cp", "--reflink=auto", "--sparse=auto", "--preserve=mode,timestamps", "-fL", src, dst,
++ execlp("cp", "cp", "--reflink=auto", "--sparse=auto", "--preserve=mode,timestamps,xattr", "-fL", src, dst,
+ NULL);
+ _exit(EXIT_FAILURE);
+ }
+@@ -302,7 +302,7 @@ static int cp(const char *src, const char *dst)
+ while (waitpid(pid, &ret, 0) < 0) {
+ if (errno != EINTR) {
+ ret = -1;
+- log_error("Failed: cp --reflink=auto --sparse=auto --preserve=mode,timestamps -fL %s %s", src,
++ log_error("Failed: cp --reflink=auto --sparse=auto --preserve=mode,timestamps,xattr -fL %s %s", src,
+ dst);
+ break;
+ }
diff --git a/sys-kernel/dracut/metadata.xml b/sys-kernel/dracut/metadata.xml
new file mode 100644
index 0000000..153efe6
--- /dev/null
+++ b/sys-kernel/dracut/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>alexander@tsoy.me</email>
+ <name>Alexander Tsoy</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+ <use>
+ <flag name="debug">Module installing additional tools like strace, file
+ editor, ssh and more</flag>
+ </use>
+ <longdescription lang="en">
+ Generic, modular initramfs generation tool that can be used across various
+ distributions.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-kernel/genkernel-next/Manifest b/sys-kernel/genkernel-next/Manifest
new file mode 100644
index 0000000..1cb179e
--- /dev/null
+++ b/sys-kernel/genkernel-next/Manifest
@@ -0,0 +1,2 @@
+DIST genkernel-next-66.tar.gz 2402393 BLAKE2B 2b37e9e7a49691e2d07e59c260a360f95b13ca177567b5bee1312a6103a524b5be4f0d0241bc366853086e789b3366b48ccb84cfbb2dd77ace048105314a2276 SHA512 c4c1ef8b389da6db87a00179139d677137938ac20718865b876026213b3a4c650db2e856517418bc5aae7c96657d9eab9ef2bfbdef9257bf2b7623c387ea8d87
+DIST genkernel-next-68.tar.gz 2402773 BLAKE2B 980689aeb6a02401d0f4294062e0d30f1b3c6823bddc746c0b4eafa28862df1301d05448d07d79d76e700d6eded8b0f37b03985882283aff37567b5fe9f72ae3 SHA512 7802fa57727dce664ff0354980132490bf55ccdd514c8fe4550eb5aa4a2a3c55663970ba67173878891f1b2b5272d529141b963067949e650b914c10e7801a28
diff --git a/sys-kernel/genkernel-next/genkernel-next-66.ebuild b/sys-kernel/genkernel-next/genkernel-next-66.ebuild
new file mode 100644
index 0000000..ee350d7
--- /dev/null
+++ b/sys-kernel/genkernel-next/genkernel-next-66.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+SRC_URI="https://github.com/Sabayon/genkernel-next/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~alpha amd64 ~arm ia64 ppc ppc64 x86"
+inherit bash-completion-r1
+
+DESCRIPTION="Gentoo automatic kernel building scripts, reloaded"
+HOMEPAGE="https://www.gentoo.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="cryptsetup dmraid gpg iscsi mdadm plymouth selinux"
+DOCS=( AUTHORS )
+
+DEPEND="app-text/asciidoc
+ sys-fs/e2fsprogs
+ !sys-fs/eudev[-kmod,modutils]
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ !sys-kernel/genkernel
+ cryptsetup? ( sys-fs/cryptsetup )
+ dmraid? ( >=sys-fs/dmraid-1.0.0_rc16 )
+ gpg? ( app-crypt/gnupg )
+ iscsi? ( sys-block/open-iscsi )
+ mdadm? ( sys-fs/mdadm )
+ plymouth? ( sys-boot/plymouth )
+ app-portage/portage-utils
+ app-arch/cpio
+ >=app-misc/pax-utils-0.6
+ !<sys-apps/openrc-0.9.9
+ sys-apps/util-linux
+ sys-block/thin-provisioning-tools
+ sys-fs/lvm2"
+
+src_prepare() {
+ default
+ sed -i "/^GK_V=/ s:GK_V=.*:GK_V=${PV}:g" "${S}/genkernel" || \
+ die "Could not setup release"
+}
+
+src_install() {
+ default
+
+ doman "${S}"/genkernel.8
+
+ newbashcomp "${S}"/genkernel.bash genkernel
+}
diff --git a/sys-kernel/genkernel-next/genkernel-next-68.ebuild b/sys-kernel/genkernel-next/genkernel-next-68.ebuild
new file mode 100644
index 0000000..842dfa4
--- /dev/null
+++ b/sys-kernel/genkernel-next/genkernel-next-68.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+SRC_URI="https://github.com/Sabayon/genkernel-next/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ppc ppc64 x86"
+inherit bash-completion-r1
+
+DESCRIPTION="Gentoo automatic kernel building scripts, reloaded"
+HOMEPAGE="https://www.gentoo.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="cryptsetup dmraid gpg iscsi mdadm plymouth selinux"
+DOCS=( AUTHORS )
+
+DEPEND="app-text/asciidoc
+ sys-fs/e2fsprogs
+ !sys-fs/eudev[-kmod,modutils]
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ !sys-kernel/genkernel
+ cryptsetup? ( sys-fs/cryptsetup )
+ dmraid? ( >=sys-fs/dmraid-1.0.0_rc16 )
+ gpg? ( app-crypt/gnupg )
+ iscsi? ( sys-block/open-iscsi )
+ mdadm? ( sys-fs/mdadm )
+ plymouth? ( sys-boot/plymouth )
+ app-portage/portage-utils
+ app-arch/cpio
+ >=app-misc/pax-utils-0.6
+ !<sys-apps/openrc-0.9.9
+ sys-apps/util-linux
+ sys-block/thin-provisioning-tools
+ sys-fs/lvm2"
+
+src_prepare() {
+ default
+ sed -i "/^GK_V=/ s:GK_V=.*:GK_V=${PV}:g" "${S}/genkernel" || \
+ die "Could not setup release"
+}
+
+src_install() {
+ default
+
+ doman "${S}"/genkernel.8
+
+ newbashcomp "${S}"/genkernel.bash genkernel
+}
diff --git a/sys-kernel/genkernel-next/metadata.xml b/sys-kernel/genkernel-next/metadata.xml
new file mode 100644
index 0000000..546f683
--- /dev/null
+++ b/sys-kernel/genkernel-next/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mudler@gentoo.org</email>
+ <name>Ettore Di Giacinto</name>
+ </maintainer>
+ <use>
+ <flag name="cryptsetup">Enable support for Luks disk enrcyption using <pkg>sys-fs/cryptsetup</pkg></flag>
+ <flag name="dmraid">Enable support for DMRAID (include dmraid dependency)</flag>
+ <flag name="gpg">Enable support for GPG (include gnupg dependency)</flag>
+ <flag name="iscsi">Enable support for open-iscsi (include open-iscsi dependency)</flag>
+ <flag name="mdadm">Enable support for mdadm (include mdadm dependency)</flag>
+ <flag name="plymouth">Enable support for Plymouth (include Plymouth dependency)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Sabayon/genkernel-next</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/genkernel/Manifest b/sys-kernel/genkernel/Manifest
new file mode 100644
index 0000000..f37acbc
--- /dev/null
+++ b/sys-kernel/genkernel/Manifest
@@ -0,0 +1,24 @@
+DIST LVM2.2.02.173.tgz 2363504 BLAKE2B a516bc9b68b7b7529f4436d8849ca741eb3ca1b5ac2eb2fb2915507935bdd28b5e234e74c1bce827e5761f57b5936510d08107e0dc1c320190f952c706f128d3 SHA512 c2ea8beafe006abf9282f51ec98600fd0ebff816d53c10ecbb19bbf336ada4825135cf9c92ccd364afb18f8b1d7e163eff5bdec8dfdd70dfb9ba45db2f6bdd5e
+DIST LVM2.2.02.88.tgz 1029151 BLAKE2B e3ce91b6c43155a66b79cf25da3973abb19decde3acc37d28daf80d14b1bd574f7d31fbcee4b397f0a146b2e221599079e521d0ac21932ff58b7c9d4fdf93501 SHA512 5c334c2c78220f4f9f082a74cbf0b156e96f2a07b5e55f054ff70c752ada97a67f83fa1d89c02accb7cbe5a62e356588831d96a102b7bf16cdce2591d4e37e4b
+DIST busybox-1.20.2.tar.bz2 2186738 BLAKE2B 3efa01ee81a9f3af0ccbcf28b1a24e817a28012d27a27c714b3f13fe4a73200af66fb93dcd9adc65de3e3abb26757939ff3d3ba620af08101c27c5f3550e7501 SHA512 089b67cd920f332daf910711739b1e55ba4c76cfa2122dfe5464432e0d76d3af8327837ebc3cc9954deef3e8f766d16a1928aecb2c169fe3de5a722eea7ea3dd
+DIST busybox-1.26.0.tar.bz2 2143958 BLAKE2B 3a4a227a4308d9d5e00c00fc5e90ee9a1d6345574bdb571cd8b4adab63dcdad3ff7edf30154bb8f8f31a3a658c85641af0f7875d4d533d56bb7c79f28980ebe6 SHA512 9e38c2f4c5ddb6c3a184170b5526c1a78cf53a575ed359fb18c407976cab9788fa95a26ca2d4e5c32e1d639890944d98e118149ee1402b18fe085b0baf0186d3
+DIST busybox-1.27.2.tar.bz2 2216527 BLAKE2B 77b8fa325b9ba691c0ac944537efdf5d87011b1a87c1c244588136f78055be9f2a71c77eea5edf1d20cfe50e59b15527511b14160930c946ed4e82c9608cb991 SHA512 d99e86b652562ebe1a5d50e1ba3877a1d1612997c17cb8d8e4212da181211a9b741a881cb051f14cb3ee8aea40226cf2cde80a076baed265d3bc0a4e96a5031c
+DIST dmraid-1.0.0.rc16-3.tar.bz2 232743 BLAKE2B 290c5bb7f1b12ac48627d8afcc346327b2fcce31b1015d5974c956d94f607b297e383158cd8741f03a770cdeb3f42c3e6341ebfcbc2220e122d89c2603eee512 SHA512 7c45e5117adc52fc2094b1b2bad4f4c518a46317a2196611966d72085ba3587c4ac8d1080f9d934888c01788f2b2d3d621c6f0d3e2a023c0fb1f9f3fa7fc127e
+DIST fuse-2.8.6.tar.gz 505334 BLAKE2B c44533625ead8acc5a16f61064635492c54aa91780018e3895baf18abe3ca00c9ec7f6606183a4f986037201db79697c07d03adf57c5a87e7888b8823d83aa8a SHA512 03cacc45c8ba6700fcdfa9064ef4e10d3ad6fc0e4fc49d41693de2caf03d44513d449b00a7c5d200d055d9481821252509259f5f3d2d6127fa51957a006a90fd
+DIST genkernel-3.4.52.3.tar.xz 282976 BLAKE2B 69eb6a964c5c20ee32ea6143b576a85090dfb50c011c641ae8415fba1cb99e7f239f4ba7fdc450b7c0eb93a248610c47e751f3993b8fff6e51b9602c37145af9 SHA512 a68b0149b9a69f59ab3e8d772f35f12643b9500c0c684d4824ca1f3c669b0ea01989a55643cd5b413f35d6fff284cd5ede7183971e202b3788caeb399259191f
+DIST genkernel-3.4.52.4.tar.xz 284064 BLAKE2B bc9c37f4bc7ab6c5eb8b4a0fe964843cf2554806d2dedd22feb2c9eae4935d9c432c8608916dece5b48cdd5dbf30aaa04fac6e279392f63c6854c2fbef956b1a SHA512 2dcdf2acb19c868ea7bfd5a0f9c7c3b179ac0f9f31b74306641dd8a1e8b076f5122e60a96c006e20f634e9e540d51723ef94bf91d8e28217dbb2159ff4d896dc
+DIST genkernel-3.5.1.1.tar.xz 292864 BLAKE2B 43bc7838e53ac3bbd3b36fb999e36c3a62da6aa5e4d62606aca9988aff135cc3ab0777fb7e60e2da9de807d059b3393cb686aad06f0bec22d6710f5978d05f27 SHA512 ff564e00bed2c7c211a0c7e73425169a6d354366737b8a561751557980f866dcd071baee5de3b089221cf6cb3ffd61d26ddd7d2f6f7e18d0c0df19ad94da1678
+DIST genkernel-3.5.2.0.tar.xz 291956 BLAKE2B 4719cca00084a513984c9e569650c58948a8aef58f69ab1bf0cb3c7c80b6b9095e82421fbc3fc9e726c8e449f2cca701b383386aff451fdbfa1752b6b4b81cc8 SHA512 3ac1c06dcde4008b5bad4441347e278717b7bc8560c300567f4d2ecf0603249845dacc19aa29483a0801eac073c8150d6d11b4b4edb80fc7cd5cf44745f75045
+DIST genkernel-3.5.2.1.tar.xz 293680 BLAKE2B 22531495514c1ff0e3354ba4d04687aa672dda1889ac04f5924c7c843c4db24a73a113b138300f40d47cdfc4b3b45654fdc284e8b88f55071b1395d0293aab55 SHA512 94dd1e4b09578b1563db5152af1f651022196b05492ef69cd7330fb05eb3c950d71b6b5c5e228c8316ced5130cb7cd9d4a24ce31c5ada093e173c9f67f309789
+DIST genkernel-3.5.2.2.tar.xz 316632 BLAKE2B 31c0b8cb50049c227ddc2c631d70b8a90df7ec79aee1e397c1a96594e5730145d093ff9dd5bc2e9e433e09f1bdccf76d01f6d637c5b071f10183670aee6773c7 SHA512 c98f836d92b2a940fc76e9c9b8799c19a55f6ac818fe74280321a954361e5d0886095d0b95ef429791161fb67afd3d7fdff518cc99c58bdc120456f7321c8edf
+DIST genkernel-3.5.2.3.tar.xz 317280 BLAKE2B 0dcc85dc67fde24bff7d6e86fef5967ae81a45b301e6306fb6d147b7dd5bb72127f364165daefc22e6a340ca31caeaacd94f3618d0d8230ca44e8106e87f3cfd SHA512 78e4464b19d825221527a2c60eecd4a1a625dc66c2d0cc33d69883ad0687e37f974c755301710f582bd4264dc328871d1327314eb098e09c7e6e393b1978f100
+DIST genkernel-3.5.2.4.tar.xz 318152 BLAKE2B 101bd8011b73699a3d8410fcb93adca2417254f05dc4657e583b17a449ba68aa08a3969c93cf558faab751efdcffc1dc8181003a0be0a2c3c8edcd03f09fe943 SHA512 2490ad2c6bacda87c848f8e216318e41f76cc25459c1960d0a10c5ad5768736a527cb954ed2c41ad1f52f53a37ca8c049a56793e97a3cb598b3cc4e436156a74
+DIST genkernel-3.5.2.5.tar.xz 318652 BLAKE2B 9b0e1b07f61b54edc1d263cc679b36d7e9062fd1e7cf11fc9442cf60b217274bc73425150ca963b6a91cd504d7817a852fa5bf4ad7634ff8d1ec3b43748ded41 SHA512 096aa77f4a52afefcef81ff6c7eb281e539af304854572389e38bbdd735ca723c7a5f2f7163fa9f387e3a2a78a2ba117260f1c8396ed4e51e12a91ad0fb0ff90
+DIST genkernel-3.5.3.2.tar.xz 320644 BLAKE2B 14eaf05aab02287c3dbb98f1a596e73bcbea39ceb2c8e44c5bdbb77b656958cee666f4353a2401bad531c2a7a98ee11b2531b251c19edc86db517cf3cc2869ec SHA512 1bee8ebdb8c2c30e90e0a1c573ad09b0eb79da54f0829859305eb50ffab95e69aa219ce82d4969140dea3d8788d66d3490fc03d38e190b533666e9278c7f96a6
+DIST genkernel-3.5.3.3.tar.xz 331180 BLAKE2B 0f83b973505ccb0a92ae24e92509710bf96991f36ca55975ffefdf1bd3e835bd72bb413688468a05e6a5fff2ec16e64816f8ccfe2530c9f1e9169d19a86a2231 SHA512 9170731f59a1476aa597549ac55feb3583bed249e50d1697292571caf25c5ca746a1db9e811f2009d55aea21d739ef0ab3e385acd81504bbbccc8f7346205d71
+DIST gnupg-1.4.11.tar.bz2 3407075 BLAKE2B 85d35d2e4da65d54add1010ea0486b943b328785e28c4efcaa2b65daafd53410a355d1df79ae45c5f7767d2eb7ff1f0b9637f417e65b084d2c760a281abd317a SHA512 97e7b8b0f972cc2f7cabdb0e013cbee1c33e7d48407d040cca5c2037e32abe1c2100194be7d3b569d4f05eb16b24c205a5b83f06718f0241f8d4ee174f1c37ae
+DIST gnupg-1.4.22.tar.bz2 3746546 BLAKE2B 9a2d37eeab10f2a7353804098e865ad45db846696a00a47f5bebf47145f79e0d2bf9c01c0195e2fe79af07946a3feac0d4589656c3e698a3a548ff1dd74ce759 SHA512 c03acac0fa55761470bb085d78a44e2b99ebb187e8396cbb031a184b1e40bef2a40c91da07755d1a20610a3daa6aa1eefea2d12a0dbd5a79a45466166419c708
+DIST mdadm-3.1.5.tar.bz2 292709 BLAKE2B a21fb41c6fd9f332e358339537cffd520788140976bf37fece072ee15eb512b1455e3a927abca0a4315e59659d3d114e407bb98a0ca8e6e559e1d1b83be4abbf SHA512 6fcf426d63ede01f99ebeee9be686857a04f9b601b37f76722c091ae2999b3ff66fdba52d47323f27900553125a897fc1815fe7be850aa9cc991dd5fa91a5d5d
+DIST mdadm-4.0.tar.xz 430780 BLAKE2B f08a67452398c864d73c78e2a7258d89c5c81b83dd136d4cd7e31e46b22d75ff67ecf553dc22f55dca418409daded51a399728dfdbd36039e828cad3233774e6 SHA512 12fb26e6b9c1912698defa406e5e47a7ca8d68d4a9aa7acdc9b463ee2d4a37fc6ecef6beb5395ff619018c3f6bdb6d8c573060d027707540f645ad2265170e8b
+DIST open-iscsi-2.0-872.tar.gz 900081 BLAKE2B 6a4911347c55c1c4906350247ae7d92c2aee9627e1ab01cb5d705b02614b6c585ea042fef85a425b8f177645741f8d36e3efb40a57536bb79dbc5cdb6fe7998c SHA512 d26c87772b0b1d13a8bd2eea9db86b3c61af83efbb788116c01ab6a914ff3de634a7b1bff56c1161b28965315543edbfc2735b6c7fbd3f7797471fde63b69cc0
+DIST unionfs-fuse-0.24.tar.bz2 30381 BLAKE2B c3886d7b0cbd4ac62712d7d94bf9544481200e4354539b29770a88974ea3298b0f594cecfc6f7accff3595004ad1453075b947a2633b5300a3684fedba4995e5 SHA512 e0e414f4edbf641ec9d0135a8723e43fc75412359b482f7aedd66fe8245e4df03943c5ecb6f8de4fdbd97f0346033c691e766cc4f4a755f5b43748e1441d3fbd
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
new file mode 100644
index 0000000..48dada2
--- /dev/null
+++ b/sys-kernel/genkernel/files/genkernel-3.4.52.4-crc32c.patch
@@ -0,0 +1,130 @@
+modules_load: add crc32c
+
+commit 7308d72c3280da22cd94337b0eb248cdc53cb842 upstream.
+
+Bug: https://bugs.gentoo.org/655110
+
+--- a/arch/alpha/modules_load
++++ b/arch/alpha/modules_load
+@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/arm/modules_load
++++ b/arch/arm/modules_load
+@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/ia64/modules_load
++++ b/arch/ia64/modules_load
+@@ -26,3 +26,6 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
++
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/mips/modules_load
++++ b/arch/mips/modules_load
+@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/parisc/modules_load
++++ b/arch/parisc/modules_load
+@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/parisc64/modules_load
++++ b/arch/parisc64/modules_load
+@@ -26,3 +26,6 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
++
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/ppc/modules_load
++++ b/arch/ppc/modules_load
+@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/ppc64/modules_load
++++ b/arch/ppc64/modules_load
+@@ -26,3 +26,6 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
++
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/s390/modules_load
++++ b/arch/s390/modules_load
+@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/sparc/modules_load
++++ b/arch/sparc/modules_load
+@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/sparc64/modules_load
++++ b/arch/sparc64/modules_load
+@@ -26,3 +26,6 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
++
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/um/modules_load
++++ b/arch/um/modules_load
+@@ -27,3 +27,5 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ # Filesystems
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
++# Crypto
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
+--- a/arch/x86/modules_load
++++ b/arch/x86/modules_load
+@@ -29,4 +29,4 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
+ # Crypto
+-MODULES_CRYPTO="sha256_generic cbc aes_generic aes_586 aesni-intel xts"
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic aes_586 aesni-intel xts"
+--- a/arch/x86_64/modules_load
++++ b/arch/x86_64/modules_load
+@@ -28,4 +28,4 @@ MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd x
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
+ # Crypto
+-MODULES_CRYPTO="sha256_generic cbc aes_generic aes-x86_64 aesni-intel xts"
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic aes-x86_64 aesni-intel xts"
+--- a/defaults/modules_load
++++ b/defaults/modules_load
+@@ -28,4 +28,4 @@ MODULES_USB="ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd ohci-hcd xhci-hcd x
+ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs fuse"
+
+ # Crypto
+-MODULES_CRYPTO="sha256_generic cbc aes_generic xts"
++MODULES_CRYPTO="sha256_generic cbc crc32c aes_generic xts"
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
new file mode 100644
index 0000000..9e55301
--- /dev/null
+++ b/sys-kernel/genkernel/files/genkernel-3.4.52.4-grub-mkconfig.patch
@@ -0,0 +1,17 @@
+diff --git a/gen_bootloader.sh b/gen_bootloader.sh
+index 4bbd303..fdca749 100755
+--- a/gen_bootloader.sh
++++ b/gen_bootloader.sh
+@@ -49,8 +49,10 @@ set_bootloader_grub2() {
+ fi
+
+ print_info 1 "You can customize Grub2 parameters in /etc/default/grub."
+- print_info 1 "Running grub2-mkconfig to create ${GRUB_CONF}..."
+- grub2-mkconfig -o "${GRUB_CONF}" 2> /dev/null || gen_die "grub2-mkconfig failed"
++ print_info 1 "Running grub-mkconfig to create ${GRUB_CONF}..."
++ grub-mkconfig -o "${GRUB_CONF}" 2> /dev/null ||
++ grub2-mkconfig -o "${GRUB_CONF}" 2> /dev/null ||
++ gen_die "grub-mkconfig failed"
+ [ "${BUILD_RAMDISK}" -ne 0 ] && sed -i 's/ro single/ro debug/' "${GRUB_CONF}"
+ }
+
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
new file mode 100644
index 0000000..1a85c49
--- /dev/null
+++ b/sys-kernel/genkernel/files/genkernel-3.4.52.4-system-map.patch
@@ -0,0 +1,38 @@
+From 4fb8318037a8ea12f54b7c711d702b432113f233 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 27 Mar 2016 02:04:41 -0400
+Subject: [PATCH] adjust System.map die check for #570822
+
+Builds with newer genkernel have been failing in catalyst like so:
+* ERROR: Could not copy System.map from kerncache for the kernel package!
+
+The code that added it seems to have been meant to check the minkernpackage/
+subdir where the file was renamed instead of the current subdir. Change the
+check to simplify verify the mv didn't fail instead of duplicating the file
+name entirely.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ gen_package.sh | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/gen_package.sh b/gen_package.sh
+index 9dd166b..b08ff03 100755
+--- a/gen_package.sh
++++ b/gen_package.sh
+@@ -45,11 +45,8 @@ gen_minkernpackage() {
+ if [ "${KERNCACHE}" != "" ]
+ then
+ /bin/tar -xj -C ${TEMP}/minkernpackage -f ${KERNCACHE} System.map-${ARCH}-${KV}
+- mv minkernpackage/{System.map-${ARCH}-${KV},System.map-${KNAME}-${ARCH}-${KV}}
+- if [ ! -f System.map-${KNAME}-${ARCH}-${KV} ]
+- then
++ mv minkernpackage/{System.map-${ARCH}-${KV},System.map-${KNAME}-${ARCH}-${KV}} ||
+ gen_die 'Could not copy System.map from kerncache for the kernel package!'
+- fi
+ else
+ cp "${KERNEL_OUTPUTDIR}/System.map" "${TEMP}/minkernpackage/System.map-${KNAME}-${ARCH}-${KV}" || gen_die 'Could not copy System.map for the kernel package!';
+ fi
+--
+2.7.4
+
diff --git a/sys-kernel/genkernel/files/genkernel.bash b/sys-kernel/genkernel/files/genkernel.bash
new file mode 100644
index 0000000..ed6b1c1
--- /dev/null
+++ b/sys-kernel/genkernel/files/genkernel.bash
@@ -0,0 +1,73 @@
+# genkernel (8) completion
+# Copyright 2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# Written by Aron Griffis <agriffis@gentoo.org>
+
+_genkernel()
+{
+ declare cur prev genkernel_help actions params
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ # extract initial list of params/actions from genkernel --help
+ genkernel_help=$(command genkernel --help)
+ actions=( $(<<<"$genkernel_help" sed -n \
+ '/^Available Actions:/,/^$/s/^[[:space:]]\+\([^[:space:]]\+\).*/\1/p') )
+ params=( $(<<<"$genkernel_help" egrep -oe '--[^[:space:]]{2,}') )
+
+ # attempt to complete the current parameter based on the list
+ COMPREPLY=($(compgen -W "${params[*]/=*/=} ${actions[*]}" -- "$cur"))
+
+ # if we don't have a rhs to complete
+ if [[ ${#COMPREPLY[@]} -gt 1 ]]; then
+ return
+ elif [[ ${#COMPREPLY[@]} -eq 0 && $cur != --*=* ]]; then
+ return
+ elif [[ ${#COMPREPLY[@]} -eq 1 && $COMPREPLY != --*= ]]; then
+ # using nospace completion, add an explicit space
+ COMPREPLY="${COMPREPLY} "
+ return
+ fi
+
+ # we have a unique lhs and need to complete the rhs
+ declare args lhs rhs
+ if [[ ${#COMPREPLY[@]} -eq 1 ]]; then
+ lhs=$COMPREPLY
+ else
+ lhs=${cur%%=*}=
+ rhs=${cur#*=}
+ fi
+
+ # genkernel's help gives clues as to what belongs on the rhs.
+ # extract the clue for the current parameter
+ args=" ${params[*]} "
+ args="${args##* $lhs}"
+ args="${args%% *}"
+
+ # generate a list of completions for the argument; this replaces args with
+ # an array of results
+ args=( $(case $args in
+ ('<0-5>') compgen -W "$(echo {1..5})" -- "$rhs" ;;
+ ('<outfile>'|'<file>') compgen -A file -o plusdirs -- "$rhs" ;;
+ ('<dir>') compgen -A directory -S / -- "$rhs" ;;
+ ('<tbz2>') compgen -G '*.tbz2' -G '*.tar.bz2' -o plusdirs -- "$rhs" ;;
+ (*) compgen -o bashdefault -- "$rhs" ;; # punt
+ esac) )
+
+ # we're using nospace completion to prevent spaces after paths that aren't
+ # "done" yet. So do some hacking to the args to add spaces after
+ # non-directories.
+ declare slash=/
+ args=( "${args[@]/%/ }" ) # add space to all
+ args=( "${args[@]/%$slash /$slash}" ) # remove space from dirs
+
+ # recreate COMPREPLY
+ if [[ $cur == "$lhs"* ]]; then
+ COMPREPLY=( "${args[@]}" )
+ elif [[ ${#args[@]} -gt 0 ]]; then
+ COMPREPLY=( "${args[@]/#/$lhs}" )
+ fi
+}
+
+complete -o nospace -F _genkernel genkernel
diff --git a/sys-kernel/genkernel/files/initramfs.mounts b/sys-kernel/genkernel/files/initramfs.mounts
new file mode 100644
index 0000000..b34c675
--- /dev/null
+++ b/sys-kernel/genkernel/files/initramfs.mounts
@@ -0,0 +1,23 @@
+# This specifies which mounts from your fstab should be mounted before
+# switching to the real root. If this file is missing, genkernel's code will
+# default to just "/usr", which will suffice on most systems with a seperate
+# /usr mount.
+#
+# If you have a complex configuration with a bindmount or symlink at /usr, or
+# need some other mountpoints at boot, you should update this file such that
+# /usr and anything else needed will be available after the switch into the
+# real root.
+#
+# The lines without comments in this file are used as exact matches against the
+# second column of your /etc/fstab and the device, fstype and mount options are
+# taken from that line in fstab. If no line matches, the line from this file
+# will be ignored.
+#
+
+/usr
+
+# If you had some need of these:
+#/usr/local
+#/opt
+#/var
+#/home
diff --git a/sys-kernel/genkernel/genkernel-3.4.52.3.ebuild b/sys-kernel/genkernel/genkernel-3.4.52.3.ebuild
new file mode 100644
index 0000000..d68852a
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.4.52.3.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.20.2'
+VERSION_DMRAID='1.0.0.rc16-3'
+VERSION_MDADM='3.1.5'
+VERSION_FUSE='2.8.6'
+VERSION_ISCSI='2.0-872'
+VERSION_LVM='2.02.88'
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.11'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-0.2.1
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.4.52.4-r1.ebuild b/sys-kernel/genkernel/genkernel-3.4.52.4-r1.ebuild
new file mode 100644
index 0000000..c33c583
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.4.52.4-r1.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.20.2'
+VERSION_DMRAID='1.0.0.rc16-3'
+VERSION_MDADM='3.1.5'
+VERSION_FUSE='2.8.6'
+VERSION_ISCSI='2.0-872'
+VERSION_LVM='2.02.88'
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.11'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-0.2.1
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch "${FILESDIR}"/${P}-system-map.patch #570822
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.4.52.4-r2.ebuild b/sys-kernel/genkernel/genkernel-3.4.52.4-r2.ebuild
new file mode 100644
index 0000000..017c88e
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.4.52.4-r2.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.20.2'
+VERSION_DMRAID='1.0.0.rc16-3'
+VERSION_MDADM='3.1.5'
+VERSION_FUSE='2.8.6'
+VERSION_ISCSI='2.0-872'
+VERSION_LVM='2.02.88'
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.11'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-0.2.1
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch "${FILESDIR}"/${P}-system-map.patch #570822
+ epatch "${FILESDIR}"/${P}-grub-mkconfig.patch #591200
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.4.52.4-r3.ebuild b/sys-kernel/genkernel/genkernel-3.4.52.4-r3.ebuild
new file mode 100644
index 0000000..9228685
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.4.52.4-r3.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.20.2'
+VERSION_DMRAID='1.0.0.rc16-3'
+VERSION_MDADM='3.1.5'
+VERSION_FUSE='2.8.6'
+VERSION_ISCSI='2.0-872'
+VERSION_LVM='2.02.88'
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.11'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-0.2.1
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch "${FILESDIR}"/${P}-system-map.patch #570822
+ epatch "${FILESDIR}"/${P}-grub-mkconfig.patch #591200
+ epatch "${FILESDIR}"/${P}-crc32c.patch #655110
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.1.1.ebuild b/sys-kernel/genkernel/genkernel-3.5.1.1.ebuild
new file mode 100644
index 0000000..7dca692
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.1.1.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.26.0'
+VERSION_DMRAID='1.0.0.rc16-3'
+VERSION_MDADM='3.1.5'
+VERSION_FUSE='2.8.6'
+VERSION_ISCSI='2.0-872'
+VERSION_LVM='2.02.88'
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.11'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.2.0-r1.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.0-r1.ebuild
new file mode 100644
index 0000000..a4053e3
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.2.0-r1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.2.1.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.1.ebuild
new file mode 100644
index 0000000..a4053e3
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.2.1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.2.2.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.2.ebuild
new file mode 100644
index 0000000..a4053e3
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.2.2.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.2.3.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.3.ebuild
new file mode 100644
index 0000000..a4053e3
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.2.3.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.2.4.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.4.ebuild
new file mode 100644
index 0000000..a4053e3
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.2.4.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.2.5.ebuild b/sys-kernel/genkernel/genkernel-3.5.2.5.ebuild
new file mode 100644
index 0000000..a4053e3
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.2.5.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.3.2.ebuild b/sys-kernel/genkernel/genkernel-3.5.3.2.ebuild
new file mode 100644
index 0000000..8f31925
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.3.2.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${PN}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-3.5.3.3.ebuild b/sys-kernel/genkernel/genkernel-3.5.3.3.ebuild
new file mode 100644
index 0000000..317160e
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-3.5.3.3.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${PN}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/genkernel-9999.ebuild b/sys-kernel/genkernel/genkernel-9999.ebuild
new file mode 100644
index 0000000..a4053e3
--- /dev/null
+++ b/sys-kernel/genkernel/genkernel-9999.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# genkernel-9999 -> latest Git branch "master"
+# genkernel-VERSION -> normal genkernel release
+
+EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
+
+inherit bash-completion-r1 epatch
+
+VERSION_BUSYBOX='1.27.2' # warning, be sure to bump patches
+VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches
+VERSION_MDADM='4.0' # warning, be sure to bump patches
+VERSION_FUSE='2.8.6' # warning, be sure to bump patches
+VERSION_ISCSI='2.0-872' # warning, be sure to bump patches
+VERSION_LVM='2.02.173' # warning, be sure to bump patches
+VERSION_UNIONFS_FUSE='0.24'
+VERSION_GPG='1.4.22'
+
+RH_HOME="ftp://sourceware.org/pub"
+DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src"
+BB_HOME="https://busybox.net/downloads"
+
+COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
+ ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
+ mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz
+ ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
+ ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
+ ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
+ http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://gentoo/open-iscsi-${VERSION_ISCSI}.tar.gz
+ mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
+ http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gentoo/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
+ mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+ SRC_URI="${COMMON_URI}"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz
+ ${COMMON_URI}"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Gentoo automatic kernel building scripts"
+HOMEPAGE="https://www.gentoo.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+RESTRICT=""
+IUSE="cryptsetup ibm +firmware selinux"
+
+DEPEND="sys-fs/e2fsprogs
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="${DEPEND}
+ cryptsetup? ( sys-fs/cryptsetup )
+ app-arch/cpio
+ >=app-misc/pax-utils-1.2.2
+ sys-apps/util-linux[static-libs(+)]
+ firmware? ( sys-kernel/linux-firmware )
+ !<sys-apps/openrc-0.9.9"
+# pax-utils is used for lddtree
+
+if [[ ${PV} == 9999* ]]; then
+ DEPEND="${DEPEND} app-text/asciidoc"
+fi
+
+pkg_pretend() {
+ if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
+ ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
+ ewarn "Please set flag 'cryptsetup' for this very package if you would like"
+ ewarn "to have genkernel create an initramfs with LUKS support."
+ ewarn "Sorry for the inconvenience."
+ echo
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]] ; then
+ einfo "Updating version tag"
+ GK_V="$(git describe --tags | sed 's:^v::')-git"
+ sed "/^GK_V/s,=.*,='${GK_V}',g" -i "${S}"/genkernel
+ einfo "Producing ChangeLog from Git history..."
+ pushd "${S}/.git" >/dev/null || die
+ git log > "${S}"/ChangeLog || die
+ popd >/dev/null || die
+ fi
+ if use selinux ; then
+ sed -i 's/###//g' "${S}"/gen_compile.sh || die
+ fi
+
+ # Update software.sh
+ sed -i \
+ -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
+ -e "s:VERSION_MDADM:$VERSION_MDADM:" \
+ -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
+ -e "s:VERSION_FUSE:$VERSION_FUSE:" \
+ -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
+ -e "s:VERSION_LVM:$VERSION_LVM:" \
+ -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
+ -e "s:VERSION_GPG:$VERSION_GPG:" \
+ "${S}"/defaults/software.sh \
+ || die "Could not adjust versions"
+
+ epatch_user
+}
+
+src_compile() {
+ if [[ ${PV} == 9999* ]]; then
+ emake
+ fi
+}
+
+src_install() {
+ insinto /etc
+ doins "${S}"/genkernel.conf
+
+ doman genkernel.8
+ dodoc AUTHORS ChangeLog README TODO
+ dobin genkernel
+ rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
+
+ if use ibm ; then
+ cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
+ else
+ cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
+ fi
+ insinto /usr/share/genkernel
+ doins -r "${S}"/*
+
+ newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
+ insinto /etc
+ doins "${FILESDIR}"/initramfs.mounts
+
+ cd "${DISTDIR}"
+ insinto /usr/share/genkernel/distfiles
+ doins ${A/${P}.tar.xz/}
+}
+
+pkg_postinst() {
+ echo
+ elog 'Documentation is available in the genkernel manual page'
+ elog 'as well as the following URL:'
+ echo
+ elog 'https://wiki.gentoo.org/wiki/Genkernel'
+ echo
+ ewarn "This package is known to not work with reiser4. If you are running"
+ ewarn "reiser4 and have a problem, do not file a bug. We know it does not"
+ ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
+ ewarn "broken in this regard. Try using a sane filesystem like ext4."
+ echo
+ ewarn "The LUKS support has changed from versions prior to 3.4.4. Now,"
+ ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
+ echo
+}
diff --git a/sys-kernel/genkernel/metadata.xml b/sys-kernel/genkernel/metadata.xml
new file mode 100644
index 0000000..fca8c03
--- /dev/null
+++ b/sys-kernel/genkernel/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>genkernel@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="cryptsetup">Enable support for Luks disk encryption using <pkg>sys-fs/cryptsetup</pkg></flag>
+ <flag name="firmware">Prefer system firmware <pkg>sys-kernel/linux-firmware</pkg> over local copy.</flag>
+ </use>
+ <!--
+ <upstream>
+ <remote-id type="gentoo">git://git.gentoo.org/proj/genkernel</remote-id>
+ </upstream>
+ -->
+ <upstream>
+ <remote-id type="sourceforge">fuse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/gentoo-sources/Manifest b/sys-kernel/gentoo-sources/Manifest
new file mode 100644
index 0000000..cab7e1e
--- /dev/null
+++ b/sys-kernel/gentoo-sources/Manifest
@@ -0,0 +1,98 @@
+DIST genpatches-4.14-57.base.tar.xz 1472016 BLAKE2B 1905e983d34220a97bda5eb7b1fff09d7ac42dc129b722611c079418133231d6d41f871c20df94a3db5440c8b1374d09ae3303be9e2cb8b70f5d92b61382f3ed SHA512 bace21a042f6e45512a8ffe3cb329c70b3f3548142fbaddbd76b2be50f50276db8f4cc410a7d05915c30c443cc82934893203d3025cd4653387ff6fd64f0b4ae
+DIST genpatches-4.14-57.experimental.tar.xz 5216 BLAKE2B ac751059eb363f1327b8cc6a9ad6c993cc56e3a57010f6a7d8b30220a401ec2b607b7eda601b39f1d6480fddb45f7a980ba7ffe7cf808ae382a57cc57a785f39 SHA512 efb2bf34ea83789437388b6becb4c51564c885355dffdfe0f902ded0cd0a9dbc534a891a8eddde76418a651f0da41d8a7402e672688b2cccaae5897ce0bfb744
+DIST genpatches-4.14-57.extras.tar.xz 17488 BLAKE2B 6dbe6859eafa2a61d2139572a28046a1278a965aa6a82518b5658c61f18ece4054175116b5907436bc40bd4c32458752fc381cb29806d9e25550a17f81684eab SHA512 49d7a27075e7e113ef39f2da651e9302b51c66d46c4d2960acc648dcd0eb4b608118584dbcbf169d73cf1ed4e105fbae9125f06dda46d346a63f0f35bf23bb4e
+DIST genpatches-4.14-71.base.tar.xz 1731348 BLAKE2B 0b34671aede1514bde244e76319cd91ad73ce8f6a4b0b5708aef4664bc8bec1e246b407429711dcda49d150415fffb1d1284dccf50ca6e6aff58bfe898d732dd SHA512 9a6154fd4948389f1431833f7f743760dd9ac2ae4f8b6ea045e928384f48823303b2883f84b42f841ec83d0b80ed221011f01d2d94f22afac7eef6fba6c7c6a0
+DIST genpatches-4.14-71.experimental.tar.xz 5228 BLAKE2B 9cf712fc523acd6c7325f2f726e8b658d5df27c9d183d748374a700023f059c40a2eb25bfb1a9b5d682ed0e1fefcc9c88431a421392c7d5ec8a7612d0fb503bc SHA512 6ba3451a7248226b18d37d1496aaee3159f46ae533288f1a090129aef9660b5bdadbff7bd7f90e3677100180afcb09afeb610d1c6a97483815399467ae1ad036
+DIST genpatches-4.14-71.extras.tar.xz 17492 BLAKE2B 6c382cf00c22aba0dd280e6ce7ef0e8689560ca4318205a56b674c9c2f1c01e6942f9fcfcc6d417d56cabba0a762bb6a7250f0df8af5f88a0ac2dfcc02e77af5 SHA512 72ab2425270c43ec4bf36be83f22a25030e0d3ea3a01fc4835fe31652c7a61a07510f01ff99f02f6311eaeff651d249faaf2e0d4315c0983ff0114be91938537
+DIST genpatches-4.14-77.base.tar.xz 1897728 BLAKE2B 0481c22f540d3a8f663717ca5771c480a4c88dcd59323ee313b0fa08f887ec855a43cccf928e21978a666509ee96c1a1eb360909278944e625c0c802a2d7e7ac SHA512 d9433d1e5b9232dca6d74928a835bed1e3f27c0affa96e335895df67cb2f7d11d2ba27cd3f6ac40cc51a5a7a670008df91061be5274d61bcc08eb0f06f90d5fe
+DIST genpatches-4.14-77.experimental.tar.xz 5224 BLAKE2B 8d0b8f1e8a2953e500b9d3e654cd89d40ba0bae53a014b1bee8fb19e6580dbf33687821bb3edbffa2db8daf3fdfb521ce3232f9b4aca0f4d2661be8115220c8c SHA512 a063a5e76f391a0d8011a0a1bb1fa06e6693c7efb211e5d25bfa5f39b6dc216f3c965ec1303a1d865c4b3c1484e03a4b99f3097759a0e15b15ca8b11215a3342
+DIST genpatches-4.14-77.extras.tar.xz 17492 BLAKE2B abaf103790fceab73cacd949473e50b8d678e0fb1ead41a36577a02e48805052c8d10f78ce474c215773117e9aeb97a49123b58a3ce42348520e32415838ec13 SHA512 28db86e6cfeaa3293d5a9db43774d5c0710492e9ca6b750a687b65a4d38e3a6cc196f689025bf7ce8fded4e97a221f4e2c4352e1ffc2a465fb3546a8d6712536
+DIST genpatches-4.14-78.base.tar.xz 1929676 BLAKE2B 6021bef7b29ba475ff72d28cd908540555131d482f31086f449ba01fdcb3cab3994f55fec9e7247ab3099f82ff49b671f157b56604735bb8d2414b446c74d530 SHA512 f77d30b803273a271fb60bc2e14a31149bb20816d161567d32423ceaecde64eef256450ddf596da19c47214cb1ab86a71b95f673f6600f0d10540c9be25c1866
+DIST genpatches-4.14-78.experimental.tar.xz 5224 BLAKE2B 8d0b8f1e8a2953e500b9d3e654cd89d40ba0bae53a014b1bee8fb19e6580dbf33687821bb3edbffa2db8daf3fdfb521ce3232f9b4aca0f4d2661be8115220c8c SHA512 a063a5e76f391a0d8011a0a1bb1fa06e6693c7efb211e5d25bfa5f39b6dc216f3c965ec1303a1d865c4b3c1484e03a4b99f3097759a0e15b15ca8b11215a3342
+DIST genpatches-4.14-78.extras.tar.xz 17492 BLAKE2B 204b65089d2f320424fff929d21f3ba9f6c630adca2017b5789003ed310df8025b57e9984a0c03486f065fac26c4f7aecf8cee3f694ce860a9749327057501c1 SHA512 e2ac22696b426d52f71424209493ce5305fa6b4b611a7ab51a7818e09493507f5cb006a9b5c6295bebd30faf31619f4b4acaa7cc8b82088c4efe7893f5d37f3a
+DIST genpatches-4.14-79.base.tar.xz 1941112 BLAKE2B eadad4bd05e013fa68a47a420cfd76764df91f12ae1f25fc1e32fa30b7da999ac3eae42aaf6ae14a18b949f28adb4f4ec1557bc2a6cb3d496954851066b06a24 SHA512 8955f649752dd1bf2e8223f8bf6ac65a8b8775299a34c8d9ea3a7bb37d744444fd013b30118be9041a59a54671a3f5cf517d840b2f83f9fe431bcc51e7019508
+DIST genpatches-4.14-79.experimental.tar.xz 5224 BLAKE2B f03b0806ab474eb5fc3fe58a873cea76c16d39fe87629a15941eee0eca9b980714f099526741df8b2ce7203cadb7b0b1680422083b61e4725152421d43f737bb SHA512 5de7d487a229d26ab62518a670a55cd41f563455084c6f8a55f035c613df969e8c0698518243081859cb52c4e7df0fb6cb349c841fcb979e9a94212617ec523f
+DIST genpatches-4.14-79.extras.tar.xz 17496 BLAKE2B c543f7d58552cd519dd722f1d7912909a2216868201a5d5b3712a96b17f41b9f05df24fbee03d874a5fb2d8b8e32eb35907cc0ed569c85bdf4dd5be942d1680a SHA512 d789ae7affb905622f1d556f07450a842974296f7fa109152a9edba74e41fdf4f5ea0f1bc6a054ca02a4fbb99f472b85b2bef4005335e6e1a7c112a993220491
+DIST genpatches-4.14-80.base.tar.xz 1970464 BLAKE2B cdb1a4c7f6b6412e6936be19bcb4f429c035b5d46d03c2aeb8a90d588eafd7427b5968ff42f8c44b6332e53223f4da0c6e46d8891f981a3180fadb3a9c455c37 SHA512 327a2bf6effe3479a202e6a6bf8a9318804ff84f53050f786546d6d1fa265ad068a0fd4df5c1d64724f613a076c10d305a48f0e68ab2f119fa7e9ec0a200f979
+DIST genpatches-4.14-80.experimental.tar.xz 5228 BLAKE2B 0ac2b4b56e615216918d7f5739668223d4692a9dd1273202c6b346f223b149e306797693c1ac034e4316102e774a472bc8872c9486a862f841f20c0f13ba4d4f SHA512 9f143960a869c2ef2ab9ef31dc73de3f1ea9b1a34ceac332f6e7ac448d4380ceb7359b9014298a6f17cce2d12bfe270b2af112dd60a7feadf994ad28d5a717da
+DIST genpatches-4.14-80.extras.tar.xz 17496 BLAKE2B 9668753679261522d678778c29b3637388624ab6a8ae1223241c5c47979083caaa37b4926d7239ff574977c29afc66c7147a34eb42538f1f10fa7b5006fdaea4 SHA512 0459e6453a44ae88870890756b9e3a852b3da0356c3df723e4f81593a52d85b5547ce18470ca831f3f0eeb43feebbc5255167c8a73e69d6b94719b4b2167ac86
+DIST genpatches-4.14-81.base.tar.xz 1993216 BLAKE2B 96a60ade763801820a818d18973abec10833104da7f067c03863883aa94e96ea5134599e913015d551cae27b5f9a56efb87b10a60265608fd230567244bc371e SHA512 bb9e356425ea24e01350384956ebaaf3f9677449b2b0393dc130c586e7b337442d3a38a6b138009838d8dfeeaf89c61e1257c8a13eb79749dc5cd96132d06c3f
+DIST genpatches-4.14-81.experimental.tar.xz 5228 BLAKE2B 0ac2b4b56e615216918d7f5739668223d4692a9dd1273202c6b346f223b149e306797693c1ac034e4316102e774a472bc8872c9486a862f841f20c0f13ba4d4f SHA512 9f143960a869c2ef2ab9ef31dc73de3f1ea9b1a34ceac332f6e7ac448d4380ceb7359b9014298a6f17cce2d12bfe270b2af112dd60a7feadf994ad28d5a717da
+DIST genpatches-4.14-81.extras.tar.xz 17496 BLAKE2B 9668753679261522d678778c29b3637388624ab6a8ae1223241c5c47979083caaa37b4926d7239ff574977c29afc66c7147a34eb42538f1f10fa7b5006fdaea4 SHA512 0459e6453a44ae88870890756b9e3a852b3da0356c3df723e4f81593a52d85b5547ce18470ca831f3f0eeb43feebbc5255167c8a73e69d6b94719b4b2167ac86
+DIST genpatches-4.14-82.base.tar.xz 2005944 BLAKE2B aba29a0c50aafc3827c3516736b2cd866952634982ec9e263c2fd6a260111469d7ed66ab3c9e3d8e3119a42b8a2c1f448b6fabb54eac9f893653e1a42fda621b SHA512 a804cea5fe03f1d826d9f654e30abf2d3b15a4d0d0c01fce37ed6a5c216c38082563257c715801d248cef2ef224f04f2d3ec17c85f1576debf94f2a8e35de877
+DIST genpatches-4.14-82.experimental.tar.xz 5228 BLAKE2B 935ebacd334480a9b2158b007c3cbe5f4c294578ff4d3183beeab265c0d0d3ebe0ea0676c83eb7e882341ded772e0289950506e5916a5072453b7aad22f5085a SHA512 c2fa8d3ca9603d6f970da0d56b57785b14a92713b0ac2eb80729351650ee954c9472dd5e581449e08e7b11556ec4dae5af783a9595d2efe4f97d677eb8b991f4
+DIST genpatches-4.14-82.extras.tar.xz 17476 BLAKE2B 3d19e44e381105fc312aedea0cf1abd588c9020f499c3c7370dca8ebae604911c21f94b6630bd6242ba6d2fd9aff777d8e9e5b44a7d6d3405edd25d665a812f3 SHA512 cd66cd90020da58ff88cb50bfd76c1257ce8ab0ae69b29c480d8d6eb5666dfe1589716aa64678f3f921fd8b4e9668b994f568d2dcf8ee234750ef254060fca47
+DIST genpatches-4.14-84.base.tar.xz 2036956 BLAKE2B 588ac8a824ca7b34629e38d27468f16351ed0e33004c95f36b74b6aafd2d74b6b91e05a1d96524d8f02a360ab0bd8d43c0c1f736b2e06f7222e86c131cc7c320 SHA512 50d42017c1bb87d95f1003042cc35cf727021c16f2eef1337b7d4e6816186edd314042d80ceeb9f125dbc15c97145a48b4b823f093a7088b849a048276b91a9b
+DIST genpatches-4.14-84.experimental.tar.xz 5228 BLAKE2B 81938c317aac4669ea29895ac91d8a5445ea41c82a1bc78f673e1c552415a77428e71f30170537064ebed698095cc47431777f3d562795138d7c065cd121eef7 SHA512 72f1bd49724ae8f548377724acfc30665b92f29d8e67dbd11495ba82a5044accc8913ddd84e5cac1f3660a76adfdd5057b4e4cff3754c14f10d1e672c4196d59
+DIST genpatches-4.14-84.extras.tar.xz 17484 BLAKE2B a85d48a013393e6bb775c93138d447d806f78608175789e19acfa7acfa0d2f35c2c4d0e4fce6944112dbc56a6e38de25d9cf107a398c76813f9d7c2cbd65deb0 SHA512 23fa91880759b9ada54de2656086e2af252bd3e8ee35baaf43b615231bdf20ebeae28c18b677ef470a0231c3731d9699806e50d32f6fbd87df1b89d332d0a07b
+DIST genpatches-4.14-85.base.tar.xz 2050508 BLAKE2B 3d4b9917b538d6f906f8112cce00d06e07d09783fce9478ce7f166c900707d56cc147d30ffe4dcc6f26c1975881aa2771dfb76dd21d3580dc47430c035d6d850 SHA512 23b1b30c43e78ebe57c7dc06fb6a6aea035b1160d421c6577eaeb5afe0eb8c72390eb5b33e708990f3c0452fad4678946a74279f3e9ba547ebd385f59bfc6ead
+DIST genpatches-4.14-85.experimental.tar.xz 5224 BLAKE2B dcedc912566883c0c57934acc23a8c5d89c95d14bc3e6f52b715562a414a535896774f5e184c1c83f1d601c32231ab3b98579eac848fd6a71ee7f833a044088a SHA512 6beeb2a40e8f668f833da082d79fa33a3901891a7f062fca56f4f6182fe6d6368466ed9eef4ad1daddc62b383ec5aeb8189b09577b33fd39be9b53e1e53c920a
+DIST genpatches-4.14-85.extras.tar.xz 17492 BLAKE2B 220ed00e4813e2b94bc1815e5cdca40409239864b1447bc7eb261a37a6b132b92935f0cf1a01749d4d2b2522c7e932c2e5fd3eb127fb0d09b7b3615dcb8d531c SHA512 fa0cf06245bb72a36bece9cd98daa55ae49b82e08ad5bdd3474ac6fd875f43278eaaf85e64620c120856700222e4f8b61102cb0349566be3a2f39e561140bd43
+DIST genpatches-4.18-12.base.tar.xz 237564 BLAKE2B 221499b05746862c8d7261959b63791efc1450329ec50b14d487306fa97398c364ee553922bdfb7b4dbf688792fcb778e6a30a57a6df10099f5367f01f1869db SHA512 08efe1e89151e1c7c2e19ca48380fa797297879d83b7a51ea3278a966a39324a2a1e5f66f2e46a64ed88d24c243576b119967d3bbccfdb78c7388525bbdb9472
+DIST genpatches-4.18-12.experimental.tar.xz 5224 BLAKE2B 8d0b8f1e8a2953e500b9d3e654cd89d40ba0bae53a014b1bee8fb19e6580dbf33687821bb3edbffa2db8daf3fdfb521ce3232f9b4aca0f4d2661be8115220c8c SHA512 a063a5e76f391a0d8011a0a1bb1fa06e6693c7efb211e5d25bfa5f39b6dc216f3c965ec1303a1d865c4b3c1484e03a4b99f3097759a0e15b15ca8b11215a3342
+DIST genpatches-4.18-12.extras.tar.xz 17508 BLAKE2B c324b68771942f0372d0f4f34904e3f52b021ef36453002732ab041096714cb9949f03840ab7bc2197c498ff3bfd6d8f4f7000a27e9668b9cc9d3c90e40dc466 SHA512 746c0bab36b8a1ca9171882cb21735378a12636ce5e157dcebe3b286abb5392c6a2e099226cce5bca77ad808c233c9f968aeceb2fc4744a94cc9c2372dacfaf9
+DIST genpatches-4.18-13.base.tar.xz 291576 BLAKE2B 1509cc8eb389160035e4a5c8302a6a1691172c9a16c38b7639ce77db5e929fbc8dd309c8bbe256812429e0301197efc002e13d6de8a040e147d93203b389935b SHA512 b7fbef424051f03baee67db1996165cd7335368d355fba17c2bac9fbeeda03bfd76c8813d6e3d73a8e62350f4db3e450336cad41ae1358a23539c6d01647ee8b
+DIST genpatches-4.18-13.experimental.tar.xz 5220 BLAKE2B 96fd84ec13f0d71c3b1c45d042e3aa8c23c2adcb8db245e61ad9c4e241f452690475d9e0515b8f852961cee3821d62e728485cda31799d9500400811cbcfc4e1 SHA512 6ccacee89ee451ed648a926e44cb55e077034086496f34550b8891d854840743ff2a13caad8ec0c921b05243f71e626bec8041024f0f7c5a27d7e48d27b8db40
+DIST genpatches-4.18-13.extras.tar.xz 17496 BLAKE2B defec1bd1c54e450673498b22bb6f5726b728781a1060fd66180b481d933458c7fa95c0d2835c44bfa6a215b4029d1185378ef94ec81476f0ecd454bded77ddb SHA512 66ff28aaa4666011a9879cb8a103e1c0f500d0a35393fd1055bebd86b141dbe85cfe8006840e76fac8cd9ea72e0cf85e051f33cab09223e78c7ab7fa893decc7
+DIST genpatches-4.18-14.base.tar.xz 313244 BLAKE2B a47c0b01dffdc9480d99137b8d2d2ee4d125e86fdc653e6ed54acadb4818ee12b904335bd996577fb12a0132ffd8f565da9669b4033531fdb1cb53ff28a5c9a7 SHA512 8f59ef57c0c698932032e181044b2fd78d6f43a8022b75139c6aade451d946816329129047de8514d4c2f6c0c6eedf6a16786063584bb2c141e1a50fb83debd9
+DIST genpatches-4.18-14.experimental.tar.xz 5224 BLAKE2B 659859efd41430c3da5c104cc8e148d85df75ec323364f845a2f15b848544aaf0d7d9cd8b595c04a9209542bdb865874b9c8928d264ba896a70d701690464869 SHA512 50e172f6244741ed6d5e440ab55c4928c11c7cbe9d2bdc5891bd254e2aa05b7ed0387e85d3135745af0e056dfc0be9a325581d5cf38df1659d89cf387ed72625
+DIST genpatches-4.18-14.extras.tar.xz 17512 BLAKE2B f9a02074660a4f2c7b24d00035f0e529a1283a853d7271dea8a459fa1d5a6a2508ad400e828e47ac1b1f610b0732a9380301951f091cc9657d15f9c784e0d9ff SHA512 e27f7d5fc0ea35cb66d8478c83df36d5c28d2eaa87b65cdea77254d7cd665ba0f2a016927ba70e71c33920d80341270bc5419c610971989b1ec573631be080ab
+DIST genpatches-4.18-15.base.tar.xz 370976 BLAKE2B d52c551875151b809e9b3ae28f23add15dba9ee258e0e3b85ff4e00d2b7deb42a1a0ec5ac237f62761ec2e90b1c509c68be74ba52f8ee637b80a912217e75b31 SHA512 026f3003ad668ab1cf409115411319d6efa08fc41e1f48e91c494d7524d86f2ec5a341ad2055bd622aa56f56ba480fc5f9975ab272f6ae994315ded1942e6e78
+DIST genpatches-4.18-15.experimental.tar.xz 5216 BLAKE2B a83c158e2af03afa637fba6dd934fd2db8168940b856cb2c7e0a9a9489db1b0393852589d1532f8a58463c54a159914621095f47275bec1cb97f29774fd29499 SHA512 7b462f37ab6dfc25b184b225d14f2483b1d14f52c0b0dd7c85884787811545b2137843d393dea98bf7440e2bfbbf82240f31abc136a8e4cdde85c9ae0dee9f33
+DIST genpatches-4.18-15.extras.tar.xz 17524 BLAKE2B ec0af95e43a958eb548233b7b18685471d5d26c1c3760e1f0d1ff1e1b757a4bb85d9bff5afc376711661badf528d07ddc9ffab8a670d090c4f453d7d27d7f53e SHA512 a73360051da5a9e59ec5e92dba2a934c158b1d9c806ba89cf02e3c34149825439db8d93627d55bdeb2050105ce2d63a1c56b871bc83a61f92b5cfe7cda40bf1a
+DIST genpatches-4.18-16.base.tar.xz 422672 BLAKE2B 688de9ccda3e62656a046207aeaa2bf09d3c3f7138a78343e2d362099f0f3b245ac59be420db4f209dbdcf3f1d1ac6ae1ac5fc96713e91c5088123dc03d6e5e7 SHA512 6e55ce52f2175a897dc2ada9ba76befe48a9c19544b3df1a39540d5e66fac7351e9fbe0799f6f6f23923a48f17d6181ba580c7e3afd40029039f5e6bfc826a0e
+DIST genpatches-4.18-16.experimental.tar.xz 5228 BLAKE2B 558fd2197c5ccdb034b6d6284dd90ccd92cba09993fa58996febf340a6225bc46c458c3e9e47f69f1f31dc4ffa31675f3f9a33f7e5c0b499afe7db2b1c2b71fe SHA512 c64277edadd67d46d2e9a97c423fab5ab5e7d2a21e27b54c1118400b15d6fd5b406d3ac3fc9b6bc8ee49b94801748f88df7cbbd439e62e6061bf36d27c703dfd
+DIST genpatches-4.18-16.extras.tar.xz 17500 BLAKE2B f3bfb098fdb5db5651c78fdb26ce927420dc6cf08479b98cd820284e21f6323c8a3e95000c8839ae7de88b3088a96725607611979408fb553534c4531ddee69f SHA512 13dc9cace14c765301deb1ad929f4564565a480c7b347b25878122fe103a528198e9601288b6b930aee3d6ac703d03e9ed236e9954f3fb2194d0ac49488bddc0
+DIST genpatches-4.18-17.base.tar.xz 434484 BLAKE2B f42a17a28b03589f67ec3c37f627cb8a0c35c98c3be3d9ad5733607a6c11c238f41d3216f2e9d82290899a59ce831ce826ab925ec710991f7f5e3a578af36d53 SHA512 d2efd7a23ee284cd5841c82a93d232297b2f21ce756337cc35a4e9920563a154db2239db88e9ba6c89cb3feb99073747aaa8571d527d023741c7cebe2d551995
+DIST genpatches-4.18-17.experimental.tar.xz 5228 BLAKE2B 558fd2197c5ccdb034b6d6284dd90ccd92cba09993fa58996febf340a6225bc46c458c3e9e47f69f1f31dc4ffa31675f3f9a33f7e5c0b499afe7db2b1c2b71fe SHA512 c64277edadd67d46d2e9a97c423fab5ab5e7d2a21e27b54c1118400b15d6fd5b406d3ac3fc9b6bc8ee49b94801748f88df7cbbd439e62e6061bf36d27c703dfd
+DIST genpatches-4.18-17.extras.tar.xz 17500 BLAKE2B f3bfb098fdb5db5651c78fdb26ce927420dc6cf08479b98cd820284e21f6323c8a3e95000c8839ae7de88b3088a96725607611979408fb553534c4531ddee69f SHA512 13dc9cace14c765301deb1ad929f4564565a480c7b347b25878122fe103a528198e9601288b6b930aee3d6ac703d03e9ed236e9954f3fb2194d0ac49488bddc0
+DIST genpatches-4.18-18.base.tar.xz 474704 BLAKE2B 66fc0675de5c337c7ef913e276c4b71ad45eec0ca21ccfe9ed5913408885ab8722f85451cefdfc6ea686a270ed9773295d60ebaebb8c61c068913d59d04b8e7b SHA512 dbd05cb459628e23043180df5bfcd33c22c859ae2b3e849d325b8234cd8eff423ff4f9ea58af91bb5b347450f43ca33ce97fe0f43d8f3c8d52f53984b5fb8c4a
+DIST genpatches-4.18-18.experimental.tar.xz 5228 BLAKE2B 81938c317aac4669ea29895ac91d8a5445ea41c82a1bc78f673e1c552415a77428e71f30170537064ebed698095cc47431777f3d562795138d7c065cd121eef7 SHA512 72f1bd49724ae8f548377724acfc30665b92f29d8e67dbd11495ba82a5044accc8913ddd84e5cac1f3660a76adfdd5057b4e4cff3754c14f10d1e672c4196d59
+DIST genpatches-4.18-18.extras.tar.xz 17504 BLAKE2B 6b3b9b142b9fd254af235217c1681f41019e1c789c2162f7735052698b68e583788503cfd0f151df8ca45b5d528a81f103727f74704db73cbf58b9ec5499d142 SHA512 d132b8c44e94409b44dd0d2d51886a189b7233f5441cf38a5785ea6742849a1d67764ec3a1f702ac7d49b4050ec2af00d1cd8f61bc9b636e019f474ba0812705
+DIST genpatches-4.18-19.base.tar.xz 491560 BLAKE2B 37464af933a0611a40bb0795e2639c0b0e8ecd112a6b7664d3ce19932a25ca4c6a5f36a7eb07005abb7c85c7be3bd8fbcae6e2959031467d871f62c5b89f571e SHA512 7b07af0ece2511fb4cb39ef35c9ba926a6d2e34eb24829f957876e6be6f56ad6bae89d6aa818ae81bcdffb16e26471a4fa9adcc4ac6f48efb3e53151310755c9
+DIST genpatches-4.18-19.experimental.tar.xz 5220 BLAKE2B ae3cfe1a10e76bd22905db948770fb51bc3181a4218f1a4f010d656ad41528ada6f6e507de1bc238cd68b6e6f3cd5a87aa7ff6a3516e441b672b902a4402ea76 SHA512 937b8db859823aa2612430cc24e2e4441afa20539fa2427c15182d21aaf9bb2d2cf1d520a2a9fb2d04971c9bd75b885205fda940d89ff892c290b92db1cca13f
+DIST genpatches-4.18-19.extras.tar.xz 17512 BLAKE2B eb3d70211535ca9fc9a58ef02304d2ff87c48acc5c47804de401599c8618cc1adede45ab2cb9bb59acfde6c7434bf8cdf32f6efd2c2fdf4d34ed619882a04b89 SHA512 35dfcc2122fe3d383bcf9da1ee032f21bc0dc4f36d29c82e829270775c21d8a816eace717a1e65938f4b01eec7b1f584f865d5a9ee997e732292f9840ace9005
+DIST genpatches-4.19-1.base.tar.xz 4088 BLAKE2B 4cf8b20b0fdacfeb2e4e30442e3022306c5f84db838f155612c84cab2e3c74ead821f33623679f840839da6e71b6133e593c5c2650a6bd50737ab5d83127ee9b SHA512 a5b00977b59030c0240ecf6a0d6d73050ab223c745c34518bff0d8a009ebb624d3fac1a574beb174e9ad48ee191bb9433e798597bfbf5ba6aea214dca6122b11
+DIST genpatches-4.19-1.experimental.tar.xz 5224 BLAKE2B dcedc912566883c0c57934acc23a8c5d89c95d14bc3e6f52b715562a414a535896774f5e184c1c83f1d601c32231ab3b98579eac848fd6a71ee7f833a044088a SHA512 6beeb2a40e8f668f833da082d79fa33a3901891a7f062fca56f4f6182fe6d6368466ed9eef4ad1daddc62b383ec5aeb8189b09577b33fd39be9b53e1e53c920a
+DIST genpatches-4.19-1.extras.tar.xz 17480 BLAKE2B d0baf2d2fa347e8df30f6d6525947a0810355ea6f86b7d70f943294e8da041e05670a35180579443897f393a40dfad3de057a1bc94e30e7db9c21b72693aca94 SHA512 332dd814d4e9c70321623aa50762249f4f23fc09dcf5b2df63c06ddd17abbc5eaa2e9fad4bf666361cea01454821b9e6f28e542fbe0e67a23ff0f267bfe3ff01
+DIST genpatches-4.4-151.base.tar.xz 2298156 BLAKE2B 8a6ebf847b2447abdac3a544130721d54d51216d8bf2c7db34bc34154dd236cedceedc9190e5a5b9b972209c4180cc57b501b392be7f4b26684c95742e3741b9 SHA512 7e82eaaa0559dea96b5f53eb2ca231872db5cb45f2a5627f7d68fd9dab3f1840944bb613df9e909c0e734df515236ed35fbe4051124703ac7090c0a68d8aa6f8
+DIST genpatches-4.4-151.experimental.tar.xz 87748 BLAKE2B 90e9341cdd0d2d9f174cf28f063d8f8a50319529b96f9b6f2547535ed4fc560ed02d3f857bbd3bdc8d11bfda0f12957a6da9539cc7d15b12b74aba870c83785e SHA512 f465b647d9c57cabf87ca899e1d3c465d9a8690d05f2a64f71aa9333ba88ec3c0b7248321c5fd161149126c345b569a728f2a22eb4422c8b45fcff8dd319a67f
+DIST genpatches-4.4-151.extras.tar.xz 16452 BLAKE2B 9c7fdf7b009d5d58b919f7f1b395249748bd7489ea052702838fcc2adac6e605422fcf404b76db0206a6bda006a16401182684626a980b727301b963a713fffd SHA512 2470a74a73e91d4d0534521bda198f14450304910eace137b17fbd611281a2864907a724c600de4433484d76b8fdb794e11b48cf5e5d7ac5adaff518dd921e5e
+DIST genpatches-4.4-158.base.tar.xz 2364020 BLAKE2B b11b892297a6660993503295866abeb9ef945379cfed23e23215218f07d7f70ada300b58bbfe5477dd186388b8be6288cc3a168b2c8d13cdb00b18c541aeed5b SHA512 f47fa2aaf87ea677d3a2499e627e29f295e9a398ffef8a04a0d047f4156b006a091340c97e7fb7ce0f0688067bdd32deb75c459b7797c811456b4328506f0c3a
+DIST genpatches-4.4-158.experimental.tar.xz 87768 BLAKE2B 30592a90407b1c958acf5bd9e898449bb71913db876810dc78598fc90921c6e4e1b8a12cd14c09510e596777a8b83f70c33614ba822a8b43c55f82c2ac2b8b4f SHA512 7ec01f6f2537f473d872989c611acf8a76961cddd3799f28cf917caec8fe8c7d5fc26340dc01f4a19c76b52f106fe6f25faa183d95ca814561ecc694629cf365
+DIST genpatches-4.4-158.extras.tar.xz 16456 BLAKE2B 98d8e7b860b014f83911f137d8e4cd0adb34996f62c0c4ed66d0d52ec5b2ed75e182cf7fa57b3a156c7d2a4243726413149b1b7e9acafbd19831fe837bf1f41f SHA512 1ce03096823dad0fb99f7b15250e0edd7615da218533ecc950498484076d3db79461d76c1f5edbf6a0a6ae5e48071225b0e6f56467dd3ee5b424e39d8454b0d0
+DIST genpatches-4.4-160.base.tar.xz 2380092 BLAKE2B 6b49e3242cefe9b919ef5f12edb9c4ac664f4ab64f0d53c9fe5bb384cd2c2ad67fead2c0f478714b2e5eaecfe0a3ba43ffb3da3b022c762121c49e11e16efbb7 SHA512 7c307683ce1f9c90715b04a8ab47715e2ee760d3e475def2bd662c4973158972d9f62a1f4e3c7d1abd7b47bb1dd97e61a612c29b2f3d33b7a42c3273ff10f326
+DIST genpatches-4.4-160.experimental.tar.xz 87804 BLAKE2B 554213910881d20749634cf2bae37dddd2f49c26fbe25b21bddf0b452637b1e54bdb7bcc245f76dd181c8c3c3a5a624df882ca407e43091af3991f47d66e19ea SHA512 43acbd61d782f0a9afb1b5f3d38cc2f74c8f9e8aaf2a61897418df56188af3b0270e6ea239b545b5d7c46da5da1b15d752dc1fcd387c13c460f2695531ad222f
+DIST genpatches-4.4-160.extras.tar.xz 16460 BLAKE2B 8dfce6f8f44f738b91e5fdf2614cc63ee3ef252074ec459aafd04dc9d536e243c7f730b1deadca709c2c867b2514c573bd6ba521ca38f37089cb40f52e33c53a SHA512 c06e9b30cfa2bf5f04776e473501f9ab0e203060bc0ca3ee43057cbc1ac5939b3fa50406f19e6e78705f955323a01a1e43b1c7e43e4fbdcf5a2ca1d005b1e612
+DIST genpatches-4.4-161.base.tar.xz 2401264 BLAKE2B d797bdae8905c1fe8bbb629ac7b58df7d0ea53c583df016047f911c814e35566a087e41271ee459e5260c29551ebb2062ac41b03dac94159a5339ba5125ed88a SHA512 1845a12ddf707d1539b8c9c89423c229ee9f43b664a99eb0eb2eb8bd50ef6623a39ce6b233a5dc00e259c2befdb74ecc5df79aae88a4bcc47eb22de0c41fed91
+DIST genpatches-4.4-161.experimental.tar.xz 87804 BLAKE2B 554213910881d20749634cf2bae37dddd2f49c26fbe25b21bddf0b452637b1e54bdb7bcc245f76dd181c8c3c3a5a624df882ca407e43091af3991f47d66e19ea SHA512 43acbd61d782f0a9afb1b5f3d38cc2f74c8f9e8aaf2a61897418df56188af3b0270e6ea239b545b5d7c46da5da1b15d752dc1fcd387c13c460f2695531ad222f
+DIST genpatches-4.4-161.extras.tar.xz 16460 BLAKE2B 8dfce6f8f44f738b91e5fdf2614cc63ee3ef252074ec459aafd04dc9d536e243c7f730b1deadca709c2c867b2514c573bd6ba521ca38f37089cb40f52e33c53a SHA512 c06e9b30cfa2bf5f04776e473501f9ab0e203060bc0ca3ee43057cbc1ac5939b3fa50406f19e6e78705f955323a01a1e43b1c7e43e4fbdcf5a2ca1d005b1e612
+DIST genpatches-4.4-162.base.tar.xz 2409748 BLAKE2B 2c7ac50926e0cd757033468802e7c81d2672a25cf2957d3b85f228be3dc7dc728cefcb11d06c8102e09c49aeadceafe60926a9fa6791eb0f4b9a9254d8c91ce7 SHA512 cda0d9e9fd8f3d674b8dd44c99982c8eb7dc1023dd0b1c9752f10b5a335aa29e6bdcc9c147f9811aa925073cad79f03f5d9d5459c1a1419145a29c07360f6dc6
+DIST genpatches-4.4-162.experimental.tar.xz 87804 BLAKE2B 554213910881d20749634cf2bae37dddd2f49c26fbe25b21bddf0b452637b1e54bdb7bcc245f76dd181c8c3c3a5a624df882ca407e43091af3991f47d66e19ea SHA512 43acbd61d782f0a9afb1b5f3d38cc2f74c8f9e8aaf2a61897418df56188af3b0270e6ea239b545b5d7c46da5da1b15d752dc1fcd387c13c460f2695531ad222f
+DIST genpatches-4.4-162.extras.tar.xz 16460 BLAKE2B 8dfce6f8f44f738b91e5fdf2614cc63ee3ef252074ec459aafd04dc9d536e243c7f730b1deadca709c2c867b2514c573bd6ba521ca38f37089cb40f52e33c53a SHA512 c06e9b30cfa2bf5f04776e473501f9ab0e203060bc0ca3ee43057cbc1ac5939b3fa50406f19e6e78705f955323a01a1e43b1c7e43e4fbdcf5a2ca1d005b1e612
+DIST genpatches-4.4-163.base.tar.xz 2424320 BLAKE2B 5fb64cc7185954be31996cfc65525ab2117558e60b6ce61ed7e7d9dcbb8b6e1fd02f6df415965ffa006758d7529591e2715c8271914dbcf1a87a57f614e975ec SHA512 35d201f76574285d3d0d4364ec22da9cbc61d27d639a8ecf9116adba6b4a0bf872029ed0ef7afa901690a452ff9db63fa76dcf37a7a529f2892666c934bc8938
+DIST genpatches-4.4-163.experimental.tar.xz 87804 BLAKE2B 554213910881d20749634cf2bae37dddd2f49c26fbe25b21bddf0b452637b1e54bdb7bcc245f76dd181c8c3c3a5a624df882ca407e43091af3991f47d66e19ea SHA512 43acbd61d782f0a9afb1b5f3d38cc2f74c8f9e8aaf2a61897418df56188af3b0270e6ea239b545b5d7c46da5da1b15d752dc1fcd387c13c460f2695531ad222f
+DIST genpatches-4.4-163.extras.tar.xz 16460 BLAKE2B 8dfce6f8f44f738b91e5fdf2614cc63ee3ef252074ec459aafd04dc9d536e243c7f730b1deadca709c2c867b2514c573bd6ba521ca38f37089cb40f52e33c53a SHA512 c06e9b30cfa2bf5f04776e473501f9ab0e203060bc0ca3ee43057cbc1ac5939b3fa50406f19e6e78705f955323a01a1e43b1c7e43e4fbdcf5a2ca1d005b1e612
+DIST genpatches-4.9-126.base.tar.xz 2350460 BLAKE2B 78e57b619a1ed60ccc91afd330638c88f41366019322edafe261065407620ecc128f6564934879042859734f4edfb1da31d4874c2d4bd39fd4eecb6095681e81 SHA512 7d476e3e52f747b93dd23004e6c180fa760d499c278dff104fafa52e845ff37ad963a8ed75c54c5a121bc1f8469775a23d123dcd0c2fa3be7d9df9d13d3f5658
+DIST genpatches-4.9-126.experimental.tar.xz 106412 BLAKE2B a7b77b95ffd76d1a337752cdec820599dd9e71c25d4c943e4374986dec08b6ff3526459807ae85d47beb5c6948763bcaf302ac6addc3139b4ca1e1f0ef0640e6 SHA512 1060c045836060eada07a716def24547e575c7a67edd69f663369f40f7737a8c2592a602aa184f6d69db8dcba0a1bffb687c91af55917d9e52ed48a091873e00
+DIST genpatches-4.9-126.extras.tar.xz 17344 BLAKE2B 0d28a44855994d1fead8eca518822ea8c706f2fdd3b845c17bf7771a03dc68fcafbf1eeca81a1982bffc38a1ab14192a182996a07ab0717dd31ce4f836dae9ec SHA512 72b3c88fa2beb9305de8792de4057716a1e4cf96f456cf2e0f8e2db385be0641bb975de3b809a5f230bc911cdf9fa63eba9ae25b5ce2633765bb3b4ea01dd329
+DIST genpatches-4.9-136.base.tar.xz 2499112 BLAKE2B d68b80514607892807b343ba310cd87df1e655f290e265572e6162529bf65205723dc89cf3520ada6f7f9d2d94e9f9a9ed2a9f709096e2c4fae5db07a5921540 SHA512 286063c44a5752162924d4a1b1a1f34dda1f9bb5f81576a96a083d1b91ff2f846d813fb7c5bf312f711e4fbb5c1cebe700907eba78d936259fff27c27db0ab6f
+DIST genpatches-4.9-136.experimental.tar.xz 106404 BLAKE2B 7b3434f32eb16392162824e1a374f675c1e993a3e076b0d464812b420fcbb0d887bd8fc5b1316b71a4adcfeef714b9576a09c737e0c22374967d771417664757 SHA512 1241adbf933ec79f1ed809521c55e44a51b3060ef544ade05ee90ffbfd355613268beda4a1683f9b9a7b172f8f6305271b3caa9adea99980a0b1848f94e8cb86
+DIST genpatches-4.9-136.extras.tar.xz 17360 BLAKE2B e038a5f1fab6209642f023bbe789f540c2ffc4e946fa0c0d460ae9a9ee7c712c1c932317838313694a4a3312a4639e1f56db8e181825d2055c321e2f0fa6015e SHA512 49ec9be3ad02078fb235e4dda2111069244c37d04d434028d4fd5eb81e495480b2fdf1953d3671254839b3ddbf50a74c1f86bce2738db05180a0f3eb0b2d25f0
+DIST genpatches-4.9-137.base.tar.xz 2509096 BLAKE2B e3165ed862705fd51aacd8803cb5f1987b4be318d637c9fbb94ee0151b9031f53ab91b62b6533321aa46e6622007bd92a6dd4863bf7bdd905aa3887891c15024 SHA512 2e168bb38f3051dcfcb6cfbf39153588fbd9c23399a0c5b80503e686a0f296ec6173f96dddd58ea1c4e52456978a3cf49b19e795e55e4c7833a88ba07338faf4
+DIST genpatches-4.9-137.experimental.tar.xz 106388 BLAKE2B 35fd2b3abc3bfc9a239248a90592592c19d4205beed2b3c8c9ffea522031121d3eafb513f40c719fd86ed0fb116e6db4ffbc56274dc5676669c0fc5056aee3fe SHA512 70d53587939c6a1503823e56f9837b9f4133a4e7aa1152815d8996bdd12fb6a66fa21c552c4c7901b37178015aa141e5b48bfbf6cf0f6f68eb8e83119fc01b0d
+DIST genpatches-4.9-137.extras.tar.xz 17360 BLAKE2B e2c34195a7fdba0b30b2d4df4a922cc02e980986ecf1041fb623357ceb8a78fd580a52a0e3d7195b6e2544df93ede2a1daef648b515f14c1430234b29443ffc6 SHA512 f38c7a06c7adc4f57b6564a645de8ca98ca44d69441f95eeac4bea0d6ff6b5daa490b9b0c60a7513fdf051122a2fa6a6dd2335807988e7b2c6d199b8fc4a8696
+DIST genpatches-4.9-138.base.tar.xz 2535084 BLAKE2B 4c0bfaa7076a069fd7d506048efc55b3548d1c416081dacbaf2406eea164be7c579a23a8f225c15314c726d00db236b1e6b0cfceaa79aacfdddea5df8bea193e SHA512 1889caf81a833fe4cacebb2aaaf1efc0433172af20e64bf5800ea6d6484568df6f9e6acb114f01ee5e42529ec6605b46b28d44b6f53761e71b2e76ba0e6d421a
+DIST genpatches-4.9-138.experimental.tar.xz 106396 BLAKE2B 251204916d878f6b1a6c85ae03f8189ec71fc5026c946b973e752d3c3bee896fe2c9acebac3706c5d3fb9e52fcd8d491d323adc6e17b47603c59330f513bfa8d SHA512 1a4144e9dcc6dde30c5df4766fda4fe5a1be368ae0a8af076e3f401b3b4d06f6fa7299f625e08e265c59791f155cd4774a1f4d32aaad068759899640f6afb77b
+DIST genpatches-4.9-138.extras.tar.xz 17364 BLAKE2B de7b03db834ffa8cadc63afa0d70d36840a597102a78a10ebcdb46ce122e4b374acb1fa57727a7d608176e7e14af5d0d4a65b43905a787f7c54aca295ca63d81 SHA512 cc69f78ffddd5820c93afb67b11923ac3b14d1a7924b4aa4eb7e5c8431bb0dd15879758dc61c964762dee031a1f9c12474025444ccaff8d05cee343b6ea0e564
+DIST genpatches-4.9-139.base.tar.xz 2546088 BLAKE2B 5259a374fc11ef4ff950bb6104d6bfd958699541d9b9d5cffadb1d756df20c9c2c6be8b342beaef82d504a5c37f3406737ae7343ee9ac98c7e18e62fbd77a1ca SHA512 de1e97149cc8ee141aaf10e514cf0cdab71c318334ec19fffd74ec8465f58413b394ae2495ad60c995f28065824862532b9676e2de866be3718fc521dc37ecb0
+DIST genpatches-4.9-139.experimental.tar.xz 106392 BLAKE2B d3ba4c3d708147c4455202343bf824d257408dac6ccc0318e8dccb65ed0337b096d688fe9a28896cbe59bbb76fa74f663a9632ed38ed8532015b5613111ff9a2 SHA512 3353fbeac023b765f1e33040fe58600a85f620c19d7d530a27f3e5652c1536df5daf607edf682ec8616beee1a88e235bc4c916bff8575215d821b42de15396b9
+DIST genpatches-4.9-139.extras.tar.xz 17356 BLAKE2B a72f7b748397ee23ba94a4a8976acbc94a3a227ae027e0f4d02ce323925c248d31c376f10579cc54bb4ac551a1b546b1403f9d996050fe4f995e02848df76b10 SHA512 8c44046440d4bf97a21c84ab375b5c5441f4d8cefd2e273ee864460f90ebc104e35d24f44eb0f66ff420d958b70d87095df87d267fe4bf8ebacbaf681c2af1fd
+DIST genpatches-4.9-51.base.tar.xz 1001928 BLAKE2B be8a1a304f634b40dba1daa56922473c25fc57cedca73401bc1a142674832bb797f805f883aecc56a4b17fd63dae6aebe42f7c642739e8c5704f130b6675dfde SHA512 2ab0efa23c556547bd223f066acbebe250346064a3588ee866871e36e3b5b5533ca7a3add6a62b53339acf89dfc8539c42b3877b5a2055ca7e20bc25c5657ca5
+DIST genpatches-4.9-51.experimental.tar.xz 106416 BLAKE2B 483d57d8e19a135130e7084238c304e07ddf04e51dba8aa705566d4be3cf3a3b21a1f8a4ed49a7b2b06bc5b70f820788bc22e42ece8e6eb5d3ea3597eaf31289 SHA512 af7a00b9a3200a50341b9af607fbef362ead2e4f5ca35d58eec505de490c03d6366ab4645e35bbddd6903ac75396413d2902b6a9fc7e2c9d0d1d1254620cfdb3
+DIST genpatches-4.9-51.extras.tar.xz 17356 BLAKE2B 03160cc66db43d543f4bbd3171741cc36ecdd1d3088a143144e8725d1a8452fbb3743dbbd196ba387875cd0eb4fd966821fc9d3b3269a6848d2fda650da5ccbe SHA512 e05c44a5ad1b68afb04647a86efc6f67e03515861e670e39f960c0a02b87fbcb71194efa6773259ee2be5c8362794a5bb6512e876784d5a521d8890865b3ba0e
+DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
+DIST linux-4.18.tar.xz 101781564 BLAKE2B 138bdc49dc8871e5566b5e23a9e5ed0e68fff480a7a04fc659a9efe2d4bcc778ac01368a32bc5d1dbde870102ce7294b9d315f81c4e6e762ee781135e83033f2 SHA512 950eb85ac743b291afe9f21cd174d823e25f11883ee62cecfbfff8fe8c5672aae707654b1b8f29a133b1f2e3529e63b9f7fba4c45d6dacccc8000b3a9a9ae038
+DIST linux-4.19.tar.xz 103117552 BLAKE2B 1dbf16cf410867412d17568fe42bc1e90c034183b654d270b650621ff7664a321950943d0639205bc1ee7ef6210be170c1f2c785a042ed8a4ec5e3a486d890e0 SHA512 ab67cc746b375a8b135e8b23e35e1d6787930d19b3c26b2679787d62951cbdbc3bb66f8ededeb9b890e5008b2459397f9018f1a6772fdef67780b06a4cb9f6f4
+DIST linux-4.4.tar.xz 87295988 BLAKE2B f260f1858994f5d481fd078c86e51bddbc958f7c5d1586f60dced772e1b1107ecf3aae0558c3e6f39c36f7d3aa1e6cd1e5c64ec9d6f2218f47b98413da6466fb SHA512 13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e
+DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.52.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.52.ebuild
new file mode 100644
index 0000000..9e98e3b
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.52.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="57"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="arm"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.65.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.65.ebuild
new file mode 100644
index 0000000..a09b296
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.65.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="71"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.71.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.71.ebuild
new file mode 100644
index 0000000..b9bcc7c
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.71.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="77"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.72.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.72.ebuild
new file mode 100644
index 0000000..55da902
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.72.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="78"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.73.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.73.ebuild
new file mode 100644
index 0000000..0391d2f
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.73.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="79"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.74.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.74.ebuild
new file mode 100644
index 0000000..1b1b0ef
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.74.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="80"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.75.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.75.ebuild
new file mode 100644
index 0000000..c387aa4
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.75.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="81"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.76.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.76.ebuild
new file mode 100644
index 0000000..137c77b
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.76.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="82"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.77.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.77.ebuild
new file mode 100644
index 0000000..43c2d3f
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.77.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="84"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.14.78.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.14.78.ebuild
new file mode 100644
index 0000000..8df6b81
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.14.78.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="85"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.10.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.10.ebuild
new file mode 100644
index 0000000..62c7ab6
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.10.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="13"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.11.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.11.ebuild
new file mode 100644
index 0000000..baf962f
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.11.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="14"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.12.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.12.ebuild
new file mode 100644
index 0000000..e61f1e6
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.12.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="15"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.13.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.13.ebuild
new file mode 100644
index 0000000..8da04d5
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.13.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="16"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.14.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.14.ebuild
new file mode 100644
index 0000000..f688943
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.14.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="17"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.15.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.15.ebuild
new file mode 100644
index 0000000..c44f667
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.15.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="18"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.16.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.16.ebuild
new file mode 100644
index 0000000..b608e8d
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.16.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="19"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.18.9.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.18.9.ebuild
new file mode 100644
index 0000000..5c9caf4
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.18.9.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="12"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.19.0.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.19.0.ebuild
new file mode 100644
index 0000000..04abf29
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.19.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="1"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.150.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.150.ebuild
new file mode 100644
index 0000000..ea00a19
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.150.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="151"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.157.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.157.ebuild
new file mode 100644
index 0000000..e27b216
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.157.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="158"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.159.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.159.ebuild
new file mode 100644
index 0000000..f7efc0c
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.159.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="160"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.160.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.160.ebuild
new file mode 100644
index 0000000..1f07dac
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.160.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="161"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.161.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.161.ebuild
new file mode 100644
index 0000000..831ed34
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.161.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="162"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.4.162.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.4.162.ebuild
new file mode 100644
index 0000000..41ccae5
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.4.162.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="163"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.122.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.122.ebuild
new file mode 100644
index 0000000..85771c7
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.122.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="126"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.132.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.132.ebuild
new file mode 100644
index 0000000..f59eab6
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.132.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="136"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.133.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.133.ebuild
new file mode 100644
index 0000000..11b40a4
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.133.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="137"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.134.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.134.ebuild
new file mode 100644
index 0000000..1b730e9
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.134.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="138"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-4.9.135.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-4.9.135.ebuild
new file mode 100644
index 0000000..cac7b12
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.135.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="139"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
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
new file mode 100644
index 0000000..2d7ca65
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-4.9.49-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras experimental"
+K_GENPATCHES_VER="51"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="sparc"
+HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
+IUSE="experimental"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
+
+pkg_postrm() {
+ kernel-2_pkg_postrm
+}
diff --git a/sys-kernel/gentoo-sources/metadata.xml b/sys-kernel/gentoo-sources/metadata.xml
new file mode 100644
index 0000000..93b88c1
--- /dev/null
+++ b/sys-kernel/gentoo-sources/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>kernel@gentoo.org</email>
+ <name>Gentoo Kernel Project</name>
+</maintainer>
+<use>
+ <flag name="experimental">Apply experimental patches; for more information, see "https://wiki.gentoo.org/wiki/Project:Kernel/Experimental".</flag>
+</use>
+<upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/sys-kernel/git-sources/Manifest b/sys-kernel/git-sources/Manifest
new file mode 100644
index 0000000..fcc9ca2
--- /dev/null
+++ b/sys-kernel/git-sources/Manifest
@@ -0,0 +1,9 @@
+DIST linux-4.18.tar.xz 101781564 BLAKE2B 138bdc49dc8871e5566b5e23a9e5ed0e68fff480a7a04fc659a9efe2d4bcc778ac01368a32bc5d1dbde870102ce7294b9d315f81c4e6e762ee781135e83033f2 SHA512 950eb85ac743b291afe9f21cd174d823e25f11883ee62cecfbfff8fe8c5672aae707654b1b8f29a133b1f2e3529e63b9f7fba4c45d6dacccc8000b3a9a9ae038
+DIST patch-4.19-rc1.patch 38084340 BLAKE2B bda832e116f74e04485b1d253b0a01a4838b62725f572009c7be22a7f1323f1910bb7c75793e768404ec5fbc2f48be038523e440fb365aaed4d318e2c8616be7 SHA512 84c2fc3869db3f45b7cc6bbd0d9830c8d5b4a921a887b7b2ed39b332c384ca276b083205d0adee0e2f9ad42650961db642979c57250638126363366629e3fbdc
+DIST patch-4.19-rc2.patch 38326203 BLAKE2B 7cb9f6a80591dcecc13b22d9990d2ea03218ff6f1ca1d72e203bb7d98e8376b1da36f0ac5f834dd1de16c4e4950b0231db9c84af3852494c6a27ca0024f0ed9a SHA512 17473b20591cbecb00ab6b3e882a3e039b75a8fc32b776a71f1d02d6179d98f0cd4977de45d4c624b955b7951d4a36f32fb191ab1fffe92798f01c428676cce2
+DIST patch-4.19-rc3.patch 38635039 BLAKE2B c6f5840a1483c0a97b284f038f965d74b268c3f2eb7c60d7c0b6136e8d996482127653a000135af32a9c2d69d42bea571acbe88d1a0ee42be38fee07853aa121 SHA512 ba836197b02bc25af6201c819efc3266a8e12214161203b82aac488c28f939065b8b7887c035cfe3ca18f0cbec5b833bb9623277686b05228002f9f0f2986a8c
+DIST patch-4.19-rc4.patch 38932487 BLAKE2B fc07f52bc086f9d4f52e1ebd996ac1a2cdfce8130edb2f26251863b2f4a78f0f55c82a7f7aaf744db8b40e1ad4ab8aa3f16f3934960c46a06edb5967382d5d96 SHA512 8d61ff650a479676310db533d0d0625c5304caf777d924199b91a7b94d4840d9088def4a9b184e493a083a03ed20853811a5ee45b4f5074efd79129d6b3fb7b1
+DIST patch-4.19-rc5.patch 39132199 BLAKE2B 511377a23c45f3905fb710c09727a2a8ce93b7e1b10e2274dd38ee7b2095390a4f99c6e193756719b5de9fd6c17d0d901be1aef78b92718436745ece0a57b82f SHA512 0080e66cf9f0ae187c9210ecc5af15978642916d71920383e365cfcb3c837a5ee4052fd53030eafa1ccdd996663ad66d1730c8e49e85e584bc616dcf6389868e
+DIST patch-4.19-rc6.patch 39335180 BLAKE2B 94bbeb07c7d0dadabdad0c177148747d04d3f1d1dc47257183113d6d54d9b59f67a80efeed8d7c8116d088065435b9c87352631cb910ac583f02688ee96f2884 SHA512 15b4748e8d98a6843c7fc47081996c79c3d4a11302ef786193432f70ec809628294dbffc5b162113aa04d2313ad69d8fafe5713a19397ce82d36e134630be59b
+DIST patch-4.19-rc7.patch 39634304 BLAKE2B 98bf6c83118e7ce7f90ecd7c70412b8854a83c4ed6843021e7fc6b4340dc9bf89e29b30404c2e4ba16a3ba7c85d7d48bb00b16531de7b625a5ddf731b43c526c SHA512 cb0bc2ab8b3efe7332fb498bef706c556071e6623d76092dbbcc14d6741051bb1fe97d7c52baa0a950803c7cc186868b87b842e9fb9f61fce95befaa5be40cd0
+DIST patch-4.19-rc8.patch 39758717 BLAKE2B 56c7188f0a47b042fa92c3492feb3ff4f980508afbab17adada089ad6549c0b204b619555573221557d05b11a0b0d225a7d3f2929778e2ee66d7c73cd942a690 SHA512 b20a6aa57f6609d41a0687aad9b90bf1be04fbdc4c7312520bb3b28405142d684a7018071afd5bf8034130ce297f424c68fd93922faa0a27268c73e572213ed6
diff --git a/sys-kernel/git-sources/git-sources-4.19_rc1.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc1.ebuild
new file mode 100644
index 0000000..d03b0ba
--- /dev/null
+++ b/sys-kernel/git-sources/git-sources-4.19_rc1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+UNIPATCH_STRICTORDER="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_BASE_VER="4.18"
+K_EXP_GENPATCHES_NOUSE="1"
+K_FROM_GIT="yes"
+ETYPE="sources"
+CKV="${PVR/-r/-git}"
+
+# only use this if it's not an _rc/_pre release
+[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="The very latest -git version of the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
+experimental nature. If you have any issues, try a matching vanilla-sources
+ebuild -- if the problem is not there, please contact the upstream kernel
+developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
+report the problem so it can be fixed in time for the next kernel release."
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/patch-2.7.5"
+
+pkg_postinst() {
+ postinst_sources
+}
diff --git a/sys-kernel/git-sources/git-sources-4.19_rc2.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc2.ebuild
new file mode 100644
index 0000000..d03b0ba
--- /dev/null
+++ b/sys-kernel/git-sources/git-sources-4.19_rc2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+UNIPATCH_STRICTORDER="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_BASE_VER="4.18"
+K_EXP_GENPATCHES_NOUSE="1"
+K_FROM_GIT="yes"
+ETYPE="sources"
+CKV="${PVR/-r/-git}"
+
+# only use this if it's not an _rc/_pre release
+[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="The very latest -git version of the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
+experimental nature. If you have any issues, try a matching vanilla-sources
+ebuild -- if the problem is not there, please contact the upstream kernel
+developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
+report the problem so it can be fixed in time for the next kernel release."
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/patch-2.7.5"
+
+pkg_postinst() {
+ postinst_sources
+}
diff --git a/sys-kernel/git-sources/git-sources-4.19_rc3.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc3.ebuild
new file mode 100644
index 0000000..d03b0ba
--- /dev/null
+++ b/sys-kernel/git-sources/git-sources-4.19_rc3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+UNIPATCH_STRICTORDER="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_BASE_VER="4.18"
+K_EXP_GENPATCHES_NOUSE="1"
+K_FROM_GIT="yes"
+ETYPE="sources"
+CKV="${PVR/-r/-git}"
+
+# only use this if it's not an _rc/_pre release
+[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="The very latest -git version of the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
+experimental nature. If you have any issues, try a matching vanilla-sources
+ebuild -- if the problem is not there, please contact the upstream kernel
+developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
+report the problem so it can be fixed in time for the next kernel release."
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/patch-2.7.5"
+
+pkg_postinst() {
+ postinst_sources
+}
diff --git a/sys-kernel/git-sources/git-sources-4.19_rc4.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc4.ebuild
new file mode 100644
index 0000000..d03b0ba
--- /dev/null
+++ b/sys-kernel/git-sources/git-sources-4.19_rc4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+UNIPATCH_STRICTORDER="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_BASE_VER="4.18"
+K_EXP_GENPATCHES_NOUSE="1"
+K_FROM_GIT="yes"
+ETYPE="sources"
+CKV="${PVR/-r/-git}"
+
+# only use this if it's not an _rc/_pre release
+[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="The very latest -git version of the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
+experimental nature. If you have any issues, try a matching vanilla-sources
+ebuild -- if the problem is not there, please contact the upstream kernel
+developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
+report the problem so it can be fixed in time for the next kernel release."
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/patch-2.7.5"
+
+pkg_postinst() {
+ postinst_sources
+}
diff --git a/sys-kernel/git-sources/git-sources-4.19_rc5.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc5.ebuild
new file mode 100644
index 0000000..d03b0ba
--- /dev/null
+++ b/sys-kernel/git-sources/git-sources-4.19_rc5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+UNIPATCH_STRICTORDER="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_BASE_VER="4.18"
+K_EXP_GENPATCHES_NOUSE="1"
+K_FROM_GIT="yes"
+ETYPE="sources"
+CKV="${PVR/-r/-git}"
+
+# only use this if it's not an _rc/_pre release
+[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="The very latest -git version of the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
+experimental nature. If you have any issues, try a matching vanilla-sources
+ebuild -- if the problem is not there, please contact the upstream kernel
+developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
+report the problem so it can be fixed in time for the next kernel release."
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/patch-2.7.5"
+
+pkg_postinst() {
+ postinst_sources
+}
diff --git a/sys-kernel/git-sources/git-sources-4.19_rc6.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc6.ebuild
new file mode 100644
index 0000000..d03b0ba
--- /dev/null
+++ b/sys-kernel/git-sources/git-sources-4.19_rc6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+UNIPATCH_STRICTORDER="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_BASE_VER="4.18"
+K_EXP_GENPATCHES_NOUSE="1"
+K_FROM_GIT="yes"
+ETYPE="sources"
+CKV="${PVR/-r/-git}"
+
+# only use this if it's not an _rc/_pre release
+[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="The very latest -git version of the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
+experimental nature. If you have any issues, try a matching vanilla-sources
+ebuild -- if the problem is not there, please contact the upstream kernel
+developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
+report the problem so it can be fixed in time for the next kernel release."
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/patch-2.7.5"
+
+pkg_postinst() {
+ postinst_sources
+}
diff --git a/sys-kernel/git-sources/git-sources-4.19_rc7.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc7.ebuild
new file mode 100644
index 0000000..73fcf5f
--- /dev/null
+++ b/sys-kernel/git-sources/git-sources-4.19_rc7.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+UNIPATCH_STRICTORDER="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_BASE_VER="4.18"
+K_EXP_GENPATCHES_NOUSE="1"
+K_FROM_GIT="yes"
+ETYPE="sources"
+CKV="${PVR/-r/-git}"
+
+# only use this if it's not an _rc/_pre release
+[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="The very latest -git version of the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
+experimental nature. If you have any issues, try a matching vanilla-sources
+ebuild -- if the problem is not there, please contact the upstream kernel
+developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
+report the problem so it can be fixed in time for the next kernel release."
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/patch-2.7.5"
+
+pkg_postinst() {
+ postinst_sources
+}
diff --git a/sys-kernel/git-sources/git-sources-4.19_rc8.ebuild b/sys-kernel/git-sources/git-sources-4.19_rc8.ebuild
new file mode 100644
index 0000000..73fcf5f
--- /dev/null
+++ b/sys-kernel/git-sources/git-sources-4.19_rc8.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+UNIPATCH_STRICTORDER="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_BASE_VER="4.18"
+K_EXP_GENPATCHES_NOUSE="1"
+K_FROM_GIT="yes"
+ETYPE="sources"
+CKV="${PVR/-r/-git}"
+
+# only use this if it's not an _rc/_pre release
+[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="The very latest -git version of the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
+experimental nature. If you have any issues, try a matching vanilla-sources
+ebuild -- if the problem is not there, please contact the upstream kernel
+developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
+report the problem so it can be fixed in time for the next kernel release."
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/patch-2.7.5"
+
+pkg_postinst() {
+ postinst_sources
+}
diff --git a/sys-kernel/git-sources/metadata.xml b/sys-kernel/git-sources/metadata.xml
new file mode 100644
index 0000000..11fe6b1
--- /dev/null
+++ b/sys-kernel/git-sources/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mpagano@gentoo.org</email>
+ <name>Mike Pagano</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>kernel@gentoo.org</email>
+ <name>Gentoo Kernel Project</name>
+ </maintainer>
+ <longdescription>
+ -git sources sources, for people who like to have the absolute latest kernel available
+ </longdescription>
+ <upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/hardened-sources/Manifest b/sys-kernel/hardened-sources/Manifest
new file mode 100644
index 0000000..e43a9c7
--- /dev/null
+++ b/sys-kernel/hardened-sources/Manifest
@@ -0,0 +1,15 @@
+DIST deblob-4.8 143624 BLAKE2B ad0e04347b5055d1bc0d94c7b0661b7f82e8a4304e9b51fb1c1c44c9844b8fedd9dce8d066a3645ae19e827f1c9d7ecf784042c87f4702ac291d0f3c0b20c0f9 SHA512 87ccee6a079e2416e1a05ac2d05453ad635e92846c265741937d72c09170660ecca23be1c964843943f724e40f9be8f5bb56c0187823449fe67d12bd22d7e1b5
+DIST deblob-4.9 146273 BLAKE2B 8bc593ca375e003183dc6260aab0b2f81675b0814ec50fae3afe5d4ce9ce41c1c1401ce80e1c285153f610f8f730f82d6ad03e2578c792fd4af8779f2d1e3079 SHA512 3654b28e72b343bafdb38de10ef0c3621db0539bc0e7434bc99bb8f8ed911d4c9e53ca4785fd193fcfec369328f014fa5c6f3bda51b6f1a8f98b8c37ece119a6
+DIST deblob-check-4.8 712610 BLAKE2B 3950df0d8bd9d4cd8f66f1c56887a1c35177314d4d56a93b089f23a5401dd725740d1a2eb84c1f22d16b062deb276d24c44e14d5c4fbe5f6aba1bf1058adcc29 SHA512 caa39ffc45a0e2f0c8be345f0e1733584cc12c098d51fff65aa9d065b7701a500a581b91c2ee1797fc4b1e76c8a74253add1ccd11bd180abeaedf64a100a5bff
+DIST deblob-check-4.9 717834 BLAKE2B f2471b45f6953ce83c0819b9157ce638a1d93959ec4074a329766ecb0c3adf90fd3022307ea70c2cb3bd3c291f98d6153576cc6597c62ca97abae6524b98112e SHA512 46258698f1c574b44a8c5c78cc2b7fdbaca746976266974ee0f6787904531754b17ad15d542b68e07d4633ee91a8e2d9c32a991ea214292ac072c4f26deed9c9
+DIST genpatches-4.8-18.base.tar.xz 304664 BLAKE2B e6d4ec2dd409f0f79f1c2b0edf75eb8d78f3ac75e3c34a799372541224cff0509b8e54e466a95e2e6008caf6dd5e8817905ae3463c812371f17b2ab51a5f7da6 SHA512 5cfc10e59a5adc7a14dce3ae6dc2ab8006d8d2bba7201a8c531c05c5f77e9fa3debbb796f7cdf2047028db43316e2e25f4817e9358524b925488b563514f127e
+DIST genpatches-4.9-21.base.tar.xz 451684 BLAKE2B f672fff1826fa626f716a6f17ab6ac3d118d20d887fab9e19e7b2fb4e087e15bf104b7abdde6a0a5d82220c24632003a0fdacba3442828dd28263b604a7a626c SHA512 c6260fdf7d6e144556499bc8a9be1e0507ae88cdedc1918f8e35de91f653a4b05deaab46d3a96413fc346aa03589116e1ebe62dce18fe8af55e6dce4fc7634b9
+DIST genpatches-4.9-23.base.tar.xz 527264 BLAKE2B 0544e400c1b5660b5d1beccd7fc8d7cc1c202bb3028162e4bb1120aa9f3e5bcb4020f3650362054da719159cf9e2e41b6d51ad3bac05afc550a62463c0c0d070 SHA512 7270df0aa2e5cb56ebca8c86c40be1340023e4c1d2af59b1f55eb2f34b4e491a96b88da642f58e12532cb034037c223eacfcbcfe12df8c65fab7786499ec07f2
+DIST genpatches-4.9-24.base.tar.xz 535872 BLAKE2B 3bdf923fccaaa91ba9e1591e4d5163cb27718d1b524622763e3c9c15688669d589917c298e4698832e5877956ee138bd03c3bfe85b2028431f7f50b6174f9247 SHA512 ea033acf6c63b3da5e15c7889166b1995e494a588fc406c72b70e46172fd9c2cecd1404a00d1f33c776dca2fc70226e4d9dd017fe1c35bce9f44d71433887f1f
+DIST hardened-patches-4.8.17-3.extras.tar.bz2 1932803 BLAKE2B d1b8de94a806c8e78cc6cb575db889fe169e3848c21383089b4b08589d1fdd753c2d4d04f128b214a62b430cada258505d413c69b87a91cf1723e0699327f3e9 SHA512 f9521c5f0df2ab5989f5fd5929b3f69620d519d92583601f52bf4c2871330008c9e2f19cee3538a2c4945bc22d0ddb8478a9fb332de64dbd611904749d046e82
+DIST hardened-patches-4.9.21-1.extras.tar.bz2 1965869 BLAKE2B b0aa0d85a3d9ee6237dd8056af953604873d0668f097988e5f94daca1f0dc2993606710a68f7e28ca86d5f79a5ee7be2c0caff8e186d001e90dd3dff5a61b661 SHA512 0184dcd1d68c3b0ab8a3c3f385530bf726a9d2647399d72d2eaadfb0cd8c61284b0c3a007c2cfe704b1fd20fff080736bea4850729530c55eb0135624ae47cf4
+DIST hardened-patches-4.9.22-1.extras.tar.bz2 1923399 BLAKE2B 20c259ed21abf63abd65c82c20328e8da2498d261a9dfff1f5f637d56d7eb3b897186336cc2deff7ed72cea5004e57a73cebc65219f92cce4a0b91e818fd0762 SHA512 7780742a1cc8af175ca9741dcf505400e1a387c1e5ede803f1741ecc88a487404328b6bc87f48c0fd45cc609c0dadc2e47a6770a32589ac6c295fca9c36fe9bd
+DIST hardened-patches-4.9.23-1.extras.tar.bz2 1937895 BLAKE2B fb8917bc945519fd82c0f0b5cb4a22dd8a79407a30ceae326b588c6132703189dc28319568b478ca24d9b433922a9d009fd23ea7dc5ebe7d94a72e884dace5a5 SHA512 2fb86e5aea04ec23b54bd29ec0e11bd2ce1f82a216fab0d7989999c519fba63cb6d92d7fbdef9f4acdf5f3fb0ba6e91890eb2aaea83e9c0afa9f8226f4ce956d
+DIST hardened-patches-4.9.24-1.extras.tar.bz2 1948767 BLAKE2B e1d404c155507b5b3971001a64308e0558b0fab149acad82b07374f4834258d077801db9b1debe59e9c8193b636a7ef98386c65cf5beede3bae1ff94e517f184 SHA512 d57e455ad103de46a20eb34771ff2c825c0d4f1e97b4191bc161a58df36e4267e922063b80a53211345117b2a884d40d1551554d3bd93b4713fa285c23dbbd4c
+DIST linux-4.8.tar.xz 91966856 BLAKE2B 8c6be6bbe255f9fa2f6912364979a43e28d7c07ecfa53668a56652a70c34930bf96a8a05c519c57db432a517c70ae79feaeffcda6544e88687e9b915f1e3092d SHA512 a48a065f21e1c7c4de4cf8ca47b8b8d9a70f86b64e7cfa6e01be490f78895745b9c8790734b1d22182cf1f930fb87eaaa84e62ec8cc1f64ac4be9b949e7c0358
+DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
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
new file mode 100644
index 0000000..5d34dcc
--- /dev/null
+++ b/sys-kernel/hardened-sources/hardened-sources-4.8.17-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base"
+K_GENPATCHES_VER="18"
+K_DEBLOB_AVAILABLE="1"
+
+inherit kernel-2
+detect_version
+
+HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-3"
+HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
+SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
+UNIPATCH_EXCLUDE="
+ 1500_XATTR_USER_PREFIX.patch
+ 2900_dev-root-proc-mount-fix.patch"
+
+DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
+HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
+IUSE="deblob"
+
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
+
+RDEPEND=">=sys-devel/gcc-4.5"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+
+ local GRADM_COMPAT="sys-apps/gradm-3.1*"
+
+ ewarn
+ ewarn "Users of grsecurity's RBAC system must ensure they are using"
+ ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
+ ewarn "It is strongly recommended that the following command is issued"
+ ewarn "prior to booting a ${PF} kernel for the first time:"
+ ewarn
+ ewarn "emerge -na =${GRADM_COMPAT}"
+ ewarn
+}
diff --git a/sys-kernel/hardened-sources/hardened-sources-4.9.21.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.9.21.ebuild
new file mode 100644
index 0000000..4193a24
--- /dev/null
+++ b/sys-kernel/hardened-sources/hardened-sources-4.9.21.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base"
+K_GENPATCHES_VER="21"
+K_DEBLOB_AVAILABLE="1"
+
+inherit kernel-2
+detect_version
+
+HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-1"
+HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
+SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
+UNIPATCH_EXCLUDE="
+ 1500_XATTR_USER_PREFIX.patch
+ 1520_CVE-2017-6074-dccp-skb-freeing-fix.patch
+ 2900_dev-root-proc-mount-fix.patch"
+
+DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
+HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
+IUSE="deblob"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND=">=sys-devel/gcc-4.5"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+
+ local GRADM_COMPAT="sys-apps/gradm-3.1*"
+
+ ewarn
+ ewarn "Users of grsecurity's RBAC system must ensure they are using"
+ ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
+ ewarn "It is strongly recommended that the following command is issued"
+ ewarn "prior to booting a ${PF} kernel for the first time:"
+ ewarn
+ ewarn "emerge -na =${GRADM_COMPAT}"
+ ewarn
+}
diff --git a/sys-kernel/hardened-sources/hardened-sources-4.9.22.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.9.22.ebuild
new file mode 100644
index 0000000..61595d9
--- /dev/null
+++ b/sys-kernel/hardened-sources/hardened-sources-4.9.22.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base"
+K_GENPATCHES_VER="23"
+K_DEBLOB_AVAILABLE="1"
+
+inherit kernel-2
+detect_version
+
+HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-1"
+HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
+SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
+UNIPATCH_EXCLUDE="
+ 1500_XATTR_USER_PREFIX.patch
+ 1520_CVE-2017-6074-dccp-skb-freeing-fix.patch
+ 2900_dev-root-proc-mount-fix.patch"
+
+DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
+HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
+IUSE="deblob"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND=">=sys-devel/gcc-4.5"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+
+ local GRADM_COMPAT="sys-apps/gradm-3.1*"
+
+ ewarn
+ ewarn "Users of grsecurity's RBAC system must ensure they are using"
+ ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
+ ewarn "It is strongly recommended that the following command is issued"
+ ewarn "prior to booting a ${PF} kernel for the first time:"
+ ewarn
+ ewarn "emerge -na =${GRADM_COMPAT}"
+ ewarn
+}
diff --git a/sys-kernel/hardened-sources/hardened-sources-4.9.23.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.9.23.ebuild
new file mode 100644
index 0000000..61595d9
--- /dev/null
+++ b/sys-kernel/hardened-sources/hardened-sources-4.9.23.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base"
+K_GENPATCHES_VER="23"
+K_DEBLOB_AVAILABLE="1"
+
+inherit kernel-2
+detect_version
+
+HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-1"
+HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
+SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
+UNIPATCH_EXCLUDE="
+ 1500_XATTR_USER_PREFIX.patch
+ 1520_CVE-2017-6074-dccp-skb-freeing-fix.patch
+ 2900_dev-root-proc-mount-fix.patch"
+
+DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
+HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
+IUSE="deblob"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND=">=sys-devel/gcc-4.5"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+
+ local GRADM_COMPAT="sys-apps/gradm-3.1*"
+
+ ewarn
+ ewarn "Users of grsecurity's RBAC system must ensure they are using"
+ ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
+ ewarn "It is strongly recommended that the following command is issued"
+ ewarn "prior to booting a ${PF} kernel for the first time:"
+ ewarn
+ ewarn "emerge -na =${GRADM_COMPAT}"
+ ewarn
+}
diff --git a/sys-kernel/hardened-sources/hardened-sources-4.9.24.ebuild b/sys-kernel/hardened-sources/hardened-sources-4.9.24.ebuild
new file mode 100644
index 0000000..a4ff537
--- /dev/null
+++ b/sys-kernel/hardened-sources/hardened-sources-4.9.24.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base"
+K_GENPATCHES_VER="24"
+K_DEBLOB_AVAILABLE="1"
+
+inherit kernel-2
+detect_version
+
+HGPV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}-1"
+HGPV_URI="https://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/hardened-patches-${HGPV}.extras.tar.bz2"
+SRC_URI="${KERNEL_URI} ${HGPV_URI} ${GENPATCHES_URI} ${ARCH_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/hardened-patches-${HGPV}.extras.tar.bz2"
+UNIPATCH_EXCLUDE="
+ 1500_XATTR_USER_PREFIX.patch
+ 1520_CVE-2017-6074-dccp-skb-freeing-fix.patch
+ 2900_dev-root-proc-mount-fix.patch"
+
+DESCRIPTION="Hardened kernel sources (kernel series ${KV_MAJOR}.${KV_MINOR})"
+HOMEPAGE="https://www.gentoo.org/proj/en/hardened/"
+IUSE="deblob"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND=">=sys-devel/gcc-4.5"
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+
+ local GRADM_COMPAT="sys-apps/gradm-3.1*"
+
+ ewarn
+ ewarn "Users of grsecurity's RBAC system must ensure they are using"
+ ewarn "${GRADM_COMPAT}, which is compatible with ${PF}."
+ ewarn "It is strongly recommended that the following command is issued"
+ ewarn "prior to booting a ${PF} kernel for the first time:"
+ ewarn
+ ewarn "emerge -na =${GRADM_COMPAT}"
+ ewarn
+}
diff --git a/sys-kernel/hardened-sources/metadata.xml b/sys-kernel/hardened-sources/metadata.xml
new file mode 100644
index 0000000..ac63d4d
--- /dev/null
+++ b/sys-kernel/hardened-sources/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>kernel@gentoo.org</email>
+ <name>Gentoo Kernel Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>hardened@gentoo.org</email>
+ <name>Gentoo Hardened</name>
+ </maintainer>
+ <longdescription>
+ hardened-sources is based upon genpatches, and adds the grsecurity
+ patch from https://www.grsecurity.net, which also includes PaX.
+ </longdescription>
+ <use>
+ <flag name="deblob">Remove binary blobs from kernel sources to provide libre license compliance.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-kernel/kergen/Manifest b/sys-kernel/kergen/Manifest
new file mode 100644
index 0000000..9514479
--- /dev/null
+++ b/sys-kernel/kergen/Manifest
@@ -0,0 +1,2 @@
+DIST kergen-0.1.3.tar.gz 109717 BLAKE2B c2847617cddb3db5be6a164f54b4ddc3fd562d03844bdc8454ec6069be4b89ab8921bb180b0b25397c1788a63830ad61659eea8dfbed5fcea7672a499ad520c8 SHA512 decc5cc832f8741bb7f2e058b23c165c458bc9bce0e854d46292e741f33aadc731a9c0f428567b9143134d874b6bdd20defeb1377eabc51b347c0de3066e4aae
+DIST kergen-0.1.4.tar.gz 135566 BLAKE2B ae043f8b952423f66645be2f8c4286ceae07141420cfd1fab9d11a7ed76a89a028b7704f4659079bde7902702b129364b46752404a891868a3a2fea56a07dee7 SHA512 40140f66bf3072836dcd187a2b1a8e5ee19da853fbe6a3a3a7203a33332e8b4d3e871045aad187dcc23879f67d5ab11b832682c1ac0b788594b570da40a825d5
diff --git a/sys-kernel/kergen/kergen-0.1.3.ebuild b/sys-kernel/kergen/kergen-0.1.3.ebuild
new file mode 100644
index 0000000..2f948cd
--- /dev/null
+++ b/sys-kernel/kergen/kergen-0.1.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Kernel config generator"
+HOMEPAGE="https://github.com/nichoski/kergen"
+SRC_URI="http://whatishacking.org/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/sys-kernel/kergen/kergen-0.1.4.ebuild b/sys-kernel/kergen/kergen-0.1.4.ebuild
new file mode 100644
index 0000000..5cc81c8
--- /dev/null
+++ b/sys-kernel/kergen/kergen-0.1.4.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+
+inherit distutils-r1
+
+DESCRIPTION="Kernel config generator"
+HOMEPAGE="https://github.com/nichoski/kergen"
+SRC_URI="http://whatishacking.org/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/sys-kernel/kergen/metadata.xml b/sys-kernel/kergen/metadata.xml
new file mode 100644
index 0000000..fcfb75e
--- /dev/null
+++ b/sys-kernel/kergen/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">nichoski/kergen</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/kpatch/Manifest b/sys-kernel/kpatch/Manifest
new file mode 100644
index 0000000..c6d9128
--- /dev/null
+++ b/sys-kernel/kpatch/Manifest
@@ -0,0 +1,3 @@
+DIST kpatch-0.4.0.tar.gz 124433 BLAKE2B 6ea18c4d590426f9db95e16d555307e264d1b7db362d421f72eaaf897703f7883c44cc49bd98b48d8789453962259d0b0e301aca325c94be6c21061d0621a9cf SHA512 0bbb49a06d02e9eb026be458eb904cf50f50461a67f16835a306bb3a4a57ef88b86ecf6bca6dfc91b921ba87b4c8b9d532e2a77e987e7c71583b8cb53520a1d7
+DIST kpatch-0.6.0.tar.gz 153337 BLAKE2B 5c132b885f9f8bc3c7b514997a0b8b77280d0387431dd3eb73f45da4678b281961a03452b0ec590b37fc9568192135528a9a42bd5005530bd8b9175fe652f7b1 SHA512 7ac27639773a851ad6689743100ff973b4e3a30efc386bdf413c8f6167068d93c2d18820d87e1f1e96405fa3545dcb80a72db0011f07218a692f91f1f3c3655a
+DIST kpatch-0.6.2.tar.gz 148110 BLAKE2B 9903c9423ee6268a0d87c55336e418a964474a3d7f35dd1ad613be7645a932cd09991652cd4a3af0b08a686f39e7c6c7f4b12d80c20c7ecd663aa703821503f8 SHA512 65098195330a2dbea4f8648c87c41f3a7751ffcb83b4e4c5f0a1146f91a8ae8c305d8f111a69304b31f1f12dd26da788af31a5477899bda098b7391cd0a32eca
diff --git a/sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild b/sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild
new file mode 100644
index 0000000..2dae0d7
--- /dev/null
+++ b/sys-kernel/kpatch/kpatch-0.4.0-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit linux-info linux-mod flag-o-matic
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
+else
+ SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Dynamic kernel patching for Linux"
+HOMEPAGE="https://github.com/dynup/kpatch"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="examples +modules test"
+
+RDEPEND="
+ app-crypt/pesign
+ dev-libs/openssl:0=
+ sys-libs/zlib
+ sys-apps/pciutils
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/elfutils
+ sys-devel/bison
+"
+
+pkg_pretend() {
+ if kernel_is gt 3 9 0; then
+ if ! linux_config_exists; then
+ eerror "Unable to check the currently running kernel for kpatch support"
+ eerror "Please be sure a .config file is available in the kernel src dir"
+ eerror "and ensure the kernel has been built."
+ else
+ # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
+ CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
+ ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
+ ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
+ ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
+ ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
+ ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
+ fi
+ else
+ eerror
+ eerror "kpatch is not available for Linux kernels below 4.0.0"
+ eerror
+ die "Upgrade the kernel sources before installing kpatch."
+ fi
+
+ check_extra_config
+}
+
+src_prepare() {
+ replace-flags '-O?' '-O1'
+ default
+}
+
+src_compile() {
+ set_arch_to_kernel
+ emake all
+}
+
+src_install() {
+ set_arch_to_kernel
+ emake DESTDIR="${D}" PREFIX="/usr" install
+
+ einstalldocs
+}
diff --git a/sys-kernel/kpatch/kpatch-0.6.0.ebuild b/sys-kernel/kpatch/kpatch-0.6.0.ebuild
new file mode 100644
index 0000000..e9cdeb7
--- /dev/null
+++ b/sys-kernel/kpatch/kpatch-0.6.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit linux-info linux-mod flag-o-matic
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
+else
+ SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Dynamic kernel patching for Linux"
+HOMEPAGE="https://github.com/dynup/kpatch"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="examples +modules test"
+
+RDEPEND="
+ app-crypt/pesign
+ dev-libs/openssl:0=
+ sys-libs/zlib
+ sys-apps/pciutils
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/elfutils
+ sys-devel/bison
+"
+
+pkg_pretend() {
+ if kernel_is gt 3 9 0; then
+ if ! linux_config_exists; then
+ eerror "Unable to check the currently running kernel for kpatch support"
+ eerror "Please be sure a .config file is available in the kernel src dir"
+ eerror "and ensure the kernel has been built."
+ else
+ # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
+ CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
+ ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
+ ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
+ ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
+ ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
+ ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
+ fi
+ else
+ eerror
+ eerror "kpatch is not available for Linux kernels below 4.0.0"
+ eerror
+ die "Upgrade the kernel sources before installing kpatch."
+ fi
+
+ check_extra_config
+}
+
+src_prepare() {
+ replace-flags '-O?' '-O1'
+ default
+}
+
+src_compile() {
+ set_arch_to_kernel
+ emake all
+}
+
+src_install() {
+ set_arch_to_kernel
+ emake DESTDIR="${D}" PREFIX="/usr" install
+
+ einstalldocs
+}
diff --git a/sys-kernel/kpatch/kpatch-0.6.2.ebuild b/sys-kernel/kpatch/kpatch-0.6.2.ebuild
new file mode 100644
index 0000000..e9cdeb7
--- /dev/null
+++ b/sys-kernel/kpatch/kpatch-0.6.2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit linux-info linux-mod flag-o-matic
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
+else
+ SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Dynamic kernel patching for Linux"
+HOMEPAGE="https://github.com/dynup/kpatch"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="examples +modules test"
+
+RDEPEND="
+ app-crypt/pesign
+ dev-libs/openssl:0=
+ sys-libs/zlib
+ sys-apps/pciutils
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/elfutils
+ sys-devel/bison
+"
+
+pkg_pretend() {
+ if kernel_is gt 3 9 0; then
+ if ! linux_config_exists; then
+ eerror "Unable to check the currently running kernel for kpatch support"
+ eerror "Please be sure a .config file is available in the kernel src dir"
+ eerror "and ensure the kernel has been built."
+ else
+ # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
+ CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
+ ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
+ ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
+ ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
+ ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
+ ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
+ fi
+ else
+ eerror
+ eerror "kpatch is not available for Linux kernels below 4.0.0"
+ eerror
+ die "Upgrade the kernel sources before installing kpatch."
+ fi
+
+ check_extra_config
+}
+
+src_prepare() {
+ replace-flags '-O?' '-O1'
+ default
+}
+
+src_compile() {
+ set_arch_to_kernel
+ emake all
+}
+
+src_install() {
+ set_arch_to_kernel
+ emake DESTDIR="${D}" PREFIX="/usr" install
+
+ einstalldocs
+}
diff --git a/sys-kernel/kpatch/kpatch-9999.ebuild b/sys-kernel/kpatch/kpatch-9999.ebuild
new file mode 100644
index 0000000..0d6aa6e
--- /dev/null
+++ b/sys-kernel/kpatch/kpatch-9999.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit linux-info linux-mod flag-o-matic
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dynup/${PN}.git"
+else
+ SRC_URI="https://github.com/dynup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Dynamic kernel patching for Linux"
+HOMEPAGE="https://github.com/dynup/kpatch"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="examples +modules test"
+
+RDEPEND="
+ app-crypt/pesign
+ dev-libs/openssl:0=
+ sys-libs/zlib
+ sys-apps/pciutils
+"
+
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/shellcheck )
+ dev-libs/elfutils
+ sys-devel/bison
+"
+
+pkg_pretend() {
+ if kernel_is gt 3 9 0; then
+ if ! linux_config_exists; then
+ eerror "Unable to check the currently running kernel for kpatch support"
+ eerror "Please be sure a .config file is available in the kernel src dir"
+ eerror "and ensure the kernel has been built."
+ else
+ # Fail to build if these kernel options are not enabled (see kpatch/kmod/core/Makefile)
+ CONFIG_CHECK="FUNCTION_TRACER HAVE_FENTRY MODULES SYSFS KALLSYMS_ALL"
+ ERROR_FUNCTION_TRACER="CONFIG_FUNCTION_TRACER must be enabled in the kernel's config file"
+ ERROR_HAVE_FENTRY="CONFIG_HAVE_FENTRY must be enabled in the kernel's config file"
+ ERROR_MODULES="CONFIG_MODULES must be enabled in the kernel's config file"
+ ERROR_SYSFS="CONFIG_SYSFS must be enabled in the kernel's config file"
+ ERROR_KALLSYMS_ALL="CONFIG_KALLSYMS_ALL must be enabled in the kernel's config file"
+ fi
+ else
+ eerror
+ eerror "kpatch is not available for Linux kernels below 4.0.0"
+ eerror
+ die "Upgrade the kernel sources before installing kpatch."
+ fi
+
+ check_extra_config
+}
+
+src_prepare() {
+ replace-flags '-O?' '-O1'
+ default
+}
+
+src_compile() {
+ set_arch_to_kernel
+ emake all
+}
+
+src_install() {
+ set_arch_to_kernel
+ emake DESTDIR="${D}" PREFIX="/usr" install
+
+ einstalldocs
+}
diff --git a/sys-kernel/kpatch/metadata.xml b/sys-kernel/kpatch/metadata.xml
new file mode 100644
index 0000000..b393adb
--- /dev/null
+++ b/sys-kernel/kpatch/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alicef@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">Dynamic kernel patching for the Linux kernel</longdescription>
+</pkgmetadata>
diff --git a/sys-kernel/linux-docs/Manifest b/sys-kernel/linux-docs/Manifest
new file mode 100644
index 0000000..e5d38f1
--- /dev/null
+++ b/sys-kernel/linux-docs/Manifest
@@ -0,0 +1,3 @@
+DIST linux-4.1.tar.xz 83017828 BLAKE2B d1dc4e458db191f16306b3d2d7eb60ef5e04307406c769cccdd88beb407f8de228ab1f095a44d6e992b06d01cd896fda31dec1cdf16667f4ca0b628da594aee3 SHA512 168ef84a4e67619f9f53f3574e438542a5747f9b43443363cb83597fcdac9f40d201625c66e375a23226745eaada9176eb006ca023613cec089349e91751f3c0
+DIST linux-4.4.tar.xz 87295988 BLAKE2B f260f1858994f5d481fd078c86e51bddbc958f7c5d1586f60dced772e1b1107ecf3aae0558c3e6f39c36f7d3aa1e6cd1e5c64ec9d6f2218f47b98413da6466fb SHA512 13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e
+DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
diff --git a/sys-kernel/linux-docs/linux-docs-4.1.ebuild b/sys-kernel/linux-docs/linux-docs-4.1.ebuild
new file mode 100644
index 0000000..5101722
--- /dev/null
+++ b/sys-kernel/linux-docs/linux-docs-4.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit toolchain-funcs
+
+MY_P=linux-${PV}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="Developer documentation generated from the Linux kernel"
+HOMEPAGE="https://www.kernel.org/"
+SRC_URI="mirror://kernel/linux/kernel/v3.x/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+
+IUSE="html"
+DEPEND="app-text/docbook-sgml-utils
+ app-text/xmlto
+ sys-apps/sed
+ ~app-text/docbook-xml-dtd-4.1.2"
+RDEPEND=""
+
+src_prepare() {
+
+ sed -i \
+ -e "s:db2:docbook2:g" \
+ -e "s:/usr/local/man:${D}/usr/share/man:g" \
+ "${S}"/Documentation/DocBook/Makefile
+
+ # fix for parallel build as per bug #248337
+ sed -i \
+ -e "s:\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:+\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:" \
+ "${S}"/Makefile
+}
+
+src_compile() {
+ local ARCH=$(tc-arch-kernel)
+ unset KBUILD_OUTPUT
+
+ emake mandocs || die "make mandocs failed"
+
+ if use html; then
+ emake htmldocs || die "make htmldocs failed"
+ fi
+}
+
+src_install() {
+ local file
+ local ARCH=$(tc-arch-kernel)
+ unset KBUILD_OUTPUT
+
+ make installmandocs || die "make installmandocs failed"
+
+ if use html; then
+ # There is no subdirectory named "index"
+ dohtml Documentation/DocBook/index.html
+ rm Documentation/DocBook/index.html
+ for file in Documentation/DocBook/*.html; do
+ dohtml -r ${file/\.html/}
+ done
+ fi
+}
diff --git a/sys-kernel/linux-docs/linux-docs-4.4.ebuild b/sys-kernel/linux-docs/linux-docs-4.4.ebuild
new file mode 100644
index 0000000..5101722
--- /dev/null
+++ b/sys-kernel/linux-docs/linux-docs-4.4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit toolchain-funcs
+
+MY_P=linux-${PV}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="Developer documentation generated from the Linux kernel"
+HOMEPAGE="https://www.kernel.org/"
+SRC_URI="mirror://kernel/linux/kernel/v3.x/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+
+IUSE="html"
+DEPEND="app-text/docbook-sgml-utils
+ app-text/xmlto
+ sys-apps/sed
+ ~app-text/docbook-xml-dtd-4.1.2"
+RDEPEND=""
+
+src_prepare() {
+
+ sed -i \
+ -e "s:db2:docbook2:g" \
+ -e "s:/usr/local/man:${D}/usr/share/man:g" \
+ "${S}"/Documentation/DocBook/Makefile
+
+ # fix for parallel build as per bug #248337
+ sed -i \
+ -e "s:\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:+\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:" \
+ "${S}"/Makefile
+}
+
+src_compile() {
+ local ARCH=$(tc-arch-kernel)
+ unset KBUILD_OUTPUT
+
+ emake mandocs || die "make mandocs failed"
+
+ if use html; then
+ emake htmldocs || die "make htmldocs failed"
+ fi
+}
+
+src_install() {
+ local file
+ local ARCH=$(tc-arch-kernel)
+ unset KBUILD_OUTPUT
+
+ make installmandocs || die "make installmandocs failed"
+
+ if use html; then
+ # There is no subdirectory named "index"
+ dohtml Documentation/DocBook/index.html
+ rm Documentation/DocBook/index.html
+ for file in Documentation/DocBook/*.html; do
+ dohtml -r ${file/\.html/}
+ done
+ fi
+}
diff --git a/sys-kernel/linux-docs/linux-docs-4.9.ebuild b/sys-kernel/linux-docs/linux-docs-4.9.ebuild
new file mode 100644
index 0000000..5101722
--- /dev/null
+++ b/sys-kernel/linux-docs/linux-docs-4.9.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit toolchain-funcs
+
+MY_P=linux-${PV}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="Developer documentation generated from the Linux kernel"
+HOMEPAGE="https://www.kernel.org/"
+SRC_URI="mirror://kernel/linux/kernel/v3.x/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+
+IUSE="html"
+DEPEND="app-text/docbook-sgml-utils
+ app-text/xmlto
+ sys-apps/sed
+ ~app-text/docbook-xml-dtd-4.1.2"
+RDEPEND=""
+
+src_prepare() {
+
+ sed -i \
+ -e "s:db2:docbook2:g" \
+ -e "s:/usr/local/man:${D}/usr/share/man:g" \
+ "${S}"/Documentation/DocBook/Makefile
+
+ # fix for parallel build as per bug #248337
+ sed -i \
+ -e "s:\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:+\$(Q)\$(MAKE) \$(build)=Documentation\/DocBook \$@:" \
+ "${S}"/Makefile
+}
+
+src_compile() {
+ local ARCH=$(tc-arch-kernel)
+ unset KBUILD_OUTPUT
+
+ emake mandocs || die "make mandocs failed"
+
+ if use html; then
+ emake htmldocs || die "make htmldocs failed"
+ fi
+}
+
+src_install() {
+ local file
+ local ARCH=$(tc-arch-kernel)
+ unset KBUILD_OUTPUT
+
+ make installmandocs || die "make installmandocs failed"
+
+ if use html; then
+ # There is no subdirectory named "index"
+ dohtml Documentation/DocBook/index.html
+ rm Documentation/DocBook/index.html
+ for file in Documentation/DocBook/*.html; do
+ dohtml -r ${file/\.html/}
+ done
+ fi
+}
diff --git a/sys-kernel/linux-docs/metadata.xml b/sys-kernel/linux-docs/metadata.xml
new file mode 100644
index 0000000..029e497
--- /dev/null
+++ b/sys-kernel/linux-docs/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mpagano@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="html">Install HTML documentation</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-kernel/linux-firmware/Manifest b/sys-kernel/linux-firmware/Manifest
new file mode 100644
index 0000000..a3a4e30
--- /dev/null
+++ b/sys-kernel/linux-firmware/Manifest
@@ -0,0 +1 @@
+DIST linux-firmware-20181026.tar.gz 167486645 BLAKE2B 9923b9a8ab692023022d7bceb238b2ec4eba395062307864be558d969fba657301ada317b95071cad82a7a883a2d08f63f0ed34ecc7914a36f31ce85f55ac31f SHA512 4d6eff765557888dea432e0a28973c8ec067354a57aa4c37198e887618ca17e9d5e1243a618820fb470a86a5ce4b6255290f1c2c3835baba4fb87148372cafb0
diff --git a/sys-kernel/linux-firmware/linux-firmware-20181026.ebuild b/sys-kernel/linux-firmware/linux-firmware-20181026.ebuild
new file mode 100644
index 0000000..ef69aff
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20181026.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+inherit savedconfig
+
+if [[ ${PV} == 99999999* ]]; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/${PN}.git"
+else
+ GIT_COMMIT="1cb4e51018293c14642f115b5868cda92b879161"
+ SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="alpha amd64 arm arm64 hppa ia64 mips ppc ppc64 s390 sh sparc x86"
+fi
+
+DESCRIPTION="Linux firmware files"
+HOMEPAGE="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git"
+
+LICENSE="linux-firmware ( BSD ISC MIT no-source-code ) GPL-2 GPL-2+ freedist"
+SLOT="0"
+IUSE="savedconfig"
+
+DEPEND=""
+RDEPEND="!savedconfig? (
+ !sys-firmware/alsa-firmware[alsa_cards_ca0132]
+ !sys-firmware/alsa-firmware[alsa_cards_korg1212]
+ !sys-firmware/alsa-firmware[alsa_cards_maestro3]
+ !sys-firmware/alsa-firmware[alsa_cards_sb16]
+ !sys-firmware/alsa-firmware[alsa_cards_ymfpci]
+ !media-tv/cx18-firmware
+ !<sys-firmware/ivtv-firmware-20080701-r1
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
+ !net-dialup/ueagle-atm
+ !net-dialup/ueagle4-atm
+ !net-wireless/ar9271-firmware
+ !net-wireless/i2400m-fw
+ !net-wireless/libertas-firmware
+ !sys-firmware/rt61-firmware
+ !net-wireless/rt73-firmware
+ !net-wireless/rt2860-firmware
+ !net-wireless/rt2870-firmware
+ !sys-block/qla-fc-firmware
+ !sys-firmware/amd-ucode
+ !sys-firmware/iwl1000-ucode
+ !sys-firmware/iwl2000-ucode
+ !sys-firmware/iwl2030-ucode
+ !sys-firmware/iwl3945-ucode
+ !sys-firmware/iwl4965-ucode
+ !sys-firmware/iwl5000-ucode
+ !sys-firmware/iwl5150-ucode
+ !sys-firmware/iwl6000-ucode
+ !sys-firmware/iwl6005-ucode
+ !sys-firmware/iwl6030-ucode
+ !sys-firmware/iwl6050-ucode
+ !sys-firmware/iwl3160-ucode
+ !sys-firmware/iwl7260-ucode
+ !sys-firmware/iwl7265-ucode
+ !sys-firmware/iwl3160-7260-bt-ucode
+ !sys-firmware/radeon-ucode
+ )"
+#add anything else that collides to this
+
+RESTRICT="binchecks strip"
+
+src_unpack() {
+ if [[ ${PV} == 99999999* ]]; then
+ git-r3_src_unpack
+ else
+ default
+ # rename directory from git snapshot tarball
+ mv ${PN}-*/ ${P} || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ echo "# Remove files that shall not be installed from this list." > ${PN}.conf
+ find * \( \! -type d -and \! -name ${PN}.conf \) >> ${PN}.conf
+
+ if use savedconfig; then
+ restore_config ${PN}.conf
+ ebegin "Removing all files not listed in config"
+ find * \( \! -type d -and \! -name ${PN}.conf \) \
+ | sort ${PN}.conf ${PN}.conf - \
+ | uniq -u | xargs -r rm
+ eend $? || die
+ # remove empty directories, bug #396073
+ find -type d -empty -delete || die
+ fi
+}
+
+src_install() {
+ if use !savedconfig; then
+ save_config ${PN}.conf
+ fi
+ rm ${PN}.conf || die
+ insinto /lib/firmware/
+ doins -r *
+}
+
+pkg_preinst() {
+ if use savedconfig; then
+ ewarn "USE=savedconfig is active. You must handle file collisions manually."
+ fi
+}
+
+pkg_postinst() {
+ elog "If you are only interested in particular firmware files, edit the saved"
+ elog "configfile and remove those that you do not want."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
new file mode 100644
index 0000000..e7b169e
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+inherit savedconfig
+
+if [[ ${PV} == 99999999* ]]; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/${PN}.git"
+else
+ GIT_COMMIT=""
+ SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Linux firmware files"
+HOMEPAGE="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git"
+
+LICENSE="linux-firmware ( BSD ISC MIT no-source-code ) GPL-2 GPL-2+ freedist"
+SLOT="0"
+IUSE="savedconfig"
+
+DEPEND=""
+RDEPEND="!savedconfig? (
+ !sys-firmware/alsa-firmware[alsa_cards_ca0132]
+ !sys-firmware/alsa-firmware[alsa_cards_korg1212]
+ !sys-firmware/alsa-firmware[alsa_cards_maestro3]
+ !sys-firmware/alsa-firmware[alsa_cards_sb16]
+ !sys-firmware/alsa-firmware[alsa_cards_ymfpci]
+ !media-tv/cx18-firmware
+ !<sys-firmware/ivtv-firmware-20080701-r1
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx]
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885]
+ !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700]
+ !net-dialup/ueagle-atm
+ !net-dialup/ueagle4-atm
+ !net-wireless/ar9271-firmware
+ !net-wireless/i2400m-fw
+ !net-wireless/libertas-firmware
+ !sys-firmware/rt61-firmware
+ !net-wireless/rt73-firmware
+ !net-wireless/rt2860-firmware
+ !net-wireless/rt2870-firmware
+ !sys-block/qla-fc-firmware
+ !sys-firmware/amd-ucode
+ !sys-firmware/iwl1000-ucode
+ !sys-firmware/iwl2000-ucode
+ !sys-firmware/iwl2030-ucode
+ !sys-firmware/iwl3945-ucode
+ !sys-firmware/iwl4965-ucode
+ !sys-firmware/iwl5000-ucode
+ !sys-firmware/iwl5150-ucode
+ !sys-firmware/iwl6000-ucode
+ !sys-firmware/iwl6005-ucode
+ !sys-firmware/iwl6030-ucode
+ !sys-firmware/iwl6050-ucode
+ !sys-firmware/iwl3160-ucode
+ !sys-firmware/iwl7260-ucode
+ !sys-firmware/iwl7265-ucode
+ !sys-firmware/iwl3160-7260-bt-ucode
+ !sys-firmware/radeon-ucode
+ )"
+#add anything else that collides to this
+
+RESTRICT="binchecks strip"
+
+src_unpack() {
+ if [[ ${PV} == 99999999* ]]; then
+ git-r3_src_unpack
+ else
+ default
+ # rename directory from git snapshot tarball
+ mv ${PN}-*/ ${P} || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ echo "# Remove files that shall not be installed from this list." > ${PN}.conf
+ find * \( \! -type d -and \! -name ${PN}.conf \) >> ${PN}.conf
+
+ if use savedconfig; then
+ restore_config ${PN}.conf
+ ebegin "Removing all files not listed in config"
+ find * \( \! -type d -and \! -name ${PN}.conf \) \
+ | sort ${PN}.conf ${PN}.conf - \
+ | uniq -u | xargs -r rm
+ eend $? || die
+ # remove empty directories, bug #396073
+ find -type d -empty -delete || die
+ fi
+}
+
+src_install() {
+ if use !savedconfig; then
+ save_config ${PN}.conf
+ fi
+ rm ${PN}.conf || die
+ insinto /lib/firmware/
+ doins -r *
+}
+
+pkg_preinst() {
+ if use savedconfig; then
+ ewarn "USE=savedconfig is active. You must handle file collisions manually."
+ fi
+}
+
+pkg_postinst() {
+ elog "If you are only interested in particular firmware files, edit the saved"
+ elog "configfile and remove those that you do not want."
+}
diff --git a/sys-kernel/linux-firmware/metadata.xml b/sys-kernel/linux-firmware/metadata.xml
new file mode 100644
index 0000000..c662ac9
--- /dev/null
+++ b/sys-kernel/linux-firmware/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>chithanh@gentoo.org</email>
+ <name>Chí-Thanh Christopher Nguyễn</name>
+</maintainer>
+<maintainer type="person">
+ <email>zerochaos@gentoo.org</email>
+ <name>Rick Farina</name>
+</maintainer>
+<maintainer type="project">
+ <email>kernel@gentoo.org</email>
+ <name>Gentoo Kernel Project</name>
+</maintainer>
+<use>
+ <flag name="savedconfig">Allows individual selection of firmware files</flag>
+</use>
+</pkgmetadata>
diff --git a/sys-kernel/linux-headers/Manifest b/sys-kernel/linux-headers/Manifest
new file mode 100644
index 0000000..da08f9c
--- /dev/null
+++ b/sys-kernel/linux-headers/Manifest
@@ -0,0 +1,21 @@
+DIST gentoo-headers-3.18-1.tar.xz 3628 BLAKE2B 9e677389139e8e3e42508171593797b78f24368ceaba4f76c242b5827bf657444a65a0d3b334034cc54f7f14b00b9da7446356e1a5ffd9aacb05d5a336d4437f SHA512 89fb9b336fa3455752f6fe8626500d30245c04806890d4448a2895bbef2a5eae409940618fd4e0be57aa12784a198a695c32479f12d76450e16f2af1536e7a1f
+DIST gentoo-headers-4.13-1.tar.xz 4096 BLAKE2B a0506c6aec14d8d710863cc3f7b5ce6cc067af245cc96dbf83f10f02ba83d580f900c9cf8b09b496370d580a9b9cd935738d8b4b0cb987836490894fba01cf23 SHA512 14236185c8810b88d94ff0533fe59e84599c2d4e5c7507c37cb458b6728eed69b581df7f8654d5323454ec359e93490c4dcbbb1ee58a66f2586047c93f0f1aa6
+DIST gentoo-headers-4.14-1.tar.xz 4080 BLAKE2B 5d8bb4453d3b0b739922a86e0e45120fe5ad57c3310ff6a94830a3a7561fb3b5eef7805ff171bdf0d5582fc91848fad948162e63ec4922280c8ed68ba58d50e1 SHA512 e0f806db641c99f3f71e27fde29705685745c9c03b901c943cab5af84e2e9c3af96f5d2d10d8f5328ec7e4dba28b378f534317bf1bee597d429557b981f0a865
+DIST gentoo-headers-4.15-1.tar.xz 4068 BLAKE2B fc99b99637a11dc0cc6b4d79be3e32242f4b4f3c86a4618b3a51839e902ebad045b335f531ca41c10a6a597111f2cf77a0ae17518fb17a8441b26f1bd98c19e7 SHA512 cb973625381ac0115344d9aa1ddd927d75f0c11961526844a9da6a0aebcd28b488a7af3b423ac8358808d998d9d00d51156780905a04c01c6c512215cad6de7d
+DIST gentoo-headers-4.16-1.tar.xz 4044 BLAKE2B c35efb14266d7d7f06de79f584c6e13a700c38793d7df399e668d5de269088d8a441a10e9d0b7acc5b6d1a116343d516aba58a4823cf51845fe9913dea81cb76 SHA512 a1fdf775bc27e5db2ccf1f86f12e78a25a4127673eb0a87639d548dc6246b81e5df0e8d56c0314ba833fe82d2825f8620addd408782e2f5152fb0b056b870d7c
+DIST gentoo-headers-4.17-1.tar.xz 4072 BLAKE2B 7de125ac87b0344a5ff7dfbbe3d15d62cd3364116750e35b72d9e404512267a497df1ce8c52df0ba97c836df68287fe239bf29fec25d43b11be67aa17833c097 SHA512 0a837b227b7e923232438f1961535fc9becb6ed4c95290da76631489ce318a875bd3cd12ec110dedf77026c5cb9761cf8ae5c9fcf2abd736f0f7b7249228efdd
+DIST gentoo-headers-4.18-1.tar.xz 4040 BLAKE2B fc4462bc8e59a58658c6bd2669840d7105f6bcde5e7cc2633f53ae4aaf44a67aebef24d944d9d3edb95abb4110ddeeb86a6fc0cbebcf6cbe23b59b97c16a0daf SHA512 8f58df3a5e5bf26e06c300354ec1e468f40593601e6645dc1b51491f5a678020598c1c72f72e616b499f503d98da4d4bf9cdf804a15cac73f51b7877756dd7fb
+DIST gentoo-headers-4.19-1.tar.xz 4040 BLAKE2B 4ccaf4fb6bde84f0b1f29534cf2f6effca48cb81d63b33086a1ec667069bcb57a3c3d5697c50bff8521343954d01d9c27139d62a9cf2c9f5f12bc0461441f4af SHA512 511accdfd104d9cc84b568132f1eb822f97d35120a438768c313c2cc2651197414dae7af05db81e26b32fb4febbf1e0812030fcb98395f6f65271f6605dc7bb6
+DIST gentoo-headers-4.4-1.tar.xz 6624 BLAKE2B 9cdf0c22520e413f175942c4994dd90b0fed8f72c67332a05e7ed72b901ee04594f4e4a3c0252e0a6e057d9c08c4d653387dc36cda82ce9ef8a16e7317ba9ea0 SHA512 dd8a5c627a9cd373022d7afa1beb126f15694f80452821f31fc5c1a3439635814d205bcbc873a5869946472d86cdec872a44f4870751b96d42e89893fca1b983
+DIST gentoo-headers-4.9-1.tar.xz 5416 BLAKE2B 2538870b340d4e4b260ada37b0571ba770a4bf93b0f0cf78819b4bf68b8ddc43c314d7fc5d12a78bc71c9bb12306d986ae0ae74159ec7edc7deea371f6b5f015 SHA512 1069f50c58f25ceb8a13c8e53dce6a21e352e2a624da3b9a6d139939e7613e9a97226eb0173fa060ee69443c6a50b53b6d5c6d752dcaebffbe2a78f06cfbe2b6
+DIST gentoo-headers-base-3.18.tar.xz 3776668 BLAKE2B 837a675ecf05ec270549d0ba6b9dcb98fb0e40f22007ebfa3e430152b7149dcfa29c8bbe38c737add07f75642234f1633c1d5ae0170788e8d4f765faf00bbdbe SHA512 6615c604e5e618d26fff5a61691f7827bb05be9790db6c9f8e16e3842bce8f056f9928f85ae5714710b75743b0d0804faba4ba9c76e934e1de22dc03ef6d5535
+DIST gentoo-headers-base-4.13.tar.xz 7951980 BLAKE2B 8b3b5d9152455b08bf06c275a69168f8a2418584058e23f784d3ab956d72b100b89d398bfeb351d8faa8285cd9ae8942726099ce9aa3fd94b8e0e92b8de1c217 SHA512 3b528e18199d43db3f51c8fb9a5a4c67b9317ea7e9b9fd82fe2cb4d704bbc1253f2af64dc79377ee8ec26511d0893409e3dddbb9a6ae11e8bb7f4ca4d8d3ac9a
+DIST gentoo-headers-base-4.14.tar.xz 8017944 BLAKE2B e967a3f26fa002f62af72c165cf960e855f5d84dd105b3f136e5ae24f4cdfc9e5f8b217a83955b325ca4bd6bda0a9d4c4de02d8d79fd4aa72191bc63db96183a SHA512 2a4e83a9ee36ffa85b59ebac1e12f4f1c572825b767928a42c4748d924d04f0536bab4d9375ca68c11ad867c226f386c40c7c4d0158d1ab00c838eb5b2f9f21a
+DIST gentoo-headers-base-4.15.tar.xz 8199628 BLAKE2B 79a4f694a8335ed4bf1df94ab7829f41d3476165d0ce822a13e47461d7e3ee4cdb5e88acb9960a92ba1142adeb9951c19e17405c37b80d461b8577c7d1dfa37a SHA512 7698ae90e356cb6105d3b1fc5351264774428b5caa405e8695925965ab2ff3a08c0dfe3587a69a87405ecc45c6cd3040c3a9f751d6e6dc8eddf8b28ded4e2584
+DIST gentoo-headers-base-4.16-r1.tar.xz 8227040 BLAKE2B 95b2d64a614430e49d849ab54c58cbc3a850faea1bb5d9f7f43733d7b745ceb5ea3d1f8cc4dbb36c20797ae7d10bd736b99d17f5bfd0cdb90ecedb4eeb0f8610 SHA512 9b7cc82a322bd43dbf07c63d465200c87b838252e449028a363f3ff10921fe3889b503f20184168c7413d792c3d33b4324d89c89b95c8143a4a3c9c3e7e2d28e
+DIST gentoo-headers-base-4.16.tar.xz 8222256 BLAKE2B a5065cb49b549ea5eff33bc3a60ed070511cc463258666c30681aceaba97a108be059e4fc175bd6ba4dd0b27cf8bab14e0a8225346811eaacb4ddf8b2ba5a147 SHA512 2a5beadc61532d23f999c24101f3ab6db5d184a7327fa26330e318ac6b5b38b14c0e73ead2f550707b4e24c1f4f1a11c306c97608d98d530978fdeb43b4d58d9
+DIST gentoo-headers-base-4.17.tar.xz 7908432 BLAKE2B b0f39145db10dba1998e3facfb0565dd240ba26ce4b2744cfaaca8cfa2890f70a69cf65464163e053a05b0bf4d464f251d90f1cc266de604da2f8dc0889b34c3 SHA512 4d1f8f7a392a8ffdd1144c1d3126473f91cddfe1f750e9c7916e75aec4c571c1c3d2508c0967db12d8ed3e27623c8b2a5e2a47ff1710d55fbba91a84ec8434d4
+DIST gentoo-headers-base-4.18.tar.xz 7878256 BLAKE2B 9a97fed9ae4d16af57bb4aa069cceeb357ca79314ab57b6fbaec0dde75f9504b166a3b0017582bc00fc10b74298fcd4468332ef210e90e1e3daa4681b88e45f2 SHA512 c623b3962fe06150ecad60fa6c7c89e0ad83fad4c8886513f9948352ce0044420d8eb8ccdaa08f7bc957b892472041dd42709fbf396c93a0d0292ff7edbc713e
+DIST gentoo-headers-base-4.19.tar.xz 7956220 BLAKE2B 5b6868188b6cb505556b8f307972be6b27c0201e8287f6a2c4d0ac8bf16cfe048cb05afacf879731ba81de5e2a8c5afc4adad007e00b12efb8b2a158a666f4dd SHA512 ef0f159cb31651bf8e00c31d8ac807e64413c7bf88807e1ab4779524db10eec4726b65af0fad034a0cb2e000cd61a6008bcc174828061ffaf633c170dd09645c
+DIST gentoo-headers-base-4.4.tar.xz 3911752 BLAKE2B 5031ecd48b99cb0c9c35ca935fa6a62cc36c076bab193ec397fc0d543170f29c6d5a0827a2ea5517eb68fc838819cbe3e5abd125bb920992492369d5e5c1e7cb SHA512 1cd3de58ff790c3730bea38138c7a45ef95d04288c69ffeabebb884fab3add13bd9c99785ddd87a3ee467a0e1b1cdc457bbd28da349e7c178b4d2374c5fb78a3
+DIST gentoo-headers-base-4.9.tar.xz 4052748 BLAKE2B e279954c56170fbfa4ebae8dade731825b3d5f0cd5d73a5b33cd93a9c8f5fa140e14edf0d5ac26a452fe8a61b16fdcc851f5329f56e4c8dcf4472a995de44c4c SHA512 a03418cfba7fa4531279d9122411af3e285e962506e8df9279fbbb27ae08a4e30725bd1cf03f48ad523f61f2889195e6c844fa4c7b4ef2f828baf47ef402abfa
diff --git a/sys-kernel/linux-headers/linux-headers-3.18.ebuild b/sys-kernel/linux-headers/linux-headers-3.18.ebuild
new file mode 100644
index 0000000..b3b0981
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-3.18.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+
+ # provided by libdrm (for now?)
+ rm -rf "${ED}"/$(kernel_header_destdir)/drm
+}
+
+src_test() {
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.13.ebuild b/sys-kernel/linux-headers/linux-headers-4.13.ebuild
new file mode 100644
index 0000000..6d6eaf8
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.13.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.14-r1.ebuild b/sys-kernel/linux-headers/linux-headers-4.14-r1.ebuild
new file mode 100644
index 0000000..48f732f
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.14-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ default
+
+ [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}/${PV}"/*.patch
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.15-r1.ebuild b/sys-kernel/linux-headers/linux-headers-4.15-r1.ebuild
new file mode 100644
index 0000000..40da92c
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.15-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ default
+
+ [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}/${PV}"/*.patch
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.16-r2.ebuild b/sys-kernel/linux-headers/linux-headers-4.16-r2.ebuild
new file mode 100644
index 0000000..a8906fa
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.16-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}-r1.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
+ https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-base-${PV}-r1.tar.xz
+ ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ default
+
+ [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}/${PV}"/*.patch
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.16.ebuild b/sys-kernel/linux-headers/linux-headers-4.16.ebuild
new file mode 100644
index 0000000..d8d375b
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.16.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
+ https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ default
+
+ [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.17.ebuild b/sys-kernel/linux-headers/linux-headers-4.17.ebuild
new file mode 100644
index 0000000..e8a6194
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.17.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ default
+
+ [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PV}/*.patch
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.18.ebuild b/sys-kernel/linux-headers/linux-headers-4.18.ebuild
new file mode 100644
index 0000000..1d8f8e6
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.18.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
+ ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND=""
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ default
+
+ [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PV}/*.patch
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.19.ebuild b/sys-kernel/linux-headers/linux-headers-4.19.ebuild
new file mode 100644
index 0000000..1d8f8e6
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.19.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
+ ${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND=""
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ default
+
+ [[ -n ${PATCH_VER} ]] && eapply "${WORKDIR}"/${PV}/*.patch
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.4.ebuild b/sys-kernel/linux-headers/linux-headers-4.4.ebuild
new file mode 100644
index 0000000..bcde8d8
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/linux-headers-4.9.ebuild b/sys-kernel/linux-headers/linux-headers-4.9.ebuild
new file mode 100644
index 0000000..8bf0071
--- /dev/null
+++ b/sys-kernel/linux-headers/linux-headers-4.9.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+ETYPE="headers"
+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"
+inherit kernel-2
+detect_version
+
+PATCH_VER="1"
+SRC_URI="mirror://gentoo/gentoo-headers-base-${PV}.tar.xz
+ ${PATCH_VER:+mirror://gentoo/gentoo-headers-${PV}-${PATCH_VER}.tar.xz}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="app-arch/xz-utils
+ dev-lang/perl"
+RDEPEND="!!media-sound/alsa-headers"
+
+S=${WORKDIR}/gentoo-headers-base-${PV}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_prepare() {
+ [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PV}
+}
+
+src_install() {
+ kernel-2_src_install
+
+ # hrm, build system sucks
+ find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
+ find "${ED}" -depth -type d -delete 2>/dev/null
+}
+
+src_test() {
+ # Make sure no uapi/ include paths are used by accident.
+ egrep -r \
+ -e '# *include.*["<]uapi/' \
+ "${D}" && die "#include uapi/xxx detected"
+
+ einfo "Possible unescaped attribute/type usage"
+ egrep -r \
+ -e '(^|[[:space:](])(asm|volatile|inline)[[:space:](]' \
+ -e '\<([us](8|16|32|64))\>' \
+ .
+
+ einfo "Missing linux/types.h include"
+ egrep -l -r -e '__[us](8|16|32|64)' "${ED}" | xargs grep -L linux/types.h
+
+ emake ARCH=$(tc-arch-kernel) headers_check
+}
diff --git a/sys-kernel/linux-headers/metadata.xml b/sys-kernel/linux-headers/metadata.xml
new file mode 100644
index 0000000..fcf3f04
--- /dev/null
+++ b/sys-kernel/linux-headers/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>toolchain@gentoo.org</email>
+ <name>Gentoo Toolchain Project</name>
+</maintainer>
+<upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/sys-kernel/metadata.xml b/sys-kernel/metadata.xml
new file mode 100644
index 0000000..16c8a6d
--- /dev/null
+++ b/sys-kernel/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The sys-kernel category contains kernel source ebuilds and
+ kernel-related tools.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría sys-kernel contiene las fuentes del núcleo y herramientas
+ relacionadas con este.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie sys-kernel enthält Ebuilds für Kernelquellen
+ sowie damit in Zusammenhang stehende Pakete.
+ </longdescription>
+ <longdescription lang="ja">
+ sys-kernelカテゴリにはカーネルソースebuildとカーネル関連ツールが含まれます。
+ </longdescription>
+ <longdescription lang="nl">
+ De sys-kernel categorie bevat ebuilds voor kernelbroncode en gerelateerde
+ hulpmiddelen.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm sys-kernel chứa ebuild mã nguồn kernel và các công cụ
+ liên quan đến kernel.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria sys-kernel contiene i sorgenti del kernel e alcuni programmi
+ per la sua gestione come genkernel.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria sys-kernel contém ebuilds de fonte de kernel e
+ ferramentas relacionadas a kernel.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria sys-kernel zawiera źródła jądra oraz związane z nimi narzędzia.
+ </longdescription>
+</catmetadata>
+
diff --git a/sys-kernel/mips-sources/Manifest b/sys-kernel/mips-sources/Manifest
new file mode 100644
index 0000000..218d8e5
--- /dev/null
+++ b/sys-kernel/mips-sources/Manifest
@@ -0,0 +1,16 @@
+DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
+DIST linux-4.17.tar.xz 102165892 BLAKE2B b9e1fe2c063d2761b4d54594b841f6591fd6f5b634a402c07e0fa5518a2b271293d97c5a7a8e3c30c9c4d78df16bf20a4f0befe998c9a9393bb3290d2df1dda3 SHA512 4d9de340a26155a89ea8773131c76220cc2057f2b5d031b467b60e8b14c1842518e2d60a863d8c695f0f7640f3f18d43826201984a238dade857b6cef79837db
+DIST linux-4.4.tar.xz 87295988 BLAKE2B f260f1858994f5d481fd078c86e51bddbc958f7c5d1586f60dced772e1b1107ecf3aae0558c3e6f39c36f7d3aa1e6cd1e5c64ec9d6f2218f47b98413da6466fb SHA512 13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e
+DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
+DIST mips-sources-4.14.0-patches-v1.tar.xz 287968 BLAKE2B c0bd76f91f823516fbb39fbba02f3bd12aba25b289170c8ae46866d60c24c7e92584addbc270b349872c5acadfe17da62179e15b72796ec62cadc66e0c3b7dd1 SHA512 a78375e8b7c5007f26a5ff517eeecf088636ad571c24eee986773b6039a7b4168b4c8821e6245b2c8c33c7647b75376a81d3ce8cc50d6a22d864d07f517ac640
+DIST mips-sources-4.17.0-patches-v1.tar.xz 288188 BLAKE2B 774b9c4b68d719a8f7dada28c926a4a52680081d770e896013a2e037e96d3ad15ae30ebdddedf105c0db27cd63488d915efb794922c5b3349baa2bd042544df4 SHA512 24c7a708b42beb39e039bdbebe6dbca3aad5a7c24134f2b05b0d3afe2dc8736c97520ed279075bec538322ff53517fa2ec6a0f0828369e28e8efd0996dd0b678
+DIST mips-sources-4.4.0-patches-v2.tar.xz 156396 BLAKE2B 7b6a50e3768d7d67b525457a8a1b7ed024b3c8762e37734d250478bb0fc4d9d4c76598a45afcd239a5dc1dcf6052c24c69111aeccec11951093396212910c5a9 SHA512 4186ee382037ec32126976ba453f78fc80c627a4ebdd79d8462f12559eb06dce25f926f3c205c7c4e5032cb501942ee10c8cb3a17339352cec3cf565c669dd52
+DIST mips-sources-4.9.0-patches-v1.tar.xz 233620 BLAKE2B c976ddb9cc53c07c8c3077999a324746fafed3c7d913434d403baf08396196216aeb58ca61c434180e00a6b14ef939b3e86497236e44f9a5e1365357ea0f64ff SHA512 d786705277e1837f725c7b5a239a19744a7bdf8767c0ee75613270eb9592aeaee1cd0c6f05edb67abf93597d0f5c6fc3826d76847cd6b2aaa6cb21256720d19f
+DIST mipsgit-4.14.0-20180128.diff.xz 1008 BLAKE2B 2a317ff97aab096883680c6b653e993aee31994e6caec52c52dfbbb61f1dc1f25d03ebd3182fa122923a67aeee0aa598b36e603692333e4c9ccdc741fd456d96 SHA512 378deb1bc1d10a6b4912e5e4a0d6fcab28952e2e59c35fc879601841cf8160081b318a2598ef74db225e95f0f26483f6b9a56a348811b1ee7b8934391dd271ae
+DIST mipsgit-4.17.0-20180705.diff.xz 1008 BLAKE2B 07d316dd9dd0c16033763d066e4d703ee8e2a107ce0eb43dbabf96dccaebb7efb62d6b77e17adb59effd14f6af1b5b6bbc8bcfdb14fc4036eef2f41752bfee9b SHA512 9d5c85716de6da8880d8221673957aa528cb59e3e882d8471ec253943501d5accd9197a7358d933060ebea344c3b50fdf53ca28792f291beb587df52a7febd9a
+DIST mipsgit-4.4.0-20160123.diff.xz 1908 BLAKE2B a8be92376d1360246359e8d3674fa30727363297d0f3c1f1fa41ad031235fcd59cfca3fa8645d2fd8ab34fcb79b49f622a28eaddd80da76cf23afc05970d7bae SHA512 0086c470064dd4e5c2fefd8161b70200475659fe925e68d374ff139b506147c39163f366be689bbb92a9aaf72e8c58cdaaaff5def6718c5e87ff7e047551a1f8
+DIST mipsgit-4.9.0-20161216.diff.xz 1120 BLAKE2B 1207d943aa39d157cf1ed87918082fe53c26e5342f8249cce1c21b47d38d9a33ec3fb024cb6358cb659e8630e58840d67570be731fb05e9124d86387793e045b SHA512 d1d8d95661d349826e2978d2259df9e30dbd6779a6506fe769dd8e60699e8461920b290a2064a432b8c3bd95888854f4dbcc2ba40929c58f0dd165fcb7894e15
+DIST patch-4.14.67.xz 1650468 BLAKE2B 538e1abaa2401fb988be642a1c80e23821f7132e821322c1c82ad8c0ba3f3ff7f68713ee7b9a3d5a391d2ada9c08db2cc799e45f36d10df1abd839c20eb27dfc SHA512 fa55874353fb4aec12fc50d39e24ebfebcbcdf84f8602511f6bb5afca9585e4be63691599bed29a97e34901487f380bc1bcdb260e14b3709c81c715fa86e8579
+DIST patch-4.17.19.xz 463572 BLAKE2B 6097f24f8663ade71204d83e4b89bc15f3d0b0f906cb4a0e6a9aa32705fdbd7e8855337acca37697ef93bb3f2c696ce60bab2d4e02f1e20a0113ca02c7df61a7 SHA512 57fab939df862c3807d1ddd6461b19f85b3c0aba83203f327cf174f9d6e33c79e996362cabbb44014e03fe1eb77cf0232944927ae95aa1e51ef43b153d6343ab
+DIST patch-4.4.152.xz 2100204 BLAKE2B 3f9c9d7929b1e318a6a429b462c9011994fa201ca5f8ab7911e8356b02f634a2df6a6e49c7112988d5b7b6273bac2f02ded29093a9728275d84bec99bda1fb92 SHA512 3885257de141a3e4c95a772ed678f54707eea2dcd9dd6fe2108fefe8c18be34b1c0b3a22f29914d89e6bdf2548e27542c4a61ec96552fd7370b5a014faa12dcc
+DIST patch-4.9.124.xz 2175868 BLAKE2B 0dc5c27d85d696670ef86051015260cc36603fe3dda0626ac82b9f364cc8c562ca5155e4cd30c499febd85710c620683bbda67293e0f9be5799e78cf89b991d1 SHA512 6ae8e557ea4c72c04e9fd99fdae4f69a8f4cb1edb2cf4647de43b288f07069c0b54f9b0e8c45dc14165c48d58690e239d626d9503693decdc2b33903b79f421d
diff --git a/sys-kernel/mips-sources/metadata.xml b/sys-kernel/mips-sources/metadata.xml
new file mode 100644
index 0000000..eaa2cd0
--- /dev/null
+++ b/sys-kernel/mips-sources/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>mips@gentoo.org</email>
+ <name>Mips Team</name>
+ </maintainer>
+
+ <longdescription>
+ mips-sources are git snapshots from the linux-mips.org git server for MIPS-Based machines
+ </longdescription>
+ <use>
+ <flag name="ip27">Enables additional support for SGI Origin (IP27)</flag>
+ <flag name="ip28">Enables additional support for SGI Indigo2 Impact R10000 (IP28)</flag>
+ <flag name="ip30">Enables support for SGI Octane (IP30, 'Speedracer')</flag>
+ <flag name="experimental">Apply experimental (80xx) patches.</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/mips-sources/mips-sources-4.14.67.ebuild b/sys-kernel/mips-sources/mips-sources-4.14.67.ebuild
new file mode 100644
index 0000000..4162d7a
--- /dev/null
+++ b/sys-kernel/mips-sources/mips-sources-4.14.67.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# EAPI Version
+EAPI="6"
+
+#//------------------------------------------------------------------------------
+
+# Version Data
+GITDATE="20180128" # Date of diff between kernel.org and lmo GIT
+GENPATCHREV="1" # Tarball revision for patches
+
+# Directories
+S="${WORKDIR}/linux-${OKV}-${GITDATE}"
+MIPS_PATCHES="${WORKDIR}/mips-patches"
+
+# Kernel-2 Vars
+K_SECURITY_UNSUPPORTED="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_BASE_VER="4.13"
+K_FROM_GIT="yes"
+ETYPE="sources"
+
+# Inherit Eclasses
+inherit kernel-2 eutils eapi7-ver
+detect_version
+
+# Version Data
+F_KV="${PVR}"
+BASE_KV="$(ver_cut 1-2).0"
+[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
+
+# Portage Vars
+HOMEPAGE="https://www.linux-mips.org/ https://www.gentoo.org/"
+KEYWORDS="-* ~mips"
+IUSE="experimental ip27 ip28 ip30"
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/gcc-4.7.0
+ >=sys-devel/patch-2.7.4"
+
+# Specify any patches or patch familes to NOT apply here.
+# Use only the 4-digit number followed by a '*'.
+P_EXCLUDE=""
+
+# Machine Support Control Variables
+DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
+DO_IP27="yes" # IP27 support (SGI Origin)
+DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
+DO_IP30="yes" # IP30 support (SGI Octane)
+DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
+
+# Machine Stable Version Variables
+SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
+SV_IP27="" # DO_IP27 == "no", IP27
+SV_IP28="" # DO_IP28 == "no", IP28
+SV_IP30="" # DO_IP30 == "no", IP30
+SV_IP32="" # DO_IP32 == "no", IP32
+
+DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
+SRC_URI="${KERNEL_URI}
+ mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
+ mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+UNIPATCH_STRICTORDER="yes"
+UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
+
+#//------------------------------------------------------------------------------
+
+err_disabled_mach() {
+ # Get args
+ local m_name="${1}"
+ local m_abbr="${2}"
+ local m_use="${3}"
+ local is_test="${4}"
+
+ # Get stable version, if exists
+ local stable_ver="SV_${m_abbr}"
+ stable_ver="${!stable_ver}"
+
+ # See if this machine needs a USE passed or skip dying
+ local has_use
+ [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
+
+ # Print error && (maybe) die
+ echo -e ""
+ if [ "${is_test}" != "test" ]; then
+ eerror "${m_name} Support has been disabled in this ebuild"
+ eerror "revision. If you wish to merge ${m_name} sources, then"
+ eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+ [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
+ else
+ ewarn "${m_name} Support has been marked as needing testing in this"
+ ewarn "ebuild revision. This usually means that any patches to support"
+ ewarn "${m_name} have been forward ported and maybe even compile-tested,"
+ ewarn "but not yet booted on real hardware, possibly due to a lack of access"
+ ewarn "to such hardware. If you happen to boot this kernel and have no"
+ ewarn "problems at all, then please inform the maintainer. Otherwise, if"
+ ewarn "experience a bug, an oops/panic, or some other oddity, then please"
+ ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
+ fi
+
+ return 0
+}
+
+err_only_one_mach_allowed() {
+ echo -e ""
+ eerror "A patchset for a specific machine-type has already been selected."
+ eerror "No other patches for machines-types are permitted. You will need a"
+ eerror "separate copy of the kernel sources for each different machine-type"
+ eerror "you want to build a kernel for."
+ die "Only one machine-type patchset allowed"
+}
+
+pkg_postinst() {
+ # Symlink /usr/src/linux as appropriate
+ local my_ksrc="${S##*/}"
+ for x in {ip27,ip28,ip30}; do
+ use ${x} && my_ksrc="${my_ksrc}.${x}"
+ done
+
+ if [ ! -e "${ROOT}usr/src/linux" ]; then
+ rm -f "${ROOT}usr/src/linux"
+ ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
+ fi
+}
+
+pkg_setup() {
+ local arch_is_selected="no"
+ local m_ip m_enable m_name
+
+ # Exclusive machine patchsets
+ # These are not allowed to be mixed together, thus only one of them may be applied
+ # to a tree per merge.
+ for x in \
+ "ip27 SGI Origin 200/2000" \
+ "ip28 SGI Indigo2 Impact R10000" \
+ "ip30 SGI Octane"
+ do
+ set -- ${x} # Set positional params
+ m_ip="${1}" # Grab the first param (HW IP for SGI)
+ shift # Shift the positions
+ m_name="${*}" # Get the rest (Name)
+
+ if use ${m_ip}; then
+ # Fetch the value indiciating if the machine is enabled or not
+ m_enable="DO_${m_ip/ip/IP}"
+ m_enable="${!m_enable}"
+
+ # Make sure only one of these exclusive machine patches is selected
+ [ "${arch_is_selected}" = "no" ] \
+ && arch_is_selected="yes" \
+ || err_only_one_mach_allowed
+
+ # Is the machine support disabled or marked as needing testing?
+ [ "${m_enable}" = "test" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
+ [ "${m_enable}" = "no" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
+
+ # Show relevant information about the machine
+ show_${m_ip}_info
+ fi
+ done
+
+ # All other systems that don't have a USE flag go here
+ # These systems have base-line support included in linux-mips git, so
+ # instead of failing, if disabled, we simply warn the user
+ if [ "${arch_is_selected}" = "no" ]; then
+ [ "${DO_IP22}" = "no" ] \
+ && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
+ || show_ip22_info
+ [ "${DO_IP32}" = "no" ] \
+ && err_disabled_mach "SGI O2" "IP32" "skip" \
+ || show_ip32_info
+
+ fi
+}
+
+show_ip22_info() {
+ echo -e ""
+ einfo "IP22 systems with an R5000 processor should work with this release."
+ einfo "The R4x00 series of processors tend to be rather flaky, especially the"
+ einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
+ einfo ""
+ einfo "Some Notes:"
+ einfo "\t- Supported graphics card right now is Newport (XL)."
+ einfo "\t- A driver for Extreme (XZ) does not exist at present."
+ echo -e ""
+}
+
+show_ip27_info() {
+ echo -e ""
+ ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
+ ewarn "in move_freepages() in mm/page_alloc.c. The exact trigger cause is"
+ ewarn "unknown at this time. Please report any oops messages from this"
+ ewarn "bug to bugs.gentoo.org (assign to mips@gentoo.org)"
+ echo -e ""
+}
+
+show_ip28_info() {
+ echo -e ""
+ einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel. However,"
+ einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
+ einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
+ einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
+ einfo "feedback that can be used to trace down the crash."
+ echo -e ""
+}
+
+show_ip30_info() {
+ echo -e ""
+ eerror "Things that DON'T work:"
+ eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
+ eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
+ eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
+ eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
+ eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
+ eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
+ eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
+ echo -e ""
+ ewarn "Things that might work, but have problems, or are unknown:"
+ ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
+ ewarn "\t\040\040intermittent issues. Additionally, CONFIG_HUGETLBFS must also be"
+ ewarn "\t\040\040selected for hugepages to work. If use of this feature continues"
+ ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
+ ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
+ ewarn "\t\040\040after powering it down for at least 30 seconds."
+ ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
+ ewarn "\t\040\040the 16550A chip on the IOC3 directly. It does not use interrupts,"
+ ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
+ ewarn "\t\040\040intensive. The baud rate is limited to no more than 38.4kbps on"
+ ewarn "\t\040\040this driver. Patches for getting the Altix IOC3 serial driver to"
+ ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
+ ewarn "\t- UHCI Cards are known to have issues, but should still function."
+ ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
+ ewarn "\t\040\040adapters."
+ ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
+ ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
+ ewarn "\t\040\040UART driver. The NIC part number is also not read correctly"
+ ewarn "\t\040\040from the four Number-In-a-Cans. Additional testing would be"
+ ewarn "\t\040\040appreciated and patches welcome."
+ ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
+ ewarn "\t\040\040and are not guaranteed to work. This applies to various digital"
+ ewarn "\t\040\040video conversion boards as well."
+ echo -e ""
+ einfo "Things that DO work:"
+ einfo "\t- SMP works again, celebrate!"
+ einfo "\t- Impact (MGRAS) console only."
+ einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
+ einfo "\t- PCI Card Cages should work for many devices, except certain types like"
+ einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
+ einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse. Please"
+ einfo "\t\040\040report any problems with these devices."
+ echo -e ""
+}
+
+show_ip32_info() {
+ echo -e ""
+ einfo "IP32 systems function well, however there are some notes:"
+ einfo "\t- A sound driver now exists for IP32. Celebrate!"
+ einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
+ einfo "\t\040\040specified when building the kernel will likely oops"
+ einfo "\t\040\040or panic the kernel."
+ einfo "\t- X support is limited to the generic fbdev driver. No X"
+ einfo "\t\040\040gbefb driver exists for O2 yet. Feel free to submit"
+ einfo "\t\040\040patches!"
+ echo -e ""
+
+ einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
+ einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
+ einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
+}
+
+src_unpack() {
+ # Unpack the kernel sources, update to the latest rev (if needed),
+ # and apply the latest patch from linux-mips git.
+ kernel-2_src_unpack
+
+ # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
+ echo -e ""
+ cd "${WORKDIR}"
+ unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+ # Create a new folder called 'patch-symlinks' and create symlinks to
+ # all mips-patches in there. If we want to exclude a patch, we'll
+ # just delete the symlink instead of the actual patch.
+ local psym="patch-symlinks"
+ mkdir "${psym}"
+ cd "${psym}"
+ for x in ../mips-patches-${BASE_KV}/*.patch; do
+ ln -s "${x}" "${x##../mips-patches-*/}"
+ done
+
+ # With symlinks created, setup the variables referencing external
+ # machine patches and if a machine USE flag is enabled, then unset
+ # its corresponding variable.
+ # See 0000_README for the patch numbers and their meanings.
+ local p_generic="51*"
+ local p_ip27="52*" p_ip28="53*" p_ip30="54*"
+ local p_xp="80*"
+ use ip27 && unset p_generic p_ip27
+ use ip28 && unset p_ip28
+ use ip30 && unset p_generic p_ip30
+ use experimental && unset p_xp
+
+ # Remove symlinks for any patches that we don't want applied. We
+ # do this by looping through all the above variables, and deleting
+ # matching symlinks that point to the corresponding patches.
+ # The remaining symlinks will be applied to the kernel source.
+ #
+ # $P_EXCLUDE is a new var that can be set in an ebuild to exclude
+ # specific patches by wildcarding the patch number.
+ local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
+ for x in $patchlist;
+ do rm -f "./${x}"
+ done
+
+ # Rename the source tree to match the linux-mips git checkout date and
+ # machine type.
+ local fkv="${F_KV%-*}"
+ local v="${fkv}-${GITDATE}"
+ for x in {ip27,ip28,ip30}; do
+ use ${x} && v="${v}.${x}" && break
+ done
+ mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
+ S="${WORKDIR}/linux-${v}"
+
+ # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
+ EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
+ unpack_set_extraversion
+}
+
+src_prepare() {
+ local psym="patch-symlinks"
+
+ # Now go into the kernel source and patch it.
+ cd "${S}"
+ epatch -p1 "${WORKDIR}/${psym}"/*.patch
+
+ eapply_user
+}
+
+#//------------------------------------------------------------------------------
diff --git a/sys-kernel/mips-sources/mips-sources-4.17.19.ebuild b/sys-kernel/mips-sources/mips-sources-4.17.19.ebuild
new file mode 100644
index 0000000..cd1ccaa
--- /dev/null
+++ b/sys-kernel/mips-sources/mips-sources-4.17.19.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# EAPI Version
+EAPI="6"
+
+#//------------------------------------------------------------------------------
+
+# Version Data
+GITDATE="20180705" # Date of diff between kernel.org and lmo GIT
+GENPATCHREV="1" # Tarball revision for patches
+
+# Directories
+S="${WORKDIR}/linux-${OKV}-${GITDATE}"
+MIPS_PATCHES="${WORKDIR}/mips-patches"
+
+# Kernel-2 Vars
+K_SECURITY_UNSUPPORTED="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_BASE_VER="4.16"
+K_FROM_GIT="yes"
+ETYPE="sources"
+
+# Inherit Eclasses
+inherit kernel-2 eutils eapi7-ver
+detect_version
+
+# Version Data
+F_KV="${PVR}"
+BASE_KV="$(ver_cut 1-2).0"
+[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
+
+# Portage Vars
+HOMEPAGE="https://www.linux-mips.org/ https://www.gentoo.org/"
+KEYWORDS="-* ~mips"
+IUSE="experimental ip27 ip28 ip30"
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/gcc-4.7.0
+ >=sys-devel/patch-2.7.4"
+
+# Specify any patches or patch familes to NOT apply here.
+# Use only the 4-digit number followed by a '*'.
+P_EXCLUDE=""
+
+# Machine Support Control Variables
+DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
+DO_IP27="yes" # IP27 support (SGI Origin)
+DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
+DO_IP30="yes" # IP30 support (SGI Octane)
+DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
+
+# Machine Stable Version Variables
+SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
+SV_IP27="" # DO_IP27 == "no", IP27
+SV_IP28="" # DO_IP28 == "no", IP28
+SV_IP30="" # DO_IP30 == "no", IP30
+SV_IP32="" # DO_IP32 == "no", IP32
+
+DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
+SRC_URI="${KERNEL_URI}
+ mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
+ mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+UNIPATCH_STRICTORDER="yes"
+UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
+
+#//------------------------------------------------------------------------------
+
+err_disabled_mach() {
+ # Get args
+ local m_name="${1}"
+ local m_abbr="${2}"
+ local m_use="${3}"
+ local is_test="${4}"
+
+ # Get stable version, if exists
+ local stable_ver="SV_${m_abbr}"
+ stable_ver="${!stable_ver}"
+
+ # See if this machine needs a USE passed or skip dying
+ local has_use
+ [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
+
+ # Print error && (maybe) die
+ echo -e ""
+ if [ "${is_test}" != "test" ]; then
+ eerror "${m_name} Support has been disabled in this ebuild"
+ eerror "revision. If you wish to merge ${m_name} sources, then"
+ eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+ [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
+ else
+ ewarn "${m_name} Support has been marked as needing testing in this"
+ ewarn "ebuild revision. This usually means that any patches to support"
+ ewarn "${m_name} have been forward ported and maybe even compile-tested,"
+ ewarn "but not yet booted on real hardware, possibly due to a lack of access"
+ ewarn "to such hardware. If you happen to boot this kernel and have no"
+ ewarn "problems at all, then please inform the maintainer. Otherwise, if"
+ ewarn "experience a bug, an oops/panic, or some other oddity, then please"
+ ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
+ fi
+
+ return 0
+}
+
+err_only_one_mach_allowed() {
+ echo -e ""
+ eerror "A patchset for a specific machine-type has already been selected."
+ eerror "No other patches for machines-types are permitted. You will need a"
+ eerror "separate copy of the kernel sources for each different machine-type"
+ eerror "you want to build a kernel for."
+ die "Only one machine-type patchset allowed"
+}
+
+pkg_postinst() {
+ # Symlink /usr/src/linux as appropriate
+ local my_ksrc="${S##*/}"
+ for x in {ip27,ip28,ip30}; do
+ use ${x} && my_ksrc="${my_ksrc}.${x}"
+ done
+
+ if [ ! -e "${ROOT}usr/src/linux" ]; then
+ rm -f "${ROOT}usr/src/linux"
+ ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
+ fi
+}
+
+pkg_setup() {
+ local arch_is_selected="no"
+ local m_ip m_enable m_name
+
+ # Exclusive machine patchsets
+ # These are not allowed to be mixed together, thus only one of them may be applied
+ # to a tree per merge.
+ for x in \
+ "ip27 SGI Origin 200/2000" \
+ "ip28 SGI Indigo2 Impact R10000" \
+ "ip30 SGI Octane"
+ do
+ set -- ${x} # Set positional params
+ m_ip="${1}" # Grab the first param (HW IP for SGI)
+ shift # Shift the positions
+ m_name="${*}" # Get the rest (Name)
+
+ if use ${m_ip}; then
+ # Fetch the value indiciating if the machine is enabled or not
+ m_enable="DO_${m_ip/ip/IP}"
+ m_enable="${!m_enable}"
+
+ # Make sure only one of these exclusive machine patches is selected
+ [ "${arch_is_selected}" = "no" ] \
+ && arch_is_selected="yes" \
+ || err_only_one_mach_allowed
+
+ # Is the machine support disabled or marked as needing testing?
+ [ "${m_enable}" = "test" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
+ [ "${m_enable}" = "no" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
+
+ # Show relevant information about the machine
+ show_${m_ip}_info
+ fi
+ done
+
+ # All other systems that don't have a USE flag go here
+ # These systems have base-line support included in linux-mips git, so
+ # instead of failing, if disabled, we simply warn the user
+ if [ "${arch_is_selected}" = "no" ]; then
+ [ "${DO_IP22}" = "no" ] \
+ && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
+ || show_ip22_info
+ [ "${DO_IP32}" = "no" ] \
+ && err_disabled_mach "SGI O2" "IP32" "skip" \
+ || show_ip32_info
+
+ fi
+}
+
+show_ip22_info() {
+ echo -e ""
+ einfo "IP22 systems with an R5000 processor should work with this release."
+ einfo "The R4x00 series of processors tend to be rather flaky, especially the"
+ einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
+ einfo ""
+ einfo "Some Notes:"
+ einfo "\t- Supported graphics card right now is Newport (XL)."
+ einfo "\t- A driver for Extreme (XZ) does not exist at present."
+ echo -e ""
+}
+
+show_ip27_info() {
+ echo -e ""
+ ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
+ ewarn "in move_freepages() in mm/page_alloc.c. The exact trigger cause is"
+ ewarn "unknown at this time. Please report any oops messages from this"
+ ewarn "bug to bugs.gentoo.org (assign to mips@gentoo.org)"
+ echo -e ""
+}
+
+show_ip28_info() {
+ echo -e ""
+ einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel. However,"
+ einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
+ einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
+ einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
+ einfo "feedback that can be used to trace down the crash."
+ echo -e ""
+}
+
+show_ip30_info() {
+ echo -e ""
+ eerror "Things that DON'T work:"
+ eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
+ eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
+ eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
+ eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
+ eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
+ eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
+ eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
+ echo -e ""
+ ewarn "Things that might work, but have problems, or are unknown:"
+ ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
+ ewarn "\t\040\040intermittent issues. Additionally, CONFIG_HUGETLBFS must also be"
+ ewarn "\t\040\040selected for hugepages to work. If use of this feature continues"
+ ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
+ ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
+ ewarn "\t\040\040after powering it down for at least 30 seconds."
+ ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
+ ewarn "\t\040\040the 16550A chip on the IOC3 directly. It does not use interrupts,"
+ ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
+ ewarn "\t\040\040intensive. The baud rate is limited to no more than 38.4kbps on"
+ ewarn "\t\040\040this driver. Patches for getting the Altix IOC3 serial driver to"
+ ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
+ ewarn "\t- UHCI Cards are known to have issues, but should still function."
+ ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
+ ewarn "\t\040\040adapters."
+ ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
+ ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
+ ewarn "\t\040\040UART driver. The NIC part number is also not read correctly"
+ ewarn "\t\040\040from the four Number-In-a-Cans. Additional testing would be"
+ ewarn "\t\040\040appreciated and patches welcome."
+ ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
+ ewarn "\t\040\040and are not guaranteed to work. This applies to various digital"
+ ewarn "\t\040\040video conversion boards as well."
+ echo -e ""
+ einfo "Things that DO work:"
+ einfo "\t- SMP works again, celebrate!"
+ einfo "\t- Impact (MGRAS) console only."
+ einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
+ einfo "\t- PCI Card Cages should work for many devices, except certain types like"
+ einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
+ einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse. Please"
+ einfo "\t\040\040report any problems with these devices."
+ echo -e ""
+}
+
+show_ip32_info() {
+ echo -e ""
+ einfo "IP32 systems function well, however there are some notes:"
+ einfo "\t- A sound driver now exists for IP32. Celebrate!"
+ einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
+ einfo "\t\040\040specified when building the kernel will likely oops"
+ einfo "\t\040\040or panic the kernel."
+ einfo "\t- X support is limited to the generic fbdev driver. No X"
+ einfo "\t\040\040gbefb driver exists for O2 yet. Feel free to submit"
+ einfo "\t\040\040patches!"
+ echo -e ""
+
+ einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
+ einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
+ einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
+}
+
+src_unpack() {
+ # Unpack the kernel sources, update to the latest rev (if needed),
+ # and apply the latest patch from linux-mips git.
+ kernel-2_src_unpack
+
+ # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
+ echo -e ""
+ cd "${WORKDIR}"
+ unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+ # Create a new folder called 'patch-symlinks' and create symlinks to
+ # all mips-patches in there. If we want to exclude a patch, we'll
+ # just delete the symlink instead of the actual patch.
+ local psym="patch-symlinks"
+ mkdir "${psym}"
+ cd "${psym}"
+ for x in ../mips-patches-${BASE_KV}/*.patch; do
+ ln -s "${x}" "${x##../mips-patches-*/}"
+ done
+
+ # With symlinks created, setup the variables referencing external
+ # machine patches and if a machine USE flag is enabled, then unset
+ # its corresponding variable.
+ # See 0000_README for the patch numbers and their meanings.
+ local p_generic="51*"
+ local p_ip27="52*" p_ip28="53*" p_ip30="54*"
+ local p_xp="80*"
+ use ip27 && unset p_generic p_ip27
+ use ip28 && unset p_ip28
+ use ip30 && unset p_generic p_ip30
+ use experimental && unset p_xp
+
+ # Remove symlinks for any patches that we don't want applied. We
+ # do this by looping through all the above variables, and deleting
+ # matching symlinks that point to the corresponding patches.
+ # The remaining symlinks will be applied to the kernel source.
+ #
+ # $P_EXCLUDE is a new var that can be set in an ebuild to exclude
+ # specific patches by wildcarding the patch number.
+ local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
+ for x in $patchlist;
+ do rm -f "./${x}"
+ done
+
+ # Rename the source tree to match the linux-mips git checkout date and
+ # machine type.
+ local fkv="${F_KV%-*}"
+ local v="${fkv}-${GITDATE}"
+ for x in {ip27,ip28,ip30}; do
+ use ${x} && v="${v}.${x}" && break
+ done
+ mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
+ S="${WORKDIR}/linux-${v}"
+
+ # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
+ EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
+ unpack_set_extraversion
+}
+
+src_prepare() {
+ local psym="patch-symlinks"
+
+ # Now go into the kernel source and patch it.
+ cd "${S}"
+ epatch -p1 "${WORKDIR}/${psym}"/*.patch
+
+ eapply_user
+}
+
+#//------------------------------------------------------------------------------
diff --git a/sys-kernel/mips-sources/mips-sources-4.4.152.ebuild b/sys-kernel/mips-sources/mips-sources-4.4.152.ebuild
new file mode 100644
index 0000000..9d25a5d
--- /dev/null
+++ b/sys-kernel/mips-sources/mips-sources-4.4.152.ebuild
@@ -0,0 +1,350 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# EAPI Version
+EAPI="6"
+
+#//------------------------------------------------------------------------------
+
+# Version Data
+GITDATE="20160123" # Date of diff between kernel.org and lmo GIT
+GENPATCHREV="2" # Tarball revision for patches
+
+# Directories
+S="${WORKDIR}/linux-${OKV}-${GITDATE}"
+MIPS_PATCHES="${WORKDIR}/mips-patches"
+
+# Kernel-2 Vars
+K_SECURITY_UNSUPPORTED="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_BASE_VER="4.3"
+K_FROM_GIT="yes"
+ETYPE="sources"
+
+# Inherit Eclasses
+inherit kernel-2 eutils eapi7-ver
+detect_version
+
+# EPATCH Vars
+# XXX: Required to properly apply Impact/Odyssey driver patches.
+EPATCH_OPTS="-F3"
+
+# Version Data
+F_KV="${PVR}"
+BASE_KV="$(ver_cut 1-2).0"
+[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
+
+# Portage Vars
+HOMEPAGE="https://www.linux-mips.org/ https://www.gentoo.org/"
+KEYWORDS="-* ~mips"
+IUSE="experimental ip27 ip28 ip30"
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/gcc-4.7.0
+ >=sys-devel/patch-2.7.4"
+
+# Specify any patches or patch familes to NOT apply here.
+# Use only the 4-digit number followed by a '*'.
+P_EXCLUDE=""
+
+# Machine Support Control Variables
+DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
+DO_IP27="yes" # IP27 support (SGI Origin)
+DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
+DO_IP30="yes" # IP30 support (SGI Octane)
+DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
+
+# Machine Stable Version Variables
+SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
+SV_IP27="" # DO_IP27 == "no", IP27
+SV_IP28="" # DO_IP28 == "no", IP28
+SV_IP30="" # DO_IP30 == "no", IP30
+SV_IP32="" # DO_IP32 == "no", IP32
+
+DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
+SRC_URI="${KERNEL_URI}
+ mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
+ mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+UNIPATCH_STRICTORDER="yes"
+UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
+
+#//------------------------------------------------------------------------------
+
+err_disabled_mach() {
+ # Get args
+ local m_name="${1}"
+ local m_abbr="${2}"
+ local m_use="${3}"
+ local is_test="${4}"
+
+ # Get stable version, if exists
+ local stable_ver="SV_${m_abbr}"
+ stable_ver="${!stable_ver}"
+
+ # See if this machine needs a USE passed or skip dying
+ local has_use
+ [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
+
+ # Print error && (maybe) die
+ echo -e ""
+ if [ "${is_test}" != "test" ]; then
+ eerror "${m_name} Support has been disabled in this ebuild"
+ eerror "revision. If you wish to merge ${m_name} sources, then"
+ eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+ [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
+ else
+ ewarn "${m_name} Support has been marked as needing testing in this"
+ ewarn "ebuild revision. This usually means that any patches to support"
+ ewarn "${m_name} have been forward ported and maybe even compile-tested,"
+ ewarn "but not yet booted on real hardware, possibly due to a lack of access"
+ ewarn "to such hardware. If you happen to boot this kernel and have no"
+ ewarn "problems at all, then please inform the maintainer. Otherwise, if"
+ ewarn "experience a bug, an oops/panic, or some other oddity, then please"
+ ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
+ fi
+
+ return 0
+}
+
+err_only_one_mach_allowed() {
+ echo -e ""
+ eerror "A patchset for a specific machine-type has already been selected."
+ eerror "No other patches for machines-types are permitted. You will need a"
+ eerror "separate copy of the kernel sources for each different machine-type"
+ eerror "you want to build a kernel for."
+ die "Only one machine-type patchset allowed"
+}
+
+pkg_postinst() {
+ # Symlink /usr/src/linux as appropriate
+ local my_ksrc="${S##*/}"
+ for x in {ip27,ip28,ip30}; do
+ use ${x} && my_ksrc="${my_ksrc}.${x}"
+ done
+
+ if [ ! -e "${ROOT}usr/src/linux" ]; then
+ rm -f "${ROOT}usr/src/linux"
+ ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
+ fi
+}
+
+pkg_setup() {
+ local arch_is_selected="no"
+ local m_ip m_enable m_name
+
+ # Exclusive machine patchsets
+ # These are not allowed to be mixed together, thus only one of them may be applied
+ # to a tree per merge.
+ for x in \
+ "ip27 SGI Origin 200/2000" \
+ "ip28 SGI Indigo2 Impact R10000" \
+ "ip30 SGI Octane"
+ do
+ set -- ${x} # Set positional params
+ m_ip="${1}" # Grab the first param (HW IP for SGI)
+ shift # Shift the positions
+ m_name="${*}" # Get the rest (Name)
+
+ if use ${m_ip}; then
+ # Fetch the value indiciating if the machine is enabled or not
+ m_enable="DO_${m_ip/ip/IP}"
+ m_enable="${!m_enable}"
+
+ # Make sure only one of these exclusive machine patches is selected
+ [ "${arch_is_selected}" = "no" ] \
+ && arch_is_selected="yes" \
+ || err_only_one_mach_allowed
+
+ # Is the machine support disabled or marked as needing testing?
+ [ "${m_enable}" = "test" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
+ [ "${m_enable}" = "no" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
+
+ # Show relevant information about the machine
+ show_${m_ip}_info
+ fi
+ done
+
+ # All other systems that don't have a USE flag go here
+ # These systems have base-line support included in linux-mips git, so
+ # instead of failing, if disabled, we simply warn the user
+ if [ "${arch_is_selected}" = "no" ]; then
+ [ "${DO_IP22}" = "no" ] \
+ && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
+ || show_ip22_info
+ [ "${DO_IP32}" = "no" ] \
+ && err_disabled_mach "SGI O2" "IP32" "skip" \
+ || show_ip32_info
+
+ fi
+}
+
+show_ip22_info() {
+ echo -e ""
+ einfo "IP22 systems with an R5000 processor should work with this release."
+ einfo "The R4x00 series of processors tend to be rather flaky, especially the"
+ einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
+ einfo ""
+ einfo "Some Notes:"
+ einfo "\t- Supported graphics card right now is Newport (XL)."
+ einfo "\t- A driver for Extreme (XZ) does not exist at present."
+ echo -e ""
+}
+
+show_ip27_info() {
+ echo -e ""
+ ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
+ ewarn "in move_freepages() in mm/page_alloc.c. The exact trigger cause is"
+ ewarn "unknown at this time. Please report any oops messages from this"
+ ewarn "bug to bugs.gentoo.org (assign to mips@gentoo.org)"
+ echo -e ""
+}
+
+show_ip28_info() {
+ echo -e ""
+ einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel. However,"
+ einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
+ einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
+ einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
+ einfo "feedback that can be used to trace down the crash."
+ echo -e ""
+}
+
+show_ip30_info() {
+ echo -e ""
+ eerror "Things that DON'T work:"
+ eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
+ eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
+ eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
+ eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
+ eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
+ eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
+ eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
+ echo -e ""
+ ewarn "Things that might work, but have problems, or are unknown:"
+ ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
+ ewarn "\t\040\040intermittent issues. Additionally, CONFIG_HUGETLBFS must also be"
+ ewarn "\t\040\040selected for hugepages to work. If use of this feature continues"
+ ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
+ ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
+ ewarn "\t\040\040after powering it down for at least 30 seconds."
+ ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
+ ewarn "\t\040\040the 16550A chip on the IOC3 directly. It does not use interrupts,"
+ ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
+ ewarn "\t\040\040intensive. The baud rate is limited to no more than 38.4kbps on"
+ ewarn "\t\040\040this driver. Patches for getting the Altix IOC3 serial driver to"
+ ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
+ ewarn "\t- UHCI Cards are known to have issues, but should still function."
+ ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
+ ewarn "\t\040\040adapters."
+ ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
+ ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
+ ewarn "\t\040\040UART driver. The NIC part number is also not read correctly"
+ ewarn "\t\040\040from the four Number-In-a-Cans. Additional testing would be"
+ ewarn "\t\040\040appreciated and patches welcome."
+ ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
+ ewarn "\t\040\040and are not guaranteed to work. This applies to various digital"
+ ewarn "\t\040\040video conversion boards as well."
+ echo -e ""
+ einfo "Things that DO work:"
+ einfo "\t- SMP works again, celebrate!"
+ einfo "\t- Impact (MGRAS) console only."
+ einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
+ einfo "\t- PCI Card Cages should work for many devices, except certain types like"
+ einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
+ einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse. Please"
+ einfo "\t\040\040report any problems with these devices."
+ echo -e ""
+}
+
+show_ip32_info() {
+ echo -e ""
+ einfo "IP32 systems function well, however there are some notes:"
+ einfo "\t- A sound driver now exists for IP32. Celebrate!"
+ einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
+ einfo "\t\040\040specified when building the kernel will likely oops"
+ einfo "\t\040\040or panic the kernel."
+ einfo "\t- X support is limited to the generic fbdev driver. No X"
+ einfo "\t\040\040gbefb driver exists for O2 yet. Feel free to submit"
+ einfo "\t\040\040patches!"
+ echo -e ""
+
+ einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
+ einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
+ einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
+}
+
+src_unpack() {
+ # Unpack the kernel sources, update to the latest rev (if needed),
+ # and apply the latest patch from linux-mips git.
+ kernel-2_src_unpack
+
+ # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
+ echo -e ""
+ cd "${WORKDIR}"
+ unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+ # Create a new folder called 'patch-symlinks' and create symlinks to
+ # all mips-patches in there. If we want to exclude a patch, we'll
+ # just delete the symlink instead of the actual patch.
+ local psym="patch-symlinks"
+ mkdir "${psym}"
+ cd "${psym}"
+ for x in ../mips-patches-${BASE_KV}/*.patch; do
+ ln -s "${x}" "${x##../mips-patches-*/}"
+ done
+
+ # With symlinks created, setup the variables referencing external
+ # machine patches and if a machine USE flag is enabled, then unset
+ # its corresponding variable.
+ # See 0000_README for the patch numbers and their meanings.
+ local p_generic="51*"
+ local p_ip27="52*" p_ip28="53*" p_ip30="54*"
+ local p_xp="80*"
+ use ip27 && unset p_generic p_ip27
+ use ip28 && unset p_ip28
+ use ip30 && unset p_generic p_ip30
+ use experimental && unset p_xp
+
+ # Remove symlinks for any patches that we don't want applied. We
+ # do this by looping through all the above variables, and deleting
+ # matching symlinks that point to the corresponding patches.
+ # The remaining symlinks will be applied to the kernel source.
+ #
+ # $P_EXCLUDE is a new var that can be set in an ebuild to exclude
+ # specific patches by wildcarding the patch number.
+ local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
+ for x in $patchlist;
+ do rm -f "./${x}"
+ done
+
+ # Rename the source tree to match the linux-mips git checkout date and
+ # machine type.
+ local fkv="${F_KV%-*}"
+ local v="${fkv}-${GITDATE}"
+ for x in {ip27,ip28,ip30}; do
+ use ${x} && v="${v}.${x}" && break
+ done
+ mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
+ S="${WORKDIR}/linux-${v}"
+
+ # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
+ EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
+ unpack_set_extraversion
+}
+
+src_prepare() {
+ local psym="patch-symlinks"
+
+ # Now go into the kernel source and patch it.
+ cd "${S}"
+ epatch "${WORKDIR}/${psym}"/*.patch
+
+ eapply_user
+}
+
+#//------------------------------------------------------------------------------
diff --git a/sys-kernel/mips-sources/mips-sources-4.9.124.ebuild b/sys-kernel/mips-sources/mips-sources-4.9.124.ebuild
new file mode 100644
index 0000000..3670893
--- /dev/null
+++ b/sys-kernel/mips-sources/mips-sources-4.9.124.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# EAPI Version
+EAPI="6"
+
+#//------------------------------------------------------------------------------
+
+# Version Data
+GITDATE="20161216" # Date of diff between kernel.org and lmo GIT
+GENPATCHREV="1" # Tarball revision for patches
+
+# Directories
+S="${WORKDIR}/linux-${OKV}-${GITDATE}"
+MIPS_PATCHES="${WORKDIR}/mips-patches"
+
+# Kernel-2 Vars
+K_SECURITY_UNSUPPORTED="yes"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_NOUSEPR="yes"
+K_BASE_VER="4.8"
+K_FROM_GIT="yes"
+ETYPE="sources"
+
+# Inherit Eclasses
+inherit kernel-2 eutils eapi7-ver
+detect_version
+
+# Version Data
+F_KV="${PVR}"
+BASE_KV="$(ver_cut 1-2).0"
+[[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
+
+# Portage Vars
+HOMEPAGE="https://www.linux-mips.org/ https://www.gentoo.org/"
+KEYWORDS="-* ~mips"
+IUSE="experimental ip27 ip28 ip30"
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/gcc-4.7.0
+ >=sys-devel/patch-2.7.4"
+
+# Specify any patches or patch familes to NOT apply here.
+# Use only the 4-digit number followed by a '*'.
+P_EXCLUDE=""
+
+# Machine Support Control Variables
+DO_IP22="test" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
+DO_IP27="yes" # IP27 support (SGI Origin)
+DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
+DO_IP30="yes" # IP30 support (SGI Octane)
+DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
+
+# Machine Stable Version Variables
+SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
+SV_IP27="" # DO_IP27 == "no", IP27
+SV_IP28="" # DO_IP28 == "no", IP28
+SV_IP30="" # DO_IP30 == "no", IP30
+SV_IP32="" # DO_IP32 == "no", IP32
+
+DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
+SRC_URI="${KERNEL_URI}
+ mirror://gentoo/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz
+ mirror://gentoo/${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+UNIPATCH_STRICTORDER="yes"
+UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
+
+#//------------------------------------------------------------------------------
+
+err_disabled_mach() {
+ # Get args
+ local m_name="${1}"
+ local m_abbr="${2}"
+ local m_use="${3}"
+ local is_test="${4}"
+
+ # Get stable version, if exists
+ local stable_ver="SV_${m_abbr}"
+ stable_ver="${!stable_ver}"
+
+ # See if this machine needs a USE passed or skip dying
+ local has_use
+ [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
+
+ # Print error && (maybe) die
+ echo -e ""
+ if [ "${is_test}" != "test" ]; then
+ eerror "${m_name} Support has been disabled in this ebuild"
+ eerror "revision. If you wish to merge ${m_name} sources, then"
+ eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+ [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
+ else
+ ewarn "${m_name} Support has been marked as needing testing in this"
+ ewarn "ebuild revision. This usually means that any patches to support"
+ ewarn "${m_name} have been forward ported and maybe even compile-tested,"
+ ewarn "but not yet booted on real hardware, possibly due to a lack of access"
+ ewarn "to such hardware. If you happen to boot this kernel and have no"
+ ewarn "problems at all, then please inform the maintainer. Otherwise, if"
+ ewarn "experience a bug, an oops/panic, or some other oddity, then please"
+ ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
+ fi
+
+ return 0
+}
+
+err_only_one_mach_allowed() {
+ echo -e ""
+ eerror "A patchset for a specific machine-type has already been selected."
+ eerror "No other patches for machines-types are permitted. You will need a"
+ eerror "separate copy of the kernel sources for each different machine-type"
+ eerror "you want to build a kernel for."
+ die "Only one machine-type patchset allowed"
+}
+
+pkg_postinst() {
+ # Symlink /usr/src/linux as appropriate
+ local my_ksrc="${S##*/}"
+ for x in {ip27,ip28,ip30}; do
+ use ${x} && my_ksrc="${my_ksrc}.${x}"
+ done
+
+ if [ ! -e "${ROOT}usr/src/linux" ]; then
+ rm -f "${ROOT}usr/src/linux"
+ ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
+ fi
+}
+
+pkg_setup() {
+ local arch_is_selected="no"
+ local m_ip m_enable m_name
+
+ # Exclusive machine patchsets
+ # These are not allowed to be mixed together, thus only one of them may be applied
+ # to a tree per merge.
+ for x in \
+ "ip27 SGI Origin 200/2000" \
+ "ip28 SGI Indigo2 Impact R10000" \
+ "ip30 SGI Octane"
+ do
+ set -- ${x} # Set positional params
+ m_ip="${1}" # Grab the first param (HW IP for SGI)
+ shift # Shift the positions
+ m_name="${*}" # Get the rest (Name)
+
+ if use ${m_ip}; then
+ # Fetch the value indiciating if the machine is enabled or not
+ m_enable="DO_${m_ip/ip/IP}"
+ m_enable="${!m_enable}"
+
+ # Make sure only one of these exclusive machine patches is selected
+ [ "${arch_is_selected}" = "no" ] \
+ && arch_is_selected="yes" \
+ || err_only_one_mach_allowed
+
+ # Is the machine support disabled or marked as needing testing?
+ [ "${m_enable}" = "test" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
+ [ "${m_enable}" = "no" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
+
+ # Show relevant information about the machine
+ show_${m_ip}_info
+ fi
+ done
+
+ # All other systems that don't have a USE flag go here
+ # These systems have base-line support included in linux-mips git, so
+ # instead of failing, if disabled, we simply warn the user
+ if [ "${arch_is_selected}" = "no" ]; then
+ [ "${DO_IP22}" = "no" ] \
+ && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
+ || show_ip22_info
+ [ "${DO_IP32}" = "no" ] \
+ && err_disabled_mach "SGI O2" "IP32" "skip" \
+ || show_ip32_info
+
+ fi
+}
+
+show_ip22_info() {
+ echo -e ""
+ einfo "IP22 systems with an R5000 processor should work with this release."
+ einfo "The R4x00 series of processors tend to be rather flaky, especially the"
+ einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
+ einfo ""
+ einfo "Some Notes:"
+ einfo "\t- Supported graphics card right now is Newport (XL)."
+ einfo "\t- A driver for Extreme (XZ) does not exist at present."
+ echo -e ""
+}
+
+show_ip27_info() {
+ echo -e ""
+ ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
+ ewarn "in move_freepages() in mm/page_alloc.c. The exact trigger cause is"
+ ewarn "unknown at this time. Please report any oops messages from this"
+ ewarn "bug to bugs.gentoo.org (assign to mips@gentoo.org)"
+ echo -e ""
+}
+
+show_ip28_info() {
+ echo -e ""
+ einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel. However,"
+ einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
+ einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
+ einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
+ einfo "feedback that can be used to trace down the crash."
+ echo -e ""
+}
+
+show_ip30_info() {
+ echo -e ""
+ eerror "Things that DON'T work:"
+ eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
+ eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
+ eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
+ eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
+ eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
+ eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
+ eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
+ echo -e ""
+ ewarn "Things that might work, but have problems, or are unknown:"
+ ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
+ ewarn "\t\040\040intermittent issues. Additionally, CONFIG_HUGETLBFS must also be"
+ ewarn "\t\040\040selected for hugepages to work. If use of this feature continues"
+ ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
+ ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
+ ewarn "\t\040\040after powering it down for at least 30 seconds."
+ ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
+ ewarn "\t\040\040the 16550A chip on the IOC3 directly. It does not use interrupts,"
+ ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
+ ewarn "\t\040\040intensive. The baud rate is limited to no more than 38.4kbps on"
+ ewarn "\t\040\040this driver. Patches for getting the Altix IOC3 serial driver to"
+ ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
+ ewarn "\t- UHCI Cards are known to have issues, but should still function."
+ ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
+ ewarn "\t\040\040adapters."
+ ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
+ ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
+ ewarn "\t\040\040UART driver. The NIC part number is also not read correctly"
+ ewarn "\t\040\040from the four Number-In-a-Cans. Additional testing would be"
+ ewarn "\t\040\040appreciated and patches welcome."
+ ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
+ ewarn "\t\040\040and are not guaranteed to work. This applies to various digital"
+ ewarn "\t\040\040video conversion boards as well."
+ echo -e ""
+ einfo "Things that DO work:"
+ einfo "\t- SMP works again, celebrate!"
+ einfo "\t- Impact (MGRAS) console only."
+ einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
+ einfo "\t- PCI Card Cages should work for many devices, except certain types like"
+ einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
+ einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse. Please"
+ einfo "\t\040\040report any problems with these devices."
+ echo -e ""
+}
+
+show_ip32_info() {
+ echo -e ""
+ einfo "IP32 systems function well, however there are some notes:"
+ einfo "\t- A sound driver now exists for IP32. Celebrate!"
+ einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
+ einfo "\t\040\040specified when building the kernel will likely oops"
+ einfo "\t\040\040or panic the kernel."
+ einfo "\t- X support is limited to the generic fbdev driver. No X"
+ einfo "\t\040\040gbefb driver exists for O2 yet. Feel free to submit"
+ einfo "\t\040\040patches!"
+ echo -e ""
+
+ einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
+ einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
+ einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
+}
+
+src_unpack() {
+ # Unpack the kernel sources, update to the latest rev (if needed),
+ # and apply the latest patch from linux-mips git.
+ kernel-2_src_unpack
+
+ # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
+ echo -e ""
+ cd "${WORKDIR}"
+ unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+ # Create a new folder called 'patch-symlinks' and create symlinks to
+ # all mips-patches in there. If we want to exclude a patch, we'll
+ # just delete the symlink instead of the actual patch.
+ local psym="patch-symlinks"
+ mkdir "${psym}"
+ cd "${psym}"
+ for x in ../mips-patches-${BASE_KV}/*.patch; do
+ ln -s "${x}" "${x##../mips-patches-*/}"
+ done
+
+ # With symlinks created, setup the variables referencing external
+ # machine patches and if a machine USE flag is enabled, then unset
+ # its corresponding variable.
+ # See 0000_README for the patch numbers and their meanings.
+ local p_generic="51*"
+ local p_ip27="52*" p_ip28="53*" p_ip30="54*"
+ local p_xp="80*"
+ use ip27 && unset p_generic p_ip27
+ use ip28 && unset p_ip28
+ use ip30 && unset p_generic p_ip30
+ use experimental && unset p_xp
+
+ # Remove symlinks for any patches that we don't want applied. We
+ # do this by looping through all the above variables, and deleting
+ # matching symlinks that point to the corresponding patches.
+ # The remaining symlinks will be applied to the kernel source.
+ #
+ # $P_EXCLUDE is a new var that can be set in an ebuild to exclude
+ # specific patches by wildcarding the patch number.
+ local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
+ for x in $patchlist;
+ do rm -f "./${x}"
+ done
+
+ # Rename the source tree to match the linux-mips git checkout date and
+ # machine type.
+ local fkv="${F_KV%-*}"
+ local v="${fkv}-${GITDATE}"
+ for x in {ip27,ip28,ip30}; do
+ use ${x} && v="${v}.${x}" && break
+ done
+ mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
+ S="${WORKDIR}/linux-${v}"
+
+ # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
+ EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
+ unpack_set_extraversion
+}
+
+src_prepare() {
+ local psym="patch-symlinks"
+
+ # Now go into the kernel source and patch it.
+ cd "${S}"
+ epatch "${WORKDIR}/${psym}"/*.patch
+
+ eapply_user
+}
+
+#//------------------------------------------------------------------------------
diff --git a/sys-kernel/pf-sources/Manifest b/sys-kernel/pf-sources/Manifest
new file mode 100644
index 0000000..1ab7bae
--- /dev/null
+++ b/sys-kernel/pf-sources/Manifest
@@ -0,0 +1,13 @@
+DIST linux-4.10.tar.xz 94231404 BLAKE2B db973e7fe198e1bf23c8199300c0ff6106ad857106eb21ba07935fe5adcd9531c189c64695ab3890a88319733686ea41d502ba158eebc568d4d6ad512987bf1a SHA512 c3690125a8402df638095bd98a613fcf1a257b81de7611c84711d315cd11e2634ab4636302b3742aedf1e3ba9ce0fea53fe8c7d48e37865d8ee5db3565220d90
+DIST linux-4.11.tar.xz 95447768 BLAKE2B 5e6000e771f58baac2c4484fc8b9f83079aafdac03ea4f2a641bc025a0c79e789820f03b66ec852e28eba9bf3c5c9497a5a6b2e2aca13017fbd82d44ece97e02 SHA512 6610eed97ffb7207c71771198c36179b8244ace7222bebb109507720e26c5f17d918079a56d5febdd8605844d67fb2df0ebe910fa2f2f53690daf6e2a8ad09c3
+DIST linux-4.13.tar.xz 100579888 BLAKE2B 2f8be07d403071b097b019c43fa332bc7d4805dee633a6fdffe5a99d5475015ca9e4881e7f4cbfd36f8c451bacf423436364ea3d9f25b8723a29a178dededb2b SHA512 a557c2f0303ae618910b7106ff63d9978afddf470f03cb72aa748213e099a0ecd5f3119aea6cbd7b61df30ca6ef3ec57044d524b7babbaabddf8b08b8bafa7d2
+DIST linux-4.4.tar.xz 87295988 BLAKE2B f260f1858994f5d481fd078c86e51bddbc958f7c5d1586f60dced772e1b1107ecf3aae0558c3e6f39c36f7d3aa1e6cd1e5c64ec9d6f2218f47b98413da6466fb SHA512 13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e
+DIST linux-4.5.tar.xz 88375040 BLAKE2B 174a0016890a1a754fb3480cf479a8d543370068fd7b077027197f4f92a8653247294253e7119e5994f6387a44f5768c502d35c0b101b49c93684b886e64552d SHA512 cb0d5f30baff37dfea40fbc1119a1482182f95858c883e019ee3f81055c8efbdb9dba7dfc02ebcc4216db38f03ece58688e69efc0fce1dade359af30bd5426de
+DIST linux-4.8.tar.xz 91966856 BLAKE2B 8c6be6bbe255f9fa2f6912364979a43e28d7c07ecfa53668a56652a70c34930bf96a8a05c519c57db432a517c70ae79feaeffcda6544e88687e9b915f1e3092d SHA512 a48a065f21e1c7c4de4cf8ca47b8b8d9a70f86b64e7cfa6e01be490f78895745b9c8790734b1d22182cf1f930fb87eaaa84e62ec8cc1f64ac4be9b949e7c0358
+DIST patch-4.10-pf3.xz 326024 BLAKE2B 9ff4ac762b653cb8877a0fd960b43687037d8ea24aa696cb14701d1559e809a87779b25a952c5d8ca6bec6a9183892f392ec4611941b1580470f1a49c654b3fe SHA512 f5cf7cad04500574f0a4b06df939d9ff685c038d0116e43b6828c72279a09c793fa6a41c662c7ccef1cc201511d00dab57d27e54292880282dd830aeea5c21c6
+DIST patch-4.11-pf3.xz 206568 BLAKE2B aadb36e473868bc15a05d1667c88e8001756a25b168c72a2e2e0a0d9a440d209c6919ff7d6317e1aacb47d2f11eaff124b32cf37005c818caf2bfc16c651f0a1 SHA512 f312cbfc15382cdec02cd9fcca6610c33b33a73e2d468d83aa76be85453250e2788355ebd2694a9fa784068c529b51d0692d0db2b68ab7d855e341c924489038
+DIST patch-4.11-pf4.xz 265664 BLAKE2B cad89aa926f1ef97af665f0d522460af5d809a3d6d089d28956e8837e13d591b43b05f3dd4bbb90036468c54291196bbc9f79698ca4e9acbadec1a8799a3f8f9 SHA512 d5542663ea8748d3b3bb33fb59a14da018f1b3083003608b7df9253e7778fd5064e5cd090dbe9d5123c7d3051ddd29e40a93525d07542d071c4da6c4b6b6fcd1
+DIST patch-4.13-pf4.xz 173732 BLAKE2B 990defc1eb15ca509f922381dc5f7726265caeccd9a9b639989a3e6dc56c4cb3b6076a2588ef93cc39aa4f36e403f654a2c580aac50be61d74dde429ef69f1fc SHA512 6b6fdbb26ec1053c0b3fb0223b2e1cbfb28d88b172ffa8d110a5e7a37f3b0bf377d5957d47007c3468dc42b8c33aad1acbc89c44027c8f7326dcbf940d7de88f
+DIST patch-4.4-pf8.xz 507920 BLAKE2B 99813b3190eb1d055ec64593000a6297f774d5b70316a1a7dbd5b7893c29ef5169d6fa31e546e951bd42504a8f0b38af362ff5c8da28f4f8084758c576e695c5 SHA512 bb417517c88eac7e1b93af8cf635708f0820b13de431039f91577db53dbaca961466c86777c67e61e3c5a7012678d8d50b537a2bddfa494a898101bc25b4c9bb
+DIST patch-4.5-pf4.xz 549912 BLAKE2B e02989bbf56221822ad00a17f65fa1dffdbee1a34bf05865d40708a3fc2a94e8d478542215df44898a4ee08249a9c3eec703399dbdd75aed48e292e81262d361 SHA512 a94e58e67ee42229db56a5541a8969f9a627561b0fe91f72b78c71ad58187693c7ea26ed41982881110a41ee246bb93a774a173091a8e34455654113a8c110a9
+DIST patch-4.8-pf8.xz 362692 BLAKE2B a3092dd6cc24ef8948f0cff994fbea5e2f34e60094fe7e95dccc64f72208240ff326cd1bdedbeea8f8bedddbecf23f240fdd4bf3b00aa7dec593ca4c6e986f32 SHA512 838556878d2ad60f53d208d4399a776ce976e3f610a56b239d11b1547782dd2fc0512381ee80eb800523ad2921e3047db265ddc42fec3d326fe799ce2729739c
diff --git a/sys-kernel/pf-sources/metadata.xml b/sys-kernel/pf-sources/metadata.xml
new file mode 100644
index 0000000..82f3039
--- /dev/null
+++ b/sys-kernel/pf-sources/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/pf-sources/pf-sources-4.10_p3.ebuild b/sys-kernel/pf-sources/pf-sources-4.10_p3.ebuild
new file mode 100644
index 0000000..7736474
--- /dev/null
+++ b/sys-kernel/pf-sources/pf-sources-4.10_p3.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit readme.gentoo-r1 toolchain-funcs versionator
+
+COMPRESSTYPE=".xz"
+K_USEPV="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+
+CKV="$(get_version_component_range 1-2)"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+K_NOSETEXTRAVERSION="don't_set_it"
+
+DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
+HOMEPAGE="https://pf.natalenko.name/"
+
+PF_VERS="1"
+PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
+PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
+SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
+
+KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+KV_FULL="${PVR}-pf"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${P} has the following optional runtime dependencies:
+- sys-apps/tuxonice-userui: provides minimal userspace progress
+information related to suspending and resuming process.
+- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
+for hibernating and suspending your computer."
+
+pkg_pretend() {
+ # 547868
+ if [[ $(gcc-version) < 4.9 ]]; then
+ eerror ""
+ eerror "${P} needs an active GCC 4.9+ compiler"
+ eerror ""
+ die "${P} needs an active sys-devel/gcc >= 4.9"
+ fi
+}
+
+pkg_setup(){
+ ewarn
+ ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the pf developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds. Thank you."
+ ewarn
+ kernel-2_pkg_setup
+}
+
+src_prepare(){
+ epatch "${DISTDIR}/${PF_FILE}"
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ readme.gentoo_print_elog
+}
+
+K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
+see: ${HOMEPAGE}."
diff --git a/sys-kernel/pf-sources/pf-sources-4.11_p3.ebuild b/sys-kernel/pf-sources/pf-sources-4.11_p3.ebuild
new file mode 100644
index 0000000..7736474
--- /dev/null
+++ b/sys-kernel/pf-sources/pf-sources-4.11_p3.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit readme.gentoo-r1 toolchain-funcs versionator
+
+COMPRESSTYPE=".xz"
+K_USEPV="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+
+CKV="$(get_version_component_range 1-2)"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+K_NOSETEXTRAVERSION="don't_set_it"
+
+DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
+HOMEPAGE="https://pf.natalenko.name/"
+
+PF_VERS="1"
+PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
+PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
+SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
+
+KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+KV_FULL="${PVR}-pf"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${P} has the following optional runtime dependencies:
+- sys-apps/tuxonice-userui: provides minimal userspace progress
+information related to suspending and resuming process.
+- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
+for hibernating and suspending your computer."
+
+pkg_pretend() {
+ # 547868
+ if [[ $(gcc-version) < 4.9 ]]; then
+ eerror ""
+ eerror "${P} needs an active GCC 4.9+ compiler"
+ eerror ""
+ die "${P} needs an active sys-devel/gcc >= 4.9"
+ fi
+}
+
+pkg_setup(){
+ ewarn
+ ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the pf developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds. Thank you."
+ ewarn
+ kernel-2_pkg_setup
+}
+
+src_prepare(){
+ epatch "${DISTDIR}/${PF_FILE}"
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ readme.gentoo_print_elog
+}
+
+K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
+see: ${HOMEPAGE}."
diff --git a/sys-kernel/pf-sources/pf-sources-4.11_p4.ebuild b/sys-kernel/pf-sources/pf-sources-4.11_p4.ebuild
new file mode 100644
index 0000000..7736474
--- /dev/null
+++ b/sys-kernel/pf-sources/pf-sources-4.11_p4.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit readme.gentoo-r1 toolchain-funcs versionator
+
+COMPRESSTYPE=".xz"
+K_USEPV="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+
+CKV="$(get_version_component_range 1-2)"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+K_NOSETEXTRAVERSION="don't_set_it"
+
+DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
+HOMEPAGE="https://pf.natalenko.name/"
+
+PF_VERS="1"
+PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
+PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
+SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
+
+KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+KV_FULL="${PVR}-pf"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${P} has the following optional runtime dependencies:
+- sys-apps/tuxonice-userui: provides minimal userspace progress
+information related to suspending and resuming process.
+- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
+for hibernating and suspending your computer."
+
+pkg_pretend() {
+ # 547868
+ if [[ $(gcc-version) < 4.9 ]]; then
+ eerror ""
+ eerror "${P} needs an active GCC 4.9+ compiler"
+ eerror ""
+ die "${P} needs an active sys-devel/gcc >= 4.9"
+ fi
+}
+
+pkg_setup(){
+ ewarn
+ ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the pf developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds. Thank you."
+ ewarn
+ kernel-2_pkg_setup
+}
+
+src_prepare(){
+ epatch "${DISTDIR}/${PF_FILE}"
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ readme.gentoo_print_elog
+}
+
+K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
+see: ${HOMEPAGE}."
diff --git a/sys-kernel/pf-sources/pf-sources-4.13_p4.ebuild b/sys-kernel/pf-sources/pf-sources-4.13_p4.ebuild
new file mode 100644
index 0000000..7736474
--- /dev/null
+++ b/sys-kernel/pf-sources/pf-sources-4.13_p4.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit readme.gentoo-r1 toolchain-funcs versionator
+
+COMPRESSTYPE=".xz"
+K_USEPV="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+
+CKV="$(get_version_component_range 1-2)"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+K_NOSETEXTRAVERSION="don't_set_it"
+
+DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
+HOMEPAGE="https://pf.natalenko.name/"
+
+PF_VERS="1"
+PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
+PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
+SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
+
+KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+KV_FULL="${PVR}-pf"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${P} has the following optional runtime dependencies:
+- sys-apps/tuxonice-userui: provides minimal userspace progress
+information related to suspending and resuming process.
+- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
+for hibernating and suspending your computer."
+
+pkg_pretend() {
+ # 547868
+ if [[ $(gcc-version) < 4.9 ]]; then
+ eerror ""
+ eerror "${P} needs an active GCC 4.9+ compiler"
+ eerror ""
+ die "${P} needs an active sys-devel/gcc >= 4.9"
+ fi
+}
+
+pkg_setup(){
+ ewarn
+ ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the pf developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds. Thank you."
+ ewarn
+ kernel-2_pkg_setup
+}
+
+src_prepare(){
+ epatch "${DISTDIR}/${PF_FILE}"
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ readme.gentoo_print_elog
+}
+
+K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
+see: ${HOMEPAGE}."
diff --git a/sys-kernel/pf-sources/pf-sources-4.4_p8.ebuild b/sys-kernel/pf-sources/pf-sources-4.4_p8.ebuild
new file mode 100644
index 0000000..8e67712
--- /dev/null
+++ b/sys-kernel/pf-sources/pf-sources-4.4_p8.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit readme.gentoo-r1 toolchain-funcs versionator
+
+COMPRESSTYPE=".xz"
+K_USEPV="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+
+CKV="$(get_version_component_range 1-2)"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+K_NOSETEXTRAVERSION="don't_set_it"
+
+DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
+HOMEPAGE="https://pf.natalenko.name/"
+
+PF_VERS="1"
+PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
+PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
+SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
+
+KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+KV_FULL="${PVR}-pf"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${P} has the following optional runtime dependencies:
+- sys-apps/tuxonice-userui: provides minimal userspace progress
+information related to suspending and resuming process.
+- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
+for hibernating and suspending your computer."
+
+pkg_pretend() {
+ # 547868
+ if [[ $(gcc-version) < 4.9 ]]; then
+ eerror ""
+ eerror "${P} needs an active GCC 4.9+ compiler"
+ eerror ""
+ die "${P} needs an active sys-devel/gcc >= 4.9"
+ fi
+}
+
+pkg_setup(){
+ ewarn
+ ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the pf developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds. Thank you."
+ ewarn
+ kernel-2_pkg_setup
+}
+
+src_prepare(){
+ epatch "${DISTDIR}/${PF_FILE}"
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ readme.gentoo_print_elog
+}
+
+K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
+see: ${HOMEPAGE}."
diff --git a/sys-kernel/pf-sources/pf-sources-4.5_p4.ebuild b/sys-kernel/pf-sources/pf-sources-4.5_p4.ebuild
new file mode 100644
index 0000000..8e67712
--- /dev/null
+++ b/sys-kernel/pf-sources/pf-sources-4.5_p4.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit readme.gentoo-r1 toolchain-funcs versionator
+
+COMPRESSTYPE=".xz"
+K_USEPV="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+
+CKV="$(get_version_component_range 1-2)"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+K_NOSETEXTRAVERSION="don't_set_it"
+
+DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
+HOMEPAGE="https://pf.natalenko.name/"
+
+PF_VERS="1"
+PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
+PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
+SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
+
+KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+KV_FULL="${PVR}-pf"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${P} has the following optional runtime dependencies:
+- sys-apps/tuxonice-userui: provides minimal userspace progress
+information related to suspending and resuming process.
+- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
+for hibernating and suspending your computer."
+
+pkg_pretend() {
+ # 547868
+ if [[ $(gcc-version) < 4.9 ]]; then
+ eerror ""
+ eerror "${P} needs an active GCC 4.9+ compiler"
+ eerror ""
+ die "${P} needs an active sys-devel/gcc >= 4.9"
+ fi
+}
+
+pkg_setup(){
+ ewarn
+ ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the pf developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds. Thank you."
+ ewarn
+ kernel-2_pkg_setup
+}
+
+src_prepare(){
+ epatch "${DISTDIR}/${PF_FILE}"
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ readme.gentoo_print_elog
+}
+
+K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
+see: ${HOMEPAGE}."
diff --git a/sys-kernel/pf-sources/pf-sources-4.8_p8.ebuild b/sys-kernel/pf-sources/pf-sources-4.8_p8.ebuild
new file mode 100644
index 0000000..8e67712
--- /dev/null
+++ b/sys-kernel/pf-sources/pf-sources-4.8_p8.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit readme.gentoo-r1 toolchain-funcs versionator
+
+COMPRESSTYPE=".xz"
+K_USEPV="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+
+CKV="$(get_version_component_range 1-2)"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+K_NOSETEXTRAVERSION="don't_set_it"
+
+DESCRIPTION="Linux kernel fork with new features (-ck patchset (BFS), BFQ, TuxOnIce and UKSM)"
+HOMEPAGE="https://pf.natalenko.name/"
+
+PF_VERS="1"
+PF_FILE="patch-${PV/_p*/}-pf${PV/*_p/}${COMPRESSTYPE}"
+PF_URI="https://pf.natalenko.name/sources/$(get_version_component_range 1-2)/${PF_FILE}"
+SRC_URI="${KERNEL_URI} ${PF_URI}" # \${EXPERIMENTAL_URI}
+
+KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+KV_FULL="${PVR}-pf"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${P} has the following optional runtime dependencies:
+- sys-apps/tuxonice-userui: provides minimal userspace progress
+information related to suspending and resuming process.
+- sys-power/hibernate-script or sys-power/pm-utils: runtime utilities
+for hibernating and suspending your computer."
+
+pkg_pretend() {
+ # 547868
+ if [[ $(gcc-version) < 4.9 ]]; then
+ eerror ""
+ eerror "${P} needs an active GCC 4.9+ compiler"
+ eerror ""
+ die "${P} needs an active sys-devel/gcc >= 4.9"
+ fi
+}
+
+pkg_setup(){
+ ewarn
+ ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the pf developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds. Thank you."
+ ewarn
+ kernel-2_pkg_setup
+}
+
+src_prepare(){
+ epatch "${DISTDIR}/${PF_FILE}"
+
+ default
+}
+
+src_install() {
+ kernel-2_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ readme.gentoo_print_elog
+}
+
+K_EXTRAEINFO="For more info on pf-sources and details on how to report problems,
+see: ${HOMEPAGE}."
diff --git a/sys-kernel/raspberrypi-image/Manifest b/sys-kernel/raspberrypi-image/Manifest
new file mode 100644
index 0000000..16535db
--- /dev/null
+++ b/sys-kernel/raspberrypi-image/Manifest
@@ -0,0 +1,2 @@
+DIST raspberrypi-firmware-1.20160209.tar.gz 114792438 BLAKE2B 10453495af56d4f50859ec2ee4bdccbba131518b1460dfdf61143d7e7965ccb53b7bf83a4ddc340caa88bb6653762ec58a55fbaf3e7fd72c65c714ce1df489b8 SHA512 281092c11d422d821e5e2b0479c3b8f891f8df66cfbf931992902d759c99ed40cbb2d9fada1f944372e5bcd8af69784739e79e9912db3482892b10bf668611f2
+DIST raspberrypi-firmware-1.20160309.tar.gz 115673896 BLAKE2B d08101180cd7373f9e93817ee8adc0c2798ff3f53e8a488232fff186707a602e38d916fee292662eac8858d7da857f66f10bac9837e479d657013d985b48d709 SHA512 30a6396ef52355c6f6404354645e8d0f5bbf70332b0e1661dfa8ef3456154d07e105d3b7b5bd64efb3e7397fa2fb8c36de1aa78040dc4118060b26949c2ab884
diff --git a/sys-kernel/raspberrypi-image/metadata.xml b/sys-kernel/raspberrypi-image/metadata.xml
new file mode 100644
index 0000000..97bc254
--- /dev/null
+++ b/sys-kernel/raspberrypi-image/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">raspberrypi/firmware</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 0000000..daf784d
--- /dev/null
+++ b/sys-kernel/raspberrypi-image/raspberrypi-image-4.1.17_p20160209.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit readme.gentoo
+
+DESCRIPTION="Raspberry PI boot loader and firmware"
+HOMEPAGE="https://github.com/raspberrypi/firmware"
+MY_PV="1.20160209"
+SRC_URI="https://github.com/raspberrypi/firmware/archive/${MY_PV} -> raspberrypi-firmware-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2 raspberrypi-videocore-bin"
+SLOT="${PVR}"
+KEYWORDS="~arm -*"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S=${WORKDIR}/firmware-${MY_PV}
+
+RESTRICT=""
+
+pkg_preinst() {
+ if [ -z "${REPLACING_VERSIONS}" ] ; then
+ local msg=""
+ if [ -e "${D}"/boot/cmdline.txt -a -e "${ROOT}"/boot/cmdline.txt ] ; then
+ msg+="/boot/cmdline.txt "
+ fi
+ if [ -e "${D}"/boot/config.txt -a -e "${ROOT}"/boot/config.txt ] ; then
+ msg+="/boot/config.txt "
+ fi
+ if [ -n "${msg}" ] ; then
+ msg="This package installs following files: ${msg}."
+ msg="${msg} Please remove(backup) your copies during install"
+ msg="${msg} and merge settings afterwards."
+ msg="${msg} Further updates will be CONFIG_PROTECTed."
+ die "${msg}"
+ fi
+ fi
+
+ if ! grep "${ROOT}boot" /proc/mounts >/dev/null 2>&1; then
+ ewarn "${ROOT}boot is not mounted, the files might not be installed at the right place"
+ fi
+}
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /lib/modules
+ doins -r modules/*
+ insinto /boot
+ newins boot/kernel.img kernel-${PV}.img
+ newins boot/kernel7.img kernel7-${PV}.img
+
+ readme.gentoo_create_doc
+}
+
+DOC_CONTENTS="Please configure your ram setup by editing /boot/config.txt"
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
new file mode 100644
index 0000000..550713f
--- /dev/null
+++ b/sys-kernel/raspberrypi-image/raspberrypi-image-4.1.19_p20160309.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit readme.gentoo
+
+DESCRIPTION="Raspberry PI boot loader and firmware"
+HOMEPAGE="https://github.com/raspberrypi/firmware"
+MY_PV="1.20160309"
+SRC_URI="https://github.com/raspberrypi/firmware/archive/${MY_PV} -> raspberrypi-firmware-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2 raspberrypi-videocore-bin"
+SLOT="${PVR}"
+KEYWORDS="~arm -*"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S=${WORKDIR}/firmware-${MY_PV}
+
+RESTRICT=""
+
+pkg_preinst() {
+ if [ -z "${REPLACING_VERSIONS}" ] ; then
+ local msg=""
+ if [ -e "${D}"/boot/cmdline.txt -a -e "${ROOT}"/boot/cmdline.txt ] ; then
+ msg+="/boot/cmdline.txt "
+ fi
+ if [ -e "${D}"/boot/config.txt -a -e "${ROOT}"/boot/config.txt ] ; then
+ msg+="/boot/config.txt "
+ fi
+ if [ -n "${msg}" ] ; then
+ msg="This package installs following files: ${msg}."
+ msg="${msg} Please remove(backup) your copies during install"
+ msg="${msg} and merge settings afterwards."
+ msg="${msg} Further updates will be CONFIG_PROTECTed."
+ die "${msg}"
+ fi
+ fi
+
+ if ! grep "${ROOT}boot" /proc/mounts >/dev/null 2>&1; then
+ ewarn "${ROOT}boot is not mounted, the files might not be installed at the right place"
+ fi
+}
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /lib/modules
+ doins -r modules/*
+ insinto /boot
+ newins boot/kernel.img kernel-${PV}.img
+ newins boot/kernel7.img kernel7-${PV}.img
+
+ readme.gentoo_create_doc
+}
+
+DOC_CONTENTS="Please configure your ram setup by editing /boot/config.txt"
diff --git a/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild b/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild
new file mode 100644
index 0000000..0e6d2da
--- /dev/null
+++ b/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit git-r3 readme.gentoo-r1
+
+DESCRIPTION="Raspberry PI boot loader and firmware"
+HOMEPAGE="https://github.com/raspberrypi/firmware"
+SRC_URI=""
+
+LICENSE="GPL-2 raspberrypi-videocore-bin"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+EGIT_REPO_URI="https://github.com/raspberrypi/firmware"
+DOC_CONTENTS="Please configure your ram setup by editing /boot/config.txt"
+
+RESTRICT="binchecks strip"
+
+pkg_preinst() {
+ if [ -z "${REPLACING_VERSIONS}" ] ; then
+ local msg=""
+ if [ -e "${D}"/boot/cmdline.txt -a -e "${ROOT}"/boot/cmdline.txt ] ; then
+ msg+="/boot/cmdline.txt "
+ fi
+ if [ -e "${D}"/boot/config.txt -a -e "${ROOT}"/boot/config.txt ] ; then
+ msg+="/boot/config.txt "
+ fi
+ if [ -n "${msg}" ] ; then
+ msg="This package installs following files: ${msg}."
+ msg="${msg} Please remove(backup) your copies during install"
+ msg="${msg} and merge settings afterwards."
+ msg="${msg} Further updates will be CONFIG_PROTECTed."
+ die "${msg}"
+ fi
+ fi
+
+ if ! grep "${ROOT}boot" /proc/mounts >/dev/null 2>&1; then
+ ewarn "${ROOT}boot is not mounted, the files might not be installed at the right place"
+ fi
+}
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /lib/modules
+ doins -r modules/*
+ insinto /boot
+ newins boot/kernel.img kernel.img
+ newins boot/kernel7.img kernel7.img
+
+ readme.gentoo_create_doc
+}
diff --git a/sys-kernel/raspberrypi-sources/metadata.xml b/sys-kernel/raspberrypi-sources/metadata.xml
new file mode 100644
index 0000000..5ffcbcc
--- /dev/null
+++ b/sys-kernel/raspberrypi-sources/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">raspberrypi/linux</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.10.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.10.9999.ebuild
new file mode 100644
index 0000000..11c6e6a
--- /dev/null
+++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.10.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ETYPE=sources
+K_DEFCONFIG="bcmrpi_defconfig"
+K_SECURITY_UNSUPPORTED=1
+EXTRAVERSION="-${PN}/-*"
+inherit kernel-2
+detect_version
+detect_arch
+
+inherit git-r3 versionator
+EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
+EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
+
+DESCRIPTION="Raspberry PI kernel sources"
+HOMEPAGE="https://github.com/raspberrypi/linux"
+
+KEYWORDS=""
+
+src_unpack() {
+ git-r3_src_unpack
+ unpack_set_extraversion
+}
diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.11.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.11.9999.ebuild
new file mode 100644
index 0000000..11c6e6a
--- /dev/null
+++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.11.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ETYPE=sources
+K_DEFCONFIG="bcmrpi_defconfig"
+K_SECURITY_UNSUPPORTED=1
+EXTRAVERSION="-${PN}/-*"
+inherit kernel-2
+detect_version
+detect_arch
+
+inherit git-r3 versionator
+EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
+EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
+
+DESCRIPTION="Raspberry PI kernel sources"
+HOMEPAGE="https://github.com/raspberrypi/linux"
+
+KEYWORDS=""
+
+src_unpack() {
+ git-r3_src_unpack
+ unpack_set_extraversion
+}
diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.12.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.12.9999.ebuild
new file mode 100644
index 0000000..11c6e6a
--- /dev/null
+++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.12.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ETYPE=sources
+K_DEFCONFIG="bcmrpi_defconfig"
+K_SECURITY_UNSUPPORTED=1
+EXTRAVERSION="-${PN}/-*"
+inherit kernel-2
+detect_version
+detect_arch
+
+inherit git-r3 versionator
+EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
+EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
+
+DESCRIPTION="Raspberry PI kernel sources"
+HOMEPAGE="https://github.com/raspberrypi/linux"
+
+KEYWORDS=""
+
+src_unpack() {
+ git-r3_src_unpack
+ unpack_set_extraversion
+}
diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.13.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.13.9999.ebuild
new file mode 100644
index 0000000..11c6e6a
--- /dev/null
+++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.13.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ETYPE=sources
+K_DEFCONFIG="bcmrpi_defconfig"
+K_SECURITY_UNSUPPORTED=1
+EXTRAVERSION="-${PN}/-*"
+inherit kernel-2
+detect_version
+detect_arch
+
+inherit git-r3 versionator
+EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
+EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
+
+DESCRIPTION="Raspberry PI kernel sources"
+HOMEPAGE="https://github.com/raspberrypi/linux"
+
+KEYWORDS=""
+
+src_unpack() {
+ git-r3_src_unpack
+ unpack_set_extraversion
+}
diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.14.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.14.9999.ebuild
new file mode 100644
index 0000000..11c6e6a
--- /dev/null
+++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.14.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ETYPE=sources
+K_DEFCONFIG="bcmrpi_defconfig"
+K_SECURITY_UNSUPPORTED=1
+EXTRAVERSION="-${PN}/-*"
+inherit kernel-2
+detect_version
+detect_arch
+
+inherit git-r3 versionator
+EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
+EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
+
+DESCRIPTION="Raspberry PI kernel sources"
+HOMEPAGE="https://github.com/raspberrypi/linux"
+
+KEYWORDS=""
+
+src_unpack() {
+ git-r3_src_unpack
+ unpack_set_extraversion
+}
diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.4.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.4.9999.ebuild
new file mode 100644
index 0000000..11c6e6a
--- /dev/null
+++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.4.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ETYPE=sources
+K_DEFCONFIG="bcmrpi_defconfig"
+K_SECURITY_UNSUPPORTED=1
+EXTRAVERSION="-${PN}/-*"
+inherit kernel-2
+detect_version
+detect_arch
+
+inherit git-r3 versionator
+EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
+EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
+
+DESCRIPTION="Raspberry PI kernel sources"
+HOMEPAGE="https://github.com/raspberrypi/linux"
+
+KEYWORDS=""
+
+src_unpack() {
+ git-r3_src_unpack
+ unpack_set_extraversion
+}
diff --git a/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.9.9999.ebuild b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.9.9999.ebuild
new file mode 100644
index 0000000..11c6e6a
--- /dev/null
+++ b/sys-kernel/raspberrypi-sources/raspberrypi-sources-4.9.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ETYPE=sources
+K_DEFCONFIG="bcmrpi_defconfig"
+K_SECURITY_UNSUPPORTED=1
+EXTRAVERSION="-${PN}/-*"
+inherit kernel-2
+detect_version
+detect_arch
+
+inherit git-r3 versionator
+EGIT_REPO_URI="https://github.com/raspberrypi/linux.git -> raspberrypi-linux.git"
+EGIT_BRANCH="rpi-$(get_version_component_range 1-2).y"
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${PV}-raspberrypi"
+
+DESCRIPTION="Raspberry PI kernel sources"
+HOMEPAGE="https://github.com/raspberrypi/linux"
+
+KEYWORDS=""
+
+src_unpack() {
+ git-r3_src_unpack
+ unpack_set_extraversion
+}
diff --git a/sys-kernel/rt-sources/Manifest b/sys-kernel/rt-sources/Manifest
new file mode 100644
index 0000000..3f82df8
--- /dev/null
+++ b/sys-kernel/rt-sources/Manifest
@@ -0,0 +1,42 @@
+DIST deblob-3.18 127087 BLAKE2B 2108917cc6c44bf02afabd1d296f5f1806741a4f92005bb3747956daeb14554fb31b2804a52c9814091177c7ae926ec82941fffb951325cd7dbf24a06286f176 SHA512 6fe33762ba19aad7ff891b7b805cc26f6e2926f5e40c92fa45bc7f31bdeb5c8fc42b97e5d37d71b9422da239c7c54abd25f1fa2fa1e5733c6053abbf4c9e9011
+DIST deblob-4.14 143883 BLAKE2B aaad9858bf626f1495f83187fd2ab91f812504534c7294cfb6818c773229eb780096a2c78a6aa963f3826df3cfdf7a7db5238f71fa8955c21b4acd75660d2b17 SHA512 662a11c03f51d85158175a8bf35fce20f01d94659d36b97a9773304ff9c091b2a9ab72a0445065c20188457fbe174fb43334a79e17b3a9e8553bb6144a971f4c
+DIST deblob-4.16 142787 BLAKE2B 8c43d5487ea8bf78861c582f71206e1d90ad23aad57a0100bea19fb7dd1a3627e4138c3284f31ef292f4c810f6f315718080316e00fb0388cfd997276d170458 SHA512 5f2e0d7cc3adad0ba8f46a2c23041078105778854e87f3a5fb139cdd58151e4cca8690ab99e20026c3a966dc7c414e154c3b395e4e5ab5d744eece3cb9019d02
+DIST deblob-4.18 143094 BLAKE2B 6ad1f08bc48923dead72c25cc5e9ca2722d01f59b95684893b01717c0e1da67bb4b87c2516e74e0e4fdddbbaddc20960533dfedbdae7272c870bb76eb2d1a826 SHA512 4914fabe913a72e63e61b2f313a9e9147ede28971ceddd8ab4d3fd046f284d6020507a0b08b2e4251ddd7015ca942f1dba07fa6ec891f497418d4594196d2619
+DIST deblob-4.4 137370 BLAKE2B 05f96867d5e50e4bc6ea8073f6f0400c2af27bd920a7732f9a9b30e7d1181fe9de745de239b2c5cf12ef647adf1f169180627fd71eb2316d994488fb3e799ca4 SHA512 ea5f2f2cdbc97bdc90c2131f846761dc1630a53986db10d8e9d07d1ddee12a9d878c57790edd3ecc75ed9792d479b7b726c39d688a3926e850608c81b1b78a3a
+DIST deblob-4.9 146273 BLAKE2B 8bc593ca375e003183dc6260aab0b2f81675b0814ec50fae3afe5d4ce9ce41c1c1401ce80e1c285153f610f8f730f82d6ad03e2578c792fd4af8779f2d1e3079 SHA512 3654b28e72b343bafdb38de10ef0c3621db0539bc0e7434bc99bb8f8ed911d4c9e53ca4785fd193fcfec369328f014fa5c6f3bda51b6f1a8f98b8c37ece119a6
+DIST deblob-check-3.18 654232 BLAKE2B ffcd72a9c86ea2fb107b7791053ef25bc99f09a6b55bbac742fecdb1e49bce4ac871f7b5b3d5c888b28d8b95217feb543c2c8cffe47d5dc1d99386d14c2ca8ad SHA512 2cff9abef479a55dd6a0699371be8227ba63b18da1fb153d5df382e0a5e4f1b745b7de256a367a36efa9d12e2aad5622cc288efef009feebf81c108dbef4fe16
+DIST deblob-check-4.14 755969 BLAKE2B 5573bdf913554e23dba3d3c56227a2c8c3fcfad7f4a99e1ec9208171008b5d2d50bdc55000672af95e020ef8171325b9d1797a69c988b4df5b0f71bc2a186fad SHA512 09626864cea33804d3dc94ceb691b24b6c14d1b9531eee8e745276dbc403903d762b1f75d685bf831f42b942d6f7ea265efb0d4889fecc976d95b11faf843fd3
+DIST deblob-check-4.16 767829 BLAKE2B 606d87e6dff29ef1d9704e0a4b767cc5586d300d5e55d3370feb721d2a5bb6c6e6d7a48783021776b7ac347a3580b66725012213c9548a69bf96de91bf01a8ca SHA512 b9b179117356809e55f99b966121bac67f634112bd3b54c3320c9a261967d18462c7f322416cd7d9b2c8d9d374fb37daeda8abe4fb3f013abb2f7da845b2f516
+DIST deblob-check-4.18 781430 BLAKE2B b5e23f938eb7641ce6127cf2b0909a910f698e8d1ffd34212f999eb5d7a62e2c1846f30b7e349ec1dc995ee24d7fdc824c9dbf3c66cdcf3ceb2a4f457368c6fb SHA512 70ef576b3e56c6671a9c533e7766899e87a197d057639f603ff185dcd3de2e0cc17d51eb725b5b4c6a1ef52e1caa8e4875ae1d65e6d2876447513d1ba0710cba
+DIST deblob-check-4.4 694225 BLAKE2B 9369f81751bc80d97c37a07ce92628d212185a4ccd1b1d4ed3b21972f4a135e93910271f0e80a35bb8695d1b9ef6d30c8d303abe51814275115735a8043ddc21 SHA512 6554ae567566da4d30e94a37622f88343b8e96ab39a9204fee34de4ddb5dac8c4906b25843b63c2388d03a4441821c25d395b3c39fc875c498a69e677a4f0cb5
+DIST deblob-check-4.9 717834 BLAKE2B f2471b45f6953ce83c0819b9157ce638a1d93959ec4074a329766ecb0c3adf90fd3022307ea70c2cb3bd3c291f98d6153576cc6597c62ca97abae6524b98112e SHA512 46258698f1c574b44a8c5c78cc2b7fdbaca746976266974ee0f6787904531754b17ad15d542b68e07d4633ee91a8e2d9c32a991ea214292ac072c4f26deed9c9
+DIST linux-3.18.tar.xz 80934708 BLAKE2B cf796fa1eb24276470b51bd3754f02932e57c6469e45959893b3714457ba33f0081ff04137990f228e1aae6d42a05073478a3ef932df468af7cd02bf8c8836c4 SHA512 2f0b72466e9bc538a675738aa416573d41bbbd7e3e2ffd5b5b127afde609ebc278cec5a3c37e73479607e957c13f1b4ed9782a3795e0dcc2cf8e550228594009
+DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
+DIST linux-4.16.tar.xz 103020152 BLAKE2B c7f7b36280b74b2112a098733680e1e93c4f99571099d471b2dde5f7a746d9b9fab5112fffe3b7978c40f15ecaa33203eeeeea98c2158fab2d5857ece5d74f9f SHA512 ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2d06317dc1683c51a472a9a631573a9b1e7258d6281a2ee189897827f14662
+DIST linux-4.18.tar.xz 101781564 BLAKE2B 138bdc49dc8871e5566b5e23a9e5ed0e68fff480a7a04fc659a9efe2d4bcc778ac01368a32bc5d1dbde870102ce7294b9d315f81c4e6e762ee781135e83033f2 SHA512 950eb85ac743b291afe9f21cd174d823e25f11883ee62cecfbfff8fe8c5672aae707654b1b8f29a133b1f2e3529e63b9f7fba4c45d6dacccc8000b3a9a9ae038
+DIST linux-4.4.tar.xz 87295988 BLAKE2B f260f1858994f5d481fd078c86e51bddbc958f7c5d1586f60dced772e1b1107ecf3aae0558c3e6f39c36f7d3aa1e6cd1e5c64ec9d6f2218f47b98413da6466fb SHA512 13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e
+DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
+DIST patch-3.18.121-rt106.patch.xz 177004 BLAKE2B 9895f40d07e889bb75f632ee1c470476712247badec2c13725a919dce6875944251f383dd09c619c0ed498ce50a53fb653255525c86e7f4744a7f29f06bd828f SHA512 8723e66be3ec448e059cc03054538ab97d469090e7d21e4d15d25eac22cbec39c7c001519eef439a837b6466fb8e5918299a5f6536ac52958922998955bdd35c
+DIST patch-3.18.121.xz 1649336 BLAKE2B e3091aea9e6ec131dc5a3e374337ed257333946e222e5ba188c980f861b7075cfb3643ba3fe14aefd2c96bca411fb9aa692c50fcadb86b70a9e54aed362aeb18 SHA512 c3b94c32a716b9d9d8fa7ed7057d49fb0402bb9fbde0ac38e247eea128655ffaa390194b89cb2687cbbeacecd38c964350bff7d30866668f81c774174206defa
+DIST patch-3.18.123-rt107.patch.xz 177044 BLAKE2B 26ec7f306d1e5dfdf8677c7a20474f769a4974649660a20b562e1361843ecf7ba65b5661d99e195e195d3d6200b9aa5a066962bbfa25f4d3490713a5decf6c91 SHA512 6e54e6667f747b0bee79f65ed0f41d1df599247b40f17b04c9e3b22bd1bede0bc8772d5b4babe64ad1e7fb2efbea1e66946a3fb82dfda9f8d1dae323a1ceda37
+DIST patch-3.18.123.xz 1670860 BLAKE2B 48fd660879ae27e05d30577b6c5dc2c3a8b83a2fb029ecfe4eae6b5dcc2f0b0afad5411cffb1454227c1b19a719feef8b32556c24c5955670fc358c649f248ad SHA512 7bdd4ab38bf7cdb0148dc062010c9c0af6f75eb36ad30b384cc79ae28233cdc6eac897317f8513c7d42e1ba71bd5d4ebe963325fca6e8180438e7973cf1ce4e9
+DIST patch-4.14.69-rt43.patch.xz 231208 BLAKE2B 462434ae3f9a5babb90427a9197303aa1f3fd5eeacb144e567ca575cc83f671917031c24e237e0e0461aa3af4da0118565bd4dc489727203ed87ee9a5da36a9c SHA512 e5b7344f2dc782f9084cde1f0714536e8a4dfa451df31afb16c905be71efaad762924403e8fd555e49d074c3048820d2d52e2dbc47b7da380506e69656db2a11
+DIST patch-4.14.69.xz 1702156 BLAKE2B 88afab19954acd828cafa38d3d7e74c6a18ff1585b6bd9c16eadcb2ce8058ec9a87783d53bcd25c29d15ccbeda1b555babf554e149de63767a852524b75eeecd SHA512 0e17f70c898a58384ffd29c599a52cccfea30a820f1e55cdf9f46f319370b1c0dc16e9000b1a2dfa84779463b757b8810cbe881c919b635801ae078b5e3c0513
+DIST patch-4.14.71-rt44.patch.xz 231184 BLAKE2B 4e8a9874a2b731ab0d89d44c0993d855f8a8f641fb309c6e891e104e3c276846af6db30ca4a5ea6ce4d309648b72b64a8eceb184287030001a67737d254980af SHA512 6f447f0314ee7beb1dda1087d42663a32b9f326166539d93b6ae70b9708d9dfaca07e57057b99d42e917c93bb809d472dbb2aee59667a8c893c15068f04ff108
+DIST patch-4.14.71.xz 1755512 BLAKE2B df4194c2540ebfd7ef39045c7af03e2211e42dd0efcc47cf09b852c1a042960ecf339e17ecf0424dae3be1601a3787b81aded5edad0b4c85077d7468a8ad2788 SHA512 2c3a330a25c6f563a6a5c4462d2c43b3184bd7c1fe619d2166d7cb46157f7e8a17105116449d7a695f63242fa9ce48037681e5980e93dcc7dac2b94e0a42f34d
+DIST patch-4.16.18-rt12.patch.xz 230644 BLAKE2B d3e777b47c6b33ceab5d7829a54ff76c08682958b7e2798b7dae177281514f89e98833883d8757adfc687f88c23ef55ea3c0392da398ac92454bb5e3f870a609 SHA512 d15089470ea9317aac8be600f09bd76566a65a1f48b3efe22a0ad1269444cd9fa15723dd190fe5e2a30c2464a9cc3b53200d7a7d462b3adac00e70ecfae593ba
+DIST patch-4.16.18.xz 506924 BLAKE2B dc41b7247e58808e1827fda7b4236ccac1ef8150f4c200161f4a9cd91912a7cb8b72337dfd403c3b1d7bee3d2626b5d53e3c3d595d80418da57bc3f9b58fdbce SHA512 9e1cf90b874c757393680026cb74500ca9fa22c0047ac820f4e5f43062125f8cf469f1e8e93a084b9ecc28a177e55c8b733c2fe620e46694a338f1b2ff4180f8
+DIST patch-4.18.12-rt7.patch.xz 161484 BLAKE2B 12c9fa67d27d1f933f892ce2782367cfd49b1e2558b76c202549f3cfafca172bb3beb8d831ddc26124eb422512a63e4c14b7452695136dc98a103113db6f7028 SHA512 01e82621a4265d68303b1ba3ebd5cdb59fa6aeeff31008bc553d1a621c20aa72a592c1de8cfebebac3e744c9032402e7195754f4f9751947169107e400803fa9
+DIST patch-4.18.12.xz 360576 BLAKE2B 40737d68a61211898a215883b2292d72104de3d4e67b37823eaec80eb546132bfe41ba29f5269044997146d4a9b2d79e004c7b437a5b4b51c9382f441b4ddcf7 SHA512 26d739fd52d4017666bc4f3203cc71ed48ed92a6b42e683421dfbffd67cddab0ebdeccc3a46d1e8e1e6b7fe22a7881c0c08c87936e2fc19238d25f09f1b494e3
+DIST patch-4.18.16-rt9.patch.xz 161460 BLAKE2B 26ab626111fc83c475b48817a8d88c9963565cc7fbd8d3e21438f4ac2c74c5e441e39b4f1e5045300f664c42b4d6ed07a4ebae98af049f67e65869bfe3e7dbcf SHA512 1473cfd044014b055d876c9c5e9cac46e998ff34ac324d5ff50a58dc46ea7241b8b6bc1195a857447d6399b24cb285dbea698b905df511762e8527fd4ba29bd1
+DIST patch-4.18.16.xz 476164 BLAKE2B a9b684c3249cf20cb3672f3b5195b91128918cee459ebb1326f4c0ac6ba45036b14afaa16d3ef900884cba83a901c638bc0c19843c029902b1180c49e577e176 SHA512 f857cfa386fa6837f5c6dd4c1ea32e827abcfd0d2103e547b7c78a87c9f89598e9bce9d5a63c411ee99ef22ef66280ce9b308369722813e2fff5b1fa8284fd64
+DIST patch-4.18.7-rt5.patch.xz 159768 BLAKE2B f4acf5678562a29559cbe3f18db9c127183216983a9fcdce4d7145331390eae55f376776c1ffbf1616974c56e2616898801f7134ae6d52057396816329ed5eb1 SHA512 66b20734a5a78db0b5c9a718030b13ec6c619a92546b3ddfce26850f1bf254750cd463925209cfddf9c1fa90e13dad08e5b2d7efe7cb0a1faa637db3336152ac
+DIST patch-4.18.7.xz 140532 BLAKE2B 0e5c586070e67738fba0c9d144ce196dc1bfee2ed12556efdf8104764400aeebe6d018a8d036a51e1cf26c064a17aed7a9f6f01f2125f45022fcc070960641a5 SHA512 483ce39833de636cc8ba52908db14819fcd61bf3a3bfe6409dc858bd5a563de24beade909fb71c3a529a5761f638398bc30fdf2796220ae3da78e3e2a363fdb7
+DIST patch-4.4.148-rt165.patch.xz 196240 BLAKE2B 18bb4cc4b8ed700677173ff7eae90ddf891d1f2f162a93cb83a414e1d34a4c05ee758f081b1300f3355848569bcc6bc381c0775a821729659c9a18e4b0503bde SHA512 133f2ee8135a1c00f8d8342b8d0a3f80dfff3973a1f09688d1a61f4648475ba5a7df7f94506c9b371cacb63afaa8fd7473cfa47cf7c5ab97764de29bf2288da0
+DIST patch-4.4.148.xz 2078624 BLAKE2B bd77d546ed28a2f6f9d79be6487d39ad38a774c81e38b10bf61ae25185a13b076081fc650dc2bceb36b3ff5ba8ecb4ef6f31fdd2850a71a6747798b1e183f625 SHA512 9448779b00090f997a690b142917fb1236a2fc5ee938f6822e6b9713c51415c483f2cfb7f8af42ef0ed2eeb3fd7468d2d38e69efdc2622a9433b888a19ab1677
+DIST patch-4.4.157-rt174.patch.xz 196276 BLAKE2B 92fe9d3558f1d8f9fb584ac2f431055443282a5f792378085bf6830606d651b108c4699abede5cb71441f4fa6972ec62b4684d6f6fb0fea52b6acf12b8f2123c SHA512 d50fe3fbcea1962022744bf9f2c24d0c797a24a5ca37d0983be9dede698774ce94a44bd4494fc9c9a58ad9f68b403b77991ad5aba71818cff3bd4ebe693ff163
+DIST patch-4.4.157.xz 2139452 BLAKE2B 6c923215d17361d20e622450371454321b1c60eb821e2c94887f2431923a3186b789b859c700fe560ae2bc005fda9b3e2838b77a30f161ff06973d9590514979 SHA512 ab96bc8e1807e1bbc3d4c0758fd9bdf2f34730f5744e533eac6fd32a7c50ef22a2695f6748339b078d7991a761daf1132ed5ba5140fddf2ee7d86f25117ded39
+DIST patch-4.4.162-rt175.patch.xz 196216 BLAKE2B d399cfbc36000c22b0805fb77e13a7d733cdcf0df4d7b167d11a503e3a08048bb767c428956bcd423fea1a0d38adbb47f108c8a8aad9e4de23d046a0e79dc940 SHA512 f2bb60aee9537262a46f7545fe44c04dcd886d1ac1906bd2196ce862ef75548d00f214c71644408d8245f0eb85159abdca4f1ba9290dd3a0288f90cc4b8560cb
+DIST patch-4.4.162.xz 2189224 BLAKE2B 90e23534c08fafb27a76a59068a8372d706fc8d8a9bbb1ec4aa43ce92702116c72a5319cc657b5b15b7d139004e596d77a3862bf425cbffc2bd1777f55c4d7ca SHA512 370860bcd43ea6285a61cac6833c0a6f3dd6f1d914f06e567c772c33311d09cbfa092e312439eb4090b35e9144f2e26c88945d4d1b3fd28f071d22aa17e2ea41
+DIST patch-4.9.115-rt93.patch.xz 173136 BLAKE2B 5ed7aec677fdcb97f1d56ea3e6984828bc0581e9f39cc9f231445ff3be0561f9a691e6e3e6f17929d3a4aee031fa64f1cb114d4d3cf54d7294073cd85e94ec58 SHA512 a86dff8c348b3260a75f83c2a287eddb1df36c013b3d3dce91e3fcad624c851003ac4754b177805a99f8237676cf2da3de4a0657777902bdbfc40c5cecf2b18a
+DIST patch-4.9.115.xz 2080804 BLAKE2B 6c2d1b957b55ea6a28b82fa7bafb7bac56b5345297de2e5a53e54ff817b27fb7371a36e5424fd58479359edc3e4a4e8dd41f1dd8b8d612ce10d4bbc615c2c432 SHA512 ad0ed227bf915ab2a7093237c3a482909497b1a00cc5262c79e720a50b008b4942904658fe2e8f764df0ac6e855a632de0bbd4d5788e63c4dbfa3e8f2f8fcf97
diff --git a/sys-kernel/rt-sources/files/rt-sources-posix-printf.patch b/sys-kernel/rt-sources/files/rt-sources-posix-printf.patch
new file mode 100644
index 0000000..81ebcaf
--- /dev/null
+++ b/sys-kernel/rt-sources/files/rt-sources-posix-printf.patch
@@ -0,0 +1,40 @@
+From 651e54953b5d4ad103f0efa54fc6b380807fca3a Mon Sep 17 00:00:00 2001
+From: Thomas Schneider <qsx@qsx.re>
+Date: Fri, 14 Oct 2016 21:29:49 +0200
+Subject: security/apparmor: Use POSIX-compatible "printf '%s'"
+
+When using a strictly POSIX-compliant shell, "-n #define ..." gets
+written into the file. Use "printf '%s'" to avoid this.
+
+Signed-off-by: Thomas Schneider <qsx@qsx.re>
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+---
+ security/apparmor/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+(limited to 'security/apparmor')
+
+diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
+index ad369a7..2ded2f1 100644
+--- a/security/apparmor/Makefile
++++ b/security/apparmor/Makefile
+@@ -20,7 +20,7 @@ cmd_make-caps = echo "static const char *const capability_names[] = {" > $@ ;\
+ sed $< >>$@ -r -n -e '/CAP_FS_MASK/d' \
+ -e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/[\2] = "\L\1",/p';\
+ echo "};" >> $@ ;\
+- echo -n '\#define AA_FS_CAPS_MASK "' >> $@ ;\
++ printf '%s' '\#define AA_FS_CAPS_MASK "' >> $@ ;\
+ sed $< -r -n -e '/CAP_FS_MASK/d' \
+ -e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/\L\1/p' | \
+ tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
+@@ -56,7 +56,7 @@ cmd_make-rlim = echo "static const char *const rlim_names[RLIM_NLIMITS] = {" \
+ echo "static const int rlim_map[RLIM_NLIMITS] = {" >> $@ ;\
+ sed -r -n "s/^\# ?define[ \t]+(RLIMIT_[A-Z0-9_]+).*/\1,/p" $< >> $@ ;\
+ echo "};" >> $@ ; \
+- echo -n '\#define AA_FS_RLIMIT_MASK "' >> $@ ;\
++ printf '%s' '\#define AA_FS_RLIMIT_MASK "' >> $@ ;\
+ sed -r -n 's/^\# ?define[ \t]+RLIMIT_([A-Z0-9_]+).*/\L\1/p' $< | \
+ tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
+
+--
+cgit v1.1
diff --git a/sys-kernel/rt-sources/metadata.xml b/sys-kernel/rt-sources/metadata.xml
new file mode 100644
index 0000000..0791a2c
--- /dev/null
+++ b/sys-kernel/rt-sources/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>karl.j.linden@gmail.com</email>
+ <name>Karl Linden</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Real-time patchset for the Linux Kernel
+ </longdescription>
+ <use>
+ <flag name="deblob">Remove binary blobs from kernel sources to provide libre license compliance.</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 0000000..6ec80f7
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-3.18.121_p106.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+PATCHES=(
+ "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
+)
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..14daca2
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-3.18.123_p107.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+PATCHES=(
+ "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
+)
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..d65a86c
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.14.69_p43.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..18034a5
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.14.71_p44.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..18034a5
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.16.18_p12.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..18034a5
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.18.12_p7.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..18034a5
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.18.16_p9.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..d65a86c
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.18.7_p5.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..6ec80f7
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.4.148_p165.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+PATCHES=(
+ "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
+)
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..14daca2
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.4.157_p174.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+PATCHES=(
+ "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
+)
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..14daca2
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.4.162_p175.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+PATCHES=(
+ "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
+)
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
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
new file mode 100644
index 0000000..14daca2
--- /dev/null
+++ b/sys-kernel/rt-sources/rt-sources-4.9.115_p93.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+ETYPE="sources"
+KEYWORDS="~amd64"
+
+HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
+
+inherit eapi7-ver
+
+CKV="$(ver_cut 1-3)"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="1"
+RT_PATCHSET="${PV/*_p}"
+
+inherit kernel-2
+detect_version
+
+K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
+RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
+RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
+ mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
+
+DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
+SRC_URI="${KERNEL_URI} ${RT_URI}"
+
+KV_FULL="${PVR/_p/-rt}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
+UNIPATCH_STRICTORDER="yes"
+
+PATCHES=(
+ "${FILESDIR}"/rt-sources-posix-printf.patch # 627068
+)
+
+src_prepare() {
+ default
+
+ # 627796
+ sed \
+ "s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
+ -i "${S}/kernel/Kconfig.preempt" || die "sed failed"
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ ewarn
+ ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
+ ewarn "If you need support, please contact the RT project developers directly."
+ ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
+ ewarn "the ebuilds."
+ ewarn
+}
+
+K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
+${HOMEPAGE}."
diff --git a/sys-kernel/spl/Manifest b/sys-kernel/spl/Manifest
new file mode 100644
index 0000000..5a6f91a
--- /dev/null
+++ b/sys-kernel/spl/Manifest
@@ -0,0 +1,5 @@
+DIST spl-0.6.5.11.tar.gz 531710 BLAKE2B e89cb5a023d3f4b3949a385100b56e01c5fd0ff4448bc175f8463a84b74d1d8f1fcf669c2e4b73f2ec3326653594106ebfa3e66987e49a9cd029355bbb317990 SHA512 eae1641a0d528cb9182deccd309625e13abf3db88ba1cbb54947055b23d1f94b62c045f939d5e952784f19719eea5fdf85d65c5abd22b9db167ea7780bc55722
+DIST spl-0.7.11.tar.gz 551795 BLAKE2B c7002e0281ad6c1e97e2e5ef1365500ed2dce8d06339679b1a5e6405bea61c918cde280b8b840ab023a8fb73198faf985043e3e5eddae2494b331bea7637ad44 SHA512 c7d5d2f504f98f581554d3cf96fe5ae128dae6a27b0aa802e0f95f6b7d89f8a9783c71696e095a6a25a319c28087d933b5ebaa015111f96711d2fb54195c197c
+DIST spl-0.7.8.tar.gz 559558 BLAKE2B 5aa68a8150cb0c922c1ad0df9d1260136cedd95c13df45cc4490d937746a2a0e76e964978128a6f4e553f7bad4adc72a0408ef89969a15ba3f43af26e412b61c SHA512 dcd38dd0971042603baa474460486ed2e7cb59468de7613fa713eb4bdd081026794af7780b5d8970dd17645b04b6dde1e2f43e89a782437a50afc679a8850001
+DIST spl-0.7.9-r1-patches.tar.xz 2428 BLAKE2B 5a8550be587c511975d579bdba889538ed574d51b75ff579d02da190a2f8f0c2ba79a5ab4247603f17d26d0ec4d3552dd066c276b99e152d3d95a420db62038c SHA512 829d16e9ab98d568174558fe850e6cb75a70c05de485054f1801f3896dc1fb56a1aaa7f4ba6c7e107558eef591456098291917ca071774c12f4191b0004b9b93
+DIST spl-0.7.9.tar.gz 551115 BLAKE2B 0ebb801ff60e5f8691c0b3386b5b1c326ea9d40decc20fb455ddb103d108923f28cd870e1c1dc465af5e24e8627973f2b60e7b9b88b3fdbd3ac45f3bd167def2 SHA512 89a42a65b3c09a654ffc3bcef84a0735eefe080c2d790400a3691cccf01e9f0a95cd40a4eed37542cfa7f4a94f20e06aae44886325473713407833d247751ec3
diff --git a/sys-kernel/spl/metadata.xml b/sys-kernel/spl/metadata.xml
new file mode 100644
index 0000000..b51664d
--- /dev/null
+++ b/sys-kernel/spl/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ryao@gentoo.org</email>
+ <name>Richard Yao</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">zfsonlinux/spl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/spl/spl-0.6.5.11.ebuild b/sys-kernel/spl/spl-0.6.5.11.ebuild
new file mode 100644
index 0000000..d527d29
--- /dev/null
+++ b/sys-kernel/spl/spl-0.6.5.11.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ AUTOTOOLS_AUTORECONF="1"
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
+ KEYWORDS="amd64"
+fi
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="custom-cflags debug"
+RESTRICT="debug? ( strip ) test"
+
+COMMON_DEPEND="
+ dev-lang/perl
+ virtual/awk"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-devel/spl"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+DOCS=( AUTHORS DISCLAIMER )
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="
+ !DEBUG_LOCK_ALLOC
+ !CONFIG_REISER4_FS
+ MODULES
+ KALLSYMS
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ !PAX_SIZE_OVERFLOW
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use debug && CONFIG_CHECK="${CONFIG_CHECK}
+ FRAME_POINTER
+ DEBUG_INFO
+ !DEBUG_INFO_REDUCED
+ "
+
+ kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 4 12 || die "Linux 4.12 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
+ die "Cannot patch check.sh"
+
+ # splat is unnecessary unless we are debugging
+ use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
+
+ # Set module revision number
+ [ ${PV} != "9999" ] && \
+ { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Remove old modules
+ if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
+ then
+ ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
+ ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
+ ewarn "Automatically removing old modules to avoid problems."
+ rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
+ rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
+ fi
+}
diff --git a/sys-kernel/spl/spl-0.7.11.ebuild b/sys-kernel/spl/spl-0.7.11.ebuild
new file mode 100644
index 0000000..59fcff4
--- /dev/null
+++ b/sys-kernel/spl/spl-0.7.11.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ AUTOTOOLS_AUTORECONF="1"
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="custom-cflags debug"
+RESTRICT="debug? ( strip ) test"
+
+COMMON_DEPEND="
+ dev-lang/perl
+ virtual/awk"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-devel/spl"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+DOCS=( AUTHORS DISCLAIMER )
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="
+ !DEBUG_LOCK_ALLOC
+ MODULES
+ KALLSYMS
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ !PAX_SIZE_OVERFLOW
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use debug && CONFIG_CHECK="${CONFIG_CHECK}
+ FRAME_POINTER
+ DEBUG_INFO
+ !DEBUG_INFO_REDUCED
+ "
+
+ kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 4 18 || die "Linux 4.18 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
+ die "Cannot patch check.sh"
+
+ # splat is unnecessary unless we are debugging
+ use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
+
+ # Set module revision number
+ [ ${PV} != "9999" ] && \
+ { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Remove old modules
+ if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
+ then
+ ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
+ ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
+ ewarn "Automatically removing old modules to avoid problems."
+ rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
+ rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
+ fi
+}
diff --git a/sys-kernel/spl/spl-0.7.8.ebuild b/sys-kernel/spl/spl-0.7.8.ebuild
new file mode 100644
index 0000000..871dba5
--- /dev/null
+++ b/sys-kernel/spl/spl-0.7.8.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ AUTOTOOLS_AUTORECONF="1"
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
+ KEYWORDS="amd64"
+fi
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="custom-cflags debug"
+RESTRICT="debug? ( strip ) test"
+
+COMMON_DEPEND="
+ dev-lang/perl
+ virtual/awk"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-devel/spl"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+DOCS=( AUTHORS DISCLAIMER )
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="
+ !DEBUG_LOCK_ALLOC
+ MODULES
+ KALLSYMS
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ !PAX_SIZE_OVERFLOW
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use debug && CONFIG_CHECK="${CONFIG_CHECK}
+ FRAME_POINTER
+ DEBUG_INFO
+ !DEBUG_INFO_REDUCED
+ "
+
+ kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 4 16 || die "Linux 4.16 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
+ die "Cannot patch check.sh"
+
+ # splat is unnecessary unless we are debugging
+ use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
+
+ # Set module revision number
+ [ ${PV} != "9999" ] && \
+ { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Remove old modules
+ if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
+ then
+ ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
+ ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
+ ewarn "Automatically removing old modules to avoid problems."
+ rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
+ rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
+ fi
+}
diff --git a/sys-kernel/spl/spl-0.7.9-r1.ebuild b/sys-kernel/spl/spl-0.7.9-r1.ebuild
new file mode 100644
index 0000000..8d4bead
--- /dev/null
+++ b/sys-kernel/spl/spl-0.7.9-r1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF="1"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz
+ https://dev.gentoo.org/~ryao/dist/${PF}-patches.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="custom-cflags debug"
+RESTRICT="debug? ( strip ) test"
+
+COMMON_DEPEND="
+ dev-lang/perl
+ virtual/awk"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-devel/spl"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+DOCS=( AUTHORS DISCLAIMER )
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="
+ !DEBUG_LOCK_ALLOC
+ MODULES
+ KALLSYMS
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ !PAX_SIZE_OVERFLOW
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use debug && CONFIG_CHECK="${CONFIG_CHECK}
+ FRAME_POINTER
+ DEBUG_INFO
+ !DEBUG_INFO_REDUCED
+ "
+
+ kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 4 18 || die "Linux 4.18 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ if [ ${PV} != "9999" ]
+ then
+ # Apply patch set
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/${PF}-patches"
+ fi
+
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
+ die "Cannot patch check.sh"
+
+ # splat is unnecessary unless we are debugging
+ use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
+
+ # Set module revision number
+ [ ${PV} != "9999" ] && \
+ { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Remove old modules
+ if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
+ then
+ ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
+ ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
+ ewarn "Automatically removing old modules to avoid problems."
+ rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
+ rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
+ fi
+}
diff --git a/sys-kernel/spl/spl-0.7.9.ebuild b/sys-kernel/spl/spl-0.7.9.ebuild
new file mode 100644
index 0000000..5295e9d
--- /dev/null
+++ b/sys-kernel/spl/spl-0.7.9.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ AUTOTOOLS_AUTORECONF="1"
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
+ KEYWORDS="amd64"
+fi
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="custom-cflags debug"
+RESTRICT="debug? ( strip ) test"
+
+COMMON_DEPEND="
+ dev-lang/perl
+ virtual/awk"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-devel/spl"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+DOCS=( AUTHORS DISCLAIMER )
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="
+ !DEBUG_LOCK_ALLOC
+ MODULES
+ KALLSYMS
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ !PAX_SIZE_OVERFLOW
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use debug && CONFIG_CHECK="${CONFIG_CHECK}
+ FRAME_POINTER
+ DEBUG_INFO
+ !DEBUG_INFO_REDUCED
+ "
+
+ kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 4 17 || die "Linux 4.17 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
+ die "Cannot patch check.sh"
+
+ # splat is unnecessary unless we are debugging
+ use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
+
+ # Set module revision number
+ [ ${PV} != "9999" ] && \
+ { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Remove old modules
+ if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
+ then
+ ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
+ ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
+ ewarn "Automatically removing old modules to avoid problems."
+ rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
+ rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
+ fi
+}
diff --git a/sys-kernel/spl/spl-0.7.9999.ebuild b/sys-kernel/spl/spl-0.7.9999.ebuild
new file mode 100644
index 0000000..69d32ec
--- /dev/null
+++ b/sys-kernel/spl/spl-0.7.9999.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+if [[ ${PV} == *"9999" ]] ; then
+ AUTOTOOLS_AUTORECONF="1"
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+ EGIT_BRANCH="spl-0.7-release"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64"
+fi
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="custom-cflags debug"
+RESTRICT="debug? ( strip ) test"
+
+COMMON_DEPEND="
+ dev-lang/perl
+ virtual/awk"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-devel/spl"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+DOCS=( AUTHORS DISCLAIMER README.markdown )
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="
+ !DEBUG_LOCK_ALLOC
+ !CONFIG_REISER4_FS
+ !GRKERNSEC_RANDSTRUCT
+ KALLSYMS
+ MODULES
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use debug && CONFIG_CHECK="${CONFIG_CHECK}
+ FRAME_POINTER
+ DEBUG_INFO
+ !DEBUG_INFO_REDUCED
+ "
+
+ kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
+
+ [ ${PV} != *"9999" ] && \
+ { kernel_is le 4 17 || die "Linux 4.17 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
+ die "Cannot patch check.sh"
+
+ # splat is unnecessary unless we are debugging
+ use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
+
+ # Set module revision number
+ [ ${PV} != *"9999" ] && \
+ { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Remove old modules
+ if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
+ then
+ ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
+ ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
+ ewarn "Automatically removing old modules to avoid problems."
+ rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
+ rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
+ fi
+}
diff --git a/sys-kernel/spl/spl-9999.ebuild b/sys-kernel/spl/spl-9999.ebuild
new file mode 100644
index 0000000..b39cb38
--- /dev/null
+++ b/sys-kernel/spl/spl-9999.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+if [[ ${PV} == "9999" ]] ; then
+ AUTOTOOLS_AUTORECONF="1"
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64"
+fi
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+DESCRIPTION="The Solaris Porting Layer provides many of the Solaris kernel APIs"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="custom-cflags debug"
+RESTRICT="debug? ( strip ) test"
+
+COMMON_DEPEND="
+ dev-lang/perl
+ virtual/awk"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-devel/spl"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+DOCS=( AUTHORS DISCLAIMER README.markdown )
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="
+ !DEBUG_LOCK_ALLOC
+ !CONFIG_REISER4_FS
+ !GRKERNSEC_RANDSTRUCT
+ KALLSYMS
+ MODULES
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use debug && CONFIG_CHECK="${CONFIG_CHECK}
+ FRAME_POINTER
+ DEBUG_INFO
+ !DEBUG_INFO_REDUCED
+ "
+
+ kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 4 17 || die "Linux 4.17 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${S}/scripts/check.sh" || \
+ die "Cannot patch check.sh"
+
+ # splat is unnecessary unless we are debugging
+ use debug || { sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" || die ; }
+
+ # Set module revision number
+ [ ${PV} != "9999" ] && \
+ { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; }
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Remove old modules
+ if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
+ then
+ ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
+ ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
+ ewarn "Automatically removing old modules to avoid problems."
+ rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
+ rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
+ fi
+}
diff --git a/sys-kernel/vanilla-sources/Manifest b/sys-kernel/vanilla-sources/Manifest
new file mode 100644
index 0000000..38d9e6a
--- /dev/null
+++ b/sys-kernel/vanilla-sources/Manifest
@@ -0,0 +1,11 @@
+DIST linux-3.16.tar.xz 80501624 BLAKE2B 46de37c6e1bc3c57d4b77f772ccd372fd77f96989d19d341b8098dab13a86659e0c74802859226fc7b22879ddb05788cfc1aad020920e3acc53d5383aa496afa SHA512 64033e741d3f42ed06010e63e69d66e1d3d9414ef20f76834508878d4218b72619541a18ef4fd377204af2859e52198310998109b20ed9b67722586b28c9a231
+DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
+DIST linux-4.18.tar.xz 101781564 BLAKE2B 138bdc49dc8871e5566b5e23a9e5ed0e68fff480a7a04fc659a9efe2d4bcc778ac01368a32bc5d1dbde870102ce7294b9d315f81c4e6e762ee781135e83033f2 SHA512 950eb85ac743b291afe9f21cd174d823e25f11883ee62cecfbfff8fe8c5672aae707654b1b8f29a133b1f2e3529e63b9f7fba4c45d6dacccc8000b3a9a9ae038
+DIST linux-4.19.tar.xz 103117552 BLAKE2B 1dbf16cf410867412d17568fe42bc1e90c034183b654d270b650621ff7664a321950943d0639205bc1ee7ef6210be170c1f2c785a042ed8a4ec5e3a486d890e0 SHA512 ab67cc746b375a8b135e8b23e35e1d6787930d19b3c26b2679787d62951cbdbc3bb66f8ededeb9b890e5008b2459397f9018f1a6772fdef67780b06a4cb9f6f4
+DIST linux-4.4.tar.xz 87295988 BLAKE2B f260f1858994f5d481fd078c86e51bddbc958f7c5d1586f60dced772e1b1107ecf3aae0558c3e6f39c36f7d3aa1e6cd1e5c64ec9d6f2218f47b98413da6466fb SHA512 13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e
+DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
+DIST patch-3.16.60.xz 2152288 BLAKE2B 5b4871dfb0d528b3797e03dc466190c21e3217e8a622ae0442a43c44270a5f2ed84c4f651cb2cd2d1d881ed47717bb0efb439fa41cd7380900029d2f64956eb9 SHA512 6c5e02bf84f8d1f9cd908675a2cc5640bea7c8a28f31787aa98bf06461dafb2f64b01aa6450d8e0a4da7085432e9e28ba9b20510a4bbf18c5feee31279e96194
+DIST patch-4.14.78.xz 1888728 BLAKE2B 37d2cf9594422748e493b7d7b000917a45fb5d231b088945f8a458d522b7c42754beb2bed138b562c823d5aaa31c2c9dcda276a9460e57fb857899037c4777d8 SHA512 bf0c0cbe9ee7ddfee0d8a70656e6db5979d1928c7aad917039c471ad6e2b049fe9d0f59161dab5ccfb9180263d2630cd6df735524b5886f0d05f709cb30b11bd
+DIST patch-4.18.16.xz 476164 BLAKE2B a9b684c3249cf20cb3672f3b5195b91128918cee459ebb1326f4c0ac6ba45036b14afaa16d3ef900884cba83a901c638bc0c19843c029902b1180c49e577e176 SHA512 f857cfa386fa6837f5c6dd4c1ea32e827abcfd0d2103e547b7c78a87c9f89598e9bce9d5a63c411ee99ef22ef66280ce9b308369722813e2fff5b1fa8284fd64
+DIST patch-4.4.162.xz 2189224 BLAKE2B 90e23534c08fafb27a76a59068a8372d706fc8d8a9bbb1ec4aa43ce92702116c72a5319cc657b5b15b7d139004e596d77a3862bf425cbffc2bd1777f55c4d7ca SHA512 370860bcd43ea6285a61cac6833c0a6f3dd6f1d914f06e567c772c33311d09cbfa092e312439eb4090b35e9144f2e26c88945d4d1b3fd28f071d22aa17e2ea41
+DIST patch-4.9.135.xz 2314976 BLAKE2B c219d932f64666ed2deb805a70548477bac2eb9e43b5dcb42b23405732073e6c1c60a29736b536cb799e4e60a56915dafb1a74edaecd5a1e51efa0f7177014ac SHA512 80d6eaf21fb6f12e487ac53169555af9ce3553ae3ada8b7bd75542da4bd1c359f2e200c53b72233a195f84675f9333ef8f65f93fa81af5e58dbfede8d730bbcb
diff --git a/sys-kernel/vanilla-sources/metadata.xml b/sys-kernel/vanilla-sources/metadata.xml
new file mode 100644
index 0000000..23dc092
--- /dev/null
+++ b/sys-kernel/vanilla-sources/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kernel@gentoo.org</email>
+ <name>Gentoo kernel team</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>ago@gentoo.org</email>
+ <name>Agostino Sarubbo</name>
+ <description>CC/Assign to me the version bump request</description>
+ </maintainer>
+ <longdescription>
+ Vanilla prepatch/rc sources, for people who like to have the latest kernel available
+ </longdescription>
+ <upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-3.16.60.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-3.16.60.ebuild
new file mode 100644
index 0000000..4d8a280
--- /dev/null
+++ b/sys-kernel/vanilla-sources/vanilla-sources-3.16.60.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_SECURITY_UNSUPPORTED="1"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.14.78.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.14.78.ebuild
new file mode 100644
index 0000000..4d8a280
--- /dev/null
+++ b/sys-kernel/vanilla-sources/vanilla-sources-4.14.78.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_SECURITY_UNSUPPORTED="1"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.18.16.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.18.16.ebuild
new file mode 100644
index 0000000..4d8a280
--- /dev/null
+++ b/sys-kernel/vanilla-sources/vanilla-sources-4.18.16.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_SECURITY_UNSUPPORTED="1"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.19.0.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.19.0.ebuild
new file mode 100644
index 0000000..4d8a280
--- /dev/null
+++ b/sys-kernel/vanilla-sources/vanilla-sources-4.19.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_SECURITY_UNSUPPORTED="1"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.4.162.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.4.162.ebuild
new file mode 100644
index 0000000..4d8a280
--- /dev/null
+++ b/sys-kernel/vanilla-sources/vanilla-sources-4.4.162.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_SECURITY_UNSUPPORTED="1"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-4.9.135.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-4.9.135.ebuild
new file mode 100644
index 0000000..4d8a280
--- /dev/null
+++ b/sys-kernel/vanilla-sources/vanilla-sources-4.9.135.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_SECURITY_UNSUPPORTED="1"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
diff --git a/sys-kernel/xbox-sources/Manifest b/sys-kernel/xbox-sources/Manifest
new file mode 100644
index 0000000..c5ad98e
--- /dev/null
+++ b/sys-kernel/xbox-sources/Manifest
@@ -0,0 +1,3 @@
+DIST linux-2.6.16-xbox.patch.gz 114525 BLAKE2B 13cbf364b333041975d4f6cb66e4e6f1939a5a272c1b3447439b020e3ef627c07bc437855fee0ce97792cbe60786c4ed64cc21f0759b8fc7487e71f1e644aa57 SHA512 003fd833a5fe6f96f6a3ac187cfd5083486ffa3472cb73f118b33b74a0b236a15f1bee8b28f7a08fed508ea57d78717f5834de8b77847a07c3a14e8b8ca9d076
+DIST linux-2.6.16.tar.xz 33178492 BLAKE2B 2cb6edb8fbb972b6b7145c3ca20748018670a5879875cc5226289921a0040a4da7c50ccaf879fdd524f636848034b467e8d98c38fac00dae6527ea89db1fe46f SHA512 7df52017beeedb9c0abe2f3ea0054141153d10acdd20935b60f357ee795c04f4235477776dbe6b81f34e33f4451325202c5f6d41201de299e69b653cbef7c9a1
+DIST patch-2.6.16.26.xz 58504 BLAKE2B 5d5513cae8fe905c846f7ce07e9e44f9cb26af18b8672f8cf52a9220c064be476a03ca3ab1370ef3f70f623f7ce17cf5bcf02705a2e9d041aee736df8ca64e36 SHA512 5c088557e788a25aa6dfe4b60e80af0cb0a1cb09e5d17fcdfd7912dadd7810381425931ac42de35e13c51b8349cf5c134dbb2feb5726131725bae99d35caa4ce
diff --git a/sys-kernel/xbox-sources/metadata.xml b/sys-kernel/xbox-sources/metadata.xml
new file mode 100644
index 0000000..dbad95c
--- /dev/null
+++ b/sys-kernel/xbox-sources/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kernel@gentoo.org</email>
+ <name>Gentoo Kernel Project</name>
+ </maintainer>
+ <longdescription>Full sources for the Xbox Linux kernel</longdescription>
+ <upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+ <remote-id type="sourceforge">xbox-linux</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 0000000..9abd75e
--- /dev/null
+++ b/sys-kernel/xbox-sources/xbox-sources-2.6.16.26.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+ETYPE='sources'
+K_SECURITY_UNSUPPORTED="1"
+inherit kernel-2
+detect_arch
+detect_version
+
+# version of gentoo patchset
+XBOX_PATCHES=linux-2.6.16-xbox.patch.gz
+
+KEYWORDS="~x86 -*"
+UNIPATCH_LIST="
+ ${ARCH_PATCH}
+ ${DISTDIR}/${XBOX_PATCHES}"
+DESCRIPTION="Full sources for the Xbox Linux kernel"
+SRC_URI="${KERNEL_URI}
+ ${ARCH_URI}
+ mirror://sourceforge/xbox-linux/${XBOX_PATCHES}"
diff --git a/sys-kernel/zen-sources/metadata.xml b/sys-kernel/zen-sources/metadata.xml
new file mode 100644
index 0000000..fafe9a5
--- /dev/null
+++ b/sys-kernel/zen-sources/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+<upstream>
+ <remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/sys-kernel/zen-sources/zen-sources-4.14.9999.ebuild b/sys-kernel/zen-sources/zen-sources-4.14.9999.ebuild
new file mode 100644
index 0000000..07a3edb
--- /dev/null
+++ b/sys-kernel/zen-sources/zen-sources-4.14.9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+K_PREPATCHED="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE=0
+CKV="${PV/99/}"
+
+ETYPE="sources"
+
+EGIT_BRANCH="${PV/.9999/}/master"
+EGIT_REPO_URI="https://github.com/zen-kernel/zen-kernel.git"
+
+inherit kernel-2 git-r3
+detect_version
+
+K_NOSETEXTRAVERSION="don't_set_it"
+DESCRIPTION="The Zen Kernel Live Sources"
+HOMEPAGE="https://github.com/zen-kernel"
+
+IUSE=""
+
+KEYWORDS=""
+
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${KV_FULL}"
+
+K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
+${HOMEPAGE}, also go to #zen-sources on freenode"
+
+pkg_setup(){
+ ewarn "Be carefull!! You are about to install live kernel sources."
+ ewarn "Git zen-sources are extremely unsupported, even from the upstream"
+ ewarn "developers. Use them at your own risk and don't bite us if your"
+ ewarn "system explodes"
+ kernel-2_pkg_setup
+}
diff --git a/sys-kernel/zen-sources/zen-sources-4.15.9999.ebuild b/sys-kernel/zen-sources/zen-sources-4.15.9999.ebuild
new file mode 100644
index 0000000..07a3edb
--- /dev/null
+++ b/sys-kernel/zen-sources/zen-sources-4.15.9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+K_PREPATCHED="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE=0
+CKV="${PV/99/}"
+
+ETYPE="sources"
+
+EGIT_BRANCH="${PV/.9999/}/master"
+EGIT_REPO_URI="https://github.com/zen-kernel/zen-kernel.git"
+
+inherit kernel-2 git-r3
+detect_version
+
+K_NOSETEXTRAVERSION="don't_set_it"
+DESCRIPTION="The Zen Kernel Live Sources"
+HOMEPAGE="https://github.com/zen-kernel"
+
+IUSE=""
+
+KEYWORDS=""
+
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${KV_FULL}"
+
+K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
+${HOMEPAGE}, also go to #zen-sources on freenode"
+
+pkg_setup(){
+ ewarn "Be carefull!! You are about to install live kernel sources."
+ ewarn "Git zen-sources are extremely unsupported, even from the upstream"
+ ewarn "developers. Use them at your own risk and don't bite us if your"
+ ewarn "system explodes"
+ kernel-2_pkg_setup
+}
diff --git a/sys-kernel/zen-sources/zen-sources-4.16.9999.ebuild b/sys-kernel/zen-sources/zen-sources-4.16.9999.ebuild
new file mode 100644
index 0000000..07a3edb
--- /dev/null
+++ b/sys-kernel/zen-sources/zen-sources-4.16.9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+K_PREPATCHED="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE=0
+CKV="${PV/99/}"
+
+ETYPE="sources"
+
+EGIT_BRANCH="${PV/.9999/}/master"
+EGIT_REPO_URI="https://github.com/zen-kernel/zen-kernel.git"
+
+inherit kernel-2 git-r3
+detect_version
+
+K_NOSETEXTRAVERSION="don't_set_it"
+DESCRIPTION="The Zen Kernel Live Sources"
+HOMEPAGE="https://github.com/zen-kernel"
+
+IUSE=""
+
+KEYWORDS=""
+
+EGIT_CHECKOUT_DIR="${WORKDIR}/linux-${KV_FULL}"
+
+K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
+${HOMEPAGE}, also go to #zen-sources on freenode"
+
+pkg_setup(){
+ ewarn "Be carefull!! You are about to install live kernel sources."
+ ewarn "Git zen-sources are extremely unsupported, even from the upstream"
+ ewarn "developers. Use them at your own risk and don't bite us if your"
+ ewarn "system explodes"
+ kernel-2_pkg_setup
+}