summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-x86_64/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'kernels/linux-libre-x86_64/PKGBUILD')
-rw-r--r--kernels/linux-libre-x86_64/PKGBUILD91
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"