# 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 with bdver2 fix # Arch version lacks ath9k regdom and raid6 algo patches # Arch version lacks ck patches # Arch version is 300 Hz # Arch version does not disable eee # Arch version enables insecure filesystems and staging drivers # Arch version enables ISDN and Infiniband # Arch version enables VMware and HyperV # Arch version builds documentation pkgbase=linux-ck _supver=5 _majver=4 _minver=14 _gccpatchver='20190822' _ckpatchversion=ck1 if [ "$_minver" == "0" ]; then pkgver=${_supver}.${_majver} else pkgver=${_supver}.${_majver}.${_minver} fi pkgrel=1 pkgdesc='Linux-ck' url='https://kernel.org' #url='http://ck.kolivas.org/patches/' arch=(x86_64) license=(GPL2) makedepends=( bc kmod libelf ) conflicts=('linux-libre-ck') options=('!strip') _srcname=linux-${pkgver} source=( https://www.kernel.org/pub/linux/kernel/v${_supver}.x/${_srcname}.tar.{xz,sign} 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch 0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch 0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch 0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch 0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch 0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch 0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch 0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch 0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch 0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch 0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch 0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion}.xz::http://ck.kolivas.org/patches/${_supver}.0/${_supver}.${_majver}/${_supver}.${_majver}-${_ckpatchversion}/patch-${_supver}.${_majver}-${_ckpatchversion}.xz graysky_bdver2-hotfix.patch kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz ath9k-regdom-hack.patch raid6-default-algo.patch config # the main kernel config file ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc b2sums=('eb0286a193b29754562771905db13e6d2140dc577d88be8e8f91f0ab77b9adbe915bb74e89e10e5dce3763f3efce6204c973f5d3341dba9e11ecb544500be5a3' 'SKIP' '76c34ea8f8d6fafcbb12fa0e01821af5926e60046c37cee9855786b8bfe16b8ac5222d441335aa01b62e7ebfe2805a1175d00d3bc4ee1c2617173934284c4164' '5427a9283a9ccb38a63ba5bd680e331245bd134501ce66e912cb07c250e37810a895f4ae78371db2b0cfcbfcb1bee96daafc0e5c71f40ec9b8643d3a88a80bab' 'fab987c7c77e07ae2db83d148e8d423e6aadbcfc84498a60a6396418c69108c0a38a426eca57c1e94f2540f25cbcd084eafe3d124ac9d0ce2ab4efff28852a16' 'c5cd99138e9436ede9136e5f958a15a10e07ab51e77dc716158b1ff774d9fa06f4ec2b7a1ba171f4ea86c16ea61fb685b54cadb85411b1c7c468d984b495585d' 'd283a69b0577dda72ae5814b3c681ca5f0655692216ce77cccc909903fda037feae35fc545c6d54daa377edb71895cfc4f199a335f3f4dfda3cde90350a627b3' '2328a9bddbb712ffe587a2266d9c6074b4a9e1273b4546e86c56b26dcd7c509398a3e428e6292999bb0297f135683793fa28acfbc4d744962e2ca396943d9ddb' 'a7318e80116cecfe0c31e254c6d52706ce56d202064d9ff851506569ad602ed106bce216facf793a27266a58b372092e5fa4a19b7b4a7380a789874066d91852' 'ab7c15c8a219a7e895b39a10a452005252bb018749607676a7e436263a0876d096a5716c9bcbf30e2ff6bc4e525be22ac3838ab3d363373945d5bf5ce43648d4' 'bb35fce00e121769f4a85c01a799efa7e3eccae8fdd29993d5bbd574a2af50cabeafcf6a9bebf5713223cdb64a53fd7bbf41de7f0a84023531b160e0fe88dc52' '26082d1d89d9a6e44ea29be9056029f4af228cf22d6c4f6c9f32ed552859bcb8982dc57f63bcb216e220590a029800aeade0bf47356f7ef3ebbe9c0261674379' 'aba17d1a3a4638d997c33ea385cfd4ac4008a13f31c026e86342169117aa6b238cdebdc4ddbe234e54c68816386ac0e401ecd9e5b49bd42e1ef60eecdf3ad89a' 'd4878831fa03c17b590001d15ddbbfeb1a8747c961503c26aee330d213c0fbf6c2eab7226456083f52a5fb4b4ffd9bf7b2db741de7c7476a15873f2a8d9f7b74' '76bb50a23b822de85f3381a511b42bb46110a39d31ede81bd168cb708882b93be525576b1805da5383f35f6f18fab817ad195aa870ab75e7775855a150d172a1' '726d89aeb1f5df51cfa395e01edb4b8b36460b1f75611ee921d057dfb28cd2d6c41990bca4b40512b9398e0558c4028845252442d9ec1d8f13847a0ed9903a1d' '8faff0d2b95eda0b96e8042367634c45c1e823238e99793daeda5614efdc448dfe28172bf13f0d988cf4d5cbb4892089893e0183cd8825de7f54942283f2b5a0' '1892bd22775eac3bcc4d37f4fd30c95346bf3a0888cbbff57fd614973b525390dff2e315ce35b2e498523cceaab94ff21a80475dee8df3de4dd8fc0fab07d74e' '0b11c09e01a7480466d5237a8792c941c9af3e8d6584ffd84285cd9569f5355c10879566ce5846ef9263535020c53e1aa6c58100a571b537ccb7f2431baf7996' '2e58bb89b247b1678355368956e67c1de51fcde97a227b2162f6771e30f17fa5520faafe7be4b6816a542e7ae10d05f64c6b6354f352c12746d4b8da632936dd' 'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a' '58e09bb87b4780228e6c347171f06a854356e9af21d1bbb3b697848a13c0d196fc8863c6b1343e7ee0b87c43e739132cd8978f31b4aaf04da1cee728b9d1236d') #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 # 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 ../0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch patch -p1 -i ../0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch patch -p1 -i ../0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch patch -p1 -i ../0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch patch -p1 -i ../0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch patch -p1 -i ../0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch patch -p1 -i ../0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch patch -p1 -i ../0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch patch -p1 -i ../0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch patch -p1 -i ../0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch patch -p1 -i ../0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch patch -p1 -i ../0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch patch -p1 -i ../0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch patch -p1 -i ../0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch # fix naming schema in EXTRAVERSION of ck patch set sed -i -re "s/^(.EXTRAVERSION).*$/\1 = /" "../linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion}" # ck patch echo "Applying ck patch" patch -F 3 -Np1 -i ../linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion} # graysky gcc hotfixes echo "Applying graysky gcc patch hotfixes" patch -p1 -i ../graysky_bdver2-hotfix.patch "$srcdir/kernel_gcc_patch-${_gccpatchver}/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v4.13+.patch" # graysky gcc patch echo "Applying graysky cpu patch" patch -p1 -i ../kernel_gcc_patch-${_gccpatchver}/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v4.13+.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 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 [ -f ${SRCDEST}/config.ck.previous ]; then cp ${SRCDEST}/config.ck.previous .config else cp ../config .config fi make olddefconfig if [ -f $HOME/.config/modprobed.db ]; then echo "Running make localmodconfig" make LSMOD=$HOME/.config/modprobed.db localmodconfig fi make menuconfig # 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 echo "Backing up config..." cp .config ${SRCDEST}/config.ck.previous echo "Prepared %s version %s" "$pkgbase" "$(