diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 54 |
1 files changed, 45 insertions, 9 deletions
@@ -9,15 +9,14 @@ # Arch version lacks graysky gcc patch with bdver2 fix # Arch version lacks ath9k regdom and raid6 algo patches # Arch version allows SEED, SM3, SM4, and Streebog +# Arch version allows insecure filesystems # Arch version is 300 Hz -# Arch version supports Intel ME # Arch version is not configured for openrc -# Arch version builds docs using python and graphviz # Arch version uses git pkgbase=linux -_majver=5.1 -_minver=16 +_majver=5.2 +_minver=0 if [ "$_minver" == "0" ]; then pkgver=${_majver} else @@ -29,13 +28,17 @@ pkgrel=1 url='https://kernel.org' arch=('x86_64') license=('GPL2') -makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf') +makedepends=( + 'xmlto' 'kmod' 'inetutils' 'bc' 'libelf' + 'python-sphinx' 'python-sphinx_rtd_theme' 'graphviz' 'imagemagick' + ) conflicts=('linux-libre') options=('!strip') source=( https://www.kernel.org/pub/linux/kernel/v5.x/linux-$pkgver.tar.{xz,sign} 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 graysky_bdver2-hotfix.patch enable_additional_cpu_optimizations-$_gcc_more_v.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/$_gcc_more_v.tar.gz ath9k-regdom-hack.patch @@ -45,15 +48,16 @@ source=( 90-linux.hook # pacman hook for initramfs regeneration linux.preset # standard config files for mkinitcpio ramdisk ) -sha256sums=('8a3e55be3e788700836db6f75875b4d3b824a581d1eacfc2fcd29ed4e727ba3e' +sha256sums=('54ad66f672e1a831b574f5e704e8a05f1e6180a8245d4bdd811208a6cb0ac1e7' 'SKIP' '91fafa76bf9cb32159ac7f22191b3589278b91e65bc4505cf2fc6013b8037bf3' '63e4378e69e2f23ed87af32a4951477a6d82d4ac0de2295db46502c8120da9d9' + '8449de698dfc8f95ff03dbfd98b6abdd71dbc4238896256690cb856fe366aac3' '229e063a578db0a278108f37b24da20c2a2a18d825e98a67e426cb0f4b492e4a' '226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d' 'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503' '0f81d6e4158b7beeb0eb514f1b9401f7e23699cb0f7b0d513e25dae1815daaeb' - 'a3c0af2f4e433c556b72595d7fec57577c4c90c7b40dae0afd4733b10d409c14' + 'ec9cd087e4fe97e014fd5af7874d451bb6e56f2a9da63760049a353e63a890c1' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65') @@ -77,6 +81,7 @@ prepare() { msg2 "Applying hotfixes" patch -p1 -i ../0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch patch -p1 -i ../0002-ZEN-Add-CONFIG-for-unprivileged_userns_clone.patch + patch -p1 -i ../0003-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.patch # graysky gcc hotfixes @@ -140,7 +145,7 @@ prepare() { build() { cd $_srcname - make bzImage modules + make bzImage modules htmldocs } _package() { @@ -280,7 +285,38 @@ _package-headers() { chmod -Rc u=rwX,go=rX "$pkgdir" } -pkgname=("$pkgbase" "$pkgbase-headers") +_package-docs() { + pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel" + + local builddir="$pkgdir/usr/lib/modules/$(<version)/build" + + cd $_srcname + + msg2 "Installing documentation..." + 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" + + msg2 "Fixing permissions..." + chmod -Rc u=rwX,go=rX "$pkgdir" +} + +pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs") for _p in "${pkgname[@]}"; do eval "package_$_p() { $(declare -f "_package${_p#$pkgbase}") |