Compare commits
31 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
13e3a3ac21 | ||
|
4616e8a334 | ||
|
0669717533 | ||
|
3eb0fca482 | ||
|
3c4f81daa3 | ||
|
d465b7bbd0 | ||
|
17d26874f0 | ||
|
8fa230cc47 | ||
|
5c7f413670 | ||
|
430895448e | ||
|
12f4af77d1 | ||
|
9f4e3a6ab4 | ||
|
b711bc9d4b | ||
|
27a63d3151 | ||
|
129d26c332 | ||
|
a7110488dd | ||
|
8d7c65690a | ||
|
2fb0ab964e | ||
|
c146fa94b6 | ||
|
3d2b09d984 | ||
|
d9aa0ce0e6 | ||
|
3a62d00e93 | ||
|
3cdda62d46 | ||
|
2a3ef54e6e | ||
|
cce2db1c9f | ||
|
06eb48b3e3 | ||
|
a38ef1643c | ||
|
86578256b7 | ||
|
5298957d9b | ||
|
8c776ecf64 | ||
|
a6877bd422 |
@@ -10,6 +10,8 @@ env:
|
||||
_processor_opt: "generic"
|
||||
PKGDEST: "/tmp/linux-tkg"
|
||||
_debugdisable: "true"
|
||||
_kernel_work_folder: "/tmp"
|
||||
_kernel_source_folder: "/tmp"
|
||||
# _modprobeddb: "true"
|
||||
# _modprobeddb_db_path: ${{ github.workspace }}/modprobed.db
|
||||
|
||||
|
25
PKGBUILD
25
PKGBUILD
@@ -48,8 +48,6 @@ fi
|
||||
|
||||
source "$_where"/BIG_UGLY_FROGMINER
|
||||
|
||||
_srcpath="linux-src-git"
|
||||
|
||||
if [ -n "$_custom_pkgbase" ]; then
|
||||
pkgbase="${_custom_pkgbase}"
|
||||
else
|
||||
@@ -81,10 +79,12 @@ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EP
|
||||
prepare() {
|
||||
rm -rf $pkgdir # Nuke the entire pkg folder so it'll get regenerated clean on next build
|
||||
|
||||
ln -s "${_where}/customization.cfg" "${srcdir}" # workaround
|
||||
ln -s "${_where}/linux-src-git" "${srcdir}" # workaround, this doesn't respect tmpfs choice
|
||||
|
||||
cd "${srcdir}/${_srcpath}"
|
||||
_define_kernel_abs_paths
|
||||
if [ -e "${srcdir}/customization.cfg" ]; then
|
||||
msg2 "Nuking remnant customization.cfg symlink" && rm -rf "${srcdir}/customization.cfg"
|
||||
fi
|
||||
ln -s "${_where}/customization.cfg" "${srcdir}"
|
||||
ln -s "${_kernel_work_folder_abs}" "${srcdir}"
|
||||
|
||||
source "${_where}/current_env"
|
||||
|
||||
@@ -92,7 +92,7 @@ prepare() {
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${_srcpath}"
|
||||
cd "$_kernel_work_folder_abs"
|
||||
|
||||
# Use custom compiler paths if defined
|
||||
if [ "$_compiler_name" = "-llvm" ] && [ -n "${CUSTOM_LLVM_PATH}" ]; then
|
||||
@@ -143,7 +143,8 @@ hackbase() {
|
||||
fi
|
||||
replaces=(virtualbox-guest-modules-arch wireguard-arch)
|
||||
|
||||
cd "${srcdir}/${_srcpath}"
|
||||
_define_kernel_abs_paths
|
||||
cd "$_kernel_work_folder_abs"
|
||||
|
||||
# get kernel version
|
||||
local _kernver="$(<version)"
|
||||
@@ -173,9 +174,9 @@ hackbase() {
|
||||
install -Dm644 "${srcdir}"/customization-full.cfg "${pkgdir}/usr/share/doc/${pkgbase}/customization.cfg"
|
||||
|
||||
# workaround for missing header with winesync
|
||||
if [ -e "${srcdir}/${_srcpath}/include/uapi/linux/winesync.h" ]; then
|
||||
if [ -e "${_kernel_work_folder_abs}/include/uapi/linux/winesync.h" ]; then
|
||||
msg2 "Workaround missing winesync header"
|
||||
install -Dm644 "${srcdir}/${_srcpath}"/include/uapi/linux/winesync.h "${pkgdir}/usr/include/linux/winesync.h"
|
||||
install -Dm644 "${_kernel_work_folder_abs}"/include/uapi/linux/winesync.h "${pkgdir}/usr/include/linux/winesync.h"
|
||||
fi
|
||||
|
||||
# load winesync module at boot
|
||||
@@ -202,7 +203,9 @@ hackheaders() {
|
||||
;;
|
||||
esac
|
||||
|
||||
cd "${srcdir}/${_srcpath}"
|
||||
_define_kernel_abs_paths
|
||||
cd "$_kernel_work_folder_abs"
|
||||
|
||||
local builddir="${pkgdir}/usr/lib/modules/$(<version)/build"
|
||||
|
||||
msg2 "Installing build files..."
|
||||
|
18
README.md
18
README.md
@@ -7,6 +7,7 @@ This repository provides scripts to automatically download, patch and compile th
|
||||
- **Non-pacman distros support can be considered experimental. You're invited to report issues you might encounter with it.**
|
||||
- **If your distro isn't using systemd, please set _configfile="running-kernel" in customization.cfg or you might end up with a non-bootable kernel**
|
||||
|
||||
- Keep in mind building recent linux kernels with GCC will require ~20-25GB of disk space. Using llvm/clang, LTO, ccache and/or enabling more drivers in the defconfig will push that requirement higher, so make sure you have enough free space on the volume you're using to build.
|
||||
- In `intel_pstate` driver, frequency scaling aggressiveness has been changed with kernel 5.5 which results in stutters and poor performance in low/medium load scenarios (for higher power savings). As a workaround for our gaming needs, we are setting it to passive mode to make use of the `acpi_cpufreq` governor passthrough, keeping full support for turbo frequencies. It's combined with our aggressive ondemand governor by default for good performance on most CPUs while keeping frequency scaling for power savings. In a typical low/medium load scenario (Core i7 9700k, playing Mario Galaxy on Dolphin emulator) intel_pstate in performance mode gives a stuttery 45-50 fps experience, while passive mode + aggressive ondemand offers a locked 60 fps.
|
||||
- Nvidia's proprietary drivers might need to be patched if they don't support your chosen kernel OOTB: [Frogging-Family nvidia-all](https://github.com/Frogging-Family/nvidia-all) can do that automatically for you.
|
||||
- Note regarding kernels older than 5.9 on Arch Linux: since the switch to `zstd` compressed `initramfs` by default, you will face an `invalid magic at start of compress` error by default. You can workaround the issue by editing `/etc/mkinitcpio.conf` to uncomment the `COMPRESSION="lz4"` (for example, since that's the best option after zstd) line and regenerating `initramfs` for all kernels with `sudo mkinitpcio -P`
|
||||
@@ -19,8 +20,10 @@ This repository provides scripts to automatically download, patch and compile th
|
||||
Alternative schedulers are available to you in linux-tkg:
|
||||
- Project C / PDS & BMQ by Alfred Chen: [blog](http://cchalpha.blogspot.com/ ), [code repository](https://gitlab.com/alfredchen/projectc)
|
||||
- MuQSS by Con Kolivas : [blog](http://ck-hack.blogspot.com/), [code repository](https://github.com/ckolivas/linux)
|
||||
- CacULE by Hamad Marri: [code repository](https://github.com/hamadmarri/cacule-cpu-scheduler)
|
||||
- Undead PDS: TkG's port of the pre-Project C "PDS-mq" scheduler by Alfred Chen. While PDS-mq got dropped with kernel 5.1 in favor of its BMQ evolution/rework, it wasn't on par with PDS-mq in gaming. "U" PDS still performs better in some cases than other schedulers, so it's been kept undead.
|
||||
- CacULE by Hamad Marri - CFS based : [code repository](https://github.com/hamadmarri/cacule-cpu-scheduler)
|
||||
- Task Type (TT) by Hamad Marri - CFS based : [code repository](https://github.com/hamadmarri/TT-CPU-Scheduler)
|
||||
- BORE (Burst-Oriented Response Enhancer) by Masahito Suzuki - CFS based : [code repository](https://github.com/firelzrd/bore-scheduler)
|
||||
- Undead PDS : TkG's port of the pre-Project C "PDS-mq" scheduler by Alfred Chen. While PDS-mq got dropped with kernel 5.1 in favor of its BMQ evolution/rework, it wasn't on par with PDS-mq in gaming. "U" PDS still performed better in some cases than other schedulers, so it's been kept undead for a while.
|
||||
|
||||
These alternative schedulers can offer a better performance/latency ratio for gaming and desktop use. The availability of each scheduler depends on the chosen Kernel version: the script will display what's available on a per-version basis.
|
||||
#### Default tweaks
|
||||
@@ -119,17 +122,6 @@ cd path/to/linux-tkg
|
||||
```
|
||||
The script will use a slightly modified Arch config from the `linux-tkg-config` folder, it can be changed through the `_configfile` variable in `customization.cfg`.
|
||||
|
||||
#### Void Linux
|
||||
```shell
|
||||
git clone -b tkg https://github.com/Hyper-KVM/void-packages/
|
||||
cd void-packages
|
||||
./xbps-src binary-bootstrap
|
||||
# Optional: edit customization.cfg located in srcpkgs/linux-tkg/files
|
||||
# Optional: add custom userpatches with the ".mypatch" extension to srcpkgs/linux-tkg/files/mypatches
|
||||
./xbps-src pkg -j$(nproc) linux-tkg
|
||||
```
|
||||
If you have to restart the build for any reason, run `./xbps-src clean linux-tkg` first.
|
||||
|
||||
#### Generic install
|
||||
The interactive `install.sh` script can be used to perform a "Generic" install by choosing `Generic` when prompted. It git clones the kernel tree in the `linux-src-git` folder, patches the code and edits a `.config` file in it. The commands to do are the following:
|
||||
```shell
|
||||
|
@@ -1,9 +1,9 @@
|
||||
# linux-TkG config file
|
||||
|
||||
# Linux distribution you are using, options are "Arch", "Void", "Ubuntu", "Debian", "Fedora", "Suse", "Gentoo", "Generic".
|
||||
# Linux distribution you are using, options are "Arch", "Ubuntu", "Debian", "Fedora", "Suse", "Gentoo", "Generic".
|
||||
# It is automatically set to "Arch" when using PKGBUILD.
|
||||
# If left empty, the script will prompt
|
||||
_distro=""
|
||||
_distro="Arch"
|
||||
|
||||
# Kernel Version - Options are "5.4", and from "5.7" to "5.19"
|
||||
# you can also set a specific kernel version, e.g. "6.0-rc4" or "5.10.51",
|
||||
@@ -23,6 +23,20 @@ _NUKR="true"
|
||||
# Git mirror to use to get the kernel sources, possible values are "kernel.org", "googlesource.com", "github.com" and "torvalds"
|
||||
_git_mirror="kernel.org"
|
||||
|
||||
# Root folder where to checkout the kernel sources (linux-src-git subdir) and build
|
||||
# Note: - Leave empty to use PKGBUILD's dir
|
||||
# - Start with a '/' for an absolute path in which `linux-tkg/linux-src-git/` will be created
|
||||
# - This setting can be used to set the work/build folder to a tmpfs folder
|
||||
# - Requires >= 32GB ram when building a full kernel, should work with less ram with modprobed-db
|
||||
_kernel_work_folder=""
|
||||
|
||||
# Permanent root folder where to keep the git clone (linux-kernel.git subdir) and fetch new blobs
|
||||
# Note: - Leave empty to use PKGBUILD's dir
|
||||
# - Start with a '/' for an absolute path in which `linux-tkg/linux-kernel.git/` will be created
|
||||
# - If your internet is faster than your storage, it may be wise to put this folder
|
||||
# in a tmpfs location (although it will reclone after each restart / tmpfs folder cleanup)
|
||||
_kernel_source_folder=""
|
||||
|
||||
# Custom compiler root dirs - Leave empty to use system compilers
|
||||
# Example: CUSTOM_GCC_PATH="/home/frog/PKGBUILDS/mostlyportable-gcc/gcc-mostlyportable-9.2.0"
|
||||
CUSTOM_GCC_PATH=""
|
||||
@@ -32,7 +46,7 @@ CUSTOM_GCC_PATH=""
|
||||
CUSTOM_LLVM_PATH=""
|
||||
|
||||
# Set to true to bypass makepkg.conf and use all available threads for compilation. False will respect your makepkg.conf options.
|
||||
_force_all_threads="true"
|
||||
_force_all_threads="false"
|
||||
|
||||
# Set to true to prevent ccache from being used and set CONFIG_GCC_PLUGINS=y (which needs to be disabled for ccache to work properly)
|
||||
_noccache="false"
|
||||
@@ -46,25 +60,14 @@ _modprobeddb="false"
|
||||
_modprobeddb_db_path=~/.config/modprobed.db
|
||||
|
||||
# Set to "1" to call make menuconfig, "2" to call make nconfig, "3" to call make xconfig, before building the kernel. Set to false to disable and skip the prompt.
|
||||
_menunconfig=""
|
||||
_menunconfig="false"
|
||||
|
||||
# Set to true to generate a kernel config fragment from your changes in menuconfig/nconfig. Set to false to disable and skip the prompt.
|
||||
_diffconfig=""
|
||||
_diffconfig="false"
|
||||
|
||||
# Set to the file name where the generated config fragment should be written to. Only used if _diffconfig is active.
|
||||
_diffconfig_name=""
|
||||
|
||||
# [install.sh specific] Use tmpfs as a work directory, recommended when RAM >= 32GB to reduce HDD/SSD usage. For more information, see https://wiki.archlinux.org/title/Tmpfs
|
||||
_use_tmpfs="false"
|
||||
|
||||
# Always make a fresh clone of the source in tmpfs to speed up compilation times
|
||||
# ! This will take ~20GB of RAM by itself, so don't use on <32GB RAM systems !
|
||||
_source_in_tmpfs="false"
|
||||
|
||||
# [install.sh specific] tmpfs folder path, only used when _use_tmpfs="true".
|
||||
# Creates a linux-tkg work folder within that pathmake sure to have nothing important in "$_tmpfs_path/linux-tkg"
|
||||
_tmpfs_path="/tmp"
|
||||
|
||||
# [install.sh: Generic and Gentoo specific] Dracut options when generating initramfs
|
||||
_dracut_options="--lz4"
|
||||
|
||||
@@ -93,12 +96,12 @@ _STRIP="true"
|
||||
|
||||
# LEAVE AN EMPTY VALUE TO BE PROMPTED ABOUT FOLLOWING OPTIONS AT BUILD TIME
|
||||
|
||||
# CPU scheduler - Options are "upds" (TkG's Undead PDS), "pds", "bmq", "muqss", "cacule" or "cfs" (kernel's default)
|
||||
_cpusched=""
|
||||
# CPU scheduler - Options are "upds" (TkG's Undead PDS), "pds", "bmq", "muqss", "cacule", "tt", "bore" or "cfs" (kernel's default)
|
||||
_cpusched="pds"
|
||||
|
||||
# Compiler to use - Options are "gcc" or "llvm".
|
||||
# For advanced users.
|
||||
_compiler=""
|
||||
_compiler="gcc"
|
||||
|
||||
# Force the use of the LLVM Integrated Assembler whether using LLVM, LTO or not.
|
||||
# Set to "1" to enable.
|
||||
@@ -128,7 +131,7 @@ _preempt_rt_force=""
|
||||
# For BMQ: 0: No yield.
|
||||
# 1: Deboost and requeue task. (Default)
|
||||
# 2: Set rq skip task.
|
||||
_sched_yield_type=""
|
||||
_sched_yield_type="0"
|
||||
|
||||
# Round Robin interval is the longest duration two tasks with the same nice level will be delayed for. When CPU time is requested by a task, it receives a time slice equal
|
||||
# to the rr_interval in addition to a virtual deadline. When using yield_type 2, a low value can help offset the disadvantages of rescheduling a process that has yielded.
|
||||
@@ -136,7 +139,7 @@ _sched_yield_type=""
|
||||
# PDS default: 4ms"
|
||||
# BMQ default: 2ms"
|
||||
# Set to "1" for 2ms, "2" for 4ms, "3" for 6ms, "4" for 8ms, or "default" to keep the chosen scheduler defaults.
|
||||
_rr_interval=""
|
||||
_rr_interval="2"
|
||||
|
||||
# Set to "true" to disable FUNCTION_TRACER/GRAPH_TRACER, lowering overhead but limiting debugging and analyzing of kernel functions - Kernel default is "false"
|
||||
_ftracedisable="false"
|
||||
@@ -151,10 +154,10 @@ _misc_adds="true"
|
||||
# Full tickless can give higher performances in case you use isolation of CPUs for tasks
|
||||
# and it works only when using the nohz_full kernel parameter, otherwise behaves like idle.
|
||||
# Just tickless idle perform better for most platforms.
|
||||
_tickless=""
|
||||
_tickless="2"
|
||||
|
||||
# Set to "true" to use ACS override patch - https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Bypassing_the_IOMMU_groups_.28ACS_override_patch.29 - Kernel default is "false"
|
||||
_acs_override=""
|
||||
_acs_override="false"
|
||||
|
||||
# Set to "true" to add Bcache filesystem support. You'll have to install bcachefs-tools-git from AUR for utilities - https://bcachefs.org/ - If in doubt, set to "false"
|
||||
# This can be buggy and isn't recommended on a production machine, also enabling this option will not allow you to enable MGLRU.
|
||||
@@ -183,13 +186,13 @@ _futex_waitv="false"
|
||||
_winesync="false"
|
||||
|
||||
# Set to "true" to enable Binder and Ashmem, the kernel modules required to use the android emulator Anbox. ! This doesn't apply to 5.4.y !
|
||||
_anbox=""
|
||||
_anbox="false"
|
||||
|
||||
# A selection of patches from Zen/Liquorix kernel and additional tweaks for a better gaming experience (ZENIFY) - Default is "true"
|
||||
_zenify="true"
|
||||
|
||||
# compiler optimization level - 1. Optimize for performance (-O2); 2. Optimize harder (-O3); 3. Optimize for size (-Os) - Kernel default is "1"
|
||||
_compileroptlevel="1"
|
||||
_compileroptlevel="2"
|
||||
|
||||
# CPU compiler optimizations - Defaults to prompt at kernel config if left empty
|
||||
# AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3" "zen4" (zen3 opt support depends on GCC11) (zen4 opt support depends on GCC13)
|
||||
@@ -203,7 +206,7 @@ _compileroptlevel="1"
|
||||
# - "generic_v2" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v2
|
||||
# - "generic_v3" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v3
|
||||
# - "generic_v4" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v4
|
||||
_processor_opt=""
|
||||
_processor_opt="skylake"
|
||||
|
||||
# MuQSS only - Make IRQ threading compulsory (FORCE_IRQ_THREADING) - Default is "false"
|
||||
_irq_threading="false"
|
||||
@@ -219,7 +222,7 @@ _cacule_rdb_interval="19"
|
||||
_tt_high_hz="false"
|
||||
|
||||
# MuQSS and PDS only - SMT (Hyperthreading) aware nice priority and policy support (SMT_NICE) - Kernel default is "true" - You can disable this on non-SMT/HT CPUs for lower overhead
|
||||
_smt_nice=""
|
||||
_smt_nice="true"
|
||||
|
||||
# Trust the CPU manufacturer to initialize Linux's CRNG (RANDOM_TRUST_CPU) - Kernel default is "false"
|
||||
_random_trust_cpu="true"
|
||||
@@ -229,7 +232,7 @@ _random_trust_cpu="true"
|
||||
_runqueue_sharing=""
|
||||
|
||||
# Timer frequency - "100" "250" "300" "500" "750" "1000" ("2000" is available for cacule cpusched only) - More options available in kernel config prompt when left empty depending on selected cpusched with the default option pointed with a ">" (2000 for cacule, 100 for muqss and 1000 for other cpu schedulers)
|
||||
_timer_freq=""
|
||||
_timer_freq="500"
|
||||
|
||||
# Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil)
|
||||
_default_cpu_gov="ondemand"
|
||||
|
28
install.sh
28
install.sh
@@ -83,7 +83,7 @@ _install_dependencies() {
|
||||
|
||||
if [ "$1" != "install" ] && [ "$1" != "config" ] && [ "$1" != "uninstall-help" ]; then
|
||||
msg2 "Argument not recognised, options are:
|
||||
- config : interactive script that shallow clones the linux 5.x.y git tree into the folder linux-src-git, then applies extra patches and prepares the .config file
|
||||
- config : interactive script that shallow clones the linux 5.x.y git tree into the folder \$_kernel_work_folder, then applies extra patches and prepares the .config file
|
||||
by copying the one from the currently running linux system and updates it.
|
||||
- install : does the config step, proceeds to compile, then prompts to install
|
||||
- 'DEB' distros: it creates .deb packages that will be installed then stored in the DEBS folder.
|
||||
@@ -136,24 +136,9 @@ if [ "$1" = "install" ] || [ "$1" = "config" ]; then
|
||||
_distro=""
|
||||
fi
|
||||
|
||||
# cd into the linux-src folder is important before calling _tkg_srcprep
|
||||
cd "$_where/linux-src-git"
|
||||
_tkg_srcprep
|
||||
|
||||
_build_dir="$_where"
|
||||
if [ "$_use_tmpfs" = "true" ]; then
|
||||
if [ -d "$_tmpfs_path/linux-tkg" ]; then
|
||||
msg2 "Nuking linux-tkg tmpfs folder $_tmpfs_path/linux-tkg"
|
||||
rm -rf "$_tmpfs_path/linux-tkg"
|
||||
fi
|
||||
mkdir "$_tmpfs_path/linux-tkg"
|
||||
cp -r "$_where/linux-src-git" "$_tmpfs_path/linux-tkg/linux-src-git"
|
||||
|
||||
# cd into the linux-src folder is important before calling _tkg_srcprep
|
||||
_build_dir="$_tmpfs_path/linux-tkg"
|
||||
cd "$_tmpfs_path/linux-tkg/linux-src-git"
|
||||
fi
|
||||
|
||||
_build_dir="$_kernel_work_folder_abs/.."
|
||||
|
||||
# Uppercase characters are not allowed in source package name for debian based distros
|
||||
if [[ "$_distro" =~ ^(Debian|Ubuntu)$ && "$_cpusched" = "MuQSS" ]]; then
|
||||
@@ -221,6 +206,8 @@ if [ "$1" = "install" ]; then
|
||||
#_runtime=$( time ( schedtool -B -n 1 -e ionice -n 1 "$@" 2>&1 ) 3>&1 1>&2 2>&3 ) || _runtime=$( time ( "$@" 2>&1 ) 3>&1 1>&2 2>&3 ) - Bash 5.2 is broken https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1018727
|
||||
#}
|
||||
|
||||
cd "$_kernel_work_folder_abs"
|
||||
|
||||
if [[ "$_distro" =~ ^(Ubuntu|Debian)$ ]]; then
|
||||
|
||||
msg2 "Building kernel DEB packages"
|
||||
@@ -262,10 +249,7 @@ if [ "$1" = "install" ]; then
|
||||
_extra_ver_str="_${_kernel_flavor}"
|
||||
fi
|
||||
|
||||
_fedora_work_dir="${HOME}/.cache/linux-tkg-rpmbuild"
|
||||
if [ "$_use_tmpfs" = "true" ]; then
|
||||
_fedora_work_dir="$_tmpfs_path/linux-tkg/linux-tkg-rpmbuild"
|
||||
fi
|
||||
_fedora_work_dir="$_kernel_work_folder_abs/linux-tkg-rpmbuild"
|
||||
|
||||
msg2 "Building kernel RPM packages"
|
||||
RPMOPTS="--define '_topdir ${_fedora_work_dir}'" make ${llvm_opt} -j ${_thread_num} rpm-pkg EXTRAVERSION="${_extra_ver_str}"
|
||||
@@ -432,7 +416,7 @@ if [ "$1" = "uninstall-help" ]; then
|
||||
msg2 "Note: linux-libc-dev packages are no longer created and installed, you can safely remove any remnants."
|
||||
elif [ "$_distro" = "Fedora" ]; then
|
||||
msg2 "List of installed custom tkg kernels: "
|
||||
dnf list --installed kernel*
|
||||
dnf list --installed | grep -i "tkg"
|
||||
msg2 "To uninstall a version, you should remove the kernel, kernel-headers and kernel-devel associated to it (if installed), with: "
|
||||
msg2 " sudo dnf remove --noautoremove kernel-VERSION kernel-devel-VERSION kernel-headers-VERSION"
|
||||
msg2 " where VERSION is displayed in the second column"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 6.2.0-rc1 Kernel Configuration
|
||||
# Linux/x86 6.2.0-rc4 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
@@ -206,6 +206,7 @@ CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
|
||||
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
|
||||
CONFIG_CC_HAS_INT128=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_GCC11_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC12_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_ARCH_SUPPORTS_INT128=y
|
||||
@@ -241,6 +242,7 @@ CONFIG_UTS_NS=y
|
||||
CONFIG_TIME_NS=y
|
||||
CONFIG_IPC_NS=y
|
||||
CONFIG_USER_NS=y
|
||||
CONFIG_USER_NS_UNPRIVILEGED=y
|
||||
CONFIG_PID_NS=y
|
||||
CONFIG_NET_NS=y
|
||||
CONFIG_CHECKPOINT_RESTORE=y
|
||||
@@ -2546,6 +2548,7 @@ CONFIG_BLK_DEV_NBD=m
|
||||
CONFIG_BLK_DEV_RAM=m
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=16384
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
CONFIG_ATA_OVER_ETH=m
|
||||
CONFIG_XEN_BLKDEV_FRONTEND=m
|
||||
CONFIG_XEN_BLKDEV_BACKEND=m
|
||||
|
@@ -283,9 +283,9 @@ _set_cpu_scheduler() {
|
||||
_avail_cpu_scheds=("cfs" "pds" "bmq" "tt" "bore")
|
||||
elif [ "$_kver" = "601" ]; then
|
||||
_avail_cpu_scheds=("cfs" "pds" "bmq" "tt" "bore")
|
||||
_projectc_unoff=1
|
||||
elif [ "$_kver" = "602" ]; then
|
||||
_avail_cpu_scheds=("cfs" "tt" "bore")
|
||||
_avail_cpu_scheds=("cfs" "pds" "bmq" "tt" "bore")
|
||||
_projectc_unoff=1
|
||||
else
|
||||
_avail_cpu_scheds=("cfs")
|
||||
fi
|
||||
@@ -382,8 +382,31 @@ _set_compiler(){
|
||||
echo -e "_compiler_name='$_compiler_name'\nllvm_opt='$llvm_opt'" >> "$_where"/BIG_UGLY_FROGMINER
|
||||
}
|
||||
|
||||
_define_kernel_abs_paths() {
|
||||
|
||||
_linux_git_branch_checkout() {
|
||||
source "$_where"/BIG_UGLY_FROGMINER
|
||||
|
||||
if [ -z "$_kernel_work_folder_abs" ]; then
|
||||
_kernel_work_folder_abs="$_where/$_kernel_work_folder/linux-src-git"
|
||||
if [[ "$_kernel_work_folder" == /* ]]; then
|
||||
_kernel_work_folder_abs="$_kernel_work_folder/linux-tkg/linux-src-git"
|
||||
fi
|
||||
echo -e "_kernel_work_folder_abs=\"$_kernel_work_folder_abs\"" >> "$_where"/BIG_UGLY_FROGMINER
|
||||
fi
|
||||
|
||||
if [ -z "$_kernel_source_folder_abs" ]; then
|
||||
_kernel_source_folder_abs="$_where/$_kernel_source_folder/linux-kernel.git"
|
||||
if [[ "$_kernel_source_folder" == /* ]]; then
|
||||
_kernel_source_folder_abs="$_kernel_source_folder/linux-tkg/linux-kernel.git"
|
||||
fi
|
||||
echo -e "_kernel_source_folder_abs=\"$_kernel_source_folder_abs\"" >> "$_where"/BIG_UGLY_FROGMINER
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
_setup_kernel_work_folder() {
|
||||
|
||||
_define_kernel_abs_paths
|
||||
|
||||
if [ -z "$_kernel_git_tag" ]; then
|
||||
warning "internal error: kernel version should be chosen before cloning kernel sources"
|
||||
@@ -392,85 +415,44 @@ _linux_git_branch_checkout() {
|
||||
|
||||
cd "$_where"
|
||||
|
||||
if ! [ -d linux-src-git ] || ( [ "$_source_in_tmpfs" = "true" ] && ! [ -d /tmp/linux-src-git ] ); then
|
||||
if ! [ -d "$_kernel_source_folder_abs" ]; then
|
||||
msg2 "First initialization of the linux source code git folder"
|
||||
if [ "$_source_in_tmpfs" = "true" ]; then
|
||||
rm -rf "${_where}/linux-src-git"
|
||||
mkdir "/tmp/linux-src-git"
|
||||
ln -s "/tmp/linux-src-git" "${_where}"
|
||||
else
|
||||
mkdir linux-src-git
|
||||
fi
|
||||
cd linux-src-git
|
||||
git init
|
||||
|
||||
for remote in "${!_kernel_git_remotes[@]}"; do
|
||||
git remote add "$remote" "${_kernel_git_remotes[$remote]}"
|
||||
done
|
||||
else
|
||||
if [ "$_source_in_tmpfs" = "true" ]; then
|
||||
rm -rf "${_where}/linux-src-git"
|
||||
ln -s "/tmp/linux-src-git" "${_where}"
|
||||
mkdir -p "$_kernel_source_folder_abs"
|
||||
cd "$_kernel_source_folder_abs"
|
||||
git init --bare
|
||||
fi
|
||||
|
||||
cd linux-src-git
|
||||
|
||||
# Remove "origin" remote if present
|
||||
if git remote -v | grep -w "origin" ; then
|
||||
git remote rm origin
|
||||
fi
|
||||
cd "$_kernel_source_folder_abs"
|
||||
|
||||
# Add remotes if needed
|
||||
for remote in "${!_kernel_git_remotes[@]}"; do
|
||||
if ! git remote -v | grep -w "$remote" ; then
|
||||
git remote add "$remote" "${_kernel_git_remotes[$remote]}"
|
||||
fi
|
||||
done
|
||||
|
||||
msg2 "Current branch: $(git branch | grep "\*")"
|
||||
msg2 "Reseting files to their original state"
|
||||
|
||||
git reset --hard HEAD
|
||||
git clean -f -d -x
|
||||
fi
|
||||
|
||||
if [[ "$_sub" = rc* ]]; then
|
||||
msg2 "Switching to master branch for RC Kernel"
|
||||
|
||||
if ! git branch --list | grep "master-${_git_mirror}" ; then
|
||||
msg2 "master branch doesn't locally exist, shallow cloning..."
|
||||
git remote set-branches --add kernel.org master
|
||||
git remote set-branches --add googlesource.com master
|
||||
git remote set-branches --add torvalds master
|
||||
git fetch --depth=1 $_git_mirror master
|
||||
msg2 "Fetching tag: $_kernel_git_tag from mirror $_git_mirror"
|
||||
git fetch --depth 1 $_git_mirror tag "$_kernel_git_tag"
|
||||
git checkout -b master-${_git_mirror} ${_git_mirror}/master
|
||||
else
|
||||
msg2 "master branch exists locally, updating..."
|
||||
git checkout master-${_git_mirror}
|
||||
git fetch --depth 1 $_git_mirror tag "$_kernel_git_tag"
|
||||
git reset --hard ${_git_mirror}/master
|
||||
fi
|
||||
msg2 "Checking out latest RC tag: $_kernel_git_tag"
|
||||
|
||||
msg2 "Checking out tag: $_kernel_git_tag"
|
||||
msg2 " in the work folder: $_kernel_work_folder_abs"
|
||||
|
||||
# The space ' ' in grep -w "$_kernel_work_folder_abs " is important
|
||||
# to not match an existing folder with a longer name with the same prefix name
|
||||
if [ -d "$_kernel_work_folder_abs" ] && \
|
||||
( git worktree list | grep -w "$_kernel_work_folder_abs " ) && \
|
||||
( cd "$_kernel_work_folder_abs" && git status > /dev/null 2>&1 ); then
|
||||
# Worktree folder exists and is a valid worktree
|
||||
cd "$_kernel_work_folder_abs"
|
||||
git reset --hard
|
||||
git clean -ffdx
|
||||
git checkout "$_kernel_git_tag"
|
||||
else
|
||||
msg2 "Switching to linux-${_basekernel}.y"
|
||||
if ! git branch --list | grep -w "linux-${_basekernel}-${_git_mirror}" ; then
|
||||
msg2 "${_basekernel}.y branch doesn't locally exist, shallow cloning..."
|
||||
git remote set-branches --add kernel.org linux-${_basekernel}.y
|
||||
git remote set-branches --add googlesource.com linux-${_basekernel}.y
|
||||
git remote set-branches --add torvalds linux-${_basekernel}.y
|
||||
git fetch --depth=1 $_git_mirror linux-${_basekernel}.y
|
||||
git fetch --depth=1 $_git_mirror tag "$_kernel_git_tag"
|
||||
git checkout -b linux-${_basekernel}-${_git_mirror} ${_git_mirror}/linux-${_basekernel}.y
|
||||
else
|
||||
msg2 "${_basekernel}.y branch exists locally, updating..."
|
||||
git checkout linux-${_basekernel}-${_git_mirror}
|
||||
git fetch --depth 1 $_git_mirror tag "$_kernel_git_tag"
|
||||
git reset --hard ${_git_mirror}/linux-${_basekernel}.y
|
||||
fi
|
||||
msg2 "Checking out latest release: $_kernel_git_tag"
|
||||
git checkout "$_kernel_git_tag"
|
||||
# In all other cases, just force create the work tree
|
||||
rm -rf "$_kernel_work_folder_abs"
|
||||
git worktree add -f "$_kernel_work_folder_abs" "$_kernel_git_tag"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -488,6 +470,23 @@ _tkg_initscript() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
typeset -Ag _deprecated_config_var_set
|
||||
|
||||
# Check if user is defining deprecated config vars
|
||||
_deprecated_config_var_set=(
|
||||
["_use_tmpfs"]=`[ -n "$_use_tmpfs" ]; echo $?`
|
||||
["_source_in_tmpfs"]=`[ -n "$_source_in_tmpfs" ]; echo $?`
|
||||
["_tmpfs_path"]=`[ -n "$_tmpfs_path" ]; echo $?`
|
||||
)
|
||||
|
||||
for _deprectated_config_var in "${!_deprecated_config_var_set[@]}"; do
|
||||
if [ "${_deprecated_config_var_set[$_deprectated_config_var]}" == "0" ]; then
|
||||
warning "The deprecated config var $_deprectated_config_var has been set"
|
||||
warning "Please check the latest customization.cfg file to see what replaces it"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Default to Arch
|
||||
if [ -z "$_distro" ] || [ "$_ispkgbuild" = "true" ]; then
|
||||
msg2 "Defaulting to Archlinux target\n"
|
||||
@@ -495,11 +494,7 @@ _tkg_initscript() {
|
||||
fi
|
||||
|
||||
# create build dir early
|
||||
if [ "$_distro" = "Void" ]; then
|
||||
_path="${XBPS_BUILDDIR}/${wrksrc}"
|
||||
else
|
||||
_path="${_where}"
|
||||
fi
|
||||
|
||||
# Clean the logs folder
|
||||
[ -e "${_where}/logs" ] && rm -rf "${_where}/logs"
|
||||
@@ -511,13 +506,8 @@ _tkg_initscript() {
|
||||
# Select CPU scheduler
|
||||
_set_cpu_scheduler
|
||||
|
||||
if [ "$_distro" != "Void" ]; then
|
||||
cp "$_where"/linux-tkg-patches/${_basekernel}/* "$_where" # copy patches inside the PKGBUILD's dir to preserve makepkg sourcing and md5sum checking
|
||||
cp "$_where"/linux-tkg-config/${_basekernel}/* "$_where" # copy config files and hooks inside the PKGBUILD's dir to preserve makepkg sourcing and md5sum checking
|
||||
else
|
||||
cp "$_where"/linux-tkg-patches/${_basekernel}/* "$_path"
|
||||
cp "$_where"/linux-tkg-config/${_basekernel}/* "$_path"
|
||||
fi
|
||||
|
||||
# Set compiler
|
||||
_set_compiler
|
||||
@@ -526,7 +516,7 @@ _tkg_initscript() {
|
||||
echo -e "_custom_pkgbase=\"$_custom_pkgbase\"" >> "$_where"/BIG_UGLY_FROGMINER
|
||||
fi
|
||||
|
||||
_linux_git_branch_checkout
|
||||
_setup_kernel_work_folder
|
||||
}
|
||||
|
||||
user_patcher() {
|
||||
@@ -593,12 +583,16 @@ _tkg_patcher() {
|
||||
patch -Np1 -i "$tkgpatch" >> "$_where"/logs/prepare.log.txt || error "An error was encountered applying patches. It was logged to the prepare.log.txt file."
|
||||
echo -e "\n" >> "$_where"/logs/prepare.log.txt
|
||||
else
|
||||
msg2 "Skipping patch %s...\n (unavailable for this kernel version)" "${tkgpatch##*/}" #"
|
||||
msg2 "Skipping patch ${tkgpatch##*/}...\n (unavailable for this kernel version)"
|
||||
fi
|
||||
}
|
||||
|
||||
_tkg_srcprep() {
|
||||
|
||||
_define_kernel_abs_paths
|
||||
|
||||
cd "$_kernel_work_folder_abs"
|
||||
|
||||
msg2 "Setting version..."
|
||||
scripts/setlocalversion --save-scmversion
|
||||
|
||||
@@ -607,13 +601,6 @@ _tkg_srcprep() {
|
||||
echo -e "Version tail set to \"-$pkgrel-tkg-${_cpusched}${_compiler_name}\"\n" > "$_where"/logs/prepare.log.txt
|
||||
echo "" > localversion.20-pkgname
|
||||
fi
|
||||
if [ "${_distro}" = "Void" ]; then
|
||||
pkgver="${version}"
|
||||
fi
|
||||
if [ "${_distro}" = "Arch" ] || [ "${_distro}" = "Void" ]; then
|
||||
tkgpatch="$srcdir/patch-${pkgver}"
|
||||
_msg="Patching from $_basekernel to $pkgver" && _tkg_patcher
|
||||
fi
|
||||
|
||||
# Hardened Patches
|
||||
if [ "${_configfile}" = "config_hardened.x86_64" ] && [ "${_cpusched}" = "cfs" ]; then
|
||||
@@ -629,9 +616,6 @@ _tkg_srcprep() {
|
||||
# graysky's cpu opts - https://github.com/graysky2/kernel_compiler_patch
|
||||
|
||||
_patch_location="$srcdir"
|
||||
if [ "${_distro}" = "Void" ]; then
|
||||
_patch_location="${wrksrc}"
|
||||
fi
|
||||
|
||||
if [ "$_kver" = "504" ]; then
|
||||
_patch_name="more-uarches-for-kernel-4.19-5.4"
|
||||
@@ -697,10 +681,8 @@ _tkg_srcprep() {
|
||||
_msg="Applying glitched base non-rt additions patch" && _tkg_patcher
|
||||
fi
|
||||
|
||||
if [[ "$_distro" =~ ^(Fedora|Suse)$ ]]; then
|
||||
tkgpatch="$srcdir/0013-fedora-rpm.patch"
|
||||
_msg="RPM: fixing spec generator" && _tkg_patcher
|
||||
fi
|
||||
|
||||
if [ -z $_misc_adds ]; then
|
||||
plain "Enable misc additions ? They may contain temporary fixes pending upstream, or some other changes that can break on non-Arch distros."
|
||||
@@ -740,6 +722,8 @@ _tkg_srcprep() {
|
||||
rev=1
|
||||
elif [ "$_kver" = "518" ]; then
|
||||
rev=2
|
||||
elif [ "$_kver" = "601" ]; then
|
||||
rev=3
|
||||
else
|
||||
rev=0
|
||||
fi
|
||||
@@ -801,16 +785,6 @@ _tkg_srcprep() {
|
||||
tkgpatch="$srcdir/0009-glitched-bmq.patch" && _tkg_patcher
|
||||
elif [ "${_cpusched}" = "cacule" ]; then
|
||||
_msg="Applying cacule patch"
|
||||
if [ "${_distro}" = "Void" ]; then
|
||||
if [[ $_kver -lt 515 ]]; then
|
||||
wget -P "$wrksrc" "https://raw.githubusercontent.com/hamadmarri/cacule-cpu-scheduler/master/patches/CacULE/v${_basekernel}/cacule-${_basekernel}.patch"
|
||||
elif [[ $_kver = 515 ]]; then
|
||||
wget -P "$wrksrc" "https://raw.githubusercontent.com/CachyOS/cacule-cpu-scheduler/master/patches/CacULE/v${_basekernel}/cacule-${_basekernel}.patch"
|
||||
else
|
||||
wget -P "$wrksrc" "https://raw.githubusercontent.com/CachyOS/cacule-cpu-scheduler/master/patches/CacULE/v${_basekernel}/0001-cacULE-${_basekernel}.patch"
|
||||
fi
|
||||
tkgpatch="$wrksrc/cacule-${_basekernel}.patch" && _tkg_patcher
|
||||
else
|
||||
if [[ $_kver -lt 515 ]]; then
|
||||
wget -P "$srcdir" "https://raw.githubusercontent.com/hamadmarri/cacule-cpu-scheduler/master/patches/CacULE/v${_basekernel}/cacule-${_basekernel}.patch"
|
||||
elif [[ $_kver = 515 ]]; then
|
||||
@@ -820,42 +794,29 @@ _tkg_srcprep() {
|
||||
fi
|
||||
tkgpatch="$srcdir/cacule-${_basekernel}.patch" && _tkg_patcher
|
||||
tkgpatch="$srcdir/0001-cacULE-${_basekernel}.patch" && _tkg_patcher
|
||||
fi
|
||||
elif [ "${_cpusched}" = "tt" ]; then
|
||||
_msg="Applying TT patch"
|
||||
if [ "${_distro}" = "Void" ]; then
|
||||
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-tt.patch" > "$wrksrc"/tt.patch
|
||||
tkgpatch="$wrksrc/tt.patch" && _tkg_patcher
|
||||
else
|
||||
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-tt.patch" > "$srcdir"/tt.patch
|
||||
tkgpatch="$srcdir/tt.patch" && _tkg_patcher
|
||||
fi
|
||||
if [ "$_tt_high_hz" = "true" ] && [ $_kver = 515 ]; then
|
||||
_msg="Applying TT High HZ patch"
|
||||
if [ "${_distro}" = "Void" ]; then
|
||||
curl "https://raw.githubusercontent.com/hamadmarri/TT-CPU-Scheduler/master/patches/${_basekernel}/high-hz.patch" > "$wrksrc"/tt_high_hz.patch
|
||||
tkgpatch="$wrksrc/tt_high_hz.patch" && _tkg_patcher
|
||||
else
|
||||
curl "https://raw.githubusercontent.com/hamadmarri/TT-CPU-Scheduler/master/patches/${_basekernel}/high-hz.patch" > "$srcdir"/tt_high_hz.patch
|
||||
tkgpatch="$srcdir/tt_high_hz.patch" && _tkg_patcher
|
||||
fi
|
||||
fi
|
||||
elif [ "${_cpusched}" = "bore" ]; then
|
||||
_msg="Applying BORE patch"
|
||||
if [ "${_distro}" = "Void" ]; then
|
||||
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore.patch" > "$wrksrc"/0001-bore.patch
|
||||
tkgpatch="$wrksrc/0001-bore.patch" && _tkg_patcher
|
||||
else
|
||||
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore.patch" > "$srcdir"/0001-bore.patch
|
||||
tkgpatch="$srcdir/0001-bore.patch" && _tkg_patcher
|
||||
fi
|
||||
elif [ "${_cpusched}" = "cfs" ]; then
|
||||
_msg="Applying Glitched CFS patch"
|
||||
tkgpatch="$srcdir/0003-glitched-cfs.patch" && _tkg_patcher
|
||||
_msg="Applying Glitched CFS additions patch"
|
||||
tkgpatch="$srcdir/0003-glitched-cfs-additions.patch" && _tkg_patcher
|
||||
fi
|
||||
|
||||
if [ "${_cpusched}" = "cfs" ] || [ "${_cpusched}" = "cacule" ] || [ "${_cpusched}" = "tt" ] || [ "${_cpusched}" = "bore" ]; then
|
||||
_msg="Applying Glitched CFS patch"
|
||||
tkgpatch="$srcdir/0003-glitched-cfs.patch" && _tkg_patcher
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ -z "${_configfile}" ]; then
|
||||
@@ -916,8 +877,7 @@ _tkg_srcprep() {
|
||||
|
||||
# ccache fix
|
||||
if [ "$_noccache" != "true" ]; then
|
||||
if { [ "$_distro" = "Arch" ] && pacman -Qq ccache &> /dev/null; } || { [ "$_distro" = "Ubuntu" ] && dpkg -l ccache > /dev/null; }\
|
||||
|| { [ "$_distro" = "Void" ] && xbps-query -s ccache > /dev/null; } ; then
|
||||
if { [ "$_distro" = "Arch" ] && pacman -Qq ccache &> /dev/null; } || { [ "$_distro" = "Ubuntu" ] && dpkg -l ccache > /dev/null; }; then
|
||||
_disable "GCC_PLUGINS"
|
||||
fi
|
||||
fi
|
||||
@@ -1613,17 +1573,21 @@ CONFIG_DEBUG_INFO_BTF_MODULES=y\r
|
||||
fi
|
||||
|
||||
# NR_CPUS
|
||||
if [ "$_basever" != "601" ]; then
|
||||
if [ -n "$_NR_CPUS_value" ]; then
|
||||
scripts/config --set-val "NR_CPUS" "$_NR_CPUS_value"
|
||||
_enable "FORCE_NR_CPUS"
|
||||
fi
|
||||
else
|
||||
warning "NR_CPUS is bugged on 6.1.y, so your setting was ignored"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# Community patches
|
||||
if [ -n "$_community_patches" ]; then
|
||||
if [ ! -d "$_where/../community-patches" ]; then
|
||||
cd "$_where/.." && git clone https://github.com/Frogging-Family/community-patches.git && cd "${srcdir}/${_srcpath}"
|
||||
cd "$_where/.." && git clone https://github.com/Frogging-Family/community-patches.git && cd "${_kernel_work_folder_abs}"
|
||||
fi
|
||||
_community_patches=($_community_patches)
|
||||
mkdir -p "$_where"/linux"$_basever"-tkg-userpatches
|
||||
@@ -1649,7 +1613,7 @@ CONFIG_DEBUG_INFO_BTF_MODULES=y\r
|
||||
rm -f "$_where"/linux"$_basever"-tkg-userpatches/$_p
|
||||
done
|
||||
|
||||
if [ "$_distro" = "Arch" ] || [ "$_distro" = "Void" ]; then
|
||||
if [ "$_distro" = "Arch" ]; then
|
||||
# don't run depmod on 'make install'. We'll do this ourselves in packaging
|
||||
sed -i '2iexit 0' scripts/depmod.sh
|
||||
|
||||
@@ -1718,17 +1682,12 @@ CONFIG_DEBUG_INFO_BTF_MODULES=y\r
|
||||
fi
|
||||
fi
|
||||
|
||||
# set _menuconfig early for Void
|
||||
if [ "$_distro" = "Void" ]; then
|
||||
_menuconfig="Void"
|
||||
fi
|
||||
|
||||
# rewrite configuration
|
||||
msg2 "Setting config"
|
||||
make ${_config_updating} ${llvm_opt} |& tee -a "$_where"/logs/prepare.log.txt
|
||||
|
||||
# menuconfig / nconfig
|
||||
if [ -z "$_menunconfig" ] && [ "$_distro" != "Void" ]; then
|
||||
if [ -z "$_menunconfig" ]; then
|
||||
plain ""
|
||||
plain "*Optional* For advanced users - Do you want to use make menuconfig or nconfig"
|
||||
plain "to configure the kernel before building it?"
|
||||
@@ -1770,16 +1729,11 @@ CONFIG_DEBUG_INFO_BTF_MODULES=y\r
|
||||
fi
|
||||
if [ -z "$_diffconfig_name" ]; then
|
||||
echo 'No file name given, not generating config fragment.'
|
||||
else (
|
||||
if [ "$_distro" = "Arch" ] || [ "$_ispkgbuild" = "true" ]; then
|
||||
prev_pwd="${PWD:-$(pwd)}/linux-src-git"
|
||||
cd "$_where" || exit
|
||||
else
|
||||
prev_pwd="${PWD:-$(pwd)}"
|
||||
cd "$_where" || exit
|
||||
pushd "$_kernel_work_folder_abs"
|
||||
scripts/diffconfig -m .config.orig .config > "$_where/$_diffconfig_name"
|
||||
popd
|
||||
fi
|
||||
"${prev_pwd}/scripts/diffconfig" -m "${prev_pwd}/.config.orig" "${prev_pwd}/.config" > "$_diffconfig_name"
|
||||
) fi
|
||||
fi
|
||||
rm .config.orig
|
||||
fi
|
||||
@@ -1809,12 +1763,6 @@ exit_cleanup() {
|
||||
# Remove winesync rules file
|
||||
rm -f "$_where"/winesync.rules
|
||||
|
||||
# Remove RPM temporary files left
|
||||
rm -rf ${HOME}/.cache/linux-tkg-rpmbuild
|
||||
if [ "$_distro" != "Arch" ] && [ "$_use_tmpfs" = "true" ]; then
|
||||
rm -rf "$_tmpfs_path/linux-tkg"
|
||||
fi
|
||||
|
||||
# Community patches removal in case of failure
|
||||
for _p in ${_community_patches[@]}; do
|
||||
rm -f "$_where"/linux"$_basever"-tkg-userpatches/"$_p"
|
||||
@@ -1902,7 +1850,5 @@ exit_cleanup() {
|
||||
sed -i 's/\x1b(B//g' "$_where"/logs/shell-output.log.txt
|
||||
fi
|
||||
}
|
||||
# Void has its own clean function, this breaks it so ignore it
|
||||
if [ "$_distro" != "Void" ]; then
|
||||
|
||||
trap exit_cleanup EXIT
|
||||
fi
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -68,7 +68,7 @@ Signed-off-by: André Almeida <andrealmeid@collabora.com>
|
||||
Adjusted for v5.9: Removed `put_futex_key` calls.
|
||||
---
|
||||
include/uapi/linux/futex.h | 20 +++
|
||||
kernel/futex.c | 348 +++++++++++++++++++++++++++++++++++++
|
||||
kernel/futex/core.c | 348 +++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 368 insertions(+)
|
||||
|
||||
diff --git a/include/uapi/linux/futex.h b/include/uapi/linux/futex.h
|
||||
@@ -114,10 +114,10 @@ index a89eb0accd5e2e..580001e89c6cae 100644
|
||||
+};
|
||||
+
|
||||
#endif /* _UAPI_LINUX_FUTEX_H */
|
||||
diff --git a/kernel/futex.c b/kernel/futex.c
|
||||
diff --git a/kernel/futex/core.c b/kernel/futex/core.c
|
||||
index 408cad5e89680f..c30930a955cece 100644
|
||||
--- a/kernel/futex.c
|
||||
+++ b/kernel/futex.c
|
||||
--- a/kernel/futex/core.c
|
||||
+++ b/kernel/futex/core.c
|
||||
@@ -197,6 +197,8 @@ struct futex_pi_state {
|
||||
* @bitset: bitset for the optional bitmasked wakeup
|
||||
* @requeue_state: State field for futex_requeue_pi()
|
||||
@@ -536,7 +536,7 @@ Subject: [PATCH] futex: Add Proton compatibility code
|
||||
|
||||
---
|
||||
include/uapi/linux/futex.h | 2 +-
|
||||
kernel/futex.c | 3 ++-
|
||||
kernel/futex/core.c | 3 ++-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/uapi/linux/futex.h b/include/uapi/linux/futex.h
|
||||
@@ -552,10 +552,10 @@ index 580001e89c6cae..a3e760886b8e7e 100644
|
||||
|
||||
#define FUTEX_PRIVATE_FLAG 128
|
||||
#define FUTEX_CLOCK_REALTIME 256
|
||||
diff --git a/kernel/futex.c b/kernel/futex.c
|
||||
diff --git a/kernel/futex/core.c b/kernel/futex/core.c
|
||||
index c30930a955cece..aa33e66df5c9df 100644
|
||||
--- a/kernel/futex.c
|
||||
+++ b/kernel/futex.c
|
||||
--- a/kernel/futex/core.c
|
||||
+++ b/kernel/futex/core.c
|
||||
@@ -4002,7 +4002,7 @@ futex_init_timeout(u32 cmd, u32 op, struct timespec64 *ts, ktime_t *t)
|
||||
return -EINVAL;
|
||||
|
||||
|
@@ -14,7 +14,7 @@ of Proton to still use fsync in new kernel releases.
|
||||
Signed-off-by: André Almeida <andrealmeid@collabora.com>
|
||||
---
|
||||
include/uapi/linux/futex.h | 12 ++++++
|
||||
kernel/futex.c | 75 +++++++++++++++++++++++++++++++++++++-
|
||||
kernel/futex/core.c | 75 +++++++++++++++++++++++++++++++++++++-
|
||||
2 files changed, 86 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/uapi/linux/futex.h b/include/uapi/linux/futex.h
|
||||
@@ -47,10 +47,10 @@ index 2a06b99f9803..417c5d89b745 100644
|
||||
|
||||
/*
|
||||
* Support for robust futexes: the kernel cleans up held futexes at
|
||||
diff --git a/kernel/futex.c b/kernel/futex.c
|
||||
diff --git a/kernel/futex/core.c b/kernel/futex/core.c
|
||||
index 4a9e7ce3714a..c3f2e65afab8 100644
|
||||
--- a/kernel/futex.c
|
||||
+++ b/kernel/futex.c
|
||||
--- a/kernel/futex/core.c
|
||||
+++ b/kernel/futex/core.c
|
||||
@@ -4012,6 +4012,7 @@ static __always_inline bool futex_cmd_has_timeout(u32 cmd)
|
||||
case FUTEX_LOCK_PI2:
|
||||
case FUTEX_WAIT_BITSET:
|
||||
|
@@ -43,7 +43,7 @@ Link: https://lore.kernel.org/r/20210923171111.300673-17-andrealmeid@collabora.c
|
||||
include/linux/syscalls.h | 6 +
|
||||
include/uapi/asm-generic/unistd.h | 5 +-
|
||||
include/uapi/linux/futex.h | 26 +++
|
||||
kernel/futex.c | 334 ++++++++++++++++++++++++++++++
|
||||
kernel/futex/core.c | 334 ++++++++++++++++++++++++++++++
|
||||
kernel/sys_ni.c | 1 +
|
||||
5 files changed, 371 insertions(+), 1 deletion(-)
|
||||
|
||||
@@ -125,10 +125,10 @@ index a89eb0accd5e..1666f5e4b837 100644
|
||||
/*
|
||||
* Support for robust futexes: the kernel cleans up held futexes at
|
||||
* thread exit time.
|
||||
diff --git a/kernel/futex.c b/kernel/futex.c
|
||||
diff --git a/kernel/futex/core.c b/kernel/futex/core.c
|
||||
index 408cad5e8968..d7dc0bd9379c 100644
|
||||
--- a/kernel/futex.c
|
||||
+++ b/kernel/futex.c
|
||||
--- a/kernel/futex/core.c
|
||||
+++ b/kernel/futex/core.c
|
||||
@@ -285,6 +285,18 @@ static const struct futex_q futex_q_init = {
|
||||
.requeue_state = ATOMIC_INIT(Q_REQUEUE_PI_NONE),
|
||||
};
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,27 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,27 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,28 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
# and fix akmod-nvidia
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -1,27 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
@@ -90612,7 +90612,7 @@ index 5cfc95a52bc3..be075882450a 100644
|
||||
}
|
||||
|
||||
static DEFINE_STATIC_KEY_FALSE(trace_no_verify);
|
||||
@@ -6792,12 +6788,12 @@ tracing_read_pipe(struct file *filp, char __user *ubuf,
|
||||
@@ -6793,7 +6789,7 @@ tracing_read_pipe(struct file *filp, char __user *ubuf,
|
||||
trace_access_lock(iter->cpu_file);
|
||||
while (trace_find_next_entry_inc(iter) != NULL) {
|
||||
enum print_line_t ret;
|
||||
@@ -90621,7 +90621,19 @@ index 5cfc95a52bc3..be075882450a 100644
|
||||
|
||||
ret = print_trace_line(iter);
|
||||
if (ret == TRACE_TYPE_PARTIAL_LINE) {
|
||||
/* don't print partial lines */
|
||||
@@ -6803,7 +6799,7 @@ tracing_read_pipe(struct file *filp, char __user *ubuf,
|
||||
* In this case, we need to consume it, otherwise, loop will peek
|
||||
* this event next time, resulting in an infinite loop.
|
||||
*/
|
||||
- if (save_len == 0) {
|
||||
+ if (save_pos == 0) {
|
||||
iter->seq.full = 0;
|
||||
trace_seq_puts(&iter->seq, "[LINE TOO BIG]\n");
|
||||
trace_consume(iter);
|
||||
@@ -6811,7 +6807,7 @@ tracing_read_pipe(struct file *filp, char __user *ubuf,
|
||||
}
|
||||
|
||||
/* In other cases, don't print partial lines */
|
||||
- iter->seq.seq.len = save_len;
|
||||
+ iter->seq.seq.pos = save_pos;
|
||||
break;
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,27 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
90
linux-tkg-patches/6.2/0005-glitched-pds.patch
Normal file
90
linux-tkg-patches/6.2/0005-glitched-pds.patch
Normal file
@@ -0,0 +1,90 @@
|
||||
From f7f49141a5dbe9c99d78196b58c44307fb2e6be3 Mon Sep 17 00:00:00 2001
|
||||
From: Tk-Glitch <ti3nou@gmail.com>
|
||||
Date: Wed, 4 Jul 2018 04:30:08 +0200
|
||||
Subject: glitched - PDS
|
||||
|
||||
diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
|
||||
index 2a202a846757..1d9c7ed79b11 100644
|
||||
--- a/kernel/Kconfig.hz
|
||||
+++ b/kernel/Kconfig.hz
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
choice
|
||||
prompt "Timer frequency"
|
||||
- default HZ_250
|
||||
+ default HZ_500
|
||||
help
|
||||
Allows the configuration of the timer frequency. It is customary
|
||||
to have the timer interrupt run at 1000 Hz but 100 Hz may be more
|
||||
@@ -39,6 +39,13 @@ choice
|
||||
on SMP and NUMA systems and exactly dividing by both PAL and
|
||||
NTSC frame rates for video and multimedia work.
|
||||
|
||||
+ config HZ_500
|
||||
+ bool "500 HZ"
|
||||
+ help
|
||||
+ 500 Hz is a balanced timer frequency. Provides fast interactivity
|
||||
+ on desktops with great smoothness without increasing CPU power
|
||||
+ consumption and sacrificing the battery life on laptops.
|
||||
+
|
||||
config HZ_1000
|
||||
bool "1000 HZ"
|
||||
help
|
||||
@@ -52,6 +59,7 @@ config HZ
|
||||
default 100 if HZ_100
|
||||
default 250 if HZ_250
|
||||
default 300 if HZ_300
|
||||
+ default 500 if HZ_500
|
||||
default 1000 if HZ_1000
|
||||
|
||||
config SCHED_HRTICK
|
||||
|
||||
diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
|
||||
index 2a202a846757..1d9c7ed79b11 100644
|
||||
--- a/kernel/Kconfig.hz
|
||||
+++ b/kernel/Kconfig.hz
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
choice
|
||||
prompt "Timer frequency"
|
||||
- default HZ_500
|
||||
+ default HZ_750
|
||||
help
|
||||
Allows the configuration of the timer frequency. It is customary
|
||||
to have the timer interrupt run at 1000 Hz but 100 Hz may be more
|
||||
@@ -46,6 +46,13 @@ choice
|
||||
on desktops with great smoothness without increasing CPU power
|
||||
consumption and sacrificing the battery life on laptops.
|
||||
|
||||
+ config HZ_750
|
||||
+ bool "750 HZ"
|
||||
+ help
|
||||
+ 750 Hz is a good timer frequency for desktops. Provides fast
|
||||
+ interactivity with great smoothness without sacrificing too
|
||||
+ much throughput.
|
||||
+
|
||||
config HZ_1000
|
||||
bool "1000 HZ"
|
||||
help
|
||||
@@ -60,6 +67,7 @@ config HZ
|
||||
default 250 if HZ_250
|
||||
default 300 if HZ_300
|
||||
default 500 if HZ_500
|
||||
+ default 750 if HZ_750
|
||||
default 1000 if HZ_1000
|
||||
|
||||
config SCHED_HRTICK
|
||||
|
||||
diff --git a/mm/vmscan.c b/mm/vmscan.c
|
||||
index 9270a4370d54..30d01e647417 100644
|
||||
--- a/mm/vmscan.c
|
||||
+++ b/mm/vmscan.c
|
||||
@@ -169,7 +169,7 @@
|
||||
/*
|
||||
* From 0 .. 200. Higher means more swappy.
|
||||
*/
|
||||
-int vm_swappiness = 60;
|
||||
+int vm_swappiness = 20;
|
||||
|
||||
static void set_task_reclaim_state(struct task_struct *task,
|
||||
struct reclaim_state *rs)
|
10134
linux-tkg-patches/6.2/0009-prjc_v6.2-r0.patch
Normal file
10134
linux-tkg-patches/6.2/0009-prjc_v6.2-r0.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -64,253 +64,3 @@ index 2c7171e0b0010..85de313ddec29 100644
|
||||
select CPU_FREQ_GOV_PERFORMANCE
|
||||
help
|
||||
|
||||
From 0c079d3f88df5f8286cd5c91b54bdac7c819be85 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Auld <matthew.auld@intel.com>
|
||||
Date: Tue, 6 Dec 2022 16:11:41 +0000
|
||||
Subject: [PATCH] drm/i915: improve the catch-all evict to handle lock
|
||||
contention
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The catch-all evict can fail due to object lock contention, since it
|
||||
only goes as far as trylocking the object, due to us already holding the
|
||||
vm->mutex. Doing a full object lock here can deadlock, since the
|
||||
vm->mutex is always our inner lock. Add another execbuf pass which drops
|
||||
the vm->mutex and then tries to grab the object will the full lock,
|
||||
before then retrying the eviction. This should be good enough for now to
|
||||
fix the immediate regression with userspace seeing -ENOSPC from execbuf
|
||||
due to contended object locks during GTT eviction.
|
||||
|
||||
Testcase: igt@gem_ppgtt@shrink-vs-evict-*
|
||||
Fixes: 7e00897be8bf ("drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2.")
|
||||
References: https://gitlab.freedesktop.org/drm/intel/-/issues/7627
|
||||
References: https://gitlab.freedesktop.org/drm/intel/-/issues/7570
|
||||
References: https://bugzilla.mozilla.org/show_bug.cgi?id=1779558
|
||||
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
|
||||
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
||||
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
|
||||
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
|
||||
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
|
||||
Cc: Mani Milani <mani@chromium.org>
|
||||
Cc: <stable@vger.kernel.org> # v5.18+
|
||||
|
||||
Revision 1 of https://patchwork.freedesktop.org/series/111686/
|
||||
---
|
||||
.../gpu/drm/i915/gem/i915_gem_execbuffer.c | 25 +++++++++++--
|
||||
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 +-
|
||||
drivers/gpu/drm/i915/i915_gem_evict.c | 37 ++++++++++++++-----
|
||||
drivers/gpu/drm/i915/i915_gem_evict.h | 4 +-
|
||||
drivers/gpu/drm/i915/i915_vma.c | 2 +-
|
||||
.../gpu/drm/i915/selftests/i915_gem_evict.c | 4 +-
|
||||
6 files changed, 56 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
|
||||
index 845023c14eb36f..094e92ed28db4f 100644
|
||||
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
|
||||
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
|
||||
@@ -741,25 +741,44 @@ static int eb_reserve(struct i915_execbuffer *eb)
|
||||
*
|
||||
* Defragmenting is skipped if all objects are pinned at a fixed location.
|
||||
*/
|
||||
- for (pass = 0; pass <= 2; pass++) {
|
||||
+ for (pass = 0; pass <= 3; pass++) {
|
||||
int pin_flags = PIN_USER | PIN_VALIDATE;
|
||||
|
||||
if (pass == 0)
|
||||
pin_flags |= PIN_NONBLOCK;
|
||||
|
||||
if (pass >= 1)
|
||||
- unpinned = eb_unbind(eb, pass == 2);
|
||||
+ unpinned = eb_unbind(eb, pass >= 2);
|
||||
|
||||
if (pass == 2) {
|
||||
err = mutex_lock_interruptible(&eb->context->vm->mutex);
|
||||
if (!err) {
|
||||
- err = i915_gem_evict_vm(eb->context->vm, &eb->ww);
|
||||
+ err = i915_gem_evict_vm(eb->context->vm, &eb->ww, NULL);
|
||||
mutex_unlock(&eb->context->vm->mutex);
|
||||
}
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
||||
+ if (pass == 3) {
|
||||
+retry:
|
||||
+ err = mutex_lock_interruptible(&eb->context->vm->mutex);
|
||||
+ if (!err) {
|
||||
+ struct drm_i915_gem_object *busy_bo = NULL;
|
||||
+
|
||||
+ err = i915_gem_evict_vm(eb->context->vm, &eb->ww, &busy_bo);
|
||||
+ mutex_unlock(&eb->context->vm->mutex);
|
||||
+ if (err && busy_bo) {
|
||||
+ err = i915_gem_object_lock(busy_bo, &eb->ww);
|
||||
+ i915_gem_object_put(busy_bo);
|
||||
+ if (!err)
|
||||
+ goto retry;
|
||||
+ }
|
||||
+ }
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+ }
|
||||
+
|
||||
list_for_each_entry(ev, &eb->unbound, bind_link) {
|
||||
err = eb_reserve_vma(eb, ev, pin_flags);
|
||||
if (err)
|
||||
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
|
||||
index 73d9eda1d6b7a6..c83d98e1dc5da0 100644
|
||||
--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
|
||||
+++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
|
||||
@@ -369,7 +369,7 @@ static vm_fault_t vm_fault_gtt(struct vm_fault *vmf)
|
||||
if (vma == ERR_PTR(-ENOSPC)) {
|
||||
ret = mutex_lock_interruptible(&ggtt->vm.mutex);
|
||||
if (!ret) {
|
||||
- ret = i915_gem_evict_vm(&ggtt->vm, &ww);
|
||||
+ ret = i915_gem_evict_vm(&ggtt->vm, &ww, NULL);
|
||||
mutex_unlock(&ggtt->vm.mutex);
|
||||
}
|
||||
if (ret)
|
||||
diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
|
||||
index f025ee4fa52618..a4b4d9b7d26c7a 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_gem_evict.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_gem_evict.c
|
||||
@@ -416,6 +416,11 @@ int i915_gem_evict_for_node(struct i915_address_space *vm,
|
||||
* @vm: Address space to cleanse
|
||||
* @ww: An optional struct i915_gem_ww_ctx. If not NULL, i915_gem_evict_vm
|
||||
* will be able to evict vma's locked by the ww as well.
|
||||
+ * @busy_bo: Optional pointer to struct drm_i915_gem_object. If not NULL, then
|
||||
+ * in the event i915_gem_evict_vm() is unable to trylock an object for eviction,
|
||||
+ * then @busy_bo will point to it. -EBUSY is also returned. The caller must drop
|
||||
+ * the vm->mutex, before trying again to acquire the contended lock. The caller
|
||||
+ * also owns a reference to the object.
|
||||
*
|
||||
* This function evicts all vmas from a vm.
|
||||
*
|
||||
@@ -425,7 +430,8 @@ int i915_gem_evict_for_node(struct i915_address_space *vm,
|
||||
* To clarify: This is for freeing up virtual address space, not for freeing
|
||||
* memory in e.g. the shrinker.
|
||||
*/
|
||||
-int i915_gem_evict_vm(struct i915_address_space *vm, struct i915_gem_ww_ctx *ww)
|
||||
+int i915_gem_evict_vm(struct i915_address_space *vm, struct i915_gem_ww_ctx *ww,
|
||||
+ struct drm_i915_gem_object **busy_bo)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
@@ -457,15 +463,22 @@ int i915_gem_evict_vm(struct i915_address_space *vm, struct i915_gem_ww_ctx *ww)
|
||||
* the resv is shared among multiple objects, we still
|
||||
* need the object ref.
|
||||
*/
|
||||
- if (dying_vma(vma) ||
|
||||
+ if (!i915_gem_object_get_rcu(vma->obj) ||
|
||||
(ww && (dma_resv_locking_ctx(vma->obj->base.resv) == &ww->ctx))) {
|
||||
__i915_vma_pin(vma);
|
||||
list_add(&vma->evict_link, &locked_eviction_list);
|
||||
continue;
|
||||
}
|
||||
|
||||
- if (!i915_gem_object_trylock(vma->obj, ww))
|
||||
+ if (!i915_gem_object_trylock(vma->obj, ww)) {
|
||||
+ if (busy_bo) {
|
||||
+ *busy_bo = vma->obj; /* holds ref */
|
||||
+ ret = -EBUSY;
|
||||
+ break;
|
||||
+ }
|
||||
+ i915_gem_object_put(vma->obj);
|
||||
continue;
|
||||
+ }
|
||||
|
||||
__i915_vma_pin(vma);
|
||||
list_add(&vma->evict_link, &eviction_list);
|
||||
@@ -473,25 +486,29 @@ int i915_gem_evict_vm(struct i915_address_space *vm, struct i915_gem_ww_ctx *ww)
|
||||
if (list_empty(&eviction_list) && list_empty(&locked_eviction_list))
|
||||
break;
|
||||
|
||||
- ret = 0;
|
||||
/* Unbind locked objects first, before unlocking the eviction_list */
|
||||
list_for_each_entry_safe(vma, vn, &locked_eviction_list, evict_link) {
|
||||
__i915_vma_unpin(vma);
|
||||
|
||||
- if (ret == 0)
|
||||
+ if (ret == 0) {
|
||||
ret = __i915_vma_unbind(vma);
|
||||
- if (ret != -EINTR) /* "Get me out of here!" */
|
||||
- ret = 0;
|
||||
+ if (ret != -EINTR) /* "Get me out of here!" */
|
||||
+ ret = 0;
|
||||
+ }
|
||||
+ if (!dying_vma(vma))
|
||||
+ i915_gem_object_put(vma->obj);
|
||||
}
|
||||
|
||||
list_for_each_entry_safe(vma, vn, &eviction_list, evict_link) {
|
||||
__i915_vma_unpin(vma);
|
||||
- if (ret == 0)
|
||||
+ if (ret == 0) {
|
||||
ret = __i915_vma_unbind(vma);
|
||||
- if (ret != -EINTR) /* "Get me out of here!" */
|
||||
- ret = 0;
|
||||
+ if (ret != -EINTR) /* "Get me out of here!" */
|
||||
+ ret = 0;
|
||||
+ }
|
||||
|
||||
i915_gem_object_unlock(vma->obj);
|
||||
+ i915_gem_object_put(vma->obj);
|
||||
}
|
||||
} while (ret == 0);
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_gem_evict.h b/drivers/gpu/drm/i915/i915_gem_evict.h
|
||||
index e593c530f9bd7a..bf0ee0e4fe6088 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_gem_evict.h
|
||||
+++ b/drivers/gpu/drm/i915/i915_gem_evict.h
|
||||
@@ -11,6 +11,7 @@
|
||||
struct drm_mm_node;
|
||||
struct i915_address_space;
|
||||
struct i915_gem_ww_ctx;
|
||||
+struct drm_i915_gem_object;
|
||||
|
||||
int __must_check i915_gem_evict_something(struct i915_address_space *vm,
|
||||
struct i915_gem_ww_ctx *ww,
|
||||
@@ -23,6 +24,7 @@ int __must_check i915_gem_evict_for_node(struct i915_address_space *vm,
|
||||
struct drm_mm_node *node,
|
||||
unsigned int flags);
|
||||
int i915_gem_evict_vm(struct i915_address_space *vm,
|
||||
- struct i915_gem_ww_ctx *ww);
|
||||
+ struct i915_gem_ww_ctx *ww,
|
||||
+ struct drm_i915_gem_object **busy_bo);
|
||||
|
||||
#endif /* __I915_GEM_EVICT_H__ */
|
||||
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
|
||||
index f17c09ead7d778..4d06875de14a14 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_vma.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_vma.c
|
||||
@@ -1569,7 +1569,7 @@ static int __i915_ggtt_pin(struct i915_vma *vma, struct i915_gem_ww_ctx *ww,
|
||||
* locked objects when called from execbuf when pinning
|
||||
* is removed. This would probably regress badly.
|
||||
*/
|
||||
- i915_gem_evict_vm(vm, NULL);
|
||||
+ i915_gem_evict_vm(vm, NULL, NULL);
|
||||
mutex_unlock(&vm->mutex);
|
||||
}
|
||||
} while (1);
|
||||
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
|
||||
index 8c6517d29b8e0c..37068542aafe7f 100644
|
||||
--- a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
|
||||
+++ b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
|
||||
@@ -344,7 +344,7 @@ static int igt_evict_vm(void *arg)
|
||||
|
||||
/* Everything is pinned, nothing should happen */
|
||||
mutex_lock(&ggtt->vm.mutex);
|
||||
- err = i915_gem_evict_vm(&ggtt->vm, NULL);
|
||||
+ err = i915_gem_evict_vm(&ggtt->vm, NULL, NULL);
|
||||
mutex_unlock(&ggtt->vm.mutex);
|
||||
if (err) {
|
||||
pr_err("i915_gem_evict_vm on a full GGTT returned err=%d]\n",
|
||||
@@ -356,7 +356,7 @@ static int igt_evict_vm(void *arg)
|
||||
|
||||
for_i915_gem_ww(&ww, err, false) {
|
||||
mutex_lock(&ggtt->vm.mutex);
|
||||
- err = i915_gem_evict_vm(&ggtt->vm, &ww);
|
||||
+ err = i915_gem_evict_vm(&ggtt->vm, &ww, NULL);
|
||||
mutex_unlock(&ggtt->vm.mutex);
|
||||
}
|
||||
|
||||
|
@@ -1,27 +1,53 @@
|
||||
# Remove the obsoletes line in kernel-headers
|
||||
# Add provides for kernel-devel so there's no conflict
|
||||
|
||||
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
|
||||
index 7c477ca7d..1158f5559 100755
|
||||
index 70392fd2f..34f98648f 100755
|
||||
--- a/scripts/package/mkspec
|
||||
+++ b/scripts/package/mkspec
|
||||
@@ -25,0 +26 @@ fi
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
+PROVIDES_DRM=""
|
||||
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
|
||||
if grep -q CONFIG_DRM=y .config; then
|
||||
- PROVIDES=kernel-drm
|
||||
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
|
||||
@@ -30 +30,0 @@ fi
|
||||
fi
|
||||
|
||||
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
|
||||
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
|
||||
@@ -50,3 +50,6 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
|
||||
$S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
- Provides: $PROVIDES
|
||||
+ $PROVIDES_DRM
|
||||
+ Provides: kernel = %{version}
|
||||
+ Provides: kernel-uname-r = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
# $UTS_MACHINE as a fallback of _arch in case
|
||||
@@ -63,4 +66,4 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
|
||||
Group: Development/System
|
||||
- Obsoletes: kernel-headers
|
||||
Provides: kernel-headers = %{version}
|
||||
+ Provides: installonlypkg(kernel) = %{version}
|
||||
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
|
||||
%description headers
|
||||
@@ -75,2 +78,5 @@ $S$M Summary: Development package for building kernel modules to match the $__KE
|
||||
$S$M Group: System Environment/Kernel
|
||||
+$S$M Provides: kernel-devel = %{version}
|
||||
+$S$M Provides: kernel-devel-uname-r = %{version}
|
||||
+$S$M Provides: installonlypkg(kernel) = %{version}
|
||||
$S$M AutoReqProv: no
|
||||
@@ -80,2 +86,18 @@ $S$M against the $__KERNELRELEASE kernel package.
|
||||
$S$M
|
||||
+$S # Opt out of a lot of Fedora hardening flags etc...
|
||||
+$S # See https://src.fedoraproject.org/rpms/redhat-rpm-config//blob/rawhide/f/buildflags.md
|
||||
+$S %undefine _package_note_file
|
||||
+$S %undefine _auto_set_build_flags
|
||||
+$S %undefine _include_frame_pointers
|
||||
+$S %define _build_id_flags -Wl,--build-id=none
|
||||
+$S %undefine _annotated_build
|
||||
+$S %undefine _fortify_level
|
||||
+$S %undefine _hardened_build
|
||||
+$S %global _lto_cflags %{nil}
|
||||
+$S %global _configure_gnuconfig_hack 0
|
||||
+$S %global _configure_libtool_hardening_hack 0
|
||||
+$S # Nearly had to go to the deep web to find documentation on this one... Gosh
|
||||
+$S # See https://github.com/rpm-software-management/rpm/blob/master/macros.in#L471
|
||||
+$S %define _build_id_links none
|
||||
+$S
|
||||
$S %prep
|
||||
|
Reference in New Issue
Block a user