Compare commits

..

No commits in common. "develop" and "YF-allow-using-extra-uarches-even-with-copied-config" have entirely different histories.

6 changed files with 59 additions and 117 deletions

View file

@ -1,6 +1,6 @@
pkgbase = linux-clear pkgbase = linux-clear
pkgdesc = Linux kernel with patches from Clear Linux which allow for higher performance. pkgdesc = Linux kernel with patches from Clear Linux which allow for higher performance.
pkgver = 6.12.6 pkgver = 6.12.4
pkgrel = 1 pkgrel = 1
url = https://git.staropensource.de/JeremyStarTM/aur-linux-clear url = https://git.staropensource.de/JeremyStarTM/aur-linux-clear
arch = x86_64 arch = x86_64
@ -20,7 +20,7 @@ pkgbase = linux-clear
options = !debug options = !debug
source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.xz source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.xz
source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.sign source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.sign
source = https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-6.12.6.xz source = https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-6.12.4.xz
source = cl-linux::git+https://github.com/clearlinux-pkgs/linux.git#tag=6.12.4-1518 source = cl-linux::git+https://github.com/clearlinux-pkgs/linux.git#tag=6.12.4-1518
source = more-uarches-20241018.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/20241018.tar.gz source = more-uarches-20241018.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/20241018.tar.gz
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
@ -29,7 +29,7 @@ pkgbase = linux-clear
validpgpkeys = AC2B29BD34A6AFDDB3F68F35E7BFC8EC95861109 validpgpkeys = AC2B29BD34A6AFDDB3F68F35E7BFC8EC95861109
sha256sums = b1a2562be56e42afb3f8489d4c2a7ac472ac23098f1ef1c1e40da601f54625eb sha256sums = b1a2562be56e42afb3f8489d4c2a7ac472ac23098f1ef1c1e40da601f54625eb
sha256sums = SKIP sha256sums = SKIP
sha256sums = dd7c856f12d3e10f09743c1d3db35f91879d92890c9fb176405783c9c7cb0c54 sha256sums = ba790766fca3eadade5cf74f0c181a8e42a77556f71d9af4b2bd4a53c8b98641
sha256sums = SKIP sha256sums = SKIP
sha256sums = b3fd8b1c5bbd39a577afcccf6f1119fdf83f6d72119f4c0811801bdd51d1bc61 sha256sums = b3fd8b1c5bbd39a577afcccf6f1119fdf83f6d72119f4c0811801bdd51d1bc61

1
.gitignore vendored
View file

@ -1,6 +1,5 @@
cl-linux cl-linux
src src
pkg
*.sign *.sign
*.xz *.xz
*.gz *.gz

16
LICENSE
View file

@ -1,16 +0,0 @@
BSD Zero Clause License
Copyright (c) 2018-2024 by Josip Ponjavic <josipponjavic@gmail.com>
Copyright (c) 2024 by JeremyStarTM <jeremystartm@staropensource.de>
Copyright (c) 2024 by Yaraslau Furman <yaro330@gmail.com>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View file

@ -1,3 +0,0 @@
# Maintainers
- [JeremyStarTM](https://git.staropensource.de/JeremyStarTM) <jeremystartm (at) staropensource (dot) de>
- [yarost12](https://git.staropensource.de/yarost12) <yaro330 (at) gmail (com) com>

View file

@ -1,12 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# shellcheck disable=SC2034 disable=SC2048 disable=SC2086 disable=SC2154 # shellcheck disable=SC2034 disable=SC2048 disable=SC2086 disable=SC2154
# Maintainer: JeremyStarTM <jeremystartm@staropensource.de>
# This PKGBUILD is/was authored by: # Maintainer: Josip Ponjavic <josipponjavic at gmail dot com>
# - JeremyStarTM <jeremystartm@staropensource.de> # Contributor: yarost12 <yaro330@gmail.com>
# - yarost12 <yaro330@gmail.com>
# - Josip Ponjavic <josipponjavic at gmail dot com>
#
# For a list of maintainers see MAINTAINERS.md
### BUILD OPTIONS ### BUILD OPTIONS
# You can modify these settings by executing "env _<setting>=<value> makepkg" # You can modify these settings by executing "env _<setting>=<value> makepkg"
@ -38,10 +34,6 @@
# #
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_use_current:=""}" : "${_use_current:=""}"
: "${_reuse_current:=""}"
[[ -n "${_reuse_current}" ]] && \
warning "Please switch to using '_use_current' flag instead of '_reuse_current'" && \
_use_current="y"
# Apply selected optimizations chosen by # Apply selected optimizations chosen by
# the package maintainers to the config. # the package maintainers to the config.
@ -53,10 +45,6 @@
# #
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_optimize_defconfig:=""}" : "${_optimize_defconfig:=""}"
: "${_update_kconfig_on_reuse:=""}"
[[ -n "${_update_kconfig_on_reuse}" ]] && \
warning "Please switch to using '_update_kconfig_on_reuse' flag instead of '_optimize_defconfig'" && \
_optimize_defconfig="y"
# Determines whether the kernel configuration should be # Determines whether the kernel configuration should be
# copied into the source tree before compilation starts. # copied into the source tree before compilation starts.
@ -74,10 +62,9 @@
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_localmodcfg:=""}" : "${_localmodcfg:=""}"
# Optionally select a sub architecture by number or its Kconfig name, # Optionally select a sub architecture by number or
# for example MCORE2 or MZEN4. # leave blank, which will require user interaction during the build.
# Leaving it blank will require user interaction during the build. # Note that the default option is 41.
# Note that the default option is empty.
# #
# 1. AMD Opteron/Athlon64/Hammer/K8 (MK8) # 1. AMD Opteron/Athlon64/Hammer/K8 (MK8)
# 2. AMD Opteron/Athlon64/Hammer/K8 with SSE3 (MK8SSE3) # 2. AMD Opteron/Athlon64/Hammer/K8 with SSE3 (MK8SSE3)
@ -156,7 +143,7 @@
# Kernel version # Kernel version
_kernel_major=6.12 _kernel_major=6.12
_kernel_minor=6 _kernel_minor=4
# Clear Linux patches version # Clear Linux patches version
_clr=4-1518 _clr=4-1518
# kernel_compiler_patch version # kernel_compiler_patch version
@ -186,7 +173,6 @@ source=(
) )
[[ -n "${_use_llvm_lto}" ]] && BUILD_FLAGS=("LLVM=1" "LLVM_IAS=1") [[ -n "${_use_llvm_lto}" ]] && BUILD_FLAGS=("LLVM=1" "LLVM_IAS=1")
[[ -z "${_debug_script}" ]] && BUILD_FLAGS+=("-s")
export "KBUILD_BUILD_HOST=archlinux" export "KBUILD_BUILD_HOST=archlinux"
export "KBUILD_BUILD_USER=${pkgbase}" export "KBUILD_BUILD_USER=${pkgbase}"
@ -230,7 +216,7 @@ modify_defconfig() {
# Copies the kernel config # Copies the kernel config
copy_defconfig() { copy_defconfig() {
local _cur_major_ver="$(uname -r | grep -o '[0-9]*[0-9]\.[0-9]*[0-9]')" local "_cur_major_ver=$(zcat /proc/config.gz | grep Linux | grep -o '[0-9]*[0-9]\.[0-9]*[0-9]')"
[[ "${_cur_major_ver}" != "${_kernel_major}" ]] && [[ "${_cur_major_ver}" != "${_kernel_major}" ]] &&
warning "Major version was updated, you should regen the defconfig" warning "Major version was updated, you should regen the defconfig"
@ -334,31 +320,14 @@ update_defconfig() {
make ${BUILD_FLAGS[*]} olddefconfig make ${BUILD_FLAGS[*]} olddefconfig
diff -u $srcdir/cl-linux/config .config || : diff -u $srcdir/cl-linux/config .config || :
# Here we slightly break the config by removing one of the # Set subarch automatically
# members of the 'Processor family' selection.
# This causes oldconfig to always invoke that selection.
sed -i '/CONFIG_GENERIC_CPU/d' .config || :
# For a slim chance that someone is building X86_32
sed -i '/CONFIG_M686/d' .config || :
if [ -n "${_subarch}" ]; then if [ -n "${_subarch}" ]; then
# check if subarch is a number
if [[ ${_subarch} =~ ^[0-9]+$ ]] && ((_subarch>=1)); then
if [ "${_subarch}" == "41" ]; then if [ "${_subarch}" == "41" ]; then
scripts/config -e GENERIC_CPU yes "${_subarch}
scripts/config --set-val X86_64_VERSION "${_subarch_microarch}" ${_subarch_microarch}" | make ${BUILD_FLAGS[*]} oldconfig
make ${BUILD_FLAGS[*]} oldconfig
else else
yes "${_subarch}" | make ${BUILD_FLAGS[*]} oldconfig yes "${_subarch}" | make ${BUILD_FLAGS[*]} oldconfig
fi fi
# check that this option is present in the .config
elif [[ $(grep -c "${_subarch}" .config) -eq 1 ]]; then
scripts/config -e "${_subarch}"
make ${BUILD_FLAGS[*]} olddefconfig
else
warning "Unrecognized subarch value: ${_subarch}"
exit 1
fi
else else
# Ask for subarch # Ask for subarch
make ${BUILD_FLAGS[*]} oldconfig make ${BUILD_FLAGS[*]} oldconfig
@ -525,6 +494,6 @@ validpgpkeys=(
) )
sha256sums=("b1a2562be56e42afb3f8489d4c2a7ac472ac23098f1ef1c1e40da601f54625eb" sha256sums=("b1a2562be56e42afb3f8489d4c2a7ac472ac23098f1ef1c1e40da601f54625eb"
"SKIP" "SKIP"
"dd7c856f12d3e10f09743c1d3db35f91879d92890c9fb176405783c9c7cb0c54" "ba790766fca3eadade5cf74f0c181a8e42a77556f71d9af4b2bd4a53c8b98641"
"SKIP" "SKIP"
"b3fd8b1c5bbd39a577afcccf6f1119fdf83f6d72119f4c0811801bdd51d1bc61") "b3fd8b1c5bbd39a577afcccf6f1119fdf83f6d72119f4c0811801bdd51d1bc61")

View file

@ -36,16 +36,9 @@ This command only needs to be executed once.
Please only submit issues if they aren't bug reports about the package or help requests. Please only submit issues if they aren't bug reports about the package or help requests.
Please keep them on the AUR only. This prevents unnecessary signups. Please keep them on the AUR only. This prevents unnecessary signups.
## Branches
This repository (at least if you view it on [sos!git](https://git.staropensource.de/JeremyStarTM/aur-linux-clear))
has two branches: `master` and `develop`. The `master` branch is the stable branch, where stable changes
are introduced. The `develop` branch is (as you might have already guessed) the development branch.
Please only submit PRs to the `develop` branch. Pull requests to the `master` branch will be rejected.
## License ## License
The linux-clear package is licensed under the BSD Zero-Clause License. This package does not yet have a license as the original repository (before [me](https://git.staropensource.de/JeremyStarTM) becoming it's maintainer) did not have one yet.
I ([JeremyStarTM](https://git.staropensource.de/JeremyStarTM)) negotiated it with [metak](https://aur.archlinux.org/account/metak) (the previous maintainer) and [yarost12](https://git.staropensource.de/yarost12) (co-maintainer). I have contacted [metak](https://aur.archlinux.org/account/metak) (the previous maintainer) to negotiate a license.
## Build tool ## Build tool
~~*If you want a dead simple way to compile this package, you can [try out my build tool](https://git.staropensource.de/JeremyStarTM/jstm-optimized). It includes a few no nonsense changes to the kernel configuration and allows you to configure the PKGBUILD in a simple manner to decrease build time. If you don't want that, using `makepkg` as-is works fine too.*~~ Deprecated until rewrite. *If you want a dead simple way to compile this package, you can [try out my build tool](https://git.staropensource.de/JeremyStarTM/jstm-optimized). It includes a few no nonsense changes to the kernel configuration and allows you to configure the PKGBUILD in a simple manner to decrease build time. If you don't want that, using `makepkg` as-is works fine too.*