# Contributor: A. Wilcox # Maintainer: Adelie Platform Group # KEEP THIS IN SYNC with the other easy-kernel packages. _kflavour="" _patchver=1 # must match 1000-version.patch _pkgname=easy-kernel$_kflavour pkgver=6.6.6 pkgrel=0 pkgname=$_pkgname-$pkgver-mc$_patchver pkgdesc="The Linux kernel, packaged for your convenience" url="https://kernel.org/" arch="all" options="!check !dbg !strip !tracedeps" license="GPL-2.0-only" depends="kernel-boot" makedepends="bc bison flex gzip kmod lzop openssl-dev xz" provides="easy-kernel$_kflavour=$pkgver-r$pkgrel" replaces="easy-kernel-power8 easy-kernel-power8-64k" subpackages="$_pkgname-modules-$pkgver-mc$_patchver:modules $_pkgname-src-$pkgver-mc$_patchver:src linux-headers:headers" _pkgmajver=${pkgver%%.*} _pkgminver=${pkgver%.*} source="https://cdn.kernel.org/pub/linux/kernel/v${_pkgmajver}.x/linux-${_pkgminver}.tar.xz config-aarch64 config-armv7 config-m68k config-pmmx config-ppc config-ppc64 config-sparc64 config-x86_64 kernel.h 0100-linux-6.6.6.patch 0120-XATTR_USER_PREFIX.patch 0122-link-security-restrictions.patch 0124-bluetooth-keysize-check.patch 0126-sign-file-libressl.patch 0200-x86-compile.patch 0202-parisc-disable-prctl.patch 0204-amd-deserialised-MSR-access.patch 0210-fix-powerbook6-5-audio.patch 0250-expose-per-process-ksm.patch 0260-reduce-swappiness.patch 0262-boot-order.patch 0300-tmp513-regression-fix.patch 0302-iwlwifi-rfkill-fix.patch 0400-reduce-pageblock-size-nonhugetlb.patch 0402-mm-optimise-slub.patch 0404-page-cache-not-found.patch 0500-print-fw-info.patch 0502-gcc9-kcflags.patch 0504-update-zstd-to-v1_5_5.patch 1000-version.patch no-require-gnu-tar.patch no-require-lilo.patch no-autoload-fb.conf mkimage-missing-not-fatal.patch " builddir="$srcdir/linux-${_pkgminver}" prepare() { default_prepare cd "$srcdir" cp config-$CARCH linux-${_pkgminver}/.config cp -pr linux-${_pkgminver} linux-src if [ -f $HOME/kernel_key.pem ]; then cp $HOME/kernel_key.pem "$builddir"/certs/signing_key.pem fi } build() { make LDFLAGS="" cd "$srcdir/linux-src" make LDFLAGS="" modules_prepare clean cp "$builddir/Module.symvers" . # Kernel bug: crtsavres.o is required to build modules, but modules_prepare doesn't create it. if [ $CARCH = ppc ]; then cp "$builddir/arch/powerpc/lib/crtsavres.o" arch/powerpc/lib/ fi } package() { mkdir -p "$pkgdir"/boot make INSTALL_PATH="$pkgdir"/boot \ INSTALL_MOD_PATH="$pkgdir" \ install modules_install if [ -f "$pkgdir"/boot/vmlinuz ]; then mv "$pkgdir"/boot/vmlinuz \ "$pkgdir"/boot/vmlinuz-$pkgver-mc$_patchver-easy$_kflavour fi if [ -f "$pkgdir"/boot/vmlinux ]; then mv "$pkgdir"/boot/vmlinux \ "$pkgdir"/boot/vmlinux-$pkgver-mc$_patchver-easy$_kflavour fi if [ -f "$pkgdir"/boot/System.map ]; then mv "$pkgdir"/boot/System.map \ "$pkgdir"/boot/System.map-$pkgver-mc$_patchver-easy$_kflavour fi case $CARCH in aarch64|arm*) make INSTALL_PATH="$pkgdir"/boot dtbs_install ;; esac install -D "$builddir"/include/config/kernel.release \ "$pkgdir"/usr/share/kernel/easy-$pkgver-mc$_patchver$_kflavour/kernel.release } modules() { pkgdesc="Modules / device drivers for easy-kernel" provides="easy-kernel$_kflavour-modules=$pkgver-r$pkgrel" autodeps=0 # modules should not depend on src just for symlink mkdir -p "$subpkgdir"/lib mv "$pkgdir"/lib/modules "$subpkgdir"/lib rm "$subpkgdir"/lib/modules/$pkgver-mc$_patchver-easy$_kflavour/build rm "$subpkgdir"/lib/modules/$pkgver-mc$_patchver-easy$_kflavour/source ln -s "../../../usr/src/linux-$pkgver-mc$_patchver$_kflavour" \ "$subpkgdir"/lib/modules/$pkgver-mc$_patchver-easy$_kflavour/build ln -s "../../../usr/src/linux-$pkgver-mc$_patchver$_kflavour" \ "$subpkgdir"/lib/modules/$pkgver-mc$_patchver-easy$_kflavour/source mkdir -p "$subpkgdir"/etc/modprobe.d install -m644 "$srcdir"/no-autoload-fb.conf \ "$subpkgdir"/etc/modprobe.d/no-autoload-fb.conf } headers() { pkgdesc="System headers provided by the Linux kernel" mkdir -p "$subpkgdir"/usr make -C "$builddir" headers find "$builddir"/usr/include -name '.*' -delete rm "$builddir"/usr/include/Makefile cp -rv "$builddir"/usr/include "$subpkgdir/usr" find "$subpkgdir/usr" \( -name .install -o -name ..install.cmd \) -exec \ rm -f {} \; # provided by libdrm rm -rf "$subpkgdir"/usr/include/drm # needed for spl, VMware on x86, etc install -D -m644 "$builddir"/include/generated/utsrelease.h \ "$subpkgdir"/usr/include/linux/utsrelease.h install -m644 "$srcdir"/kernel.h "$subpkgdir"/usr/include/linux/kernel.h } src() { pkgdesc="Kernel source code used to build the kernel" provides="easy-kernel$_kflavour-src=$pkgver-r$pkgrel" mkdir -p "$subpkgdir"/usr/src mv "$srcdir"/linux-src "$subpkgdir"/usr/src/linux-$pkgver-mc$_patchver$_kflavour } sha512sums="458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 linux-6.6.tar.xz ee0aa6868315bb41fd16418c4a9d1786eb6b9f946e77ed392f81e4cbe6d4c25ee60cbc345b9ba552c19a66eecc3ca1517014d1301f94cbad863c7e4e24e50ee0 config-aarch64 84ade351c7fb6ff8772ee3f1179760cf79e2be450c5443cec30b86246f7c76bda59846484f29d0db0177a1db97ee8adda3e616708cbf949e04cd224ef358dadd config-armv7 586357146131af4537141ae71cbb34d5511174dfd977fdfa31170b4ad19fe77dfc2e9da0301fc53871c84ab9766fc902cfdfd3cc5fc09a671cb70a41173b0fbf config-m68k 9f65ddeea1bd843af4ec970e507c635d121be1d556d60963668aa61bb0bcc7041dccbff1304dcfc2d2b911dd6db4914770127a7358d15b01fa0c423a5fb964ea config-pmmx e196f2641984cc0305f80d9285a35dc47674983d756851b11af58e1a2bb488750016364766aedd46befc07697b3bb04a571ee960332864d54b39ca5cd0c2c568 config-ppc 01727a368518ee61502fba15a468e6c3985fdd09848c8117e55d9f86c1f4df28bc84191af11e72e023cddb73c4915f6ec7cabd3a9c8f313ae88da29052e6401e config-ppc64 da70ba6236b233d5b917ccc1e4f428056c45c3e0c7ce6953742b3b2886a0209c4a3b76699f15b1629a5d11a7c1c320bc9aef08ee7bfc5a5d3445c56078a38379 config-sparc64 fafe1704c04db8ee85c2641e8aa1f32596d02e061fa9c57035957deaa95c409fd820f0edc840f7818ee2752503fd049d8115b202b068544324ac70c09764c779 config-x86_64 1ca1bc094a8106b33176ab6cfb55c9514e7d69f1ed30c580eee419a3c422a2e6625d71c4581702e911f36c4bbac175010f46b7123bb81fda3303d4decdc57287 kernel.h 12236457a3b9d938fdf150b6d62ad4a4655e48e30493ea7c4d8c89b0aabb3a7045d25bd4f0fcf7c19f8ed13f6ad357e0a958a6fb6a7a4a0ff39c7cc61e34f048 0100-linux-6.6.6.patch 1777c174839d9191ec8530c95ff990505473374723cabd00652c9be478a08c430ecaadab52c4cd0588c42e6991dcb26c5de246b3a0df3253935077476ffbdae6 0120-XATTR_USER_PREFIX.patch d333494e1a261175ab11d84ace49ad3dcb010614e61d0bfe1d39d7c330d1c0e0311699423fbec5841c9c6ff514f4f5b1e63072f0289450ac2883f1d3a80c2961 0122-link-security-restrictions.patch dc47b18749d95a456f8bc47fd6a0618c286b646b38466c3d950dfbeb25adf3fc1a794e95552e4da1abb58e49f0bd841f7222e71c4d04cb0264ca23476ca9caef 0124-bluetooth-keysize-check.patch 79eaf814d76402a445efc961666a7c7c74207e552b0cb32d93d5cb828da580f7dbe93509dc9f53321c7844663205a8dce4e518ba047e4c57fc55f5c3498088ec 0126-sign-file-libressl.patch 8ee913a4187740457a2de64708edf757666c6a8a7f8ef30aaa8eee22290a30fa5d636d10de1fad334a30b4acdb733ffe556fb046d5d1769bde3b4e85906189d5 0200-x86-compile.patch aa5636e778b053a65b739056f300bbc2056dabc215dc110ac35bf3ce0f1cd35d9eafb4db87e804993200fa2de4e84e6410d7d77794abbb446ef7fc83c22d3296 0202-parisc-disable-prctl.patch 403d9145d858483fb55d2d6a7276170e808fb6936f0db46e63ae01a3ef2e4e6425b2db6d459415c15e15de495f37cec1be73ee98b070a49d9543bb864062e006 0204-amd-deserialised-MSR-access.patch 05376bf6307dc26d64f6cf7ee809deb81caf8b3040cb80170844505e3d5b10220d51879f047304bea4bde7c001c1924ae52dfc01f292890dab7f06dfb10264d9 0210-fix-powerbook6-5-audio.patch dd8dcd068000c6946d4d077a3ca3fc7a18c9b2e579f36b4b7c3e54ad8cb37fa19dfff6d950379c93a70c6e19411882e5d2b496f560f331e0ba5f1f63c880ae37 0250-expose-per-process-ksm.patch 9450d34f0a0efa6b11c5c84b4f8aed6a9095e8737673cdc731fd4c6ff9afa0b3e75e3d38a2542f72279a8be16aba8e8d4fd47535ca947302ed68a98e724c71b6 0260-reduce-swappiness.patch 7796055bbbaf5eb421991cd2b9e7ea030e1da0484855a2405c0c71070246a83d04165f9b61e1a9cc45aea84bfe150da3441d7cd241a5dd3a06ea03dada1cfc37 0262-boot-order.patch 4e637935c2f37cc18f347293e3c94b18f90e2caccca726304a95c4891257a5b2bb3093aee7a97571038b29c0c987cc60a9a80aefd0d4c9a063b33d102f03579e 0300-tmp513-regression-fix.patch bb70170e6c23cfee7e3abeecf3a238f9f6237b07ed3a1c44d83cdf812046c1ab56d15b79fd793a0c08eb93ffff9578f0bf33d482d98cd3b605eb6e3b33b81b94 0302-iwlwifi-rfkill-fix.patch 34f7fc726caedabdf0cee350c8eb9fb84041388d537bb3cfcd143dcf89dca8b8a75dd2611896987d4ce31aa2935598b860ea93fc8bbd65ce47385f3468f7f650 0400-reduce-pageblock-size-nonhugetlb.patch 1d4391cf8f34e6898da303803961364474aa175b0a95dd13b284e88a9590c657083db78efb65d9fa9d40c22e0948da0bdc1063ee84ae0a699292a4d953d6bf65 0402-mm-optimise-slub.patch 882cc2a0692a3b4841a5814a1b552db6dab10e49528050f265d04b6d34fe517e2f3f6436de82f889b5471192f87ecfdff9ea142c651154622821579429519b4c 0404-page-cache-not-found.patch dfd940af1d14e8a2cc1fcffbfa0fa8db52accf67cad3a7f435fc84047c945ba64dc3c45eb8dbbcc82715d8b8f2fbafa1e22b123158029016c5506cc134a7842c 0500-print-fw-info.patch fb5162bc01913278fe1eacb43bfbea7b6f1dbc186d40a9630d26666fb16720a411142edabefb8dd0918fdeb1a47486870b890c7347252773d6ec1109e0b01cb6 0502-gcc9-kcflags.patch a232b89428dbc367c6f8df90b294da4c9b040843947d4914f617c90d323dcceaa86522c148634de6795a7539f20bb5c310e52488e4ec0b9b40c46630a714ce0b 0504-update-zstd-to-v1_5_5.patch ed613bfbd99d74614882741db6b5d97db7032d67e53449f7132903240e4ae4a18876060a2cddd7406b5fe2cabfcfcbd26a95636a1aa941ed63c9fe2dc6fe0f78 1000-version.patch 47540083d16e58bbceaf5a01349c0db982ca9f752980b40261eba4ec9ee3e33a3e73777d9a9a3e4c11cd614e54be6c66956e625e209f796d316d84d6afc03326 no-require-gnu-tar.patch d3b9e580db6006d25297b2dc17c4dc97be35992f9a02dd3bc37afa7d8054f8828a5c2060a5ffbd8e540e9d8babdca369b2af4106961e74652687e53d5bc7887b no-require-lilo.patch 7bb07eb22002cc48caf0cd55d17ce4097aa583e0ca4048c11c92e1519761b2ae982ffe98311543d4b0dfc991c8bc411b2e1c7be9488b6c6f19ffaa08e69e2f47 no-autoload-fb.conf b0e0634c84440a480be208da5157b03cb914790faab08fd3fdc2faeceed2c0a03d52c0e029084190708190f80028648923c4fd6feb11ec68ab4f740488161b0a mkimage-missing-not-fatal.patch"