# Maintainer: David P. # Contributor: André Silva # Contributor: Márcio Silva # Based on linux-pae package _replacesarchkernel=('linux%') # '%' gets replaced with kernel suffix _replacesoldkernels=() # '%' gets replaced with kernel suffix _replacesoldmodules=() # '%' gets replaced with kernel suffix pkgbase=linux-libre-pae pkgver=5.4.10 pkgrel=1 pkgdesc='Linux-libre PAE (physical address extension)' url='https://linux-libre.fsfla.org/' arch=(i686) license=(GPL2) makedepends=( bc kmod libelf xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick cpio ) options=('!strip') _srcname=linux-5.4 source=( "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_srcname##*-}-gnu/linux-libre-${_srcname##*-}-gnu.tar.xz"{,.sign} "https://linux-libre.fsfla.org/pub/linux-libre/releases/$pkgver-gnu/patch-${_srcname##*-}-gnu-$pkgver-gnu.xz"{,.sign} "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_"{clut224.ppm,vga16.ppm,mono.pbm}{,.sig} config # the main kernel config files # maintain the TTY over USB disconnects # http://www.coreboot.org/EHCI_Gadget_Debug 0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch # fix Atmel maXTouch touchscreen support # https://labs.parabola.nu/issues/877 # http://www.fsfla.org/pipermail/linux-libre/2015-November/003202.html 0002-fix-Atmel-maXTouch-touchscreen-support.patch # extracted patches from Arch Linux kernel sources 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch 0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch 0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch 0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch 0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch 0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch 0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch 0011-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch 0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch 0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch 0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch 0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch ) validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P. ) sha512sums=('0d0915133864eb031adfc6700066147dcf3e768a50a31c39754950c95ef4fd322dc701cd50af49c403ef0325adfcb07e354d5e46c1be3dcdd719a7a55c963f37' 'SKIP' '0d1d0dea0096f2b7aba13575588dca533386afafbab8c238c478dea88ed3b8259d566a3798a19eed35dbb89d6687ba7d0da351b840f7207f9ca6267aba7b7ac0' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78' 'SKIP' '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' 'SKIP' '63f3c3bfe27eb66391dfa2120193476f03cf668bbd9edf4b7cc5dcb8c53295b830ecb6afd10b9a89c190d7f02597529b484c22dbb849d221ef975af8db1d8049' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' 'a5a50f2f8f008a2a7a36de1985bd0c8ad381cb127f1192955b2312d3a3c162ed3b803503d7efc8212b3d74b96a0c6fbb30d25e572b5c9d15147e40574cef4ad2' '07e8e5998418b91acab4a4403008f1bdca96f6cd09b284ffdcfa9f660b0a2241385bd535844329dc4933403222a4c84b5297dee2ee50899700acd065273b78d5' '96f6c1c374220660aa7a1fb600848fb89cfb70e5e17060ee2715a99358258f6eab6d56535e92bac1a7f9cbb110dadfad72755cb0ffbdf8484d8df3e9a8a5ecd4' '7f8b8bc6c0834319722e4dab7d10123b8e63cfb86da27f1e443eeba7946f54eae6d5f4417fab16b796cfd3190a3f69993502efd8d134c764abb5070375354907' '4a9d908900df9883cc7989d8b71a7cace4561e5881502a6415ac0809a700b0d0536a8034da166d48e075456ba07f060bfe02246eca7af4c21a3eac977de57913' 'aabb27bebfab538678cb5687918fec1ea54d04ea2c5d366e182aeebf4f9c183b661f89520628b5934e251b48afcad62c2d1253f0520102bd8a47dfa2e74227a9' '5045e58079d58e18cdadef3bb60ff4f565629008449c003452193c77396f5110d972dcdbea87e4193339a44072569e7910c89fef3cb4933de29a609189101184' 'a59470588e64e24c58a17f15ba5654dd35feba51a0649c331cf6f4361690a55890d2989abac6e58d147ef03756a2d5db91ceb75ac2d34a355c0c29e2b32bcfc3' '1c7d83f92714f1fd84372d2a793a287fdbcd604de0c7409609fbe6e95b459554e77287cbd2793b60756b98fafb938e55fd14dce65a05eeb9c66fabbb03fd40cf' 'f7e9635f42320f26e2cc21a7507dc9e497bf1a1939f6c6e76d4adc9850bd0c24036427553f454f5221d507e2c420f29c9a3e918a932a7f22fb4b7509add02a6c' '954241c5a9582f1d9e1ca462e4a2ec91c59d510bd3401691a31ac7f3335376342a554491a47591bf9f9289a8bab8d0e45dff7e09fcdd941702271a2c3e73e766' 'c1a431785f5b7357569bfb14322a0263c974d9f848f5e3bd62469f05fd5a9242ddd5ad47c5edb7588f92da8acfa83035f050f9b0036188f005e05b9e8a2876ab' '2fe2ee5cd26298d1bc126362f86b01d653d3f9d1592490497f08bea398a1fed5607c6875ecf2ad820f644f89a85d30f7fdbd9f306e670060e943c586646a3a2f' 'd83e48c9448f48ffe4f587b07dd88fbb7bf3d2137329ac0af734fdea2d0032dd6e76ccf19c26080e14e93856c63aff10cef7ec15acb1276213ac9b20882e9709' 'c4df83eb037dd58aba7ee8fc77bbcc95a27e0e0905e278821769f3a7790c3cdff726333a8014dd223d7c74d4ce2713df29f647c94014438c128e1009d66c37d6') _replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}") _replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}") _replacesoldmodules=("${_replacesoldmodules[@]/\%/${pkgbase#linux-libre}}") export KBUILD_BUILD_HOST=parabola export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { cd $_srcname if [ "${_srcname##*-}" != "$pkgver" ]; then msg2 "Applying upstream patch..." patch -Np1 -i ../patch-${_srcname##*-}-gnu-$pkgver-gnu fi msg2 "Adding freedo as boot logo..." install -m644 -t drivers/video/logo \ ../logo_linux_{clut224.ppm,vga16.ppm,mono.pbm} msg2 "Setting version..." scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux-libre}" > localversion.20-pkgname local src for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" [[ $src = *.patch ]] || continue msg2 "Applying patch $src..." patch -Np1 < "../$src" done msg2 "Setting config..." cp ../config .config make olddefconfig make -s kernelrelease > version msg2 "Prepared %s version %s" "$pkgbase" "$(