summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD208
1 files changed, 95 insertions, 113 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 6b6dfb08f981..bec707685f65 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,17 +10,18 @@ _NUMAdisable=y
# Enable fsync
_fsync=y
#enable futex2
-_futex2=y
+_futex2=
#enable winesync
_winesync=y
### Set performance governor as default
-_per_gov=
+_per_gov=y
### Running with a 2000 HZ, 1000HZ or 500HZ tick rate
_2k_HZ_ticks=
_1k_HZ_ticks=y
_500_HZ_ticks=
### Enable protect file mappings under memory pressure
_mm_protect=y
+_lru_enable=y
### Enable Linux Random Number Generator
_lrng_enable=y
# Tweak kernel options prior to a build via nconfig
@@ -53,57 +54,48 @@ _localmodcfg=
# a new kernel is released, but again, convenient for package bumps.
_use_current=
-### IMPORTANT: Do no edit below this line unless you know what you're doing
-
pkgbase=linux-cacule
+pkgname=('linux-cacule' 'linux-cacule-headers')
pkgname=("${pkgbase}" "${pkgbase}-headers")
-pkgver=5.13.13
+pkgver=5.14
pkgrel=1
arch=(x86_64 x86_64_v3)
-pkgdesc='Linux Kernel with cacule scheduler and lto compiled'
+pkgdesc='Linux-CacULE Kernel-RC by Hamad Marri and with some other patchsets'
_gittag=v${pkgver%.*}-${pkgver##*.}
-pkgdesc='Linux-CacULE Kernel by Hamad Marri and with some other patchsets'
+arch=('x86_64' 'x86_64_v3')
url="https://github.com/hamadmarri/cacule-cpu-scheduler"
license=('GPL2')
+options=('!strip')
makedepends=('kmod' 'bc' 'libelf' 'python-sphinx' 'python-sphinx_rtd_theme'
'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz')
-options=('!strip')
-_patchsource="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13"
_caculepatches="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE"
-source=(
-"https://cdn.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.xz"
-"config"
-"${_patchsource}/arch-patches-v5/0001-arch-patches.patch"
-"${_caculepatches}/v5.13/cacule-5.13.patch"
-"${_patchsource}/cpu-patches-v2/0001-cpu-patches.patch"
-"${_patchsource}/futex-patches/0001-futex-resync-from-gitlab.collabora.com.patch"
-"${_patchsource}/futex2-xanmod-patches-v3/0001-futex2-resync-from-gitlab.collabora.com.patch"
-"${_patchsource}/winesync/5.13-winesync.patch"
-"${_patchsource}/xanmod-patches-v2/0001-xanmod-patches.patch"
-"${_patchsource}/zen-patches/0001-zen-patches.patch"
-"${_patchsource}/lqx-patches-v3/0001-lqx-patches.patch"
-"${_patchsource}/bfq-patches-v7/0001-bfq-patches.patch"
-"${_patchsource}/block-patches-v2/0001-block-patches.patch"
-"${_patchsource}/fixes-miscellaneous/0001-fixes-miscellaneous.patch"
-"${_patchsource}/bbr2-patches-v2/0001-bbr2-patches.patch"
-"${_patchsource}/btrfs-patches-v2/0001-btrfs-patches.patch"
-"${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch"
-"${_patchsource}/pf-patches-v10/0001-pf-patches.patch"
-"${_patchsource}/lru-patches-v8/0001-lru-patches.patch"
-"${_patchsource}/ntfs3-patches-v2/0001-ntfs3-patches.patch"
-"${_patchsource}/lrng-patches/0001-lrng-patches-v2.patch"
-"${_patchsource}/security-patches/0001-security-patches.patch"
-"${_patchsource}/alsa-patches/0001-alsa-patches.patch"
-"${_patchsource}/zstd-upstream-patches/0001-zstd-upstream-patches.patch"
-"${_patchsource}/zstd-patches-v5/0001-zstd-patches.patch"
-"${_patchsource}/clearlinux-patches-v2/0001-clearlinux-patches.patch"
-"${_patchsource}/v4l2loopback-patches-v2/0001-v4l2loopback-patches.patch"
-"auto-cpu-optimization.sh"
-"${_patchsource}/misc/allpollingrate.patch"
-)
+_patchsource="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.14"
+source=(#"https://cdn.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.xz"
+ "https://github.com/torvalds/linux/archive/refs/tags/v5.14.tar.gz"
+ "config"
+ "${_caculepatches}/v5.14/cacule-5.14.patch"
+ "${_patchsource}/0001-bbr2.patch"
+ "${_patchsource}/0001-lrng.patch"
+ "${_patchsource}/misc/0004-folio-mm.patch"
+ "${_patchsource}/misc/0009-compiler-remove-stale-cc-option-checks.patch"
+ "${_patchsource}/misc/0007-string.patch"
+ "${_patchsource}/misc/allpollingrate.patch"
+ "${_patchsource}/0001-cpu-patches.patch"
+ "${_patchsource}/0001-winesync.patch"
+ "${_patchsource}/0001-v4l2loopback.patch"
+ "${_patchsource}/0001-misc.patch"
+ "${_patchsource}/0001-zstd.patch"
+ "${_patchsource}/0001-mm.patch"
+ "${_patchsource}/0001-ksm.patch"
+ "${_patchsource}/0001-ntfs3.patch"
+ "${_patchsource}/0001-clearlinux-patches.patch"
+ "auto-cpu-optimization.sh"
+ )
+BUILD_FLAGS=(
+ )
export KBUILD_BUILD_HOST=archlinux
-export KBUILD_BUILD_USER="${pkgbase}"
+export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
prepare() {
@@ -118,6 +110,7 @@ prepare() {
echo "-$pkgrel" > localversion.10-pkgrel
echo "${pkgbase#linux}" > localversion.20-pkgname
+
local src
for src in "${source[@]}"; do
src="${src%%::*}"
@@ -127,41 +120,40 @@ prepare() {
patch -Np1 < "../$src"
done
- echo "Setting config..."
- cp ../config .config
+ echo "Setting config..."
+ cp ../config .config
- ### Microarchitecture Optimization (GCC/CLANG)
- if [ -n "$_use_optimization" ]; then
- sh "${srcdir}"/auto-cpu-optimization.sh
- fi
- if [ -n "$_use_optimization_select" ]; then
- source "${startdir}"/configure
-
- cpu_arch
- fi
+ ### Microarchitecture Optimization (GCC/CLANG)
+ if [ -n "$_use_optimization" ]; then
+ sh "${srcdir}"/auto-cpu-optimization.sh
+ fi
+ if [ -n "$_use_optimization_select" ]; then
+ source "${startdir}"/configure
+ cpu_arch
+ fi
### Optionally set tickrate to 2000HZ
- if [ -n "$_2k_HZ_ticks" ]; then
- echo "Setting tick rate to 2k..."
- scripts/config --disable CONFIG_HZ_300
- scripts/config --enable CONFIG_HZ_2000
- scripts/config --set-val CONFIG_HZ 2000
- fi
+ if [ -n "$_2k_HZ_ticks" ]; then
+ echo "Setting tick rate to 2k..."
+ scripts/config --disable CONFIG_HZ_300
+ scripts/config --enable CONFIG_HZ_2000
+ scripts/config --set-val CONFIG_HZ 2000
+ fi
### Optionally set tickrate to 1000
- if [ -n "$_1k_HZ_ticks" ]; then
- echo "Setting tick rate to 1k..."
- scripts/config --disable CONFIG_HZ_300
- scripts/config --enable CONFIG_HZ_1000
- scripts/config --set-val CONFIG_HZ 1000
- fi
-
- ### Optionally set tickrate to 500HZ
- if [ -n "$_500_HZ_ticks" ]; then
- echo "Setting tick rate to 500HZ..."
- scripts/config --disable CONFIG_HZ_300
- scripts/config --enable CONFIG_HZ_500
- scripts/config --set-val CONFIG_HZ 500
- fi
+ if [ -n "$_1k_HZ_ticks" ]; then
+ echo "Setting tick rate to 1k..."
+ scripts/config --disable CONFIG_HZ_300
+ scripts/config --enable CONFIG_HZ_1000
+ scripts/config --set-val CONFIG_HZ 1000
+ fi
+
+ ### Optionally set tickrate to 500HZ
+ if [ -n "$_500_HZ_ticks" ]; then
+ echo "Setting tick rate to 500HZ..."
+ scripts/config --disable CONFIG_HZ_300
+ scripts/config --enable CONFIG_HZ_500
+ scripts/config --set-val CONFIG_HZ 500
+ fi
### Optionally disable NUMA for 64-bit kernels only
# (x86 kernels do not support NUMA)
@@ -275,12 +267,12 @@ prepare() {
fi
echo "Enable Anbox"
- scripts/config --module CONFIG_ASHMEM
- scripts/config --enable CONFIG_ANDROID_BINDER_IPC_SELFTEST
- scripts/config --enable CONFIG_ANDROID
- scripts/config --enable CONFIG_ANDROID_BINDER_IPC
- scripts/config --enable CONFIG_ANDROID_BINDERFS
- scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES binder,hwbinder,vndbinder
+# scripts/config --module CONFIG_ASHMEM
+# scripts/config --enable CONFIG_ANDROID_BINDER_IPC_SELFTEST
+# scripts/config --enable CONFIG_ANDROID
+# scripts/config --enable CONFIG_ANDROID_BINDER_IPC
+# scripts/config --enable CONFIG_ANDROID_BINDERFS
+# scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES binder,hwbinder,vndbinder
echo "Disabling TCP_CONG_CUBIC..."
scripts/config --module CONFIG_TCP_CONG_CUBIC
scripts/config --disable CONFIG_DEFAULT_CUBIC
@@ -289,7 +281,7 @@ prepare() {
scripts/config --enable CONFIG_DEFAULT_BBR2
scripts/config --set-str CONFIG_DEFAULT_TCP_CONG bbr2
echo "Enable VHBA-Module"
- scripts/config --module CONFIG_VHBA
+# scripts/config --module CONFIG_VHBA
### Enabling ZSTD COMPRESSION ##
echo "Set module compression to ZSTD"
scripts/config --enable CONFIG_MODULE_COMPRESS
@@ -336,7 +328,7 @@ prepare() {
if [ -n "$_localmodcfg" ]; then
if [ -e "$HOME"/.config/modprobed.db ]; then
echo "Running Steven Rostedt's make localmodconfig now"
- make LSMOD="$HOME"/.config/modprobed.db localmodconfig
+ make ${BUILD_FLAGS[*]} LSMOD="$HOME"/.config/modprobed.db localmodconfig
else
echo "No modprobed.db data found"
exit
@@ -344,11 +336,11 @@ prepare() {
fi
echo "Applying default config..."
- make olddefconfig
- make -s kernelrelease > version
+ make ${BUILD_FLAGS[*]} olddefconfig
+ make ${BUILD_FLAGS[*]} -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
- [[ -z "$_makenconfig" ]] || make nconfig
+ [[ -z "$_makenconfig" ]] || make ${BUILD_FLAGS[*]} nconfig
### Save configuration for later reuse
cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}"
@@ -359,7 +351,7 @@ build() {
echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Build failed! \E[0m"
exit 1
)
- make all
+ make ${BUILD_FLAGS[*]} all
}
package_linux-cacule() {
@@ -387,7 +379,7 @@ package_linux-cacule() {
echo "${pkgbase}" | install -Dm644 /dev/stdin "${modulesdir}/pkgbase"
echo "Installing modules..."
- make INSTALL_MOD_PATH="${pkgdir:?}/usr" INSTALL_MOD_STRIP=1 modules_install
+ make ${BUILD_FLAGS[*]} INSTALL_MOD_PATH="${pkgdir:?}/usr" INSTALL_MOD_STRIP=1 modules_install
# remove build and source links
rm "${modulesdir}/"{source,build}
@@ -482,32 +474,22 @@ package_linux-cacule-headers() {
}
-md5sums=('392cd7526637b3cbdf9de748d9a9008e'
- 'd2f272859bedf0c122de0a5088f69eeb'
- '9f9b916ed39dc125db45d0bff672f4c0'
- '078da517ec2d54283af81d7da3af671a'
- '1082374b0727f24c4a96fc94f28de24c'
- '85f4be6562ee033b83814353a12b61bd'
- '3ec9a8784a9e73462def2e9c33de9a1e'
+md5sums=('e336de8258a23bbe3f116d43a9dacc55'
+ 'd9228b7b894418a43b6166929ee9c756'
+ 'd92c43182698243cd13d32376cec0f23'
+ '422fe01f2e2b1ba1c2b9174fa1a75e40'
+ '0e4c45e8449717a7a9324c1fe00d55a8'
+ 'a804260e2f301ffe2a17d6e3625a9711'
+ '50868332310ae198428861fb7e743d5e'
+ 'd6e5581b4fade267a28deb8e73d236f5'
+ 'f154315498da9bf593c11d88041bde48'
+ 'bb22330e270bf36ccf53cb04d6b496d2'
'9573b92353399343db8a691c9b208300'
- 'e15a64663e6221ea40b02aeb8517e70a'
- '1217799f33d6ba822152a0e2fb6f2e34'
- '31c897f53b91f98532321cd24928c0d7'
- '715e663535d063ac0b1f07b86e884eb1'
- '4f9e72e7edb909da5cd650afe13aadb6'
- '9bbbd88f0303ccd59064648eaaf80edd'
- '1bd37d8e71b2a7aae8ebd2853a08f445'
- '65a4399a10b2abd0f327145d479db12d'
- '81f27f12e20971c7d7fc3a53ffb6842c'
- '8db3691e8a450f8736ed1d58ba4d6298'
- 'd66899682420ea8ce0c9df9c9bde4427'
- 'b6623f818462d08b03fdc1b573c90e9f'
- '2b2be59407dd342f1cea80602a93b6c0'
- '9977ba0e159416108217a45438ebebb4'
- '92e9db1a7777666a1e6353b4760f1275'
- '9e5114dba6da65e8d444aa225b109a21'
- '2aa4d3664fc16dac2f18fe8c22ba1df1'
- '7dd37a74d7926f4c5ae3b3f76d7172a2'
- '08590776013d05bc7a96ef5557c54200'
- '7cf0b5c39d16da18451d1e7e7523d992'
- 'f154315498da9bf593c11d88041bde48')
+ '95eb4457f95f3f8dd153983612ee65c0'
+ '8d74bee9dc3bbd0bed98180fcd09b4d5'
+ '52d324bcca2b2c41c739e257d5c6fd6e'
+ '49e7e05cc842b1bb2fb79c568a7b649c'
+ '566435a0444ee45816599f2e0e362c7a'
+ 'dfdf6c73b4f498b348fa16f10a3bcd09'
+ '54f750c0e08b4e5b51a49c494a6891d6'
+ '7cf0b5c39d16da18451d1e7e7523d992')