diff options
author | ptr1337 | 2021-06-10 15:38:22 +0200 |
---|---|---|
committer | ptr1337 | 2021-06-10 15:38:22 +0200 |
commit | 958463bbfc11424d9dd1d31e07f41b39a8092db2 (patch) | |
tree | 6428f6f8654f22e90ab06d89c514bbdf0b67804a | |
parent | 3e107e6f17f935adcaf658893fb61085f64fc42e (diff) | |
download | aur-958463bbfc11424d9dd1d31e07f41b39a8092db2.tar.gz |
5.12.10
-rw-r--r-- | .SRCINFO | 71 | ||||
-rw-r--r-- | PKGBUILD | 732 |
2 files changed, 413 insertions, 390 deletions
@@ -1,7 +1,7 @@ pkgbase = linux-cacule - pkgdesc = Linux-CacULE Kernel by Hamad Marri and with some other patchsets - pkgver = 5.12.9 - pkgrel = 3 + pkgdesc = Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets + pkgver = 5.12.10 + pkgrel = 1 url = https://github.com/hamadmarri/cacule-cpu-scheduler arch = x86_64 license = GPL2 @@ -18,10 +18,11 @@ pkgbase = linux-cacule makedepends = tar makedepends = xz options = !strip - source = https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.12.9.tar.xz + source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.12.tar.xz + source = https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.12.10.xz source = config source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/arch-patches-v6/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/cacule-patches/cacule-5.12.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE/v5.12/cacule-5.12.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/cpu-patches-v3/0001-cpu-patches.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/futex-patches-v2/0001-futex-resync-from-gitlab.collabora.com.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/futex2-stable-patches-v5/0001-futex2-resync-from-gitlab.collabora.com.patch @@ -30,10 +31,9 @@ pkgbase = linux-cacule source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/lqx-patches-v3/0001-zen-Allow-MSR-writes-by-default.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/bfq-patches-v13/0001-bfq-patches.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/block-patches-v5/0001-block-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/ll-patches/0005-Disable-CPU_FREQ_GOV_SCHEDUTIL.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/fixes-miscellaneous/0001-fixes-miscellaneous.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/bbr2-patches-v2/0001-bbr2-5.12-introduce-BBRv2.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/btrfs-patches-v10/0001-btrfs-patches.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/btrfs-patches-v11/0001-btrfs-patches.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/pf-patches-v3/0001-pf-patches.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/lru-patches-v4/0001-lru-patches.patch @@ -41,34 +41,36 @@ pkgbase = linux-cacule source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/zstd-dev-patches-v3/0001-zstd-dev-patches.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/clearlinux-patches-v3/0001-clearlinux-patches.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/ksm-patches/0001-ksm-patches.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/v4l2loopback-patches/0001-v4l2loopback-patches.patch source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/initramfs-patches/0001-initramfs-patches.patch - sha512sums = f97b025db8a469ff982d445356dac78765a4a5625fa442e0242598c807df49753eedd99517e3ca6d1713714f12b802d58e752b3b71259eb2540b86422a72e937 - sha512sums = d2be2d406356dd629d8913be622eab80a25838565fdc008551cca86d127c71c824ef3023e6adb36268bfb0d5dc2b7f02cb745de04402a81811a80dd4083b59eb - sha512sums = 1908055c446f04ef0a0a5a19579836d2f5dc60d7989677f85f084a7186a6327b240291feed8d25e320e72efa114b243a325362e2dbfbf7f4f3fb89bbdd3819be - sha512sums = 367f5ec3ec03d41c4ae5c60ca70d2aa2a1fb200245f1fd7a3409c123c0b93e36338c944864cf473b3fa236cc97d715e86de4184362837af54ff8a6ade33e7d99 - sha512sums = cf3caf1ad42ee52f4472c71b6e88be5810fb27d8bf5e64a0db3851d5312aea84b704099bd02c90f910e1d4c96a8df788bc9cb18167d7c2324e8d6b48726d405f - sha512sums = 4b7766c590a692a008a0daca73806a1671a81b6e2ed756aae96de4c4455505b04765568ae5e04645f89bf75bd5611e3b1bf5ededff47bb0708dbca91769b5ab7 - sha512sums = a5585535a5db9b94508fe13ff6d1f796c51881ea4e7fe37bdd6ab7b62942f9775004a3ec5e4f88ef9587b87c14041210eafa6ffa6584f364eb0c4378444f830b - sha512sums = 905f97cdff3e096552159a229d069d1b1418f4142b2927134110f504bfe0883309b3f29c2aeeb94c528b63e0eec7d0d69b44c3d498211c610811969cc4d07a56 - sha512sums = 1c6cdf40009ce6c62b0a35cc7c2a74818b7169d32e18fb3c2bb8761762c15c579f64cb36f9076c4f78d3f88f077f6246ee75ba93f370cc40dae450d6d71117bb - sha512sums = d9e072c64cd413e1ba58a9924872b7a5bfed33c7b78d062a6be42f1becce450647c90066d95b8a7f1facc1cdc538d532b3d5915cd6c4f659b76ad950993af8f3 - sha512sums = 5cfd7bca1b06de9f189204cc3b4d085f158a677a0ca8b506e961cb9184b9411587bb9a3c9308933ee1c8e5c5c58c12f84953f5dca4d6a98690e4ec3acae3c79a - sha512sums = f564ed40d9835126e197702dc759f0ca4e6642da0448c3500570f96e56c511a1e97cb2d7c283aed3d8afbcf751b514130f9254fcf9cc7680c96b2f7d3b64bb81 - sha512sums = 47f265716ebd268e4296aaba1efe5098df00736b69ec7d0413cace6dbb5cb162c1c952f7527a2a41b246ed76e6e112514c5349e8dc52f4609def30257e18d7aa - sha512sums = 5081a6a3a3db160ef0a23acd0c0db403cc4b3eb2dfd280b1b7ba2ae907d362e4d6a653d546523c870af07009c62f58eec26e7b8174a3f4fcbaa32808d965ad73 - sha512sums = 28446f518e88ab934330111a01019cb164bfdd21094c69e96cc16c7931440d069ef997ae141154c97c80fcb727e8c4d940b8bf63554e3f4179652523e285c5b4 - sha512sums = 31ce7487a10be803bca6c2cd8348d48d4eeba140ac99af12242b0782b3b4014ca1f850560ec0669aea0cb43dccff101612829ccdf8e8d9a861f118a238764aaf - sha512sums = 1b3b48246fe70e8ca7390cacacf560696c1d98604a7716ac32df8f3d7fc7cc2ab733ab24e372fffa63016344f2e4ed078f7d597c3c1261f0ca3ff1c87a13dcb9 - sha512sums = da1b98426f05724211e307ad4aa9c3e1537ca0c5bbf1ff9b4e8733e12ed4801db3660849a6b708c46d6aa037151b57a6693128bd209d27059599aaec3e03adf0 - sha512sums = d428d3f54634b91e41cac279f7c7b708a174d9cac085b7497802c5a50f77bbfcfdd8799c1db3351ba18e8316685b729d292bb45de0da443762dbd1b87cbc7dad - sha512sums = ed0fbbafa32b05130ad61017f3d6e13fdcae7e1c59290fa2819b209de5c2368b3f9cf157ecf115fc20825599448fed7eef3b5fd3647e5889e2a66b82971b6f6f - sha512sums = db592b1e12651ae494f1414079a3f268175776a067c69148387e05f86b6656308c810eb20cc5c1fe7804030abcb8c37ba5ab7480660c224c591f2718569c2cc9 - sha512sums = a24d649fc7f84975b8f970e921f5bf4e4046e4741e35a77b4b173275587657f6d9d30e5492052fa8df73c3177b6f54cdc4f3143c67b26f516f8ce9fc43b4bf62 - sha512sums = c8ec07f45c466b5eccef668c229b33e135e8ee8320c7f2304953860f3eb2a87f47ce4c8f122d0f4ddeca955433085194c4fc8a2e7e9034e51f35ed12a474031e - sha512sums = 21a613ef65497ecf66daf31b43e02022c71195b48082ae7628a9d2ba8619819f69a6702c4c87e39e8718074c7ebfd674694a29a962049a16d47f1e5f748c78c3 + sha256sums = 7d0df6f2bf2384d68d0bd8e1fe3e071d64364dcdc6002e7b5c87c92d48fac366 + sha256sums = 034eb39ad49f3a26fc1b4ef799ef481ce35fe03e2b24131e9cd3d2805a99ad19 + sha256sums = b4e1462213c93a485837a474358d9b85cfc51f058cef7d1133249fcb5fc8251b + sha256sums = b2139a29b0cabfb029e51c81f386c698ef209e43cbd93a3515892785662e4c74 + sha256sums = a90ec03375bf97c06bf2ca3f1fd0224deee8408077f71447326b2796b53652a1 + sha256sums = f9f8a53145ab1d048ca728a560e878303af7cbea425c50aa0e49afd67c9a465c + sha256sums = 4ff5c33785445f103d479196bb33c4f991d6c5f56df5c643ec6d2451368f0605 + sha256sums = 800bfe1208beeec4265fdfa11b279f9fe99508e3b3ef6a921b17dd61075d9ad7 + sha256sums = 034d12a73b507133da2c69a34d61efd2f6b6618549650aa26d748142d22002e1 + sha256sums = 9eabd1468635477d9c143e9f59d86cf0dd32583bf6bd926080a6707f86d363ed + sha256sums = 5587a2d535dcd7ff09080c27f32a02dc67a0d35145b0b49ae10e8520c906a153 + sha256sums = 12b36059033201c99e54a0e863c3ded470faff1226d9b984bdb15bd3a8ec4a7c + sha256sums = 053a6611dd35293ba741838084818f4b69206e50da3fad13597d4fd2138c7ac0 + sha256sums = 7cdc6402f6ab8a8b99f7c7c4766a6cf82773ef399903abebf6208bfd2f8b2cf2 + sha256sums = 59dc35df675221c9e54326e4a2ca57074c955387e1d4cb0b6543424bc84bdb11 + sha256sums = ed59edd4c65c24167f90b28fffd27000cbd58d236934e478e400999831768ee6 + sha256sums = 42dc3c76534393d1b59ca3f321797566a7637bbb110f604eb9bf584b867a97a4 + sha256sums = 0b44848f5b8926a9e9db8064aeefbfb53c289923e25779c11ddb2a5b149fdb12 + sha256sums = b3b32e1e79481983b69fbd28fe9a888785d1bc2cb16391af668bce2001c73b81 + sha256sums = 7056565c13628e7885538aca4cdb384f1a2b65c4c02a502ddfe182ddb7ce347e + sha256sums = 84c231a4d66726e4ed84807de961e0aa37bc3cb13fda0c3d82f7c23470ca6ecd + sha256sums = 5a0c7b01ce8baf4dc480b33eddd203a1620ad4885122a3967f580cb172d0f9b7 + sha256sums = efc3e1e4c2ef22a570a0e8cfdaea4617655e1baddce02829d6a0acc5b9a7ab58 + sha256sums = 64a7a848ca409f359d16e9732f4e623126eeb89bfae85c884391b9b280facdcf + sha256sums = 0b18daa836fd70dbabf68b1db85b01e585f8cad2f1a2ef5c2ced9db4e1f75d3a pkgname = linux-cacule - pkgdesc = The Linux-CacULE Kernel by Hamad Marri and with some other patchsets kernel and modules + pkgdesc = The Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets kernel and modules depends = coreutils depends = kmod depends = initramfs @@ -77,9 +79,6 @@ pkgname = linux-cacule optdepends = modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig provides = VIRTUALBOX-GUEST-MODULES provides = WIREGUARD-MODULE - provides = linux-cacule pkgname = linux-cacule-headers - pkgdesc = Headers and scripts for building modules for the Linux-CacULE Kernel by Hamad Marri and with some other patchsets kernel - depends = linux-cacule - depends = pahole + pkgdesc = Headers and scripts for building modules for the Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets kernel @@ -1,10 +1,8 @@ -# Contributor: Piotr Gorski <lucjan.lucjanov@gmail.com> -# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> -# Contributor: Tobias Powalowski <tpowa@archlinux.org> -# Contributor: Thomas Baechler <thomas@archlinux.org> -# Maintainer: ptr1337 <admin@ptr1337.dev> +# Maintainer: Peter Jung ptr1337 <admin@ptr1337.dev> ### BUILD OPTIONS +# Set the next two variables to ANYTHING that is not null to enable them +### BUILD OPTIONS # Set these variables to ANYTHING that is not null to enable them # NUMA is optimized for multi-socket motherboards. @@ -31,285 +29,263 @@ _500_HZ_ticks= _mm_protect=y ### Enable multigenerational LRU _lru_enable=y -# Compile ONLY used modules to VASTLYreduce the number of modules built -# and the build time. +# Tweak kernel options prior to a build via nconfig +_makenconfig= + +# Only compile active modules to VASTLY reduce the number of modules built and +# the build time. # # To keep track of which modules are needed for your specific system/hardware, -# give module_db script a try: https://aur.archlinux.org/packages/modprobed-db -# This PKGBUILD read the database kept if it exists +# give module_db a try: https://aur.archlinux.org/packages/modprobed-db +# This PKGBUILD reads the database kept if it exists # # More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db _localmodcfg= +# Use the current kernel's .config file +# Enabling this option will use the .config of the RUNNING kernel rather than +# the ARCH defaults. Useful when the package gets updated and you already went +# through the trouble of customizing your config options. NOT recommended when +# a new kernel is released, but again, convenient for package bumps. +_use_current= -### Do not edit below this line unless you know what you're doing +### IMPORTANT: Do no edit below this line unless you know what you're doing -pkgbase=linux-cacule -# pkgname=('linux-cacule' linux-cacule-headers) -_major=5.12.9 -#_minor=1 -#_minorc=$((_minor+1)) -#_rcver=rc8 -pkgver=${_major} -#_stable=${_major}.${_minor} -#_stablerc=${_major}-${_rcver} +_major=5.12 +_minor=10 _srcname=linux-${_major} -pkgrel=3 -pkgdesc='Linux-CacULE Kernel by Hamad Marri and with some other patchsets' +pkgbase=linux-cacule +pkgver=${_major}.${_minor} +pkgrel=1 +pkgdesc='Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets' arch=('x86_64') url="https://github.com/hamadmarri/cacule-cpu-scheduler" license=('GPL2') -options=('!strip') makedepends=('kmod' 'bc' 'libelf' 'python-sphinx' 'python-sphinx_rtd_theme' 'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz') +options=('!strip') _patchsource="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12" -source=("https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/$_srcname.tar.xz" - "config" - "${_patchsource}/arch-patches-v6/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch" - "${_patchsource}/cacule-patches/cacule-5.12.patch" - "${_patchsource}/cpu-patches-v3/0001-cpu-patches.patch" - "${_patchsource}/futex-patches-v2/0001-futex-resync-from-gitlab.collabora.com.patch" - "${_patchsource}/futex2-stable-patches-v5/0001-futex2-resync-from-gitlab.collabora.com.patch" - "${_patchsource}/wine-esync-patches/0001-v5.12-winesync.patch" - "${_patchsource}/zen-patches-v2/0001-zen-patches.patch" - "${_patchsource}/lqx-patches-v3/0001-zen-Allow-MSR-writes-by-default.patch" - "${_patchsource}/bfq-patches-v13/0001-bfq-patches.patch" - "${_patchsource}/block-patches-v5/0001-block-patches.patch" - "${_patchsource}/ll-patches/0005-Disable-CPU_FREQ_GOV_SCHEDUTIL.patch" - "${_patchsource}/fixes-miscellaneous/0001-fixes-miscellaneous.patch" - "${_patchsource}/bbr2-patches-v2/0001-bbr2-5.12-introduce-BBRv2.patch" - "${_patchsource}/btrfs-patches-v10/0001-btrfs-patches.patch" - "${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch" - "${_patchsource}/pf-patches-v3/0001-pf-patches.patch" - "${_patchsource}/lru-patches-v4/0001-lru-patches.patch" - "${_patchsource}/ntfs3-patches-v2/0001-ntfs3-patches.patch" - "${_patchsource}/zstd-dev-patches-v3/0001-zstd-dev-patches.patch" - "${_patchsource}/clearlinux-patches-v3/0001-clearlinux-patches.patch" - "${_patchsource}/ksm-patches/0001-ksm-patches.patch" - "${_patchsource}/initramfs-patches/0001-initramfs-patches.patch" ) - -sha512sums=('f97b025db8a469ff982d445356dac78765a4a5625fa442e0242598c807df49753eedd99517e3ca6d1713714f12b802d58e752b3b71259eb2540b86422a72e937' - 'd2be2d406356dd629d8913be622eab80a25838565fdc008551cca86d127c71c824ef3023e6adb36268bfb0d5dc2b7f02cb745de04402a81811a80dd4083b59eb' - '1908055c446f04ef0a0a5a19579836d2f5dc60d7989677f85f084a7186a6327b240291feed8d25e320e72efa114b243a325362e2dbfbf7f4f3fb89bbdd3819be' - '367f5ec3ec03d41c4ae5c60ca70d2aa2a1fb200245f1fd7a3409c123c0b93e36338c944864cf473b3fa236cc97d715e86de4184362837af54ff8a6ade33e7d99' - 'cf3caf1ad42ee52f4472c71b6e88be5810fb27d8bf5e64a0db3851d5312aea84b704099bd02c90f910e1d4c96a8df788bc9cb18167d7c2324e8d6b48726d405f' - '4b7766c590a692a008a0daca73806a1671a81b6e2ed756aae96de4c4455505b04765568ae5e04645f89bf75bd5611e3b1bf5ededff47bb0708dbca91769b5ab7' - 'a5585535a5db9b94508fe13ff6d1f796c51881ea4e7fe37bdd6ab7b62942f9775004a3ec5e4f88ef9587b87c14041210eafa6ffa6584f364eb0c4378444f830b' - '905f97cdff3e096552159a229d069d1b1418f4142b2927134110f504bfe0883309b3f29c2aeeb94c528b63e0eec7d0d69b44c3d498211c610811969cc4d07a56' - '1c6cdf40009ce6c62b0a35cc7c2a74818b7169d32e18fb3c2bb8761762c15c579f64cb36f9076c4f78d3f88f077f6246ee75ba93f370cc40dae450d6d71117bb' - 'd9e072c64cd413e1ba58a9924872b7a5bfed33c7b78d062a6be42f1becce450647c90066d95b8a7f1facc1cdc538d532b3d5915cd6c4f659b76ad950993af8f3' - '5cfd7bca1b06de9f189204cc3b4d085f158a677a0ca8b506e961cb9184b9411587bb9a3c9308933ee1c8e5c5c58c12f84953f5dca4d6a98690e4ec3acae3c79a' - 'f564ed40d9835126e197702dc759f0ca4e6642da0448c3500570f96e56c511a1e97cb2d7c283aed3d8afbcf751b514130f9254fcf9cc7680c96b2f7d3b64bb81' - '47f265716ebd268e4296aaba1efe5098df00736b69ec7d0413cace6dbb5cb162c1c952f7527a2a41b246ed76e6e112514c5349e8dc52f4609def30257e18d7aa' - '5081a6a3a3db160ef0a23acd0c0db403cc4b3eb2dfd280b1b7ba2ae907d362e4d6a653d546523c870af07009c62f58eec26e7b8174a3f4fcbaa32808d965ad73' - '28446f518e88ab934330111a01019cb164bfdd21094c69e96cc16c7931440d069ef997ae141154c97c80fcb727e8c4d940b8bf63554e3f4179652523e285c5b4' - '31ce7487a10be803bca6c2cd8348d48d4eeba140ac99af12242b0782b3b4014ca1f850560ec0669aea0cb43dccff101612829ccdf8e8d9a861f118a238764aaf' - '1b3b48246fe70e8ca7390cacacf560696c1d98604a7716ac32df8f3d7fc7cc2ab733ab24e372fffa63016344f2e4ed078f7d597c3c1261f0ca3ff1c87a13dcb9' - 'da1b98426f05724211e307ad4aa9c3e1537ca0c5bbf1ff9b4e8733e12ed4801db3660849a6b708c46d6aa037151b57a6693128bd209d27059599aaec3e03adf0' - 'd428d3f54634b91e41cac279f7c7b708a174d9cac085b7497802c5a50f77bbfcfdd8799c1db3351ba18e8316685b729d292bb45de0da443762dbd1b87cbc7dad' - 'ed0fbbafa32b05130ad61017f3d6e13fdcae7e1c59290fa2819b209de5c2368b3f9cf157ecf115fc20825599448fed7eef3b5fd3647e5889e2a66b82971b6f6f' - 'db592b1e12651ae494f1414079a3f268175776a067c69148387e05f86b6656308c810eb20cc5c1fe7804030abcb8c37ba5ab7480660c224c591f2718569c2cc9' - 'a24d649fc7f84975b8f970e921f5bf4e4046e4741e35a77b4b173275587657f6d9d30e5492052fa8df73c3177b6f54cdc4f3143c67b26f516f8ce9fc43b4bf62' - 'c8ec07f45c466b5eccef668c229b33e135e8ee8320c7f2304953860f3eb2a87f47ce4c8f122d0f4ddeca955433085194c4fc8a2e7e9034e51f35ed12a474031e' - '21a613ef65497ecf66daf31b43e02022c71195b48082ae7628a9d2ba8619819f69a6702c4c87e39e8718074c7ebfd674694a29a962049a16d47f1e5f748c78c3') +_caculepatches="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE" +source=( + "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_major}.tar.xz" + "https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz" + 'config' + "${_patchsource}/arch-patches-v6/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch" + "${_caculepatches}/v5.12/cacule-5.12.patch" + "${_patchsource}/cpu-patches-v3/0001-cpu-patches.patch" + "${_patchsource}/futex-patches-v2/0001-futex-resync-from-gitlab.collabora.com.patch" + "${_patchsource}/futex2-stable-patches-v5/0001-futex2-resync-from-gitlab.collabora.com.patch" + "${_patchsource}/wine-esync-patches/0001-v5.12-winesync.patch" + "${_patchsource}/zen-patches-v2/0001-zen-patches.patch" + "${_patchsource}/lqx-patches-v3/0001-zen-Allow-MSR-writes-by-default.patch" + "${_patchsource}/bfq-patches-v13/0001-bfq-patches.patch" + "${_patchsource}/block-patches-v5/0001-block-patches.patch" + "${_patchsource}/fixes-miscellaneous/0001-fixes-miscellaneous.patch" + "${_patchsource}/bbr2-patches-v2/0001-bbr2-5.12-introduce-BBRv2.patch" + "${_patchsource}/btrfs-patches-v11/0001-btrfs-patches.patch" + "${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch" + "${_patchsource}/pf-patches-v3/0001-pf-patches.patch" + "${_patchsource}/lru-patches-v4/0001-lru-patches.patch" + "${_patchsource}/ntfs3-patches-v2/0001-ntfs3-patches.patch" + "${_patchsource}/zstd-dev-patches-v3/0001-zstd-dev-patches.patch" + "${_patchsource}/clearlinux-patches-v3/0001-clearlinux-patches.patch" + "${_patchsource}/ksm-patches/0001-ksm-patches.patch" + "${_patchsource}/v4l2loopback-patches/0001-v4l2loopback-patches.patch" + "${_patchsource}/initramfs-patches/0001-initramfs-patches.patch" +) export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { - cd $_srcname + cd ${_srcname} + + ### Add upstream patches + echo "Add upstream patches" + patch -Np1 -i ../patch-${pkgver} ### Setting version - echo "Setting version..." - scripts/setlocalversion --save-scmversion - echo "-$pkgrel" > localversion.10-pkgrel - echo "${pkgbase#linux}" > localversion.20-pkgname + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname - ### Patching sources - local src + local src for src in "${source[@]}"; do - src="${src%%::*}" - src="${src##*/}" - [[ $src = *.patch ]] || continue + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue echo "Applying patch $src..." patch -Np1 < "../$src" - done + done - ### Setting config + ### Setting config echo "Setting config..." cp "${srcdir}"/config .config make olddefconfig + ### CPU_ARCH SCRIPT ## + source "${startdir}"/configure + + cpu_arch + ### Optionally set tickrate to 2000HZ + if [ -n "$_2k_HZ_ticks" ]; then + echo "Setting tick rate to 2k..." + scripts/config --disable CONFIG_HZ_300 + scripts/config --enable CONFIG_HZ_2000 + scripts/config --set-val CONFIG_HZ 2000 + fi + ### Optionally set tickrate to 1000 + if [ -n "$_1k_HZ_ticks" ]; then + echo "Setting tick rate to 1k..." + scripts/config --disable CONFIG_HZ_300 + scripts/config --enable CONFIG_HZ_1000 + scripts/config --set-val CONFIG_HZ 1000 + fi + + ### Optionally set tickrate to 500HZ + if [ -n "$_500_HZ_ticks" ]; then + echo "Setting tick rate to 500HZ..." + scripts/config --disable CONFIG_HZ_300 + scripts/config --enable CONFIG_HZ_500 + scripts/config --set-val CONFIG_HZ 500 + fi - ### Prepared version - make -s kernelrelease > version - echo "Prepared $pkgbase version $(<version)" - - ### CPU_ARCH SCRIPT ## - source "${startdir}"/configure - - cpu_arch - - ### Optionally set tickrate to 2000HZ - if [ -n "$_2k_HZ_ticks" ]; then - echo "Setting tick rate to 2k..." - scripts/config --disable CONFIG_HZ_300 - scripts/config --enable CONFIG_HZ_2000 - scripts/config --set-val CONFIG_HZ 2000 - fi - - ### Optionally set tickrate to 1000 - if [ -n "$_1k_HZ_ticks" ]; then - echo "Setting tick rate to 1k..." - scripts/config --disable CONFIG_HZ_300 - scripts/config --enable CONFIG_HZ_1000 - scripts/config --set-val CONFIG_HZ 1000 - fi - - ### Optionally set tickrate to 500HZ - if [ -n "$_500_HZ_ticks" ]; then - echo "Setting tick rate to 500HZ..." - scripts/config --disable CONFIG_HZ_300 - scripts/config --enable CONFIG_HZ_500 - scripts/config --set-val CONFIG_HZ 500 - fi - - ### Optionally disable NUMA for 64-bit kernels only - # (x86 kernels do not support NUMA) - if [ -n "$_NUMAdisable" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config --disable CONFIG_NUMA - fi - - if [ -n "$_fsync" ]; then - echo "Enable Fsync support" - scripts/config --enable CONFIG_FUTEX - scripts/config --enable CONFIG_FUTEX_PI - fi - - if [ -n "$_futex2" ]; then - echo "Enable Futex2 support" - scripts/config --enable CONFIG_FUTEX2 - fi - - if [ -n "$_winesync" ]; then - echo "Enable winesync support" - scripts/config --module CONFIG_WINESYNC - fi - - ### Set performance governor - if [ -n "$_per_gov" ]; then - echo "Setting performance governor..." - scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL - scripts/config --enable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE - echo "Disabling uneeded governors..." - scripts/config --enable CONFIG_CPU_FREQ_GOV_ONDEMAND - scripts/config --disable CONFIG_CPU_FREQ_GOV_CONSERVATIVE - scripts/config --disable CONFIG_CPU_FREQ_GOV_USERSPACE - scripts/config --disable CONFIG_CPU_FREQ_GOV_SCHEDUTIL - fi - - ### Disable Deadline I/O scheduler - if [ -n "$_deadline_disable" ]; then - echo "Disabling Deadline I/O scheduler..." - scripts/config --disable CONFIG_MQ_IOSCHED_DEADLINE - fi - - ### Disable Kyber I/O scheduler - if [ -n "$_kyber_disable" ]; then - echo "Disabling Kyber I/O scheduler..." - scripts/config --disable CONFIG_MQ_IOSCHED_KYBER - fi - - - ### Enable protect file mappings under memory pressure - if [ -n "$_mm_protect" ]; then - echo "Enabling protect file mappings under memory pressure..." - scripts/config --enable CONFIG_UNEVICTABLE_FILE - scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_LOW 262144 - scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_MIN 131072 + ### Optionally disable NUMA for 64-bit kernels only + # (x86 kernels do not support NUMA) + if [ -n "$_NUMAdisable" ]; then + echo "Disabling NUMA from kernel config..." + scripts/config --disable CONFIG_NUMA fi - ### Enable multigenerational LRU - if [ -n "$_lru_enable" ]; then - echo "Enabling multigenerational LRU..." - scripts/config --enable CONFIG_HAVE_ARCH_PARENT_PMD_YOUNG - scripts/config --enable CONFIG_LRU_GEN - scripts/config --set-val CONFIG_NR_LRU_GENS 7 - scripts/config --set-val CONFIG_TIERS_PER_GEN 4 - scripts/config --enable CONFIG_LRU_GEN_ENABLED - scripts/config --disable CONFIG_LRU_GEN_STATS + if [ -n "$_fsync" ]; then + echo "Enable Fsync support" + scripts/config --enable CONFIG_FUTEX + scripts/config --enable CONFIG_FUTEX_PI fi - ### Enabling ZSTD COMPRESSION ## - echo "Set module compression to ZSTD" - scripts/config --enable CONFIG_MODULE_COMPRESS - scripts/config --disable CONFIG_MODULE_COMPRESS_XZ - scripts/config --enable CONFIG_MODULE_COMPRESS_ZSTD - # scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL 19 - # scripts/config --disable CONFIG_KERNEL_ZSTD_LEVEL_ULTRA - - ### Enabling Cacule-Config ## - echo "Enable CacULE CPU scheduler..." - scripts/config --enable CONFIG_CACULE_SCHED - scripts/config --enable CONFIG_FAIR_GROUP_SCHED - scripts/config --enable CONFIG_SCHED_AUTOGROUP - scripts/config --disable CONFIG_EXPERT - scripts/config --disable CONFIG_SCHED_DEBUG - scripts/config --disable CONFIG_SCHED_INFO - scripts/config --disable CONFIG_SCHEDSTATS - scripts/config --disable CONFIG_DEBUG_KERNEL - echo "Enabling Full Tickless" - scripts/config --disable CONFIG_HZ_PERIODIC - scripts/config --disable CONFIG_NO_HZ_IDLE - scripts/config --enable CONFIG_NO_HZ_FULL - scripts/config --enable CONFIG_NO_HZ - scripts/config --enable CONFIG_NO_HZ_COMMON - scripts/config --enable CONFIG_CONTEXT_TRACKING - scripts/config --disable CONFIG_CONTEXT_TRACKING_FORCE - echo "Enabling KBUILD_CFLAGS -O3..." - scripts/config --enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE - scripts/config --disable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 - echo "Enable PREEMPT" - scripts/config --disable CONFIG_PREEMPT_NONE - scripts/config --disable CONFIG_PREEMPT_VOLUNTARY - scripts/config --enable CONFIG_PREEMPT - scripts/config --enable CONFIG_PREEMPT_COUNT - scripts/config --enable CONFIG_PREEMPTION - scripts/config --enable CONFIG_PREEMPT_DYNAMIC - echo "Enable NTFS3" - scripts/config --module CONFIG_NTFS_FS - scripts/config --enable CONFIG_NTFS_RW - scripts/config --enable CONFIG_NTFS_DEBUG - scripts/config --module CONFIG_NTFS3_FS - scripts/config --enable CONFIG_NTFS3_64BIT_CLUSTER - scripts/config --enable CONFIG_NTFS3_LZX_XPRESS - scripts/config --enable CONFIG_NTFS3_FS_POSIX_ACL - echo "Enable Anbox" - scripts/config --module CONFIG_ASHMEM - scripts/config --enable CONFIG_ANDROID_BINDER_IPC_SELFTEST - scripts/config --enable CONFIG_ANDROID - scripts/config --enable CONFIG_ANDROID_BINDER_IPC - scripts/config --enable CONFIG_ANDROID_BINDERFS - scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES binder,hwbinder,vndbinder - echo "Disabling TCP_CONG_CUBIC..." - scripts/config --module CONFIG_TCP_CONG_CUBIC - scripts/config --disable CONFIG_DEFAULT_CUBIC - echo "Enabling TCP_CONG_BBR2..." - scripts/config --enable CONFIG_TCP_CONG_BBR2 - scripts/config --enable CONFIG_DEFAULT_BBR2 - scripts/config --set-str CONFIG_DEFAULT_TCP_CONG bbr2 - echo "Enable VHBA-Module" - scripts/config --module CONFIG_VHBA - scripts/config --disable CONFIG_GCC_PLUGINS - - # General Setup + if [ -n "$_futex2" ]; then + echo "Enable Futex2 support" + scripts/config --enable CONFIG_FUTEX2 + fi + + if [ -n "$_winesync" ]; then + echo "Enable winesync support" + scripts/config --module CONFIG_WINESYNC + fi + + ### Set performance governor + if [ -n "$_per_gov" ]; then + echo "Setting performance governor..." + scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL + scripts/config --enable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE + echo "Disabling uneeded governors..." + scripts/config --enable CONFIG_CPU_FREQ_GOV_ONDEMAND + scripts/config --disable CONFIG_CPU_FREQ_GOV_CONSERVATIVE + scripts/config --disable CONFIG_CPU_FREQ_GOV_USERSPACE + scripts/config --disable CONFIG_CPU_FREQ_GOV_SCHEDUTIL + fi + + ### Disable Deadline I/O scheduler + if [ -n "$_deadline_disable" ]; then + echo "Disabling Deadline I/O scheduler..." + scripts/config --disable CONFIG_MQ_IOSCHED_DEADLINE + fi + + ### Disable Kyber I/O scheduler + if [ -n "$_kyber_disable" ]; then + echo "Disabling Kyber I/O scheduler..." + scripts/config --disable CONFIG_MQ_IOSCHED_KYBER + fi + + + ### Enable protect file mappings under memory pressure + if [ -n "$_mm_protect" ]; then + echo "Enabling protect file mappings under memory pressure..." + scripts/config --enable CONFIG_UNEVICTABLE_FILE + scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_LOW 262144 + scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_MIN 131072 + fi + + ### Enable multigenerational LRU + if [ -n "$_lru_enable" ]; then + echo "Enabling multigenerational LRU..." + scripts/config --enable CONFIG_HAVE_ARCH_PARENT_PMD_YOUNG + scripts/config --enable CONFIG_LRU_GEN + scripts/config --set-val CONFIG_NR_LRU_GENS 7 + scripts/config --set-val CONFIG_TIERS_PER_GEN 4 + scripts/config --enable CONFIG_LRU_GEN_ENABLED + scripts/config --disable CONFIG_LRU_GEN_STATS + fi + + ### Enabling ZSTD COMPRESSION ## + echo "Set module compression to ZSTD" + scripts/config --enable CONFIG_MODULE_COMPRESS + scripts/config --disable CONFIG_MODULE_COMPRESS_XZ + scripts/config --enable CONFIG_MODULE_COMPRESS_ZSTD + # scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL 19 + # scripts/config --disable CONFIG_KERNEL_ZSTD_LEVEL_ULTRA + + ### Enabling Cacule-Config ## + echo "Enable CacULE CPU scheduler..." + scripts/config --enable CONFIG_CACULE_SCHED + scripts/config --enable CONFIG_FAIR_GROUP_SCHED + scripts/config --enable CONFIG_SCHED_AUTOGROUP + scripts/config --disable CONFIG_EXPERT + scripts/config --disable CONFIG_SCHED_DEBUG + scripts/config --disable CONFIG_SCHED_INFO + scripts/config --disable CONFIG_SCHEDSTATS + scripts/config --disable CONFIG_DEBUG_KERNEL + echo "Enabling Full Tickless" + scripts/config --disable CONFIG_HZ_PERIODIC + scripts/config --disable CONFIG_NO_HZ_IDLE + scripts/config --enable CONFIG_NO_HZ_FULL + scripts/config --enable CONFIG_NO_HZ + scripts/config --enable CONFIG_NO_HZ_COMMON + scripts/config --enable CONFIG_CONTEXT_TRACKING + scripts/config --disable CONFIG_CONTEXT_TRACKING_FORCE + echo "Enabling KBUILD_CFLAGS -O3..." + scripts/config --enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE + scripts/config --disable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 + echo "Enable PREEMPT" + scripts/config --disable CONFIG_PREEMPT_NONE + scripts/config --disable CONFIG_PREEMPT_VOLUNTARY + scripts/config --enable CONFIG_PREEMPT + scripts/config --enable CONFIG_PREEMPT_COUNT + scripts/config --enable CONFIG_PREEMPTION + scripts/config --enable CONFIG_PREEMPT_DYNAMIC + echo "Enable NTFS3" + scripts/config --module CONFIG_NTFS_FS + scripts/config --enable CONFIG_NTFS_RW + scripts/config --enable CONFIG_NTFS_DEBUG + scripts/config --module CONFIG_NTFS3_FS + scripts/config --enable CONFIG_NTFS3_64BIT_CLUSTER + scripts/config --enable CONFIG_NTFS3_LZX_XPRESS + scripts/config --enable CONFIG_NTFS3_FS_POSIX_ACL + echo "Enable Anbox" + scripts/config --module CONFIG_ASHMEM + scripts/config --enable CONFIG_ANDROID_BINDER_IPC_SELFTEST + scripts/config --enable CONFIG_ANDROID + scripts/config --enable CONFIG_ANDROID_BINDER_IPC + scripts/config --enable CONFIG_ANDROID_BINDERFS + scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES binder,hwbinder,vndbinder + echo "Disabling TCP_CONG_CUBIC..." + scripts/config --module CONFIG_TCP_CONG_CUBIC + scripts/config --disable CONFIG_DEFAULT_CUBIC + echo "Enabling TCP_CONG_BBR2..." + scripts/config --enable CONFIG_TCP_CONG_BBR2 + scripts/config --enable CONFIG_DEFAULT_BBR2 + scripts/config --set-str CONFIG_DEFAULT_TCP_CONG bbr2 + echo "Enable VHBA-Module" + scripts/config --module CONFIG_VHBA + scripts/config --disable CONFIG_GCC_PLUGINS + # General Setup scripts/config --disable CONFIG_BSD_PROCESS_ACCT scripts/config --disable CONFIG_TASK_XACCT - scripts/config --disable CONFIG_PSI + scripts/config --enable CONFIG_PSI scripts/config --disable CONFIG_MEMCG - scripts/config --disable CONFIG_CGROUP_CPUACCT + scripts/config --enable CONFIG_CGROUP_CPUACCT scripts/config --disable CONFIG_CGROUP_DEBUG scripts/config --disable CONFIG_CHECKPOINT_RESTORE scripts/config --disable CONFIG_SLAB_MERGE_DEFAULT @@ -351,12 +327,10 @@ prepare() { scripts/config --disable CONFIG_DETECT_HUNG_TASK scripts/config --disable CONFIG_WQ_WATCHDOG scripts/config --set-val CONFIG_PANIC_TIMEOUT 10 - scripts/config --disable CONFIG_SCHED_DEBUG scripts/config --disable CONFIG_SCHEDSTATS scripts/config --disable CONFIG_SCHED_STACK_END_CHECK scripts/config --disable CONFIG_STACKTRACE scripts/config --disable CONFIG_DEBUG_BUGVERBOSE - scripts/config --set-val CONFIG_RCU_CPU_STALL_TIMEOUT 4 scripts/config --disable CONFIG_RCU_TRACE scripts/config --disable CONFIG_FAULT_INJECTION scripts/config --disable CONFIG_LATENCYTOP @@ -367,135 +341,159 @@ prepare() { scripts/config --disable CONFIG_EARLY_PRINTK scripts/config --disable CONFIG_DOUBLEFAULT - ### Optionally load needed modules for the make localmodconfig - # See https://aur.archlinux.org/packages/modprobed-db - if [ -n "$_localmodcfg" ]; then - if [ -f $HOME/.config/modprobed.db ]; then - echo "Running Steven Rostedt's make localmodconfig now" - make LSMOD=$HOME/.config/modprobed.db localmodconfig - else - echo "No modprobed.db data found" - exit - fi - fi - - ### Save configuration for later reuse - echo "Save config for reuse" - cat .config > "${startdir}/config.last" + # General setup + scripts/config --enable IKCONFIG \ + --enable-after IKCONFIG IKCONFIG_PROC \ + --undefine RT_GROUP_SCHED + + # Power management and ACPI options + scripts/config --enable ACPI_REV_OVERRIDE_POSSIBLE \ + --enable ACPI_TABLE_UPGRADE + + + + ### Optionally use running kernel's config + # code originally by nous; http://aur.archlinux.org/packages.php?ID=40191 + if [ -n "$_use_current" ]; then + if [[ -s /proc/config.gz ]]; then + echo "Extracting config from /proc/config.gz..." + # modprobe configs + zcat /proc/config.gz > ./.config + else + warning "Your kernel was not compiled with IKCONFIG_PROC!" + warning "You cannot read the current config!" + warning "Aborting!" + exit + fi + fi + + ### Optionally load needed modules for the make localmodconfig + # See https://aur.archlinux.org/packages/modprobed-db + if [ -n "$_localmodcfg" ]; then + if [ -e $HOME/.config/modprobed.db ]; then + echo "Running Steven Rostedt's make localmodconfig now" + make LSMOD=$HOME/.config/modprobed.db localmodconfig + else + echo "No modprobed.db data found" + exit + fi + fi + + make -s kernelrelease > version + echo "Prepared $pkgbase version $(<version)" + + [[ -z "$_makenconfig" ]] || make nconfig + ### Save configuration for later reuse + cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}" } build() { - cd $_srcname - - make all + cd $_srcname + make all } _package() { pkgdesc="The $pkgdesc kernel and modules" depends=('coreutils' 'kmod' 'initramfs') - optdepends=('crda: to set the correct wireless channels of your country' + optdepends=('crda: to set the correct wireless channels of your country' 'linux-firmware: firmware images needed for some devices' 'modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig') - provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE linux-cacule) + provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) + cd $_srcname - cd $_srcname - local kernver="$(<version)" - local modulesdir="$pkgdir/usr/lib/modules/$kernver" + local kernver="$(<version)" + local modulesdir="$pkgdir/usr/lib/modules/$kernver" - echo "Installing boot image..." - # systemd expects to find the kernel here to allow hibernation - # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344 - install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz" + echo "Installing boot image..." + # systemd expects to find the kernel here to allow hibernation + # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344 + install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz" - # Used by mkinitcpio to name the kernel - echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" + # Used by mkinitcpio to name the kernel + echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" - echo "Installing modules..." - make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install + echo "Installing modules..." + make INSTALL_MOD_PATH="$pkgdir/usr" modules_install - # remove build and source links - rm "$modulesdir"/{source,build} + # remove build and source links + rm "$modulesdir"/{source,build} } _package-headers() { pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel" - depends=('linux-cacule' 'pahole') - - cd $_srcname - local builddir="$pkgdir/usr/lib/modules/$(<version)/build" - - echo "Installing build files..." - install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \ - localversion.* version vmlinux - install -Dt "$builddir/kernel" -m644 kernel/Makefile - install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile - cp -t "$builddir" -a scripts - - # add objtool for external module building and enabled VALIDATION_STACK option - install -Dt "$builddir/tools/objtool" tools/objtool/objtool - - # add xfs and shmem for aufs building - mkdir -p "$builddir"/{fs/xfs,mm} - - echo "Installing headers..." - cp -t "$builddir" -a include - cp -t "$builddir/arch/x86" -a arch/x86/include - install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s - - install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h - install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h - - # http://bugs.archlinux.org/task/13146 - install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h - - # http://bugs.archlinux.org/task/20402 - install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h - install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h - install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h - - echo "Installing KConfig files..." - find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \; - - echo "Removing unneeded architectures..." - local arch - for arch in "$builddir"/arch/*/; do - [[ $arch = */x86/ ]] && continue - echo "Removing $(basename "$arch")" - rm -r "$arch" - done - - echo "Removing documentation..." - rm -r "$builddir/Documentation" - - echo "Removing broken symlinks..." - find -L "$builddir" -type l -printf 'Removing %P\n' -delete - - echo "Removing loose objects..." - find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete - - echo "Stripping build tools..." - local file - while read -rd '' file; do - case "$(file -bi "$file")" in - application/x-sharedlib\;*) # Libraries (.so) - strip -v $STRIP_SHARED "$file" ;; - application/x-archive\;*) # Libraries (.a) - strip -v $STRIP_STATIC "$file" ;; - application/x-executable\;*) # Binaries - strip -v $STRIP_BINARIES "$file" ;; - application/x-pie-executable\;*) # Relocatable binaries - strip -v $STRIP_SHARED "$file" ;; - esac - done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0) - - echo "Stripping vmlinux..." - strip -v $STRIP_STATIC "$builddir/vmlinux" - - echo "Adding symlink..." - mkdir -p "$pkgdir/usr/src" - ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" + + cd ${_srcname} + local builddir="$pkgdir/usr/lib/modules/$(<version)/build" + + echo "Installing build files..." + install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \ + localversion.* version vmlinux + install -Dt "$builddir/kernel" -m644 kernel/Makefile + install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile + cp -t "$builddir" -a scripts + + # add objtool for external module building and enabled VALIDATION_STACK option + install -Dt "$builddir/tools/objtool" tools/objtool/objtool + + # add xfs and shmem for aufs building + mkdir -p "$builddir"/{fs/xfs,mm} + + echo "Installing headers..." + cp -t "$builddir" -a include + cp -t "$builddir/arch/x86" -a arch/x86/include + install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s + + install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h + install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h + + # http://bugs.archlinux.org/task/13146 + install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h + + # http://bugs.archlinux.org/task/20402 + install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h + install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h + install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h + + echo "Installing KConfig files..." + find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \; + + echo "Removing unneeded architectures..." + local arch + for arch in "$builddir"/arch/*/; do + [[ $arch = */x86/ ]] && continue + echo "Removing $(basename "$arch")" + rm -r "$arch" + done + + echo "Removing documentation..." + rm -r "$builddir/Documentation" + + echo "Removing broken symlinks..." + find -L "$builddir" -type l -printf 'Removing %P\n' -delete + + echo "Removing loose objects..." + find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete + + echo "Stripping build tools..." + local file + while read -rd '' file; do + case "$(file -bi "$file")" in + application/x-sharedlib\;*) # Libraries (.so) + strip -v $STRIP_SHARED "$file" ;; + application/x-archive\;*) # Libraries (.a) + strip -v $STRIP_STATIC "$file" ;; + application/x-executable\;*) # Binaries + strip -v $STRIP_BINARIES "$file" ;; + application/x-pie-executable\;*) # Relocatable binaries + strip -v $STRIP_SHARED "$file" ;; + esac + done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0) + + echo "Adding symlink..." + mkdir -p "$pkgdir/usr/src" + ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" } pkgname=("$pkgbase" "$pkgbase-headers") @@ -505,3 +503,29 @@ for _p in "${pkgname[@]}"; do _package${_p#$pkgbase} }" done + +sha256sums=('7d0df6f2bf2384d68d0bd8e1fe3e071d64364dcdc6002e7b5c87c92d48fac366' + '034eb39ad49f3a26fc1b4ef799ef481ce35fe03e2b24131e9cd3d2805a99ad19' + 'b4e1462213c93a485837a474358d9b85cfc51f058cef7d1133249fcb5fc8251b' + 'b2139a29b0cabfb029e51c81f386c698ef209e43cbd93a3515892785662e4c74' + 'a90ec03375bf97c06bf2ca3f1fd0224deee8408077f71447326b2796b53652a1' + 'f9f8a53145ab1d048ca728a560e878303af7cbea425c50aa0e49afd67c9a465c' + '4ff5c33785445f103d479196bb33c4f991d6c5f56df5c643ec6d2451368f0605' + '800bfe1208beeec4265fdfa11b279f9fe99508e3b3ef6a921b17dd61075d9ad7' + '034d12a73b507133da2c69a34d61efd2f6b6618549650aa26d748142d22002e1' + '9eabd1468635477d9c143e9f59d86cf0dd32583bf6bd926080a6707f86d363ed' + '5587a2d535dcd7ff09080c27f32a02dc67a0d35145b0b49ae10e8520c906a153' + '12b36059033201c99e54a0e863c3ded470faff1226d9b984bdb15bd3a8ec4a7c' + '053a6611dd35293ba741838084818f4b69206e50da3fad13597d4fd2138c7ac0' + '7cdc6402f6ab8a8b99f7c7c4766a6cf82773ef399903abebf6208bfd2f8b2cf2' + '59dc35df675221c9e54326e4a2ca57074c955387e1d4cb0b6543424bc84bdb11' + 'ed59edd4c65c24167f90b28fffd27000cbd58d236934e478e400999831768ee6' + '42dc3c76534393d1b59ca3f321797566a7637bbb110f604eb9bf584b867a97a4' + '0b44848f5b8926a9e9db8064aeefbfb53c289923e25779c11ddb2a5b149fdb12' + 'b3b32e1e79481983b69fbd28fe9a888785d1bc2cb16391af668bce2001c73b81' + '7056565c13628e7885538aca4cdb384f1a2b65c4c02a502ddfe182ddb7ce347e' + '84c231a4d66726e4ed84807de961e0aa37bc3cb13fda0c3d82f7c23470ca6ecd' + '5a0c7b01ce8baf4dc480b33eddd203a1620ad4885122a3967f580cb172d0f9b7' + 'efc3e1e4c2ef22a570a0e8cfdaea4617655e1baddce02829d6a0acc5b9a7ab58' + '64a7a848ca409f359d16e9732f4e623126eeb89bfae85c884391b9b280facdcf' + '0b18daa836fd70dbabf68b1db85b01e585f8cad2f1a2ef5c2ced9db4e1f75d3a') |