# Contributor: A. Wilcox # Maintainer: Adelie Platform Group # KEEP THIS IN SYNC with the other easy-kernel packages. _kflavour="" _patchver=3 # must match 1000-version.patch _pkgname=easy-kernel$_kflavour pkgver=5.15.76 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-5.15.76.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 0255-ultra-ksm.patch 0260-reduce-swappiness.patch 0300-tmp513-regression-fix.patch 0500-print-fw-info.patch 0502-gcc9-kcflags.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="d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a linux-5.15.tar.xz 5d0f7d2e8da5d517f6f60c39b516407116715568896d6c7e368bf1a415b3b4ef644bb77c64d7ba25ba130a02dd6eb4e9dab59a3ac6c0865f5585df2eb13c4144 config-aarch64 9f5279d20fc6eaad78ab27b7fb86553e310369c8a68a2ff60c7cd9895febd3002cae748ad3a8b4fddbb62c6e829104138fc2bbca939e1c88c0bfcf7aa42809bf config-armv7 d87b8052b5180e5a2ebfe248fae9917afad3aec4c156836106238368e7f990f9ac5e5f6fa4251cd240c3726bfb8bdab91467902d1ddf65305049a2e74ce2ba02 config-m68k 4f585e36cc0f4a8ec47a131f15fc25c2e36e42a2ec00ddbb8b2460ba136c63d70bd1d435b418ac23b5df75a51cb3d05a5e3e174c85aad5261f0d0d73f6353b30 config-pmmx ce67670ca6935702715772b0ac4bb10a1c99e46a83705cdf0d99a5c5128f2c05b90df50132033422c060222fb6523c4920c0a1669f497db4d621ad2e5f1123c1 config-ppc c6b7f7cb0c6a155465b2db849187a95ff1a31dd157699019a3f3f44e522c62c6e6ec29532b1b1b0c508142e32200a5611e3be3d44d6ea750883808ac6578401c config-ppc64 e0c859b385140a390ef696a6c26ff28843282d0a0d57cabb50b0d8da66bbb17c37ee5733010d57bd58c6eac5f4e1eb4accf33216d8638115d376f0a431803f78 config-sparc64 d02dad2531c13ccb8dc9b0bdb31943ba12b374f559b6c0ffaac7cf7d3b809e35b83df705758ce1ea223611ffe6f399295a06286e6ad9033ae8b861ad4933f049 config-x86_64 1ca1bc094a8106b33176ab6cfb55c9514e7d69f1ed30c580eee419a3c422a2e6625d71c4581702e911f36c4bbac175010f46b7123bb81fda3303d4decdc57287 kernel.h 9e2e5c0f45c532f3782c575d2d1b1dd34c94ecb21ae19798284c118e56dedfd08b3956892639e54550da94e808ba4e3c73b8e665e44993d6c9d2ec2fdf193946 0100-linux-5.15.76.patch 3ed100909f9aed72836a3c712e45e0116cd3c4331961a76a27b867a7098d0df9458387b656c9ea01385c3c37585436e48168ac35666b0e46dca7da05e5e38a61 0120-XATTR_USER_PREFIX.patch c97a3799a2d5e4da9c9dfe129756da629fba8183479b02ca82f9b6d9993f17a165a96bd35ac50eb25fb293785b9b529a95165b1a2eb79c05134bee8ccf22a5d3 0122-link-security-restrictions.patch dc47b18749d95a456f8bc47fd6a0618c286b646b38466c3d950dfbeb25adf3fc1a794e95552e4da1abb58e49f0bd841f7222e71c4d04cb0264ca23476ca9caef 0124-bluetooth-keysize-check.patch 79eaf814d76402a445efc961666a7c7c74207e552b0cb32d93d5cb828da580f7dbe93509dc9f53321c7844663205a8dce4e518ba047e4c57fc55f5c3498088ec 0126-sign-file-libressl.patch 16b8b8333fe89a68bc7f9a49b1bae263ab830692c12981640ac3dd9a0fb687f90b53783be05d47e5b38759ace4d99e82b59edd537a85a7ee27e21e65bbfa40a6 0200-x86-compile.patch ed92b74c9ea406eb65a304b3c5b93de69167569c70d4d5027ae0a83c59159596ce88bd433573832e36bc1d7fb66b31d20921aa2bc583c7fbd9bf5563075c4c41 0255-ultra-ksm.patch 5f74e6a72876d3cf3b3188a43b999b981b6ea0ca401ad72b3c7d5cc65bf505f50e7ee17d435ec95b7a012dc92e6540aea1bdb501f48690c242705c47d2403513 0260-reduce-swappiness.patch 4e637935c2f37cc18f347293e3c94b18f90e2caccca726304a95c4891257a5b2bb3093aee7a97571038b29c0c987cc60a9a80aefd0d4c9a063b33d102f03579e 0300-tmp513-regression-fix.patch 8ddac562bd16fd96aea4b5165cf4a93eaee49011805c5d648913cea6865a1415c61aed5a34bfc319e4cd394dbaebad1360a6e07dab6e02b6b425a0e414107984 0500-print-fw-info.patch f0e532539e93d19fc65b417b4a0663e3757823340b968f63bd3a2665f99524feebb843ecf88ccf6909f93a8e7e9290721677c8f43bc3a2a37d99a51c1281a469 0502-gcc9-kcflags.patch 8e5b1357056c31a865bf00ec5999e8df6836674ebe99a6a6f3cc460d91b45075a9436e891948f04f8b3732c52b6f9272ff4c4bb02a5b4b0bc92fc77ea53a3081 1000-version.patch 03a73db9eda84a52315499cb511f730946939d2de1b3aa52c60f9bd3a364377a65ddf2b62f505689a84d3e2f0fc7da5ca90429629d93d9909360ee0c3c599bbe no-require-gnu-tar.patch aadf8a3cc46a08e3a396ebd45656aee235103db7a2155cc6980df20b750151a9938b8b73c9319c6cd1b5f8aba6ce707f857a47dabf69df8d91dd93d440cffcb5 no-require-lilo.patch 7bb07eb22002cc48caf0cd55d17ce4097aa583e0ca4048c11c92e1519761b2ae982ffe98311543d4b0dfc991c8bc411b2e1c7be9488b6c6f19ffaa08e69e2f47 no-autoload-fb.conf b0e0634c84440a480be208da5157b03cb914790faab08fd3fdc2faeceed2c0a03d52c0e029084190708190f80028648923c4fd6feb11ec68ab4f740488161b0a mkimage-missing-not-fatal.patch"