commit:     222a6f7373a7f3b7ca427ccaefcfd3e1f9de7b12
Author:     Dennis Lamm <expeditioneer <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 18 17:43:20 2022 +0000
Commit:     Dennis Lamm <expeditioneer <AT> gentoo <DOT> org>
CommitDate: Mon Apr 18 18:35:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=222a6f73

sys-kernel/raspberrypi-sources: version bump to 5.15.32

Signed-off-by: Dennis Lamm <expeditioneer <AT> gentoo.org>
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Closes: https://github.com/gentoo/gentoo/pull/25093
Signed-off-by: Dennis Lamm <expeditioneer <AT> gentoo.org>

 sys-kernel/raspberrypi-sources/Manifest            |   3 +
 ...aspberrypi-sources-5.15.32-gentoo-kconfig.patch | 474 +++++++++++++++++++++
 .../raspberrypi-sources-5.15.32_p20220331.ebuild   |  85 ++++
 3 files changed, 562 insertions(+)

diff --git a/sys-kernel/raspberrypi-sources/Manifest 
b/sys-kernel/raspberrypi-sources/Manifest
index eb3102756743..a5d6b7d798ce 100644
--- a/sys-kernel/raspberrypi-sources/Manifest
+++ b/sys-kernel/raspberrypi-sources/Manifest
@@ -1,3 +1,6 @@
+DIST genpatches-5.15-1.base.tar.xz 515540 BLAKE2B 
245520300cb9ea1a0803dd4497b3f98bad3ddd29851f8f1273e3b51a3479c03a4915f601f1df216593a36b6f7593ba852dbbb7f106a40260c14b4590201b8fb9
 SHA512 
baa107fdd1c893ba977391cc429542b90de96d0cf4e6a671e392ef8e0f795d5ce1e4d2e74c214a907c9bf35fbdcfcec220785a4e66322b6191f097eabadeb567
+DIST genpatches-5.15-1.extras.tar.xz 1772 BLAKE2B 
e4c9b0ccfcdade38239cbf0e8db14e46b394b3da9a08c2538f81c602e9c8f52ffaeac0b441831ac771e6a19314a8a7d61b5411e1762c7705c555bea5a478dd68
 SHA512 
59290f7ea30bebb5137829a1d69b22b2170ff06a794e06b334f03312174e31ed9be9c8372396b482a936283a79e557f813755b5fed77a5485b2144d1d4b0e52a
 DIST linux-5.10.11_p20210201-raspberrypi.tar.gz 186311431 BLAKE2B 
1ba95e54232fafc421eee4a1966c9ead0420d51bc32a87050aeb15d8f75217fbaa727f5f41855d3771feb720e6395eef13453ff83b1bd8c486deafec11926e38
 SHA512 
776b71e7be700c1ec14a0fddbb6374c84d5645323a72871a4e76d095c73c26891e6fac548aebbadd34f0b8d5d4c340935e281cdec314b29bf7d3bf41351958b9
 DIST linux-5.10.63_p20211029-raspberrypi.tar.gz 186550447 BLAKE2B 
44e04467a63c5761c252280c5fbff48c3fa058891ff03623ed7fb872f0a22883ed2e3b8703847e30c1a6f5cf523db1248f027c89ce1558280f1012fa300308a7
 SHA512 
b050f74b5a62d355cd630d41f2f63df285662347048ed97db1bac2a74f1cefeddb31b7b352aa509e90d7f03832ad2ca8e1e476d8eac62b334132a3ab308559fc
 DIST linux-5.15.30_p20220328-raspberrypi.tar.gz 199315946 BLAKE2B 
d41be462f84e38b2d0cec97d18f6d2be32572fdbff34ee85f233c869728a357a6f86bb743a7530ee307d77ee09c89ec5b6d68ff0ea45d11a475432e7b1be43e2
 SHA512 
0a2d241dcd5a57a0f465cb8ceb898f7ed3ed93427be10052778d0980bf1949cdeb49faf6bcd650bf442c73df544ff52e6867b7ca3c30e4ad7fde36b596b03658
+DIST linux-5.15.32_p20220331-raspberrypi.tar.gz 199328000 BLAKE2B 
06bfd61bfa94666101e0092246bfc3449ad6278f2a85104511320b27c76e5677011c7ee723f4af7f445d21dccd02ff40e73d7bfcf2fdd2f287465e2f0ff586f5
 SHA512 
bf20a5ea32975de8b88842f639f3e4bd2e92c51846fc00ddfca9cc4040590983d9820cfa19836bf54061780f9e8c0a1293e8aa74a7da20e2e7edd84b3932f8d7

diff --git 
a/sys-kernel/raspberrypi-sources/files/raspberrypi-sources-5.15.32-gentoo-kconfig.patch
 
b/sys-kernel/raspberrypi-sources/files/raspberrypi-sources-5.15.32-gentoo-kconfig.patch
new file mode 100644
index 000000000000..8c8535a86a03
--- /dev/null
+++ 
b/sys-kernel/raspberrypi-sources/files/raspberrypi-sources-5.15.32-gentoo-kconfig.patch
@@ -0,0 +1,474 @@
+diff --git a/Kconfig b/Kconfig
+index 745bc773f567..16628b0c76d9 100644
+--- a/Kconfig
++++ b/Kconfig
+@@ -5,6 +5,8 @@
+ #
+ mainmenu "Linux/$(ARCH) $(KERNELVERSION) Kernel Configuration"
+ 
++source "distro/Kconfig"
++
+ source "scripts/Kconfig.include"
+ 
+ source "init/Kconfig"
+diff --git a/distro/Kconfig b/distro/Kconfig
+new file mode 100644
+index 000000000000..531a636c959d
+--- /dev/null
++++ b/distro/Kconfig
+@@ -0,0 +1,378 @@
++menu "Gentoo Linux"
++
++config GENTOO_LINUX
++      bool "Gentoo Linux support"
++
++      default y
++
++      select CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
++
++      help
++              In order to boot Gentoo Linux a minimal set of config settings 
needs to
++              be enabled in the kernel; to avoid the users from having to 
enable them
++              manually as part of a Gentoo Linux installation or a new clean 
config,
++              we enable these config settings by default for convenience.
++
++              See the settings that become available for more details and 
fine-tuning.
++
++config GENTOO_LINUX_UDEV
++      bool "Linux dynamic and persistent device naming (userspace devfs) 
support"
++
++      depends on GENTOO_LINUX
++      default y if GENTOO_LINUX
++
++      select DEVTMPFS
++      select TMPFS
++      select UNIX
++
++      select MMU
++      select SHMEM
++
++      help
++              In order to boot Gentoo Linux a minimal set of config settings 
needs to
++              be enabled in the kernel; to avoid the users from having to 
enable them
++              manually as part of a Gentoo Linux installation or a new clean 
config,
++              we enable these config settings by default for convenience.
++
++              Currently this only selects TMPFS, DEVTMPFS and their 
dependencies.
++              TMPFS is enabled to maintain a tmpfs file system at /dev/shm, 
/run and
++              /sys/fs/cgroup; DEVTMPFS to maintain a devtmpfs file system at 
/dev.
++
++              Some of these are critical files that need to be available 
early in the
++              boot process; if not available, it causes sysfs and udev to 
malfunction.
++
++              To ensure Gentoo Linux boots, it is best to leave this setting 
enabled;
++              if you run a custom setup, you could consider whether to 
disable this.
++
++config GENTOO_LINUX_PORTAGE
++      bool "Select options required by Portage features"
++
++      depends on GENTOO_LINUX
++      default y if GENTOO_LINUX
++
++      select CGROUPS
++      select NAMESPACES
++      select IPC_NS
++      select NET_NS
++      select PID_NS
++      select SYSVIPC
++      select USER_NS
++      select UTS_NS
++
++      help
++              This enables options required by various Portage FEATURES.
++              Currently this selects:
++
++              CGROUPS     (required for FEATURES=cgroup)
++              IPC_NS      (required for FEATURES=ipc-sandbox)
++              NET_NS      (required for FEATURES=network-sandbox)
++              PID_NS          (required for FEATURES=pid-sandbox)
++              SYSVIPC     (required by IPC_NS)
++
++
++              It is highly recommended that you leave this enabled as these 
FEATURES
++              are, or will soon be, enabled by default.
++
++menu "Support for init systems, system and service managers"
++      visible if GENTOO_LINUX
++
++config GENTOO_LINUX_INIT_SCRIPT
++      bool "OpenRC, runit and other script based systems and managers"
++
++      default n
++
++      depends on GENTOO_LINUX
++
++      select BINFMT_SCRIPT
++      select CGROUPS
++      select EPOLL
++      select FILE_LOCKING
++      select INOTIFY_USER
++      select SIGNALFD
++      select TIMERFD
++
++      help
++              The init system is the first thing that loads after the kernel 
booted.
++
++              These config settings allow you to select which init systems to 
support;
++              instead of having to select all the individual settings all 
over the
++              place, these settings allows you to select all the settings at 
once.
++
++              This particular setting enables all the known requirements for 
OpenRC,
++              runit and similar script based systems and managers.
++
++              If you are unsure about this, it is best to leave this setting 
enabled.
++
++menuconfig GENTOO_LINUX_INIT_SYSTEMD
++      bool "systemd"
++      default y
++      depends on GENTOO_LINUX && GENTOO_LINUX_UDEV
++
++      select CGROUPS
++      select DEVTMPFS
++      select DMIID if X86_32 || X86_64 || X86
++      select EPOLL
++      select FHANDLE
++      select INOTIFY_USER
++      select PROC_FS
++      select SIGNALFD
++      select SYSFS
++      select TIMERFD
++      select UNIX
++
++      help
++              The init system is the first thing that loads after the kernel 
booted.
++
++              These config settings allow you to select which init systems to 
support;
++              instead of having to select all the individual settings all 
over the
++              place, these settings allows you to select all the settings at 
once.
++
++              This particular setting enables all the known requirements for 
systemd;
++              it also enables suggested optional settings, as the package 
suggests to.
++
++if GENTOO_LINUX_INIT_SYSTEMD
++
++comment "systemd config options"
++
++config GENTOO_LINUX_INIT_SYSTEMD_CRYPTO
++      bool "Systemd crypto/hash api"
++      default y
++      select CRYPTO_HMAC
++      select CRYPTO_SHA256
++      select CRYPTO_USER_API_HASH
++
++config GENTOO_LINUX_INIT_SYSTEMD_SCSI
++      bool "Support for some SCSI devices serial number retrieval"
++      default n
++      select BLK_DEV_BSG
++
++config GENTOO_LINUX_INIT_SYSTEMD_PRIVATE_NETWORKS
++      bool "Support PrivateNetwork directive in service units"
++      default y
++      select NET_NS
++
++      help
++              systemd-localed.service and other systemd units use
++              PrivateNetwork so this is effectively required
++
++config GENTOO_LINUX_INIT_SYSTEMD_PRIVATE_USERS
++      bool "Support PrivateUsers directive in service units"
++      default y
++      select USER_NS
++
++config GENTOO_LINUX_INIT_SYSTEMD_CPUSHARES
++      bool "Support CPUShares in resource control unit settings"
++      default y
++      select CGROUP_SCHED
++      select FAIR_GROUP_SCHED
++
++config GENTOO_LINUX_INIT_SYSTEMD_CPUQUOTA
++      bool "Support CPUQuota in resource control unit settings"
++      default y
++      select CFS_BANDWIDTH
++
++config GENTOO_LINUX_INIT_SYSTEMD_NETWORK_FILTERING
++      bool "Support network traffic filtering for IP packets and custom 
network traffic filters in resource control unit settings"
++      default y
++      select BPF
++      select BPF_SYSCALL
++      select BPF_JIT
++      select CGROUP_BPF
++      select HAVE_EBPF_JIT
++
++      help
++              Required for IPAddressDeny=, IPAddressAllow=, 
IPIngressFilterPath=,
++              IPEgressFilterPath= in resource control unit settings
++
++config GENTOO_LINUX_INIT_SYSTEMD_NETWORK
++      bool "Restrict Sockets and Network Interface access in resource control 
unit settings"
++      default y
++      select BPF
++      select BPF_SYSCALL
++      select BPF_JIT
++      select CGROUP_BPF
++      select EFIVAR_FS if ( X86_32 || X86_64 || X86 ) && CONFIG_EFI
++      select EFI_PARTITION if ( X86_32 || X86_64 || X86 ) && CONFIG_EFI
++      select HAVE_EBPF_JIT
++
++      help
++              Allow or deny binding a socket address to a socket by matching
++              it with the bind-rule and applying a corresponding action if
++              there is a match. Also restricts the network interfaces that
++              processes of this unit can use.
++
++config GENTOO_LINUX_INIT_SYSTEMD_FILESYSTEMS
++      bool "Support RestrictFileSystems directive in service units"
++      default n
++      depends on !GENTOO_KERNEL_SELF_PROTECTION
++      select BPF
++      select BPF_SYSCALL
++      select BPF_LSM
++      select DEBUG_INFO_BTF
++
++      help
++              Also required to select LSM="...,bpf" or kernel booted with
++              lsm="...,bpf".
++
++config GENTOO_LINUX_INIT_SYSTEMD_OOMD
++      bool "Support systemd-oomd"
++      default y
++      select PSI
++
++config GENTOO_LINUX_INIT_SYSTEMD_VERITY
++      bool "Support signed Verity images"
++      default n
++      select DM_VERITY_VERIFY_ROOTHASH_SIG
++
++config GENTOO_LINUX_INIT_SYSTEMD_OPTIONAL
++      bool "Optional but strongly recommended modules"
++      default y
++      select AUTOFS_FS
++      select IPV6
++      select KCMP
++      select SECCOMP
++      select SECCOMP_FILTER if HAVE_ARCH_SECCOMP_FILTER
++      select TMPFS_XATTR
++
++      select 9P_FS_POSIX_ACL if 9P_FS
++      select BTRFS_FS_POSIX_ACL if BTRFS_FS
++      select CEPH_FS_POSIX_ACL if CEPH_FS
++      select EROFS_FS_POSIX_ACL if EROFS_FS
++      select EXT2_FS_POSIX_ACL if EXT2_FS3
++      select EXT3_FS_POSIX_ACL if EXT3_FS
++      select EXT4_FS_POSIX_ACL if EXT4_FS
++      select F2FS_FS_POSIX_ACL if F2FS_FS
++      select NTFS3_FS_POSIX_ACL if NTFS3_FS
++      select REISERFS_FS_POSIX_ACL if REISERFS_FS
++      select TMPFS_POSIX_ACL if TMPFS
++      select XFS_POSIX_ACL if XFS_FS
++endif
++endmenu
++
++menuconfig GENTOO_KERNEL_SELF_PROTECTION
++      bool "Kernel Self Protection Project"
++      depends on GENTOO_LINUX
++      help
++              Recommended Kernel settings based on the suggestions from the 
Kernel Self Protection Project
++              See: 
https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings
++              Note, there may be additional settings for which the CONFIG_ 
setting is invisible in menuconfig due
++              to unmet dependencies. Search for 
GENTOO_KERNEL_SELF_PROTECTION_COMMON and search for
++              GENTOO_KERNEL_SELF_PROTECTION_{X86_64, ARM64, X86_32, ARM} for 
dependency information on your
++              specific architecture.
++              Note 2: Please see the URL above for numeric settings, e.g. 
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
++              for X86_64
++
++if GENTOO_KERNEL_SELF_PROTECTION
++config GENTOO_KERNEL_SELF_PROTECTION_COMMON
++      bool "Enable Kernel Self Protection Project Recommendations"
++
++      depends on GENTOO_LINUX && !ACPI_CUSTOM_METHOD && !COMPAT_BRK && 
!DEVKMEM && !PROC_KCORE && !COMPAT_VDSO && !KEXEC && !HIBERNATION && 
!LEGACY_PTYS && !X86_X32 && !MODIFY_LDT_SYSCALL && GCC_PLUGINS && 
!GENTOO_LINUX_INIT_SYSTEMD_FILESYSTEMS
++
++      select BUG
++      select STRICT_KERNEL_RWX
++      select DEBUG_WX
++      select STACKPROTECTOR
++      select STACKPROTECTOR_STRONG
++      select STRICT_DEVMEM if DEVMEM=y
++      select IO_STRICT_DEVMEM if DEVMEM=y
++      select SYN_COOKIES
++      select DEBUG_CREDENTIALS
++      select DEBUG_NOTIFIERS
++      select DEBUG_LIST
++      select DEBUG_SG
++      select BUG_ON_DATA_CORRUPTION
++      select SCHED_STACK_END_CHECK
++      select SECCOMP if HAVE_ARCH_SECCOMP
++      select SECCOMP_FILTER if HAVE_ARCH_SECCOMP_FILTER
++      select SECURITY_YAMA
++      select SLAB_FREELIST_RANDOM
++      select SLAB_FREELIST_HARDENED
++      select SHUFFLE_PAGE_ALLOCATOR
++      select SLUB_DEBUG
++      select PAGE_POISONING
++      select PAGE_POISONING_NO_SANITY
++      select PAGE_POISONING_ZERO
++      select INIT_ON_ALLOC_DEFAULT_ON
++      select INIT_ON_FREE_DEFAULT_ON
++      select REFCOUNT_FULL
++      select FORTIFY_SOURCE
++      select SECURITY_DMESG_RESTRICT
++      select PANIC_ON_OOPS
++      select GCC_PLUGIN_LATENT_ENTROPY
++      select GCC_PLUGIN_STRUCTLEAK
++      select GCC_PLUGIN_STRUCTLEAK_BYREF_ALL
++      select GCC_PLUGIN_RANDSTRUCT
++      select GCC_PLUGIN_RANDSTRUCT_PERFORMANCE
++
++      help
++              Search for GENTOO_KERNEL_SELF_PROTECTION_{X86_64, ARM64, 
X86_32, ARM} for dependency
++              information on your specific architecture.  Note 2: Please see 
the URL above for
++              numeric settings, e.g. CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 for 
X86_64
++
++config GENTOO_KERNEL_SELF_PROTECTION_X86_64
++      bool "X86_64 KSPP Settings" if GENTOO_KERNEL_SELF_PROTECTION_COMMON
++
++      depends on !X86_MSR && X86_64 && GENTOO_KERNEL_SELF_PROTECTION
++      default n
++
++      select RANDOMIZE_BASE
++      select RANDOMIZE_MEMORY
++      select RELOCATABLE
++      select LEGACY_VSYSCALL_NONE
++      select PAGE_TABLE_ISOLATION
++      select GCC_PLUGIN_STACKLEAK
++      select VMAP_STACK
++
++
++config GENTOO_KERNEL_SELF_PROTECTION_ARM64
++      bool "ARM64 KSPP Settings"
++
++      depends on ARM64
++      default n
++
++      select RANDOMIZE_BASE
++      select RELOCATABLE
++      select ARM64_SW_TTBR0_PAN
++      select CONFIG_UNMAP_KERNEL_AT_EL0
++      select GCC_PLUGIN_STACKLEAK
++      select VMAP_STACK
++
++config GENTOO_KERNEL_SELF_PROTECTION_X86_32
++      bool "X86_32 KSPP Settings"
++
++      depends on !X86_MSR && !MODIFY_LDT_SYSCALL && !M486 && X86_32
++      default n
++
++      select HIGHMEM64G
++      select X86_PAE
++      select RANDOMIZE_BASE
++      select RELOCATABLE
++      select PAGE_TABLE_ISOLATION
++
++config GENTOO_KERNEL_SELF_PROTECTION_ARM
++      bool "ARM KSPP Settings"
++
++      depends on !OABI_COMPAT && ARM
++      default n
++
++      select VMSPLIT_3G
++      select STRICT_MEMORY_RWX
++      select CPU_SW_DOMAIN_PAN
++
++endif
++
++config GENTOO_PRINT_FIRMWARE_INFO
++      bool "Print firmware information that the kernel attempts to load"
++
++      depends on GENTOO_LINUX
++      default y
++
++      help
++              Enable this option to print information about firmware that the 
kernel
++              is attempting to load.  This information can be accessible via 
the
++              dmesg command-line utility
++
++              See the settings that become available for more details and 
fine-tuning.
++
++endmenu
++
+diff --git a/drivers/base/firmware_loader/Kconfig 
b/drivers/base/firmware_loader/Kconfig
+index 5b24f3959255..3e470a3dab39 100644
+--- a/drivers/base/firmware_loader/Kconfig
++++ b/drivers/base/firmware_loader/Kconfig
+@@ -70,6 +70,7 @@ config EXTRA_FIRMWARE_DIR
+ 
+ config FW_LOADER_USER_HELPER
+       bool "Enable the firmware sysfs fallback mechanism"
++      depends on !GENTOO_LINUX_INIT_SYSTEMD
+       select FW_LOADER_PAGED_BUF
+       help
+         This option enables a sysfs loading facility to enable firmware
+diff --git a/init/Kconfig b/init/Kconfig
+index 11f8a845f259..c826ddeb9ab3 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -1008,6 +1008,7 @@ config CFS_BANDWIDTH
+ config RT_GROUP_SCHED
+       bool "Group scheduling for SCHED_RR/FIFO"
+       depends on CGROUP_SCHED
++      depends on !GENTOO_LINUX_INIT_SYSTEMD
+       default n
+       help
+         This feature lets you explicitly allocate real CPU bandwidth
+@@ -1272,6 +1273,7 @@ config SCHED_AUTOGROUP
+ config SYSFS_DEPRECATED
+       bool "Enable deprecated sysfs features to support old userspace tools"
+       depends on SYSFS
++      depends on !GENTOO_LINUX_INIT_SYSTEMD
+       default n
+       help
+         This option adds code that switches the layout of the "block" class
+diff --git a/mm/Kconfig b/mm/Kconfig
+index c048dea7e342..81a1dfd69adc 100644
+--- a/mm/Kconfig
++++ b/mm/Kconfig
+@@ -305,6 +305,8 @@ config KSM
+ config DEFAULT_MMAP_MIN_ADDR
+       int "Low address space to protect from user allocation"
+       depends on MMU
++      default 65536 if ( X86_64 || X86_32 || PPC64 || IA64 ) && 
GENTOO_KERNEL_SELF_PROTECTION
++      default 32768 if ( ARM64 || ARM ) && GENTOO_KERNEL_SELF_PROTECTION
+       default 4096
+       help
+         This is the portion of low virtual memory which should be protected
+diff --git a/security/Kconfig b/security/Kconfig
+index fe6c0395fa02..6b1b81cd120e 100644
+--- a/security/Kconfig
++++ b/security/Kconfig
+@@ -166,6 +166,7 @@ config HARDENED_USERCOPY
+ config HARDENED_USERCOPY_FALLBACK
+       bool "Allow usercopy whitelist violations to fallback to object size"
+       depends on HARDENED_USERCOPY
++      depends on !GENTOO_KERNEL_SELF_PROTECTION
+       default y
+       help
+         This is a temporary option that allows missing usercopy whitelists
+@@ -181,6 +182,7 @@ config HARDENED_USERCOPY_PAGESPAN
+       bool "Refuse to copy allocations that span multiple pages"
+       depends on HARDENED_USERCOPY
+       depends on EXPERT
++      depends on !GENTOO_KERNEL_SELF_PROTECTION
+       help
+         When a multi-page allocation is done without __GFP_COMP,
+         hardened usercopy will reject attempts to copy it. There are,
+diff --git a/security/selinux/Kconfig b/security/selinux/Kconfig
+index 9e921fc72538..9e1f7ce887b6 100644
+--- a/security/selinux/Kconfig
++++ b/security/selinux/Kconfig
+@@ -12,6 +12,7 @@ config SECURITY_SELINUX
+ config SECURITY_SELINUX_BOOTPARAM
+       bool "NSA SELinux boot parameter"
+       depends on SECURITY_SELINUX
++      depends on !GENTOO_KERNEL_SELF_PROTECTION
+       default n
+       help
+         This option adds a kernel parameter 'selinux', which allows SELinux

diff --git 
a/sys-kernel/raspberrypi-sources/raspberrypi-sources-5.15.32_p20220331.ebuild 
b/sys-kernel/raspberrypi-sources/raspberrypi-sources-5.15.32_p20220331.ebuild
new file mode 100644
index 000000000000..1a8fb5d7e9f2
--- /dev/null
+++ 
b/sys-kernel/raspberrypi-sources/raspberrypi-sources-5.15.32_p20220331.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ETYPE=sources
+K_EXP_GENPATCHES_NOUSE=1
+K_GENPATCHES_VER=2
+K_DEFCONFIG="bcmrpi_defconfig"
+K_GENPATCHES_VER=1
+K_SECURITY_UNSUPPORTED=1
+K_WANT_GENPATCHES="base extras"
+
+inherit kernel-2 linux-info
+detect_version
+detect_arch
+
+MY_P=$(ver_cut 4-)
+MY_P="1.${MY_P/p/}"
+
+DESCRIPTION="Raspberry Pi kernel sources"
+HOMEPAGE="https://github.com/raspberrypi/linux";
+SRC_URI="
+       https://github.com/raspberrypi/linux/archive/${MY_P}.tar.gz -> 
linux-${KV_FULL}.tar.gz
+       ${GENPATCHES_URI}
+"
+
+KEYWORDS="~arm ~arm64"
+
+PATCHES=("${FILESDIR}"/${PN}-$(ver_cut 1-3)-gentoo-kconfig.patch)
+
+UNIPATCH_EXCLUDE="
+       10*
+       4567_distro-Gentoo-Kconfig.patch"
+
+pkg_setup() {
+       ewarn ""
+       ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any 
way."
+       ewarn "If you need support, please contact the raspberrypi 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_unpack() {
+       local OKV_ARRAY
+       IFS="." read -r -a OKV_ARRAY <<<"${OKV}"
+
+       cd "${WORKDIR}" || die
+       unpack linux-${PV}-raspberrypi.tar.gz
+
+       # We want to rename the unpacked directory to a nice normalised string
+       # bug #762766
+       mv linux-${MY_P} linux-${KV_FULL} || die "Unable to move source tree to 
${KV_FULL}."
+
+       # remove all backup files
+       find . -iname "*~" -exec rm {} \; 2>/dev/null
+}
+
+src_prepare() {
+       # kernel-2_src_prepare doesn't apply PATCHES().
+       default
+
+       cd "${WORKDIR}/linux-${KV_FULL}" || die
+
+       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}"
+
+       unpack_fix_install_path
+
+       # Setup xmakeopts and cd into sourcetree.
+       env_setup_xmakeopts
+       cd "${S}" || die
+}
+
+pkg_postinst() {
+       kernel-2_pkg_postinst
+}
+
+pkg_postrm() {
+       kernel-2_pkg_postrm
+}

Reply via email to