Compare commits

..

22 commits

Author SHA1 Message Date
d70024da20 PKGBUILD: untuck the way generic subarch is set
Previously a really convoluted two stage 'yes' invocation
was used with that required weird formatting.

Switch to using the good old configs enabling.
2025-01-09 20:35:22 +01:00
6258f9892c PKGBUILD: add back briefly used script flags
Some users may have switched to the new flags when they
got added, some may have not. We've reverted those
updated flags in commit: 756a7d02ae

Add support for them back with a warning.
2025-01-09 00:53:39 +02:00
abff9518a7 Merge branch 'yarost12-YF-allow-using-extra-uarches-even-with-copied-config-v2' into develop 2025-01-06 18:36:31 +01:00
3dd576acca PKGBUILD: fix and simplify major kernel version check after Jeremy's attempted fix
Ree the double quote is meant to go after the equation sign!
2025-01-06 11:26:03 +02:00
4dea0881c4 PKGBUILD: allow passing the subarch value as the Kconfig name
It'll be easier to maintain for the users instead of using fixed
numbers. The doc was also updated.
2025-01-06 11:26:02 +02:00
d0fecf90fe PKGBUILD: V2: apply extra uarches patch even when defconfig is copied
Otherwise MK8 or MCORE2 is selected which results in a misoptimization.

Also ensure that Processor family choice menu is always brought up
by breaking the config a little bit.

Code formatting pass was applied, CRLF was replaced with LF
2025-01-06 11:20:36 +02:00
795a54ebd2 Revert "PKGBUILD: apply extra uarches patch even when defconfig is copied"
This reverts commit 6da003f220.
2025-01-06 11:19:14 +02:00
2e93191001 PKGBUILD: make the kernel build log less verbose
We don't really need to see every single compiled file,
just print the errors and warnings.

vscode also formatted the entire file to remove trailing spaces.
2025-01-06 11:18:28 +02:00
476799e2f9 Ignore pkg/ folder 2025-01-06 11:17:08 +02:00
ce9c9a0c58
Deprecate build tool 2025-01-06 01:34:54 +01:00
da9d48894a
Add yarost12 as co-maintainer 2025-01-06 01:34:48 +01:00
756a7d02ae
Revert non-optimal code
This revert operation has been coordinated with the package's new co-maintainer yarost12.

This commit reverts the following commits:
0bc05764dc
a50b50bd58
166084968d
ff0209bf6e
e8b74c03b1
5f6ce75201
10f612396a

This commit will revert the repository to it's state in commit 683ce48c96 (tag kernel6.12.6_clr6.12.4-1518_pkg1), with the following commits added:
8e623b5eb2
9b161b9007
2025-01-06 01:26:31 +01:00
9b161b9007
Relicense to 0BSD 2024-12-30 22:29:08 +01:00
8e623b5eb2
Add branches section 2024-12-23 01:00:08 +01:00
0bc05764dc
Fix compilation issue
See https://aur.archlinux.org/pkgbase/linux-clear#comment-1003116
2024-12-23 00:50:18 +01:00
a50b50bd58
Add another variable 2024-12-22 19:20:39 +01:00
166084968d
Fix mention 2024-12-22 19:19:55 +01:00
ff0209bf6e
Update PKGBUILD configuration section 2024-12-22 19:18:23 +01:00
e8b74c03b1
Add check for '_reuse_file' 2024-12-22 19:11:54 +01:00
5f6ce75201
Make logging work with newlines, add _error func 2024-12-22 19:11:36 +01:00
10f612396a
Make a bunch of changes
This commit:
- inlines some functions
- adds PKGBUILD debugging support
- renames of functions to avoid makepkg function collisions
- renames of configuration variables
- a smol logging facility
- changes some if statements
- fixes of some bugs
- makes the code a bit smaller
2024-12-22 18:59:35 +01:00
683ce48c96
6.12.6-1 (clr 6.12.4-1518) 2024-12-22 08:39:32 +01:00
6 changed files with 117 additions and 59 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.4 pkgver = 6.12.6
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.4.xz source = https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-6.12.6.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 = ba790766fca3eadade5cf74f0c181a8e42a77556f71d9af4b2bd4a53c8b98641 sha256sums = dd7c856f12d3e10f09743c1d3db35f91879d92890c9fb176405783c9c7cb0c54
sha256sums = SKIP sha256sums = SKIP
sha256sums = b3fd8b1c5bbd39a577afcccf6f1119fdf83f6d72119f4c0811801bdd51d1bc61 sha256sums = b3fd8b1c5bbd39a577afcccf6f1119fdf83f6d72119f4c0811801bdd51d1bc61

1
.gitignore vendored
View file

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

16
LICENSE Normal file
View file

@ -0,0 +1,16 @@
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.

3
MAINTAINERS.md Normal file
View file

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

137
PKGBUILD
View file

@ -1,8 +1,12 @@
#!/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>
# Maintainer: Josip Ponjavic <josipponjavic at gmail dot com> # This PKGBUILD is/was authored by:
# Contributor: yarost12 <yaro330@gmail.com> # - JeremyStarTM <jeremystartm@staropensource.de>
# - 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"
@ -10,17 +14,17 @@
# env _makemenuconfig=y _copyfinalconfig=y _subarch=30 makepkg # env _makemenuconfig=y _copyfinalconfig=y _subarch=30 makepkg
# Tweak kernel options prior to a build via menuconfig. # Tweak kernel options prior to a build via menuconfig.
# #
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_makemenuconfig:=""}" : "${_makemenuconfig:=""}"
# Tweak kernel options prior to a build via nconfig. # Tweak kernel options prior to a build via nconfig.
# #
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_makenconfig:=""}" : "${_makenconfig:=""}"
# Tweak kernel options prior to a build via xconfig. # Tweak kernel options prior to a build via xconfig.
# #
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_makexconfig:=""}" : "${_makexconfig:=""}"
@ -34,6 +38,10 @@
# #
# 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.
@ -45,26 +53,31 @@
# #
# 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.
# #
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_copyfinalconfig:=""}" : "${_copyfinalconfig:=""}"
# Only compile active modules to VASTLY reduce the number # Only compile active modules to VASTLY reduce the number
# of modules built and the build time. # of modules built and the build time.
# #
# To keep track of which modules are needed for your specific system/hardware, # To keep track of which modules are needed for your specific system/hardware,
# give modprobed-db a try: https://aur.archlinux.org/packages/modprobed-db # give modprobed-db a try: https://aur.archlinux.org/packages/modprobed-db
# #
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db # More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_localmodcfg:=""}" : "${_localmodcfg:=""}"
# Optionally select a sub architecture by number or # Optionally select a sub architecture by number or its Kconfig name,
# leave blank, which will require user interaction during the build. # for example MCORE2 or MZEN4.
# Note that the default option is 41. # Leaving it blank will require user interaction during the build.
# 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)
@ -115,7 +128,7 @@
# This value is only used by the GENERIC_CPU # This value is only used by the GENERIC_CPU
# subarchitecture and is required. # subarchitecture and is required.
# Can be either '1', '2', '3' or '4' # Can be either '1', '2', '3' or '4'
# #
# Set to '1' by default # Set to '1' by default
# #
# For more information see: # For more information see:
@ -126,7 +139,7 @@
# Enable compilation with LLVM # Enable compilation with LLVM
# Be warned, this is largely untested by me (JeremyStarTM). It *should* work, # Be warned, this is largely untested by me (JeremyStarTM). It *should* work,
# but if it doesn't, write a comment and I'll fix it. # but if it doesn't, write a comment and I'll fix it.
# #
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_use_llvm_lto:=""}" : "${_use_llvm_lto:=""}"
@ -135,7 +148,7 @@
# Set to 'y' to force enable, 'n' to force disable or '' to ignore debug options. # Set to 'y' to force enable, 'n' to force disable or '' to ignore debug options.
# Leaving the setting empty will use the kernel configuration setting to determine # Leaving the setting empty will use the kernel configuration setting to determine
# if debug options shall be enabled/disabled. # if debug options shall be enabled/disabled.
# #
# Set to anything but null to activate. # Set to anything but null to activate.
: "${_debug:=""}" : "${_debug:=""}"
@ -143,7 +156,7 @@
# Kernel version # Kernel version
_kernel_major=6.12 _kernel_major=6.12
_kernel_minor=4 _kernel_minor=6
# Clear Linux patches version # Clear Linux patches version
_clr=4-1518 _clr=4-1518
# kernel_compiler_patch version # kernel_compiler_patch version
@ -173,6 +186,7 @@ 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}"
@ -182,11 +196,11 @@ export "KBUILD_BUILD_TIMESTAMP=$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EP
apply_patches() { apply_patches() {
# Patch with kernel version patches # Patch with kernel version patches
patch -Np1 -i ../patch-${_kernel_major}.${_kernel_minor} || true patch -Np1 -i ../patch-${_kernel_major}.${_kernel_minor} || true
# Set version # Set version
echo "-${pkgrel}" > localversion.10-pkgrel echo "-${pkgrel}" > localversion.10-pkgrel
echo "${pkgbase#linux}" > localversion.20-pkgname echo "${pkgbase#linux}" > localversion.20-pkgname
# Patch with Clear Linux patches # Patch with Clear Linux patches
for i in $(grep '^Patch' "${srcdir}"/cl-linux/linux.spec|grep -Ev '^Patch0132|^Patch0109|^Patch0118|^Patch0113|^Patch0138|^Patch0139|^Patch0147' | sed -n 's/.*: //p'); do for i in $(grep '^Patch' "${srcdir}"/cl-linux/linux.spec|grep -Ev '^Patch0132|^Patch0109|^Patch0118|^Patch0113|^Patch0138|^Patch0139|^Patch0147' | sed -n 's/.*: //p'); do
if [ -n "${_use_llvm_lto}" ]; then if [ -n "${_use_llvm_lto}" ]; then
@ -194,7 +208,7 @@ apply_patches() {
continue continue
fi fi
fi fi
patch -Np1 -i "${srcdir}/cl-linux/${i}" || true patch -Np1 -i "${srcdir}/cl-linux/${i}" || true
done done
@ -216,7 +230,7 @@ modify_defconfig() {
# Copies the kernel config # Copies the kernel config
copy_defconfig() { copy_defconfig() {
local "_cur_major_ver=$(zcat /proc/config.gz | grep Linux | grep -o '[0-9]*[0-9]\.[0-9]*[0-9]')" local _cur_major_ver="$(uname -r | 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"
@ -241,7 +255,7 @@ update_defconfig() {
echo ":: Using configuration file \"${srcdir}/${pkgbase}/config\"" echo ":: Using configuration file \"${srcdir}/${pkgbase}/config\""
cp -Tf $srcdir/cl-linux/config ./.config cp -Tf $srcdir/cl-linux/config ./.config
fi fi
# Extra configuration # Extra configuration
# General setup # General setup
scripts/config --set-str DEFAULT_HOSTNAME archlinux \ scripts/config --set-str DEFAULT_HOSTNAME archlinux \
@ -293,7 +307,7 @@ update_defconfig() {
scripts/config -e SECURITY_LANDLOCK scripts/config -e SECURITY_LANDLOCK
# Library routines # Library routines
scripts/config -k -e FONT_TER16x32 scripts/config -k -e FONT_TER16x32
# Enable LLVM compilation # Enable LLVM compilation
[[ -n "${_use_llvm_lto}" ]] && scripts/config -d LTO_NONE \ [[ -n "${_use_llvm_lto}" ]] && scripts/config -d LTO_NONE \
-e LTO \ -e LTO \
@ -303,7 +317,7 @@ update_defconfig() {
-e HAS_LTO_CLANG \ -e HAS_LTO_CLANG \
-e LTO_CLANG_THIN \ -e LTO_CLANG_THIN \
-e HAVE_GCC_PLUGINS -e HAVE_GCC_PLUGINS
# Enable or disable debug settings # Enable or disable debug settings
[[ "${_debug}" == "y" ]] && scripts/config -e DEBUG_INFO \ [[ "${_debug}" == "y" ]] && scripts/config -e DEBUG_INFO \
-e DEBUG_INFO_BTF \ -e DEBUG_INFO_BTF \
@ -315,18 +329,35 @@ update_defconfig() {
-d DEBUG_INFO_DWARF4 \ -d DEBUG_INFO_DWARF4 \
-d PAHOLE_HAS_SPLIT_BTF \ -d PAHOLE_HAS_SPLIT_BTF \
-d DEBUG_INFO_BTF_MODULES -d DEBUG_INFO_BTF_MODULES
# Run olddefconfig # Run olddefconfig
make ${BUILD_FLAGS[*]} olddefconfig make ${BUILD_FLAGS[*]} olddefconfig
diff -u $srcdir/cl-linux/config .config || : diff -u $srcdir/cl-linux/config .config || :
# Set subarch automatically # Here we slightly break the config by removing one of the
# 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
if [ "${_subarch}" == "41" ]; then # check if subarch is a number
yes "${_subarch} if [[ ${_subarch} =~ ^[0-9]+$ ]] && ((_subarch>=1)); then
${_subarch_microarch}" | make ${BUILD_FLAGS[*]} oldconfig if [ "${_subarch}" == "41" ]; then
scripts/config -e GENERIC_CPU
scripts/config --set-val X86_64_VERSION "${_subarch_microarch}"
make ${BUILD_FLAGS[*]} oldconfig
else
yes "${_subarch}" | make ${BUILD_FLAGS[*]} oldconfig
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 else
yes "${_subarch}" | make ${BUILD_FLAGS[*]} oldconfig warning "Unrecognized subarch value: ${_subarch}"
exit 1
fi fi
else else
# Ask for subarch # Ask for subarch
@ -377,22 +408,22 @@ _package() {
"linux-firmware: firmware images needed for some devices") "linux-firmware: firmware images needed for some devices")
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE KSMBD-MODULE) provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE KSMBD-MODULE)
install=linux.install install=linux.install
cd "${_src_linux}" || exit 1 cd "${_src_linux}" || exit 1
local "modulesdir=${pkgdir}/usr/lib/modules/$(<version)" local "modulesdir=${pkgdir}/usr/lib/modules/$(<version)"
# Create boot image # Create boot image
# systemd expects to find the kernel there to allow hibernation # systemd expects to find the kernel there to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344 # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
install -Dm644 "$(make -s image_name)" "${modulesdir}/vmlinuz" install -Dm644 "$(make -s image_name)" "${modulesdir}/vmlinuz"
# Used by mkinitcpio to name the kernel # Used by mkinitcpio to name the kernel
echo "${pkgbase}" | install -Dm644 /dev/stdin "${modulesdir}/pkgbase" echo "${pkgbase}" | install -Dm644 /dev/stdin "${modulesdir}/pkgbase"
# Install modules # Install modules
ZSTD_CLEVEL=19 make ${BUILD_FLAGS[*]} INSTALL_MOD_PATH="${pkgdir}/usr" INSTALL_MOD_STRIP=1 \ ZSTD_CLEVEL=19 make ${BUILD_FLAGS[*]} INSTALL_MOD_PATH="${pkgdir}/usr" INSTALL_MOD_STRIP=1 \
DEPMOD=/doesnt/exist modules_install # Suppress depmod DEPMOD=/doesnt/exist modules_install # Suppress depmod
# Remove build directory # Remove build directory
rm "${modulesdir}"/build rm "${modulesdir}"/build
} }
@ -401,42 +432,42 @@ _package() {
_package-headers() { _package-headers() {
pkgdesc="${pkgdesc} This package includes header files and scripts for building kernel modules." pkgdesc="${pkgdesc} This package includes header files and scripts for building kernel modules."
depends=("pahole") depends=("pahole")
cd "${_src_linux}" || exit 1 cd "${_src_linux}" || exit 1
local "builddir=${pkgdir}/usr/lib/modules/$(<version)/build" local "builddir=${pkgdir}/usr/lib/modules/$(<version)/build"
install -Dt "${builddir}" -m644 .config Makefile Module.symvers System.map \ install -Dt "${builddir}" -m644 .config Makefile Module.symvers System.map \
localversion.* version vmlinux localversion.* version vmlinux
install -Dt "${builddir}/kernel" -m644 kernel/Makefile install -Dt "${builddir}/kernel" -m644 kernel/Makefile
install -Dt "${builddir}/arch/x86" -m644 arch/x86/Makefile install -Dt "${builddir}/arch/x86" -m644 arch/x86/Makefile
cp -t "${builddir}" -a scripts cp -t "${builddir}" -a scripts
# Required when STACK_VALIDATION is enabled # Required when STACK_VALIDATION is enabled
install -Dt "${builddir}/tools/objtool" tools/objtool/objtool install -Dt "${builddir}/tools/objtool" tools/objtool/objtool
# Required when DEBUG_INFO_BTF_MODULES is enabled # Required when DEBUG_INFO_BTF_MODULES is enabled
[[ -f tools/bpf/resolve_btfids/resolve_btfids ]] && install -Dt "${builddir}/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids [[ -f tools/bpf/resolve_btfids/resolve_btfids ]] && install -Dt "${builddir}/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
cp -t "${builddir}" -a include cp -t "${builddir}" -a include
cp -t "${builddir}/arch/x86" -a arch/x86/include cp -t "${builddir}/arch/x86" -a arch/x86/include
install -Dt "${builddir}/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s install -Dt "${builddir}/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
install -Dt "${builddir}/drivers/md" -m644 drivers/md/*.h install -Dt "${builddir}/drivers/md" -m644 drivers/md/*.h
install -Dt "${builddir}/net/mac80211" -m644 net/mac80211/*.h install -Dt "${builddir}/net/mac80211" -m644 net/mac80211/*.h
# https://bugs.archlinux.org/task/13146 # https://bugs.archlinux.org/task/13146
install -Dt "${builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h install -Dt "${builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# https://bugs.archlinux.org/task/20402 # https://bugs.archlinux.org/task/20402
install -Dt "${builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h install -Dt "${builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "${builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h install -Dt "${builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "${builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h install -Dt "${builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h
# https://bugs.archlinux.org/task/71392 # https://bugs.archlinux.org/task/71392
install -Dt "${builddir}/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h install -Dt "${builddir}/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
find . -name 'Kconfig*' -exec install -Dm644 {} "${builddir}/{}" \; find . -name 'Kconfig*' -exec install -Dm644 {} "${builddir}/{}" \;
# Remove redundant architectures # Remove redundant architectures
local arch local arch
for arch in "${builddir}"/arch/*/; do for arch in "${builddir}"/arch/*/; do
@ -444,16 +475,16 @@ _package-headers() {
echo "Removing $(basename "${arch}")" echo "Removing $(basename "${arch}")"
rm -r "${arch}" rm -r "${arch}"
done done
# Remove documentation # Remove documentation
rm -r "${builddir}/Documentation" rm -r "${builddir}/Documentation"
# Remove broken symlinks # Remove broken symlinks
find -L "${builddir}" -type l -printf "Removing %P\n" -delete find -L "${builddir}" -type l -printf "Removing %P\n" -delete
# Remove loose objects # Remove loose objects
find "${builddir}" -type f -name '*.o' -printf "Removing %P\n" -delete find "${builddir}" -type f -name '*.o' -printf "Removing %P\n" -delete
# Strip build tools # Strip build tools
local file local file
while read -rd "" file; do while read -rd "" file; do
@ -468,10 +499,10 @@ _package-headers() {
strip -v $STRIP_SHARED "$file" ;; strip -v $STRIP_SHARED "$file" ;;
esac esac
done < <(find "${builddir}" -type f -perm -u+x ! -name vmlinux -print0) done < <(find "${builddir}" -type f -perm -u+x ! -name vmlinux -print0)
# Strip vmlinux # Strip vmlinux
strip -v $STRIP_STATIC "${builddir}/vmlinux" strip -v $STRIP_STATIC "${builddir}/vmlinux"
# Add symlink to build directory # Add symlink to build directory
mkdir -p "$pkgdir/usr/src" mkdir -p "$pkgdir/usr/src"
ln -sr "${builddir}" "$pkgdir/usr/src/$pkgbase" ln -sr "${builddir}" "$pkgdir/usr/src/$pkgbase"
@ -494,6 +525,6 @@ validpgpkeys=(
) )
sha256sums=("b1a2562be56e42afb3f8489d4c2a7ac472ac23098f1ef1c1e40da601f54625eb" sha256sums=("b1a2562be56e42afb3f8489d4c2a7ac472ac23098f1ef1c1e40da601f54625eb"
"SKIP" "SKIP"
"ba790766fca3eadade5cf74f0c181a8e42a77556f71d9af4b2bd4a53c8b98641" "dd7c856f12d3e10f09743c1d3db35f91879d92890c9fb176405783c9c7cb0c54"
"SKIP" "SKIP"
"b3fd8b1c5bbd39a577afcccf6f1119fdf83f6d72119f4c0811801bdd51d1bc61") "b3fd8b1c5bbd39a577afcccf6f1119fdf83f6d72119f4c0811801bdd51d1bc61")

View file

@ -36,9 +36,16 @@ 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
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. The linux-clear package is licensed under the BSD Zero-Clause License.
I have contacted [metak](https://aur.archlinux.org/account/metak) (the previous maintainer) to negotiate a license. 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).
## 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.* ~~*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.