diff options
Diffstat (limited to 'kernels/linux-libre-x86_64/PKGBUILD')
-rw-r--r-- | kernels/linux-libre-x86_64/PKGBUILD | 91 |
1 files changed, 52 insertions, 39 deletions
diff --git a/kernels/linux-libre-x86_64/PKGBUILD b/kernels/linux-libre-x86_64/PKGBUILD index ecb93f844..637d2b43a 100644 --- a/kernels/linux-libre-x86_64/PKGBUILD +++ b/kernels/linux-libre-x86_64/PKGBUILD @@ -1,19 +1,12 @@ -# Maintainer: David P. <megver83@parabola.nu> -# Contributor: André Silva <emulatorman@hyperbola.info> -# Contributor: Márcio Silva <coadde@hyperbola.info> -# Contributor: fauno <fauno@parabola.nu> -# Contributor: Sorin-Mihai Vârgolici <smv@yobicore.org> -# Contributor: Michał Masłowski <mtjm@mtjm.eu> -# Contributor: Luke R. <g4jc@openmailbox.org> -# Contributor: Andreas Grapentin <andreas@grapentin.org> -# Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> - -# Based on linux package +# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> +# Feel free to push modifications or take over maintainership + +# Based on the linux-libre package pkgbase=linux-libre-x86_64 # Build stock kernel #pkgbase=linux-libre-custom # Build kernel with a different name -_srcbasever=5.1-gnu -_srcver=5.1.3-gnu +_srcbasever=5.2-gnu +_srcver=5.2.2-gnu _replacesarchkernel=('linux%') # '%' gets replaced with _kernelname _replacesoldkernels=() # '%' gets replaced with _kernelname @@ -22,20 +15,21 @@ _replacesoldmodules=() # '%' gets replaced with _kernelname _srcname=linux-${_srcbasever%-*} _archpkgver=${_srcver%-*} pkgver=${_srcver//-/_} -pkgrel=3 +pkgrel=1 arch=(i686) url='https://linux-libre.fsfla.org/' license=(GPL2) -makedepends=(xmlto kmod inetutils bc libelf) +makedepends=( + xmlto kmod inetutils bc libelf python-sphinx python-sphinx_rtd_theme + graphviz imagemagick +) makedepends+=('x86_64-pc-linux-gnu-gcc') options=('!strip') source=( "https://linux-libre.fsfla.org/pub/linux-libre/releases/$_srcbasever/linux-libre-$_srcbasever.tar.xz"{,.sign} "https://linux-libre.fsfla.org/pub/linux-libre/releases/$_srcver/patch-$_srcbasever-$_srcver.xz"{,.sign} "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_"{clut224.ppm,vga16.ppm,mono.pbm}{,.sig} - "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm"{,.sig} - "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm"{,.sig} - parabola-x86_64_defconfig # the kernel configuration for the x86_64 architecture + config.x86_64 # the kernel configuration for the x86_64 architecture 60-linux.hook # pacman hook for depmod 90-linux.hook # pacman hook for initramfs regeneration linux.preset # standard config files for mkinitcpio ramdisk @@ -49,14 +43,19 @@ source=( # Arch's custom linux patches 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch + 0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch + 0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch + 0004-iwlwifi-Add-support-for-SAR-South-Korea-limitation.patch + 0005-netfilter-nf_tables-fix-module-autoload-for-redir.patch ) + validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P. ) -sha512sums=('42510bffa69746e0f919fecef5a23da4adb2473239ee67730fa1eb2340256fb4618c6acab439c01ae781df768a2e1ac4b76ad80fe0e4a432eaceb7f01f275439' +sha512sums=('3359b0a10ac04243399a1b0aa84f6c09e3c1914880be19a7e931189da92900ca77e467e7ab5c296a03d2ff0ab3238ec75b13fd41bd2796049b63e71f6896900e' 'SKIP' - 'a84d9d60f754c7afc7a733721dc50a39f4c7e8d702f21bffcd4685564914a74259de9be2c19122c82db0606c1e984591b34248356a70000c3974ddb812e7330e' + '53bc4aa6a36d93ad9275c312e31bf90a19a274877632ba806e3e8c16c166a209968610b8db41c9d619eb57034445ceeb1753554fb459063c2a0600a208f9cdc8' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' @@ -64,17 +63,17 @@ sha512sums=('42510bffa69746e0f919fecef5a23da4adb2473239ee67730fa1eb2340256fb4618 'SKIP' '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' 'SKIP' - '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' - 'SKIP' - '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78' - 'SKIP' - 'f3a1f1944fb7a107422365add1c5869e5cd558a1df8056230eaf454a9c8dd25abeeb49c20ea0c8f75c3eb72ebb5af1961fd748330889d63d8f60586ae477413c' + '0f175b422c7158a9b4feb3e447e777e3bcd3b89edc27026a13572bd85219361e6f2494356ece65b65c16aabcb5af0f4e2d02ebb14a799d8897af154503114a36' '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a' '2718b58dbbb15063bacb2bde6489e5b3c59afac4c0e0435b97fe720d42c711b6bcba926f67a8687878bd51373c9cf3adb1915a11666d79ccb220bf36e0788ab7' '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' - '7748427819372a27b5aa9b3ce8cc8c75397bc3a76ac4fddd06f497ce5a1b34c2e15b6301e764e6e007ad66a49bb3f9c49e906c179875e115d213d2682ddb2576') + '38e1e19ac2536ffc0d9d6ea953597734151fc319e48fe7223618b51f362f504bf8164c7a439285063a1f81210928ea1d7524630d0e8c41bdcf3de221ead1e34f' + '20392a6552f39f40919597af3ad767c66f265ccb7ba8c38ee9122de8e1c4ff43285864f9535bef9ad8cca76918ab38bc1fb4db265cd45ccfdb3849e30b198a64' + 'ac7220d35b9a0e9765aba42458702b23dfe5065e56dff1456a131ead2b165e2dd316548078a23641ebadd35dec8428b250c83d1f21fb1572728ceefe2096d699' + '00dceecb6b4a8da2deb757118a0a203d91926183bb42539d518ff2e2903b2750dc77f73f3f2e33aa13e1ec0578b05ad12d9828fd5d3a02caf9ca479f5e2f8db9' + '06738961d1c87b8f3bf6409dace1c8b99c0bd1a8c64d5070e2c88a23191401292b7c6dca018df76213451cdae2d3e7edc80b94ccfaa17986e5d2196cecfa9113') _kernelname=${pkgbase#linux-libre} _replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}") @@ -95,29 +94,31 @@ prepare() { install -m644 -t drivers/video/logo \ ../logo_linux_{clut224.ppm,vga16.ppm,mono.pbm} - # Parabola changes - # Copy the parabola configuration in the source code - # - This makes sure that all the configuration of all - # architectures are available in the source code - # - Using the built-in kenrel mechanism should take - # care of making sure that no user input is required - cp -f ../parabola-x86_64_defconfig arch/x86/configs/ - msg2 "Setting config..." - make CROSS_COMPILE=x86_64-pc-linux-gnu- parabola-x86_64_defconfig - # end of Parabola changes - msg2 "Setting version..." scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "$_kernelname" > localversion.20-pkgname - make -s kernelrelease > ../version + 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.x86_64 .config + make CROSS_COMPILE=x86_64-pc-linux-gnu- olddefconfig + + make CROSS_COMPILE=x86_64-pc-linux-gnu- -s kernelrelease > ../version msg2 "Prepared %s version %s" "$pkgbase" "$(<../version)" } build() { cd $_srcname - make CROSS_COMPILE=x86_64-pc-linux-gnu- bzImage modules + make CROSS_COMPILE=x86_64-pc-linux-gnu- bzImage modules htmldocs } _package() { @@ -279,6 +280,18 @@ _package-docs() { mkdir -p "$builddir" cp -t "$builddir" -a Documentation + msg2 "Removing doctrees..." + rm -r "$builddir/Documentation/output/.doctrees" + + msg2 "Moving HTML docs..." + local src dst + while read -rd '' src; do + dst="$builddir/Documentation/${src#$builddir/Documentation/output/}" + mkdir -p "${dst%/*}" + mv "$src" "$dst" + rmdir -p --ignore-fail-on-non-empty "${src%/*}" + done < <(find "$builddir/Documentation/output" -type f -print0) + msg2 "Adding symlink..." mkdir -p "$pkgdir/usr/share/doc" ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase" |