# Maintainer: jc_gargma # Maintainer (Arch): Jan Alexander Steffens (heftig) # Contributor: Aqua-sama # # I maintain this because: # Arch version patch script does not apply consistently # Arch version lacks graysky gcc patch # Arch version lacks ath9k regdom and raid6 algo patches # Arch version is 300 Hz # Arch version does not disable lockdown eee # Arch version does not disable hdcp # Arch version does not disable IME/PSP/TEE/SEV # Arch version uses git # set _custom to 0 when using mkchrootpkg _custom=0 pkgbase=linux _supver=5 _majver=14 _minver=9 _gccpatchver='20210914' _gccpatchker='5.8-5.14' if [ "$_minver" == "0" ]; then pkgver=${_supver}.${_majver} else pkgver=${_supver}.${_majver}.${_minver} fi pkgrel=1 pkgdesc='Linux' url='https://kernel.org' arch=(x86_64) license=(GPL2) makedepends=( bc kmod libelf pahole cpio perl tar xz xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick ) conflicts=('linux-libre') options=('!strip') _srcname=linux-${pkgver} source=( https://www.kernel.org/pub/linux/kernel/v${_supver}.x/${_srcname}.tar.{xz,sign} config # the main kernel config file ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch 0002-Bluetooth-btusb-Add-support-for-IMC-Networks-Mediate.patch 0003-Bluetooth-btusb-Add-support-for-Foxconn-Mediatek-Chi.patch 0004-ALSA-pcm-Check-mmap-capability-of-runtime-dma-buffer.patch 0005-ALSA-pci-rme-Set-up-buffer-type-properly.patch 0006-ALSA-pci-cs46xx-Fix-set-up-buffer-type-properly.patch 0007-Revert-block-bfq-honor-already-setup-queue-merges-root.patch kernel_compiler_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/${_gccpatchver}.tar.gz ath9k-regdom-hack.patch raid6-default-algo.patch ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc b2sums=('3d3c4e64ddf53454c25a283287cfac2f8d9674e146c7fdf80d130cfa50252fc52c57ad187f47db09d134a2ea49e16bda5018c83cd7c38c6cec9bc2e27a18b751' 'SKIP' '95a9b7e5e0412fd815bf04d73efc9edcd878005a4e2a554902d5d6343029f2744715b862d2ba6e91136f4041bf61f9a73fe9bf2c3d13079b1e7cc778455f990c' '2f9195675270d79d735a3aaec25887c2f80b76eae98be8fcc5fd59ab71d925c5ee20ec5e2a015deb68b61bc2cc7f56f546a22cb96ee038e2e24c2c9dd5c3f79f' 'f2313087430e1496303eac9e9925decc01297d5ae23f4430eee2c78eb5b4b05c4023510224fe8be8ce7aea0a52c6663204537d4c4df32ed7a03d2a4325dbd344' 'aaf24bcb1e713505e4da229685d381d9c75d7701848b17a7a5093599ddc66940597844ed5943099318c274ecd06cda387e042e0ac778e828b865951a56175fec' '48d1b13aab9ac4bf3edc1603291a234fb7efe78a85ff0aa72d355eda875f19d346843b0803381ca3930ceb3bf55b5c6c9f0490073e58d567d54af080e364341c' '3aef2a0b7e2e99efda96f03215ec87ec312eeee9ae207a257c336d5995587f6105cbc1687612b0f869d6a43fefce11598568a2b99a2f1de4d5480c30ec9401b0' 'ea815b154ffe723bc01d5c2813e798a094bde6cb1ad7a62931f87745df7be51d7548e8745e8d439f0763fae850d140edac591fd99e1720a954e7f40bf56085ec' '2b0b57c1db748fac39c17a043aa56f4c6abccc4e04e85256cffdded29e29d71f182752c65d120d206b48bef61e346c04b31cfef0c9492a1b09a53a3778fdfb85' 'd1c083f96f645679c5214e05f906b47f17ac6a8b3dd2faeb219e3ceda3a008e3fe47c4a79b0345978cec5c5e28da9b20727970cf5c788d52c3782dc5b36aa211' 'b6ef77035611139fa9a6d5b8d30570e2781bb4da483bb569884b0bd0129b62e0b82a5a6776fefe43fee801c70d39de1ea4d4c177f7cedd5ac135e3c64f7b895a' 'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a') export KBUILD_BUILD_HOST=arc4linux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { cd $_srcname # # kernel.org hasn't signed patches since 4.17.10 # add upstream patch # if [ "$_minver" != "0" ]; then # echo "Applying upstream patch" # patch -Np1 < ../patch-${_supver}.${_majver}-${pkgver} # fi # Hotfixes echo "Applying hotfixes" patch -p1 -i ../ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch patch -p1 -i ../0002-Bluetooth-btusb-Add-support-for-IMC-Networks-Mediate.patch patch -p1 -i ../0003-Bluetooth-btusb-Add-support-for-Foxconn-Mediatek-Chi.patch patch -p1 -i ../0004-ALSA-pcm-Check-mmap-capability-of-runtime-dma-buffer.patch patch -p1 -i ../0005-ALSA-pci-rme-Set-up-buffer-type-properly.patch patch -p1 -i ../0006-ALSA-pci-cs46xx-Fix-set-up-buffer-type-properly.patch patch -p1 -i ../0007-Revert-block-bfq-honor-already-setup-queue-merges-root.patch # graysky gcc patch echo "Applying graysky gcc patch" patch -p1 -i ../kernel_compiler_patch-${_gccpatchver}/more-uarches-for-kernel-${_gccpatchker}.patch # Ignore ath9k eeprom patch echo "Applying ath9k patch" patch -p1 -i ../ath9k-regdom-hack.patch # Set default raid6 algo patch echo " Applying raid6 patch" patch -p1 -i ../raid6-default-algo.patch # Append pkgrel and patchset suffixes echo "Setting version..." scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname echo "Setting config..." # we are in src/linux-x.yy.zz, looking for a config next to the pkgbuild # if [ "$_custom" == "1" ]; then # if [ -f ${SRCDEST}/config.previous ]; then # cp ${SRCDEST}/config.previous .config # fi # else cp ../config .config # fi echo "Cleaning up old and broken config settings..." make olddefconfig # if [ "$_custom" == "1" ]; then # if [ -f $HOME/.config/modprobed.db ]; then # echo "Running make localmodconfig" # make LSMOD=$HOME/.config/modprobed.db localmodconfig # fi # fi if [ "$_custom" == "1" ]; then make menuconfig fi # Remove sublevel when no sublevel exists if [ "$_minver" == "0" ]; then sed -i '/SUBLEVEL = 0/d' Makefile fi make -s kernelrelease > version # workaround for make -s kernelrelease not applying # localversion to version when changed using menuconfig grep -Po '(?<=CONFIG_LOCALVERSION=").*(?=")' .config > ../localversion echo "$pkgver" > ../version.temp cat "localversion.10-pkgrel" >> ../version.temp cat "localversion.20-pkgname" >> ../version.temp cat ../localversion >> ../version.temp cat ../version.temp | tr -d "\n" > version # back up the config # if [ "$_custom" == "1" ]; then # echo "Backing up config..." # cp .config ${SRCDEST}/config.previous # fi echo "Prepared $pkgbase version $(