# Maintainer: David P. # Contributor: André Silva # Contributor: Márcio Silva # Contributor: fauno # Contributor: Sorin-Mihai Vârgolici # Contributor: Michał Masłowski # Contributor: Luke R. # Contributor: Andreas Grapentin # Based on linux-lts package _replacesarchkernel=('linux%') # '%' gets replaced with kernel suffix _replacesoldkernels=() # '%' gets replaced with kernel suffix _replacesoldmodules=() # '%' gets replaced with kernel suffix pkgbase=linux-libre-lts pkgver=5.15.41 pkgrel=1 pkgdesc='LTS Linux-libre' rcnver=5.15.32 rcnrel=armv7-x23-parabola1 url='https://linux-libre.fsfla.org/' arch=(i686 x86_64 armv7h) license=(GPL2) makedepends=( bc libelf pahole cpio perl tar xz xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick texlive-latexextra ) options=('!strip') _srcname=linux-5.15 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.i686 config.x86_64 config.armv7h # the main kernel config files linux-armv7h.preset # armv7h preset file for mkinitcpio ramdisk # 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 # Arch Linux patches 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch 0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch 0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch 0004-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch 0005-lg-laptop_Recognize_more_models.patch 0006_fix_NFSv4_mount_regression.diff ) source_i686=( # avoid using zstd compression in ultra mode (exhausts virtual memory) no-ultra-zstd.patch ) source_armv7h=( # RCN patch (CM3 firmware deblobbed and bloatware removed) "https://repo.parabola.nu/other/rcn-libre/patches/$rcnver/rcn-libre-$rcnver-$rcnrel.patch"{,.sig} ) validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P. ) sha512sums=('3c586054285ea0cb4d1a1ff257757d092db80c2413dcec6e58c63b22490d42b8f2c441cee62839603599d5ad75fbd7560bf51ec6c2f3ab9354adae0c2c7234e5' 'SKIP' '1e3c1db11bb929aad451f471a76a9b6b2df57bf9406bc0e9c21843710cf044cd8fc69c188f828170217a59babebc11fb009be6285408c6191c7ba07bb4d99703' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78' 'SKIP' '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' 'SKIP' '77c635568092ced8298b17ee03dc084ad926b2d9b29b595acacc09df887cbd1d57bff988f095b1b618dcc39e511b044d129de19a45b3b38398c5f432733b9b09' 'f37400fd78d966e5ac698de2187f8ad1982a7916cd8cf385a27341db49900e1cb8853275a5f768026af5ae92036ee63f6252688ab2c9d5560b923fee113471e8' 'f3e5a4e1a8f335570427acc08ee16e834312c6df91ef872533d34d299a6ea1ce46dae4151d9e3e1b1728d8c6d0210276c3d6743a92728dc7a6e00db5b8b5640e' '53103bf55b957b657039510527df0df01279dec59cda115a4d6454e4135025d4546167fa30bdc99107f232561c1e096d8328609ab5a876cf7017176f92ad3e0b' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' '71de593fa8673e06b90284ea1fe337dff64f0b49477aa2da35d3026457e566c0e08090ae5412b711037cbd66ebc34d9c656ff6d3bbc8ecfd13956b166d2fe589' '93b7328fea9046c61f22e4d2a9ac59b5c2181d603ba02024e40cbd2b3970f7c716726f46e789a77185302c10d09fbe35db5333bfc8f20a9f540d49439c6bd69b' 'c6ce8e2214cd6a2c664e5e28aea29aea5ccdc07cf73239c5f06dec36121c503543a122cf7455ab6932f3d3c4dd97d0d3f03cc12f660c2541efe7a737dd38883a' '606af0fd746e6a31463bcc561bc24a5595334fdb59cb6658095a9724f2645f53e8c36c6a353f8c46f3731544ea296ceacf093e077499589b49e7765682fd32ff' '670843b65e762602785f6906d55af47ad4fc04f9a0d229fe59fcd0c9c6fd219e55b484c1be4e0989aaf1efa4e00136a38d4b3f354b5bd1dabe41efbefd9dc6e4' 'f7c051fb8e334ab5f6aa40a381c8626e1f5dae5ce311c27b4a1737fa75a4b17e05c243833f2af5322cef7e9fe3f3fa46cb91be1cff8ebfc787f5c27444b3d1f4') sha512sums_i686=('3a346ff5e0fdefafd28bc3dd0e4b6cd68e3f0014e59d1611d99f2edb8d074fd32649eeb0894a7e340e4f907b5cfc0e08e0753e0427a68dc113bb22835a892968') sha512sums_armv7h=('c7f8995a741181de687b96ef959a3d16df06d2892e3d25811f0c8691d5cb168af8a89ad903c1511fe859b1efbf84870b3445a42c805de772ed5bcef8543d960b' 'SKIP') _replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}") _replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}") _replacesoldmodules=("${_replacesoldmodules[@]/\%/${pkgbase#linux-libre}}") case "$CARCH" in i686|x86_64) KARCH=x86;; armv7h) KARCH=arm;; esac 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 echo "Applying upstream patch..." patch -Np1 < "../patch-${_srcname##*-}-gnu-$pkgver-gnu" fi echo "Adding freedo as boot logo..." install -m644 -t drivers/video/logo \ ../logo_linux_{clut224.ppm,vga16.ppm,mono.pbm} # fix NFSv4 mounting issue regression - FS#73838 / FS#73860 # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/patch/?id=6f2836341d8a39e1e000572b10959347d7e61fd9 patch -Rp1 -i ../0006_fix_NFSv4_mount_regression.diff echo "Setting version..." scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux-libre}" > localversion.20-pkgname if [ "$CARCH" = "armv7h" ]; then local src_armv7h for src_armv7h in "${source_armv7h[@]}"; do src_armv7h="${src_armv7h%%::*}" src_armv7h="${src_armv7h##*/}" [[ $src_armv7h = *.patch ]] || continue echo "Applying patch $src_armv7h..." patch -Np1 < "../$src_armv7h" done fi if [ "$CARCH" = "i686" ]; then local src_i686 for src_i686 in "${source_i686[@]}"; do src_i686="${src_i686%%::*}" src_i686="${src_i686##*/}" [[ $src_i686 = *.patch ]] || continue echo "Applying patch $src_i686..." patch -Np1 < "../$src_i686" done fi local src for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" [[ $src = *.patch ]] || continue echo "Applying patch $src..." patch -Np1 < "../$src" done echo "Setting config..." cp ../config.$CARCH .config make olddefconfig # diff -u ../config .config || : #return 1 make -s kernelrelease > version echo "Prepared $pkgbase version $(