# -*- Mode: rpm-spec -*- # # This Specfile is based on kernel-tmb spec done by # Thomas Backlund # # The mkflavour() macroization done by Anssi Hannula # # ---------------------------------------------------------------------------- # Consult this page for extra docs: # # https://wiki.mageia.org/en/Kernel_update_workflow # # (feel free to adjust the wiki-page when adding or removing features # to the spec file). # # After building a new kernel, remember to push: # # kmod-virtualbox # kmod-vboxadditions # kmod-xtables-addons # drakx-installer-images (both core and nonfree) # ---------------------------------------------------------------------------- # # Aarch64 still has problems with multithreaded rpmbuild 4.15-rc %if 0%{?mageia} >= 8 %ifarch aarch64 %global _smp_nthreads_max 1 %endif %endif %if %{mgaversion} >= 9 %define _binary_payload w9T0.zstdio %else %define _binary_payload w3.zstdio %endif # # Mageia kernels use kernel.org versioning # %define kernelversion 5 # WARNING: when patchlevel is bumped, please update drakx/kernel/list_modules.pm for new modules!!! %define patchlevel 10 # sublevel is now used for -stable patches %define sublevel 228 # Package release %define mgarel 1.lowlatency.500hz # kernel Makefile extraversion is substituted by # rcX which are either 0 (empty), X (as in rcX) %define rcX 0 # kernel base name (also name of srpm) %define kname kernel # Patch tarball tag %define ktag mga %define rpmtag %{distsuffix}%{mgaver} %if %{rcX} %define rpmrel %mkrel 0.rc%{rcX}.%{mgarel} %else %define rpmrel %mkrel %{mgarel} %endif # fakerel and fakever never change, they are used to fool # rpm/urpmi/smart and ensure the kernels are installed, # not upgraded so old kernel is not overwritten or removed %define fakever 1 %define fakerel %mkrel 1 # version defines %define kversion %{kernelversion}.%{patchlevel}.%{sublevel} %define kverrel %{kversion}-%{rpmrel} # When we are using a rcX patch, the tarball is a sublevel -1 %if %{rcX} %if %sublevel %define tar_ver %{kernelversion}.%{patchlevel} %else %define tar_ver %{kernelversion}.%(expr %{patchlevel} - 1) %endif %else %define tar_ver %{kernelversion}.%{patchlevel} %endif # Used for not making too long names for rpms or search paths %if %rcX %define buildrpmrel 0.rc%{rcX}.%{mgarel}%{rpmtag} %else %define buildrpmrel %{mgarel}%{rpmtag} %endif %define buildrel %{kversion}-%{buildrpmrel} # Having different top level names for packges means that you have to remove # them by hard :( %define top_dir_name %{kname}-%{_arch} %define build_dir ${RPM_BUILD_DIR}/%{top_dir_name} %define src_dir %{build_dir}/linux-%{tar_ver} # Disable useless debug rpms... %global _enable_debug_packages %{nil} %global debug_package %{nil} %global __debug_package %{nil} %global __debug_install_post %{nil} %global _build_id_links none # no bytecompiling wanted as it breaks build on selftests we dont even ship # for older buildsystems %global _python_bytecompile_build 0 # for systems with >= rpm-mageia-setup-2.29-1.mga7 %global __brp_python_bytecompile %nil # Build defines %define build_doc 1 %define build_uheaders 1 %define build_source 1 %define build_devel 1 %define build_debug 0 # Build desktop i586 / 4GB %ifarch %{ix86} %define build_desktop586 1 %endif # Build desktop (i686 / 4GB) / x86_64 %define build_desktop 1 # Build server (i686 / 64GB)/x86_64 / sparc64 sets %define build_server 0 # build perf and cpupower tools %define build_perf 0 %define build_cpupower 0 # bpf %define build_bpftool 0 %define build_libbpf 0 # compress modules with xz %define build_modxz 0 # ARM builds %ifarch %{arm} %define build_server 0 # no cpupower tools on arm yet %define build_cpupower 0 # arm is currently not using xz %define build_modxz 0 %endif # Arm64 builds %ifarch aarch64 %define build_cpupower 0 %endif # End of user definitions # buildtime flags %{?_without_desktop586: %global build_desktop586 0} %{?_without_desktop: %global build_desktop 0} %{?_without_server: %global build_server 0} %{?_without_doc: %global build_doc 0} %{?_without_uheaders: %global build_uheaders 0} %{?_without_source: %global build_source 0} %{?_without_devel: %global build_devel 0} %{?_without_debug: %global build_debug 0} %{?_without_perf: %global build_perf 0} %{?_without_cpupower: %global build_cpupower 0} %{?_without_bpftool: %global build_bpftool 0} %{?_without_libbpf: %global build_libbpf 0} %{?_without_modxz: %global build_modxz 0} %{?_with_desktop586: %global build_desktop586 1} %{?_with_desktop: %global build_desktop 1} %{?_with_server: %global build_server 1} %{?_with_doc: %global build_doc 1} %{?_with_uheaders: %global build_uheaders 1} %{?_with_source: %global build_source 1} %{?_with_devel: %global build_devel 1} %{?_with_debug: %global build_debug 1} %{?_with_perf: %global build_perf 1} %{?_with_cpupower: %global build_cpupower 1} %{?_with_bpftool: %global build_bpftool 1} %{?_with_libbpf: %global build_libbpf 1} %{?_with_modxz: %global build_modxz 1} # For the .nosrc.rpm %define build_nosrc 0 %{?_with_nosrc: %global build_nosrc 1} %if %(if [ -z "$CC" ] ; then echo 0; else echo 1; fi) %define kmake %make_build CC="$CC" %else %define kmake %make_build %endif # there are places where parallel make don't work %define smake make # Parallelize xargs invocations on smp machines %define kxargs xargs %([ -z "$RPM_BUILD_NCPUS" ] \\\ && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-P $RPM_BUILD_NCPUS") # Sparc arch wants sparc64 kernels %define target_arch %(echo %{_arch} | sed -e 's/arm.*/arm/' -e 's/aarch64/arm64/') # # SRC RPM description # Summary: Linux kernel built for Mageia Name: %{kname} Version: %{kversion} Release: %{rpmrel} License: GPLv2 Group: System/Kernel and hardware #ExclusiveArch: %%{ix86} x86_64 %%{arm} aarch64 ExclusiveArch: x86_64 ExclusiveOS: Linux URL: https://www.kernel.org/ #################################################################### # # Sources # ### This is for full SRC RPM Source0: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.gz Source1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.sign ### This is for stripped SRC RPM %if %build_nosrc NoSource: 0 %endif # This is for disabling *config, mrproper, prepare, scripts on -devel rpms Source2: disable-mrproper-in-devel-rpms.patch Source4: README.kernel-sources # for creating stable queue patchlist Source5: generate-patchlist.sh # copy to patched source tree along with the defconfigs and run it Source10: defconfig-updater.sh Source09: defconfig-updater-simple.sh # x86_64 defconfigs Source11: defconfig-x86_64-desktop Source12: defconfig-x86_64-server # i386 defconfigs Source13: defconfig-i386-desktop586 Source14: defconfig-i386-desktop Source15: defconfig-i386-server # arm64 defconfigs Source16: defconfig-arm64-desktop Source17: defconfig-arm64-server # arm defconfigs Source18: defconfig-arm-desktop # config and systemd service file from fedora Source50: cpupower.service Source51: cpupower.config #################################################################### # # Patches # # Patch0 to Patch10 are for core kernel upgrades. # %if %sublevel Patch1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/patch-%{kernelversion}.%{patchlevel}.%{sublevel}.xz %endif %if %{rcX} # (tmb) Created with: # wget https://git.kernel.org/torvalds/p/v5.10-rc7/v5.9 -O patch-5.10-rc7 # xz -6e patch-5.10-rc7 Patch2: patch-%{kernelversion}.%{patchlevel}-rc%{rcX}.xz %endif ### ### Stable Queue can be big ### Patches from 100-999 ### #Patch100: stable-queue-coalesced-5.10-20240825.patch ### add patches here by copying contents of kernel matching queue-x.y from: ### https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/ ### to SOURCES, generate patchlist with generate-patchlist.sh and paste it here ### ### ### Arch ### Patches from 1000 ### # laptop needing pci=assign-busses (#18989, needs to be submitted upstream) Patch1000: x86-pci-toshiba-equium-a60-assign-busses.patch # If users choose a bad video mode, allow to jump to # a working one (TTL: forever) Patch1001: x86-boot-video-80x25-if-break.patch # Allow poweroff on UP machines running SMP kernels Patch1005: x86-default_poweroff_up_machines.patch # raise vmalloc to fix https://bugs.mageia.org/show_bug.cgi?id=904 Patch1010: x86-increase-default-minimum-vmalloc-area-by-64MB-to-192MB.patch # slows down boot Patch1015: Revert-cpufreq-pcc-Enable-autoload-of-pcc-cpufreq-fo.patch # regression introduced in 5.10.5 # https://bugs.mageia.org/show_bug.cgi?id=28035 #Patch1035: revert-module-delay-kobject-uevent-until-after-module-init-.patch # restore raid performance Patch1040: x86-fpu-64-Don-t-FNINIT-in-kernel_fpu_begin.patch # amd Patch1045: x86-ACPI-State-Optimize-C3-entry-on-AMD-CPUs.patch ### ### ACPI ### # CLEVO M360S acpi irq workaround Patch1100: acpi-CLEVO-M360S-disable_acpi_irq.patch # Clevo M720SR freezes with C3 Patch1105: acpi-processor-M720SR-limit-to-C2.patch # backlight fixes Patch1110: ACPI-video-Add-a-quirk-to-force-acpi-video-backlight.patch ### ### Block ### # FIXME: Don't know know why this is needed Patch1200: scsi-megaraid-new-sysfs-name.patch # Looks like fixes from Arnaud, not sure why they're needed Patch1205: ide-pci-sis5513-965.patch # adds aliases to support upgrade from old dm-raid45 patch Patch1215: dm-raid-aliases.patch # disable floppy autoloading (mga #4696) Patch1220: block-floppy-disable-pnp-modalias.patch # prefer ata over ide drivers Patch1225: ata-prefer-ata-drivers-over-ide-drivers-when-both-are-built.patch # usb eject errors # https://bugs.mageia.org/show_bug.cgi?id=27877 # https://bugzilla.kernel.org/show_bug.cgi?id=211023 Patch1231: revert-block-remove-check_disk_change.patch # ahci Patch1232: ahci-Add-support-for-Dell-S140-and-later-controllers.patch # nvme Patch1240: nvme-pci-add-the-DISABLE_WRITE_ZEROES-quirk-for-a-SP.patch ### ### Crypto ### ### ### File-system ### # aufs diffed from: https://github.com/sfjro/aufs5-linux/tree/aufs5.10 (mga#8314) # rebased against 5.10.111 Patch1310: 0001-fs-aufs5-files-includes-and-documentation-rediffed.patch Patch1311: 0002-fs-aufs5-kbuild.patch Patch1312: 0003-fs-aufs5-base-rediffed.patch Patch1313: 0004-fs-aufs5-mmap-rediffed.patch Patch1314: 0005-fs-aufs5-standalone-rediffed.patch Patch1315: kernel-5.10.220-aufs-vfs-rename.patch ### ### FireWire ### # adding module aliases to ease upgrade from ieee1394 Patch1400: firewire-ieee1394-module-aliases.patch ### ### GPU/DRM ### # amdgpu Patch1500: drm-amdgpu-fix-the-issue-that-apu-has-no-smu-firmwar.patch Patch1501: drm-amd-amdgpu-set-the-default-value-of-noretry-to-1.patch Patch1502: drm-amdgpu-protect-eeprom-update-from-GPU-reset.patch Patch1503: drm-amd-amdgpu-enable-noretry-for-Sienna_Cichlid-Nav.patch Patch1504: drm-amdgpu-disable-rom-clock-gating-support-for-APUs.patch Patch1505: drm-amdgpu-increase-reserved-VRAM-size-to-8MB.patch Patch1506: drm-amdgpu-add-missing-sienna-cichlid-did.patch Patch1508: drm-amdgpu-fix-the-issue-that-retry-constantly-once-.patch Patch1509: drm-amdkfd-fix-null-pointer-panic-while-free-buffer-.patch Patch1510: drm-amdgpu-set-default-value-of-noretry-to-1-for-spe.patch Patch1511: drm-amdgpu-default-noretry-0-for-navi1x-and-newer-v2.patch # switch SI and CIK from radeon to amdgpu %if %{mgaversion} > 7 Patch1520: drm-amdgpu-SI-and-CIK-enabled-by-default.patch %else Source1520: drm-amdgpu-SI-and-CIK-enabled-by-default.patch %endif # new Q57 Host Bridge id Patch1530: char-agp-intel-new-Q57-id.patch # 5.4 regression (mga#26237) Patch1550: Revert-drm-radeon-simplify-and-cleanup-setting-the-d.patch Patch1551: Revert-drm-radeon-handle-PCIe-root-ports-with-addres.patch # https://bugzilla.kernel.org/show_bug.cgi?id=206653#c19 Patch1552: i2c_nvidia_gpu-change-err-into-info.patch # nouveau Ampere (RTX3xxx) modesetting support Patch1560: drm-nouveau-core-recognise-GA10-024.patch Patch1561: drm-nouveau-pci-ga10-024-initial-support.patch Patch1562: drm-nouveau-bios-ga10-024-initial-support.patch Patch1563: drm-nouveau-devinit-ga10-024-initial-support.patch Patch1564: drm-nouveau-mc-ga10-024-initial-support.patch Patch1565: drm-nouveau-privring-ga10-024-initial-support.patch Patch1566: drm-nouveau-imem-ga10-024-initial-support.patch Patch1567: drm-nouveau-fb-ga10-024-initial-support.patch Patch1568: drm-nouveau-timer-ga10-024-initial-support.patch Patch1569: drm-nouveau-mmu-ga10-024-initial-support.patch Patch1570: drm-nouveau-bar-ga10-024-initial-support.patch Patch1571: drm-nouveau-gpio-ga10-024-initial-support.patch Patch1572: drm-nouveau-i2c-ga10-024-initial-support.patch Patch1573: drm-nouveau-dmaobj-ga10-24-initial-support.patch Patch1574: drm-nouveau-disp-ga10-24-initial-support.patch ### ### hwmon ### # TTL 5.11 Patch1600: hwmon-add-Corsair-PSU-HID-controller-driver.patch Patch1601: hwmon-corsair-psu-fix-unintentional-sign-extension-issue.patch Patch1602: hwmon-corsair-psu-Fix-fan-rpm-calculation.patch # amd_energy Patch1610: hwmon-amd_energy-Add-AMD-family-19h-model-01h-x86-match.patch Patch1611: hwmon-amd_energy-Add-AMD-family-19h-model-30h-x86-ma.patch Patch1612: hwmon-amd_energy-use-unified-function-to-read-energy-data.patch Patch1613: hwmon-amd_energy-restore-visibility-of-energy-counters.patch # k10temp Patch1621: hwmon-k10temp-add-Ryzen-5xxx-support.patch # further amd patches (partially backported from cauldron 5.15.x) Patch1624: 0003-hwmon-nct6775-Use-superio_-function-pointers-in-sio_.patch Patch1625: 0004-hwmon-nct6775-Use-nct6775_-function-pointers-in-nct6.patch Patch1626: 0005-hwmon-nct6775-Support-access-via-Asus-WMI.patch Patch1627: 0006-hwmon-nct6775-Add-additional-ASUS-motherboards.patch Patch1628: 0007-hwmon-nct6775-add-Pro-WS-X570-ACE.patch Patch1629: 0008-hwmon-nct6775-add-ProArt-X570-CREATOR-WIFI.patch ### ### i2c ### ### ### Input ### ### ### HID ### # Amd SFH support (TTL: 5.11) Patch1720: hid-0001-SFH-Add-maintainers-and-documentation-for-AMD-SFH-ba.patch Patch1721: hid-0002-SFH-PCIe-driver-to-add-support-of-AMD-sensor-fusion-.patch Patch1722: hid-0003-SFH-Transport-Driver-to-add-support-of-AMD-Sensor-Fu.patch Patch1723: hid-0004-SFH-Create-HID-report-to-Enable-support-of-AMD-senso.patch Patch1724: hid-0005-AMD_SFH-Fix-for-incorrect-Sensor-index.patch Patch1725: hid-0006-HID-SFH-Add-documentation.patch Patch1726: hid-0007-SFH-fix-error-return-check-for-ERESTARTSYS.patch Patch1727: hid-sfh-fix-address-space-confusion.patch ### ### MFD ### ### ### MM ### ### ### Network ### # SiS 190 fixes Patch1900: net-sis190-fix-list-usage.patch # netfilter IFWLOG support Patch1910: net-netfilter-IFWLOG.patch Patch1911: net-netfilter-IFWLOG-mdv.patch Patch1912: net-netfilter-IFWLOG-2.6.35-buildfix.patch Patch1913: net-netfilter-IFWLOG-2.6.37-buildfix.patch Patch1914: net-ipv4-netfilter-ipt_IFWLOG-3.6-buildfix.patch Patch1915: net-netfilter-IFWLOG-3.7-buildfix.patch Patch1916: net-netfilter-IFWLOG-remove-unused-label.patch Patch1917: net-netfilter-ipt_IFWLOG-4.12-buildfix.patch Patch1918: net-netfilter-IFWLOG-5.0-buildfix.patch # netfilter psd support Patch1920: net-netfilter-psd.patch Patch1921: net-netfilter-psd-mdv.patch Patch1922: net-netfilter-psd-2.6.35-buildfix.patch Patch1923: net-netfilter-psd-fix-redefines.patch # rtw88 wifi # add alias for the replaced r8822be staging driver Patch1930: net-wireless-rtw88-add-r8822be-alias.patch # add alias for the replaced 8723de 3rdparty driver Patch1931: net-wireless-rtw88-add-8723de-alias.patch # 8821c: RFE typw2 support (TTL 5.12) Patch1933: net-wireless-rtw88-8821c-Correct-CCK-RSSI.patch Patch1934: net-wireless-rtw88-8821c-support-RFE-type2-wifi-NIC.patch # rtw89 for 802.11ax hw (TTL: 5.12) Patch1940: net-wireless-rtw89-add-CAM-files.patch Patch1941: net-wireless-rtw89-add-BT-coexistence-files.patch Patch1942: net-wireless-rtw89-add-core-and-trx-files.patch Patch1943: net-wireless-rtw89-add-debug-files.patch Patch1944: net-wireless-rtw89-add-efuse-files.patch Patch1945: net-wireless-rtw89-add-files-to-download-and-communicate-with-fir.patch Patch1946: net-wireless-rtw89-add-MAC-files.patch Patch1947: net-wireless-rtw89-implement-mac80211-ops.patch Patch1948: net-wireless-rtw89-add-pci-files.patch Patch1949: net-wireless-rtw89-add-phy-files.patch Patch1950: net-wireless-rtw89-define-register-names.patch Patch1951: net-wireless-rtw89-add-regulatory-support.patch Patch1952: net-wireless-rtw89-8852a-add-8852a-specific-files.patch Patch1953: net-wireless-rtw89-8852a-add-8852a-RFK-files.patch Patch1954: net-wireless-rtw89-8852a-add-8852a-RFK-tables.patch Patch1955: net-wireless-rtw89-8852a-add-8852a-tables.patch Patch1956: net-wireless-rtw89-add-ser-to-recover-error-reported-by-firmware.patch Patch1957: net-wireless-rtw89-add-Kconfig-and-Makefile.patch # iwlwifi Patch1960: net-wireless-iwlwifi-avoid-endless-HW-errors-at-assert-time.patch Patch1962: net-wireless-iwlwifi-iwlwifi-dbg-Mark-ucode-tlv-data-as-const.patch Patch1964: net-wireless-iwlwifi-add-new-pci-id-for-6235.patch # rtl8xxxu Patch1970: net-wireless-rtl8xxxu-disable-interrupt_in-transfer-for-8188cu-and-8192cu.patch ### ### PCI ### Patch1990: pci-decode-pcie-64-gt-link-speed.patch ### ### Platform ### # Allow access to Shuttle WMI interface controls # (Mainly allow turning on/off webcam and wireless on Shuttle DA18IE and DA18IM) Patch2000: platform-x86-add-shuttle-wmi-driver.patch Patch2001: platform-x86-shuttle-wmi-drop-devinit-exit.patch Patch2002: platform-x86-shuttle-wmi-4.2-buildfix.patch Patch2003: platform-x86-shuttle-wmi-4.13-buildfix.patch Patch2004: platform-x86-shuttle-wmi-kernel-5.5.patch ### ### PM ### ### ### Sound ### ### ### SPI ### ### ### Staging ### ### ### Thermal ### # TTL 5.11 Patch2280: thermal-intel_pch_thermal-Add-PCI-ids-for-Lewisburg-PCH.patch ### ### USB ### Patch2300: hid-usbhid-IBM-BladeCenterHS20-quirk.patch Patch2310: usb-storage-unusual_devs-add-id.patch Patch2311: usb-storage-unusual_devs-add-id-2.6.37-buildfix.patch Patch2312: 0001-Increase-USB-resume-timeout-to-60-ms.patch ### ### V4L ### # pwc driver name in /proc/bus/devices, /sys fix and "advertisement" removal Patch2400: media-usb-pwc-lie-in-proc-usb-devices.patch ### ### Video ### # Mageia framebuffer boot logo Patch2500: video-mageia-logo.patch # mga compat option Patch2501: video-console-vgacon-treat-nokmsboot-as-nomodeset.patch ### ### Virt ### # fix gcc-10 build Patch2550: KVM-squelch-uninitialized-variable-warning.patch ### ### Tools ### # wipe powerpc refrence so we can nuke dangling symlinks (mga#17676) Patch2600: tools-testing-selftest-Makefile-remove-powerpc-reference.patch # fix perf build Patch2605: tools-perf-ui-include-slang.patch # kconfig upates to switch from qt4 to qt5 (TTL 5.11) Patch2650: 2650-kconfig-qconf-drop-Qt4-support.patch Patch2651: 2651-kconfig-qconf-use-a-variable-to-pass-packages-to-pkg.patch Patch2652: 2652-kconfig-qconf-convert-to-Qt5-new-signal-slot-connect.patch Patch2653: 2653-kconfig-make-lkc.h-self-sufficient-include-wise.patch Patch2654: 2654-kconfig-qconf-show-Qt-version-in-the-About-dialog.patch Patch2655: 2655-kconfig-clean-up-header-inclusion.patch Patch2657: 2657-kconfig-doc-fix-fileno-to-filename.patch ### ### UAPI ### Patch2700: uapi-avoid-namespace-conflict-in-linux-posix_types.h.patch ### ### 3rdparty ### Patch2999: 3rd-3rdparty-update-makefile-and-kconfig.patch Patch3000: 3rd-3rdparty-tree.patch Patch3001: 3rd-3rdparty-merge.patch # ndiswrapper Patch3100: 3rd-ndiswrapper-1.63.patch Patch3101: 3rd-ndiswrapper-Kconfig.patch Patch3102: 3rd-ndiswrapper-Makefile-build-fix.patch Patch3103: 3rd-niswrapper-Kconfig-Makefile.patch # add rtl8812 support (mga#21043) # from https://github.com/aircrack-ng/rtl8812au.git Patch3200: 3rd-rtl8812au.patch Patch3201: 3rd-rtl8812au-Kconfig-Makefile.patch Patch3202: 3rd-rtl8812au-rename.patch # https://github.com/aircrack-ng/rtl8812au/pull/773/commits/ee9619ba0c8840db6d59d11989c31e24a8f0d806 Patch3203: 3rd-rtl8812au-kernel-5.10.patch # add rtl8723de support (mga#22559) Patch3300: 3rd-rtl8723de.patch Patch3301: 3rd-rtl8723de-Kconfig-Makefile.patch Patch3302: 3rd-rtl8723de-fix-redefine.patch Patch3303: 3rd-rtl8723de-nodebug.patch Patch3304: 3rd-rtl8223de-kernel-5.6.patch Patch3305: 3rd-rtl8723de-add-kernel-5.8-support.patch # viahss Patch3400: 3rd-viahss-0.92.patch Patch3401: 3rd-viahss-config.patch Patch3402: 3rd-viahss-module-license.patch Patch3403: 3rd-viahss-2.6.35-buildfix.patch Patch3404: 3rd-viahss-3.0-buildfix.patch Patch3405: 3rd-viahss-Kconfig-Makefile.patch # rtl8821ce (mga#24605) -- https://github.com/tomaspinho/rtl8821ce Patch3500: 3rd-rtl8821ce.patch Patch3501: 3rd-rtl8821ce-Kconfig-Makefile.patch Patch3502: 3rd-rtl8821ce-5.8-fix.patch Patch3503: 3rd-rtl8821ce-kernel-5.10.patch # fix Kconfig files for 3rdparty: Patch3900: 3rd-fix-kconfig.patch ### ### Python fixes ### Patch4000: linux-5.10-python3.patch ### ### TTY ### ### ### Security fixes ### Patch5002: CVE-2019-12379.patch # # CVE-2020-16119 # https://bugzilla.redhat.com/show_bug.cgi?id=1886374 # https://bugzilla.redhat.com/show_bug.cgi?id=1888083 Patch5003: CVE-2020-16119-DCCP-CCID-structure-use-after-free.patch ### ### Cosmetic fixes (e.g. typos, spelling, etc.) ### ### Fixes from FC kernel # Inspur Advantech PCI ids Patch7000: 0001-scsi-smartpqi-add-inspur-advantech-ids.patch # Vulcan AHCI PCI bar (aarch64) Patch7001: 0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch # fc33 #Patch7900: 0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch Patch7901: 0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch Patch7902: 0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch # Clearlinux # https://github.com/clearlinux-pkgs/linux Patch8100: 0001-i8042-decrease-debug-message-level-to-info.patch Patch8101: 0002-increase-the-ext4-default-commit-age.patch Patch8102: 0003-silence-rapl.patch Patch8103: 0004-pci-pme-wakeups.patch Patch8104: 0005-ksm-wakeups.patch # skip Source8105: 0006-intel_idle-tweak-cpuidle-cstates-rediff.patch Patch8106: 0007-bootstats-add-printk-s-to-measure-boot-time-in-more-rediff.patch Patch8107: 0008-smpboot-reuse-timer-calibration.patch Patch8108: 0009-raid6-add-Kconfig-option-to-skip-raid6-benchmarking.patch Patch8110: 0012-ipv4-tcp-allow-the-memory-tuning-for-tcp-to-go-a-lit.patch Patch8111: 0013-kernel-time-reduce-ntp-wakeups.patch Patch8112: 0014-init-wait-for-partition-and-retry-scan.patch Patch8113: 0015-print-fsync-count-for-bootchart.patch # rediffed Patch8114: 0016-add-boot-option-to-allow-unsigned-modules-rediff.patch Patch8115: 0017-enable-stateless-firmware-loading.patch Patch8116: 0018-migrate-some-systemd-defaults-to-the-kernel-defaults.patch Patch8117: 0019-use-lfence-instead-of-rep-and-nop.patch Patch8118: 0020-do-accept-in-LIFO-order-for-cache-efficiency.patch Patch8119: 0021-locking-rwsem-spin-faster.patch Patch8120: 0022-ata-libahci-ignore-staggered-spin-up.patch Patch8121: 0023-print-CPU-that-faults.patch Patch8122: 0024-nvme-workaround.patch Patch8123: 0025-don-t-report-an-error-if-PowerClamp-run-on-other-CPU.patch Patch8124: 0026-Revert-nvme-workaround.patch Patch8125: 0027-Revert-print-fsync-count-for-bootchart.patch # ntfs3 # https://gitlab.com/sirlucjan/kernel-patches.git #Patch8200: 0001-fs-ntfs3-Add-headers-and-misc-files.patch #Patch8201: 0002-fs-ntfs3-Add-initialization-of-super-block.patch #Patch8202: 0003-fs-ntfs3-Add-bitmap.patch #Patch8203: 0004-fs-ntfs3-Add-file-operations-and-implementation.patch #Patch8204: 0005-fs-ntfs3-Add-attrib-operations.patch #Patch8205: 0006-fs-ntfs3-Add-compression.patch #Patch8206: 0007-fs-ntfs3-Add-NTFS-journal.patch #Patch8207: 0008-fs-ntfs3-Add-Kconfig-Makefile-and-doc.patch #Patch8208: 0009-fs-ntfs3-Add-NTFS3-in-fs-Kconfig-and-fs-Makefile.patch #Patch8209: 0010-fs-ntfs3-Add-MAINTAINERS.patch #Patch8210: 0011-ntfs3-5.10-update-to-v16.patch #Patch8211: 0012-ntfs3-5.10-update-to-v17.patch #Patch8212: 0013-ntfs3-5.10-update-to-v18.patch #Patch8213: 0014-ntfs3-5.10-update-to-v19.patch #Patch8214: 0015-ntfs3-5.10-update-to-v20.patch #Patch8215: 0016-ntfs3-5.10-update-to-v21.patch # ZEN & ZEN-INTERACTIVE Patch8300: 0001-ZEN-Add-VHBA-driver.patch Patch8301: 0002-ZEN-Add-OpenRGB-patches.patch Patch8302: 0003-ZEN-Enable-additional-CPU-Optimizations-for-GCC-v10..patch Patch8303: 0004-ZEN-Unrestrict-CONFIG_OPTIMIZE_FOR_PERFORMANCE_O3.patch Patch8304: 0005-cpu-5.10-add-support-for-Zen-3-with-trunk-GCC.patch Patch8305: 0006-ZEN-Add-CONFIG-to-rename-the-mq-deadline-scheduler.patch Patch8306: 0007-ZEN-Add-an-option-to-make-threadirqs-the-default.patch Patch8307: 0012-ZEN-INTERACTIVE-Base-config-item.patch Patch8308: 0013-ZEN-INTERACTIVE-Use-BFQ-as-our-elevator.patch Patch8309: 0014-ZEN-INTERACTIVE-Increase-default-writeback-threshold.patch Patch8310: 0015-ZEN-INTERACTIVE-Enable-background-reclaim-of-hugepag.patch Patch8311: 0016-ZEN-INTERACTIVE-Tune-CFS-for-interactivity.patch Patch8312: 0017-ZEN-INTERACTIVE-Add-help-text-for-the-MuQSS-tweaks.patch Patch8313: 0018-ZEN-INTERACTIVE-Tune-ondemand-governor-for-interacti.patch Patch8314: 0019-ZEN-INTERACTIVE-Increase-max-number-of-tasks-rebalan.patch Patch8315: 0020-zen-Allow-MSR-writes-by-default.patch Patch8317: goldmont-tuneonly.patch Patch8318: haswell-tuneonly.patch Patch8319: znver2-tuning.patch # introduce 500 and 750Hz timer frequencies Patch8352: 0001-add-500-and-750-Hz-timer-frequencies.patch Patch8353: 0001-disable-smt-at-boot.patch # v4l2loopback Patch8400: 0001-v4l2loopback-5.10-initial-merge.patch Patch8401: 0002-v4l2loopback-5.10-confine-v4l2loopback_cleanup_modul.patch # toast Patch8450: 1009-mm-Disable-watermark-boosting-by-default.patch Patch8453: 1012-x86-mce-therm_throt-remove-unused-platform_thermal_n.patch Patch8454: 1013-x86-mce-therm_throt-allow-disabling-verbose-logging.patch Patch8455: 1014-x86-mce-therm_throt-allow-disabling-the-thermal-vect.patch Patch8460: 1022-HID-i2c-hid-Use-block-reads-when-possible-to-save-po.patch Patch8461: 1023-mm-Disable-proactive-compaction-by-default.patch # fix-misc v11 Patch8500: 0001-net-sched-allow-configuring-cake-qdisc-as-default.patch Patch8501: 0002-infiniband-Fix-__read_overflow2-error-with-O3-inlini.patch Patch8505: 0009-pci-Enable-overrides-for-missing-ACS-capabilities-rebased.patch Patch8506: 0012-scsi-sd-Optimal-I-O-size-should-be-a-multiple-of-rep.patch # block-v3 Patch8652: 0007-ZEN-Increase-max-elevator-name-size.patch # bfq hhoffstaette # Patch8700: bfq-20200605-001-use-ttime-local-variable.patch Patch8701: bfq-20200605-002-use-only-idle-IO-periods-for-think-time-calculations.patch Patch8702: bfq-20210111-revert-count-requests-per-hctx-to-improve-performance.patch Patch8703: bfq-20210122-001-use-half-slice_idle-as-a-threshold-to-check-short-ttime.patch Patch8704: bfq-20210122-002-set-next_rq-to-waker_bfqq-next_rq-in-waker-injection.patch Patch8705: bfq-20210122-003-increase-time-window-for-waker-detection.patch Patch8706: bfq-20210122-004-do-not-raise-non-default-weights.patch Patch8707: bfq-20210122-005-avoid-spurious-switches-to-soft_rt-of-interactive-queues.patch Patch8708: bfq-20210122-006-do-not-expire-a-queue-when-it-is-the-only-busy-one.patch Patch8709: bfq-20210125-001-replace-mechanism-for-evaluating-IO-intensity.patch Patch8710: bfq-20210125-002-re-evaluate-convenience-of-IO-plugging-on-rq-arrivals.patch Patch8711: bfq-20210125-003-fix-switch-back-from-soft-rt-weitgh-raising.patch Patch8712: bfq-20210125-004-save-also-weight-raised-service-on-queue-merging.patch Patch8713: bfq-20210125-005-save-also-injection-state-on-queue-merging.patch Patch8714: bfq-20210125-006-make-waker-queue-detection-more-robust.patch Patch8715: bfq-20210125-bfq_check_waker-should-be-static.patch Patch8716: bfq-20210223-update-comments-and-default-value-in-docs-for-fifo_expire.patch # sunrpc hhoffstaette Patch8760: sunrpc-20210215-set-TCP_CORK-until-the-transmit-queue-is-empty.patch Patch8761: sunrpc-20210216-001-use-TCP_CORK-to-optimise-send-performance-on-the-server.patch Patch8762: sunrpc-20210216-002-remove-redundant-socket-flags-from-svc_tcp_sendmsg-rebased.patch # Android #Patch8900: 0001-Export-symbols-needed-by-Android-drivers-rebased.patch Patch8901: 0002-android-Enable-building-ashmem-and-binder-as-modules.patch # arch-v11 Patch9000: 0002-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_sp.patch # futex2 # https://gitlab.collabora.com/tonyk/linux/-/tree/futex2 Patch9115: 0001-futex2-Implement-wait-and-wake-functions-rediff.patch Patch9116: 0002-futex2-Add-support-for-shared-futexes.patch Patch9117: 0003-futex2-Implement-vectorized-wait.patch Patch9118: 0004-futex2-Implement-requeue-operation.patch Patch9119: 0005-futex2-Add-compatibility-entry-point-for-x86_x32-ABI.patch Patch9120: 0006-docs-locking-futex2-Add-documentation.patch # for 5.10.155 Patch9121: 0007-selftests-futex2-Add-wake-wait-test-rediff.patch Patch9122: 0008-selftests-futex2-Add-timeout-test.patch Patch9123: 0009-selftests-futex2-Add-wouldblock-test.patch Patch9124: 0010-selftests-futex2-Add-waitv-test.patch Patch9125: 0011-selftests-futex2-Add-requeue-test.patch Patch9127: 0013-futex2-Add-sysfs-entry-for-syscall-numbers.patch # futex multiple-wait v3 Patch9140: 0001-futex-Implement-mechanism-to-wait-on-any-of-several-rediff.patch Patch9141: 0002-futex-Add-Proton-compatibility-code-rediff.patch # fix for 5.10.47 Patch9142: 0001-replace-basepage_index-with-page_to_pgoff.patch # pf-v2 # https://github.com/pfactum/pf-kernel # https://gitlab.com/sirlucjan/kernel-patches.git Patch9200: 0001-genirq-i2c-Provide-and-use-generic_dispatch_irq.patch Patch9201: 0002-HID-logitech-hidpp-add-support-for-Unified-Battery-1.patch # Patch9202: 0003-mm-compaction-correct-deferral-logic-for-proactive-c.patch # spadfs # http://artax.karlin.mff.cuni.cz/~mikulas/spadfs/ # https://gitlab.com/sirlucjan/kernel-patches.git Patch9300: 0001-spadfs-5.10-merge-v1.0.12.patch # # Add r8168 support (alternative to driver r8169 that sometimes fails to initialize a realtek card) # (since r8169 is the default, before using it, add "blacklist r8169" to /etc/modprobe.d/blacklist-r8169.conf) # https://github.com/mtorromeo/r8168 Patch9350: 3rd-r8168-8.051.02.patch Patch9351: 3rd-r8168-Kconfig-Makefile.patch # btrfs-v14 Patch9400: 0001-btrfs-add-a-force_chunk_alloc-to-space_info-s-sysfs.patch Patch9401: 0002-btrfs-restart-snapshot-delete-if-we-have-to-end-the-.patch Patch9402: 0003-btrfs-do-not-evaluate-the-expression-with-CONFIG_BTR.patch Patch9403: 0004-btrfs-remove-unnecessary-attempt-do-drop-extent-maps.patch Patch9404: 0005-btrfs-stop-incrementing-log-batch-when-joining-log-t.patch Patch9406: 0007-btrfs-fix-race-that-results-in-logging-old-extents-d.patch Patch9407: 0008-btrfs-fix-race-that-causes-unnecessary-logging-of-an.patch Patch9408: 0009-btrfs-fix-race-that-makes-inode-logging-fallback-to-.patch Patch9409: 0010-btrfs-fix-race-leading-to-unnecessary-transaction-co.patch Patch9410: 0011-btrfs-do-not-block-inode-logging-for-so-long-during-.patch Patch9411: 0012-btrfs-return-bool-from-should_end_transaction.patch Patch9412: 0013-btrfs-return-bool-from-btrfs_should_end_transaction.patch Patch9413: 0014-btrfs-do-not-block-on-deleted-bgs-mutex-in-the-clean.patch Patch9414: 0015-btrfs-only-let-one-thread-pre-flush-delayed-refs-in-.patch Patch9415: 0016-btrfs-delayed-refs-pre-flushing-should-only-run-the-.patch Patch9416: 0017-btrfs-only-run-delayed-refs-once-before-committing.patch Patch9417: 0018-btrfs-move-delayed-ref-flushing-for-qgroup-into-qgro.patch Patch9418: 0019-btrfs-remove-bogus-BUG_ON-in-alloc_reserved_tree_blo.patch Patch9419: 0020-btrfs-stop-running-all-delayed-refs-during-snapshot.patch Patch9420: 0021-btrfs-run-delayed-refs-less-often-in-commit_cowonly_.patch Patch9421: 0022-btrfs-make-flush_space-take-a-enum-btrfs_flush_state.patch Patch9422: 0023-btrfs-add-a-trace-point-for-reserve-tickets.patch Patch9423: 0024-btrfs-track-ordered-bytes-instead-of-just-dio-ordere.patch Patch9424: 0025-btrfs-introduce-a-FORCE_COMMIT_TRANS-flush-operation.patch Patch9425: 0026-btrfs-improve-preemptive-background-space-flushing.patch Patch9426: 0027-btrfs-rename-need_do_async_reclaim.patch Patch9427: 0028-btrfs-check-reclaim_size-in-need_preemptive_reclaim.patch Patch9428: 0029-btrfs-rework-btrfs_calc_reclaim_metadata_size.patch Patch9429: 0030-btrfs-simplify-the-logic-in-need_preemptive_flushing.patch Patch9430: 0031-btrfs-implement-space-clamping-for-preemptive-flushi.patch Patch9431: 0032-btrfs-adjust-the-flush-trace-point-to-include-the-so.patch Patch9432: 0033-btrfs-add-a-trace-class-for-dumping-the-current-ENOS.patch Patch9435: 0036-btrfs-remove-unnecessary-directory-inode-item-update.patch Patch9436: 0037-btrfs-stop-setting-nbytes-when-filling-inode-item-fo.patch Patch9437: 0038-btrfs-avoid-logging-new-ancestor-inodes-when-logging.patch Patch9438: 0039-btrfs-skip-logging-directories-already-logged-when-l.patch Patch9439: 0040-btrfs-skip-logging-inodes-already-logged-when-loggin.patch # rapl Patch9510: 0001-x86-msr-index-sort-AMD-RAPL-MSRs-by-address.patch Patch9511: 0002-powercap-intel_rapl_msr-Convert-rapl_msr_priv-into-p.patch Patch9512: 0003-powercap-Add-AMD-Fam17h-RAPL-support.patch Patch9513: 0004-powercap-RAPL-Add-AMD-Fam19h-RAPL-support.patch # hhoffstaette-misc Patch9625: btrfs-20210324-use-percpu_read_positive-instead-of-sum_positive-for-need_preempt.patch Patch9626: nfs-20210330-fix-up-the-support-for-CONFIG_NFS_DISABLE_UDP_SUPPORT.patch Patch9628: net-20210311-consider-using-standard-rtx-logic-in-tcp_rcv_fastopen_synack.patch Patch9629: net-20210311-plug-skb_still_in_host_queue-to-tsq.patch Patch9630: net-20210311-remove-obsolete-check-in-__tcp_retransmit_skb.patch Patch9636: btrfs-20210512-fix-removed-dentries-still-existing-after-log-is-synced.patch # iomap Patch9650: 0001-iomap-avoid-deadlock-if-memory-reclaim-is-triggered-.patch # zstd Patch9900: 0001-lib-zstd-Add-kernel-specific-API.patch Patch9901: 0002-lib-zstd-Add-decompress_sources.h-for-decompress_unz.patch Patch9902: 0003-NOCOMMIT-Upstream-zstd-1.4.6-as-is.patch Patch9903: 0004-NOCOMMIT-Kernel-zstd-1.4.6.patch # Patch9910: 0001-init-add-support-for-zstd-compressed-modules.patch Patch9911: 0004-MAINTAINERS-Add-maintainer-entry-for-zstd.patch # xanmod Source9940: 0003-block-set-rq_affinity-to-force-full-multithreading-I.patch Source9941: 0004-sched-core-nr_migrate-256-increases-number-of-tasks-rebased.patch Source9942: 0006-kconfig-set-PREEMPT-and-RCU_BOOST-without-delay-by-d-rebased.patch Source9943: 0007-dcache-cache_pressure-50-decreases-the-rate-at-which.patch Source9944: 0009-mm-vmscan-vm_swappiness-30-decreases-the-amount-of-s.patch Patch9945: 0014-XANMOD-Makefile-Turn-off-loop-vectorization-for-GCC-.patch # opensuse Patch9950: acpi_thinkpad_introduce_acpi_root_table_boot_param-rediff.patch Patch9951: acpi_thermal_passive_blacklist.patch Patch9952: dm-mpath-no-partitions-feature.patch Patch9953: dm-table-switch-to-readonly.patch Patch9954: megaraid-mbox-fix-SG_IO.patch Patch9955: nvmem-add-driver-to-expose-reserved-memory-as-nvmem.patch Patch9956: perf_timechart_fix_zero_timestamps.patch Patch9958: scsi-retry-alua-transition-in-progress.patch Patch9959: 0001-regulator-mt6360-Add-OF-match-table.patch Patch9960: 0002-regulator-mt6358-Add-OF-match-table.patch Patch9961: 0003-regulator-mt6323-Add-OF-match-table.patch # ubuntu-sauce Patch10000: 0005-UBUNTU-SAUCE-no-up-x86-reboot-Make-Dell-Latitude-E65.patch Patch10001: 0006-UBUNTU-SAUCE-no-up-x86-reboot-Make-Dell-Optiplex-790.patch Patch10002: 0007-UBUNTU-SAUCE-no-up-x86-reboot-Make-Dell-Optiplex-990.patch Patch10003: 0008-UBUNTU-SAUCE-no-up-x86-reboot-Make-Dell-Latitude-E62.patch Patch10004: 0016-UBUNTU-SAUCE-no-up-Input-Cypress-PS-2-Trackpad-simul.patch Patch10005: 0017-UBUNTU-SAUCE-no-up-PCI-fix-system-hang-issue-of-Marv.patch Patch10006: 0018-UBUNTU-SAUCE-no-up-x86-reboot-Make-Dell-Optiplex-390.patch Patch10007: 0019-UBUNTU-SAUCE-no-up-intel_ips-blacklist-ASUSTek-G60JX.patch Patch10008: 0020-UBUNTU-SAUCE-no-up-mei_me-Add-module-parameter-to-di.patch Patch10009: 0025-UBUNTU-SAUCE-no-up-ACPI-Disable-Windows-8-compatibil.patch Patch10010: 0026-UBUNTU-SAUCE-no-up-Added-quirk-to-recognize-GE0301-3.patch Patch10011: 0027-UBUNTU-SAUCE-isapnp_init-make-isa-PNP-scans-occur-as.patch Patch10012: 0076-UBUNTU-SAUCE-PCI-Disable-broken-RTIT_BAR-of-Intel-TH-rebased.patch Patch10013: 0081-UBUNTU-SAUCE-drm-i915-Disable-writing-of-TMDS_OE-on-.patch Patch10014: 0088-UBUNTU-SAUCE-drm-i915-Don-t-set-chip-specific-data.patch Patch10015: 0089-UBUNTU-SAUCE-drm-i915-make-previous-commit-affects-W.patch Patch10016: 0102-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-new-ba.patch Patch10017: 0103-UBUNTU-SAUCE-mwifiex-Switch-WiFi-LED-state-according.patch Patch10018: 0104-UBUNTU-SAUCE-Bluetooth-Support-for-LED-on-Edge-Gatew.patch Patch10020: 0138-UBUNTU-SAUCE-e1000e-disable-force-K1-off-feature.patch Patch10021: 0150-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-add-mi.patch Patch10022: 0151-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-load-d.patch Patch10023: 0152-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-add-fo.patch Patch10024: 0153-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-add-qu.patch Patch10025: 0156-UBUNTU-SAUCE-efi-efi_get_memory_map-increase-map-hea.patch Patch10026: 0161-UBUNTU-SAUCE-net-ena-fix-too-long-default-tx-interru.patch #Patch10027: 0162-UBUNTU-SAUCE-USB-core-Make-port-power-cycle-a-sepera.patch #Patch10028: 0163-UBUNTU-SAUCE-USB-core-Attempt-power-cycle-port-when-.patch Patch10029: 0165-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-add-re.patch Patch10030: 0170-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-increa.patch Patch10031: 0172-UBUNTU-SAUCE-Input-i8042-fix-the-selftest-retry-logi.patch Patch10032: 0175-UBUNTU-SAUCE-ptp-free-ptp-clock-properly.patch Patch10033: 0177-UBUNTU-SAUCE-drm-i915-Force-DPCD-backlight-mode-for-.patch Patch10034: 0178-UBUNTU-SAUCE-drm-i915-Force-DPCD-backlight-mode-for-.patch Patch10035: 0180-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-fix-se.patch Patch10036: 0213-UBUNTU-SAUCE-i915-Fix-build-error-due-to-missing-str.patch Patch10039: 0218-UBUNTU-SAUCE-PCI-Enable-ACS-quirk-on-CML-root-port.patch Patch10040: 0219-UBUNTU-SAUCE-xhci-workaround-for-S3-issue-on-AMD-SNP.patch Patch10042: 0221-UBUNTU-SAUCE-e1000e-Increase-polling-timeout-on-MDIC.patch Patch10043: 0251-UBUNTU-SAUCE-drm-i915-dpcd_bl-Skip-testing-control-c.patch Patch10044: 0252-UBUNTU-SAUCE-drm-dp-HP-DreamColor-panel-brigntness-f.patch Patch10046: 0258-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-rename.patch Patch10047: 0264-UBUNTU-SAUCE-PCI-Enable-ACS-quirk-on-all-CML-root-po.patch Patch10048: 0279-UBUNTU-SAUCE-perf-x86-intel-Add-Rocket-Lake-CPU-supp.patch Patch10049: 0280-UBUNTU-SAUCE-perf-x86-cstate-Add-Rocket-Lake-CPU-sup.patch Patch10050: 0281-UBUNTU-SAUCE-perf-x86-msr-Add-Rocket-Lake-CPU-suppor.patch Patch10051: 0282-UBUNTU-SAUCE-perf-x86-intel-uncore-Add-Rocket-Lake-s.patch Patch10052: 0349-Bluetooth-btrtl-Ask-8821C-to-drop-old-firmware.patch Patch10053: 0351-PM-ACPI-reboot-Use-S5-for-reboot.patch Patch10054: 0352-UBUNTU-SAUCE-drm-dp-Add-dpcd-backlight-control-for-0.patch Patch10055: 0354-PM-ACPI-Refresh-wakeup-device-power-configuration-ev.patch Patch10056: 0356-UBUNTU-SAUCE-rtw88-8723de-let-cpu-enter-c10.patch Patch10057: 0358-drm-i915-Force-DPCD-backlight-mode-for-BOE-2270-pane.patch Patch10058: 0362-drm-i915-skl-Work-around-incorrect-BIOS-WRPLL-PDIV-p.patch Patch10059: 0363-drm-i915-Move-the-initial-fastset-commit-check-to-en.patch Patch10060: 0364-drm-i915-Check-for-unsupported-DP-link-rates-during-.patch Patch10061: 0365-drm-i915-Add-an-encoder-hook-to-sanitize-its-state-d.patch Patch10062: 0367-PCI-vmd-Offset-Client-VMD-MSI-X-vectors.patch Patch10063: 1219-UBUNTU-SAUCE-thunderbolt-Move-max_boot_acl-field-to-.patch Patch10064: 1220-UBUNTU-SAUCE-thunderbolt-Log-which-connection-manage.patch Patch10065: 1221-UBUNTU-SAUCE-thunderbolt-Log-adapter-numbers-in-deci.patch Patch10066: 1222-UBUNTU-SAUCE-thunderbolt-Keep-the-parent-runtime-res.patch Patch10067: 1223-UBUNTU-SAUCE-thunderbolt-Return-ENOTCONN-when-ERR_CO.patch Patch10075: 1520-UBUNTU-SAUCE-drm-dp-Another-HP-DreamColor-panel-brig.patch Patch10077: 1673-thermal-core-Emit-a-warning-if-the-thermal-zone-is-u.patch Patch10078: 1674-thermal-core-Add-critical-and-hot-ops.patch Patch10079: 1675-thermal-drivers-acpi-Use-hot-and-critical-ops.patch Patch10080: 1676-thermal-drivers-rcar-Remove-notification-usage.patch Patch10081: 1677-thermal-core-Remove-notify-ops.patch Patch10082: 1678-thermal-int340x-Fix-unexpected-shutdown-at-critical-.patch Patch10083: 1679-thermal-intel-pch-Fix-unexpected-shutdown-at-critica.patch Patch10084: 1695-UBUNTU-SAUCE-drm-i915-s-old_crtc_state-crtc_state.patch Patch10085: 1696-UBUNTU-SAUCE-drm-i915-Make-intel_dp_process_phy_requ.patch Patch10087: 1698-UBUNTU-SAUCE-drm-i915-Split-ICL-combo-PHY-buf-trans-.patch Patch10088: 1699-UBUNTU-SAUCE-drm-i915-Split-ICL-MG-PHY-buf-trans-per.patch Patch10089: 1700-UBUNTU-SAUCE-drm-i915-Split-EHL-combo-PHY-buf-trans-.patch Patch10090: 1701-UBUNTU-SAUCE-drm-i915-Split-TGL-combo-PHY-buf-trans-.patch Patch10091: 1702-UBUNTU-SAUCE-drm-i915-Split-TGL-DKL-PHY-buf-trans-pe.patch Patch10096: 1707-UBUNTU-SAUCE-drm-dp-Add-LTTPR-helpers-rediff.patch Patch10099: 1710-UBUNTU-SAUCE-Bluetooth-btintel-Fix-endianness-issue-.patch Patch10100: 1715-UBUNTU-SAUCE-ath11k-add-64bit-check-before-reading-m.patch # rediffed since 5.10.192 Patch10101: 1716-UBUNTU-SAUCE-ath11k-pci-support-platforms-with-one-M-rediffed-2.patch # Patch10102: 1717-UBUNTU-SAUCE-ath11k-dp_rx-fix-monitor-status-dma-unm.patch Patch10103: 1718-UBUNTU-SAUCE-ath11k-hook-mhi-suspend-and-resume.patch Patch10104: 1719-UBUNTU-SAUCE-ath11k-implement-hif-suspend-and-resume.patch Patch10105: 1720-UBUNTU-SAUCE-ath11k-read-select_window-register-to-e.patch Patch10106: 1721-UBUNTU-SAUCE-ath11k-implement-htc-suspend-related-ca.patch Patch10107: 1722-UBUNTU-SAUCE-ath11k-put-target-to-suspend-when-syste.patch Patch10108: 1723-UBUNTU-SAUCE-ath11k-pci-print-a-warning-if-firmware-.patch Patch10109: 1724-UBUNTU-SAUCE-ath11k-qmi-print-allocated-memory-segme.patch Patch10110: 1725-UBUNTU-SAUCE-HACK-ath11k-add-delays-to-suspend-and-r.patch Patch10111: 1726-UBUNTU-SAUCE-ath11k-put-hw-to-DBS-using-WMI_PDEV_SET.patch Patch10112: 1727-UBUNTU-SAUCE-ath11k-fix-pcie-link-unstable-issue.patch Patch10113: 1728-UBUNTU-SAUCE-ath11k-fix-PCI-L1ss-clock-unstable-prob.patch Patch10114: 1729-UBUNTU-SAUCE-ath11k-disable-OTP-write-privilege.patch Patch10115: 1730-UBUNTU-SAUCE-ath11k-disable-ASPM-L0sLs-before-downlo.patch #Patch10116: 1731-UBUNTU-SAUCE-ath11k-purge-rx-pktlog-when-entering-su.patch Patch10117: 1732-UBUNTU-SAUCE-ath11k-set-credit_update-flag-for-flow-.patch Patch10119: 1734-UBUNTU-SAUCE-ath11k-add-ce-irq-enable-and-disable-hi.patch Patch10123: 1738-UBUNTU-SAUCE-platform-x86-dell-uart-backlight-add-ge.patch Patch10125: 1740-drm-i915-dg1-gmbus-pin-mapping.patch Patch10126: 1741-drm-i915-dg1-Don-t-program-PHY_MISC-for-PHY-C-and-PH.patch Patch10127: 1742-drm-i915-dg1-add-hpd-interrupt-handling.patch Patch10137: 1754-rtw88-reduce-the-log-level-for-failure-of-tx-report.patch Patch10140: 0217-UBUNTU-SAUCE-PCI-ASPM-Enable-ASPM-for-links-under-VM-rebased.patch Patch10141: 0220-UBUNTU-SAUCE-PCI-ASPM-Enable-LTR-for-endpoints-behin-rebased.patch # backported from ubuntu sauce 5.11 Patch10950: 0042-UBUNTU-SAUCE-Clear-Linux-fix-initcall-timestamps.patch Patch10951: 0044-UBUNTU-SAUCE-Clear-Linux-init-do_mounts-recreate-dev.patch Patch10953: 0368-PCI-microsemi-Add-host-driver-for-Microsemi-PCIe-con.patch Patch10954: 0387-Revert-UBUNTU-SAUCE-PCI-Enable-ACS-quirk-on-all-CML-.patch Patch10955: 0388-Revert-UBUNTU-SAUCE-PCI-Enable-ACS-quirk-on-CML-root.patch #Patch10956: 0390-UBUNTU-SAUCE-PCI-DPC-Disable-DPC-interrupt-during-su.patch Patch10957: 0400-UBUNTU-SAUCE-HID-intel-ish-hid-ipc-Add-Tiger-Lake-H-.patch Patch10961: 0483-ALSA-hda-cirrus-Increase-AUTO_CFG_MAX_INS-from-8-to-.patch Patch10962: 0484-ALSA-hda-cirrus-Add-support-for-CS8409-HDA-bridge-an.patch Patch10963: 0485-ALSA-hda-cirrus-Add-jack-detect-interrupt-support-fr.patch Patch10964: 0486-ALSA-hda-cirrus-Add-Headphone-and-Headset-MIC-Volume.patch Patch10966: 0488-UBUNTU-SAUCE-ALSA-hda-cirrus-Fix-Headset-Mic-volume-.patch # ubuntu-sauce 5.11 Patch10982: 0670-drm-panel-s6e63m0-Support-max-brightness.patch Patch10983: 0726-media-i2c-Kconfig-Select-FWNODE-for-OV772x-sensor.patch Patch10984: 0739-irqchip-ls-extirq-add-IRQCHIP_SKIP_SET_WAKE-to-the-i.patch Patch10985: 0796-Input-imx_keypad-add-dependency-on-HAS_IOMEM.patch Patch10988: 1457-UBUNTU-SAUCE-Input-i8042-add-dmi-quirk.patch Patch10990: 1461-UBUNTU-SAUCE-efifb-Ensure-graphics-device-for-efifb-.patch Patch10991: 3875-USB-Verify-the-port-status-when-timeout-happens-duri.patch Patch10992: 0214-UBUNTU-SAUCE-PCI-Enable-ACS-quirk-on-CML-root-port.patch Patch10993: 0217-UBUNTU-SAUCE-e1000e-Increase-polling-timeout-on-MDIC.patch Patch10994: 2382-UBUNTU-SAUCE-efifb-Check-efifb_pci_dev-before-using-.patch Patch10995: 2465-drm-radeon-Fix-size-overflow.patch Patch10996: 2466-drm-amdgpu-Fix-size-overflow.patch Patch10998: 2807-ALSA-hda-cirrus-Set-Initial-DMIC-volume-for-Bullseye.patch Patch10999: 2808-ALSA-hda-cirrus-Use-CS8409-filter-to-fix-abnormal-so.patch Patch11000: 2892-ALSA-usb-audio-Add-MIDI-quirk-for-Vox-ToneLab-EX.patch Patch11001: 3037-drm-amd-display-dc-dce-dce_aux-Remove-duplicate-line.patch Patch11002: 3052-media-cx23885-add-more-quirks-for-reset-DMA-on-some-.patch # Patch11020: 1268-iwlwifi-add-new-cards-for-So-and-Qu-family.patch Patch11021: 1846-iommu-amd-Don-t-call-early_amd_iommu_init-when-AMD-I.patch Patch11022: 1848-iommu-amd-Move-Stoney-Ridge-check-to-detect_ivrs.patch Patch11023: 1967-drm-i915-vbt-update-DP-max-link-rate-table.patch Patch11024: 2439-drm-i915-rkl-Remove-require_force_probe-protection.patch Patch11025: 2440-Bluetooth-btrtl-Enable-central-peripheral-role.patch Patch11026: 2806-drm-i915-display-Handle-lane-polarity-for-DDI-port.patch Patch11027: 3837-drm-i915-display-Do-not-allow-DC3CO-if-PSR-SF-is-ena.patch Patch11028: 3838-drm-i915-display-psr-Disable-DC3CO-when-the-PSR2-is-.patch Patch11029: 3876-vgaarb-Use-ACPI-HID-name-to-find-integrated-GPU.patch Patch11030: 4307-f2fs-fix-to-avoid-NULL-pointer-dereference.patch Patch11032: 5001-hwmon-corsair-psu-fix-suspend-behavior.patch Patch11033: 5011-drm-i915-Fix-HAS_LSPCON-macro-for-platforms-between-.patch Patch11034: 5069-HID-intel-ish-hid-ipc-Add-Alder-Lake-device-IDs.patch Patch11035: 5954-drm-i915-Use-intel_hdmi_port_clock-more.patch Patch11036: 5956-drm-i915-display-Restructure-output-format-computati.patch Patch11037: 5961-drm-i915-display-Disable-PSR2-if-TGL-Display-steppin.patch Patch11038: 5965-UBUNTU-SAUCE-drm-i915-Force-DPCD-backlight-mode-for-.patch Patch11039: 5966-UBUNTU-SAUCE-drm-i915-Force-DPCD-backlight-mode-for-.patch Patch11040: 5967-drm-i915-Invoke-another-_DSM-to-enable-MUX-on-HP-Wor.patch Patch11041: 6946-r8152-Fix-a-deadlock-by-doubly-PM-resume.patch Patch11042: 7090-UBUNTU-SAUCE-iommu-amd-Keep-swiotlb-enabled-to-ensur.patch Patch11044: 7739-amdgpu-pm-add-extra-info-to-SMU-msg-pre-check-failed.patch Patch11047: 8070-f2fs-fix-wrong-checkpoint_changed-value-in-f2fs_remo.patch Patch11048: 8071-HID-amd_sfh-Fix-period-data-field-to-enable-sensor.patch Patch11049: 8073-drm-vmwgfx-Fix-subresource-updates-with-new-contexts.patch #Patch11050: 8074-drm-vmwgfx-vmwgfx_cmdbuf_res-Remove-unused-variable-.patch Patch11051: 8080-staging-rtl8723bs-fix-right-side-of-condition.patch Patch11052: 8090-drm-amdgpu-Fix-a-deadlock-if-previous-GEM-object-all.patch Patch11053: 8210-drm-amd-display-Get-backlight-from-PWM-if-DMCU-is-no.patch Patch11055: 8217-net-phylink-add-suspend-resume-support.patch Patch11057: 8414-drm-amdgpu-add-missing-cleanups-for-Polaris12-UVD-VC.patch Patch11058: 8415-drm-amdgpu-Fix-crash-on-device-remove-driver-unload.patch Patch11059: 8418-Bluetooth-hci_ldisc-require-CAP_NET_ADMIN-to-attach-.patch Patch11070: 3935-Bluetooth-check-for-zapped-sk-before-connecting.patch Patch11071: 4324-nvme-tcp-rerun-io_work-if-req_list-is-not-empty.patch Patch11072: 6466-drm-amdgpu-add-another-Renoir-DID.patch Patch11074: 7001-USB-serial-ch341-fix-character-loss-at-high-transfer.patch # popos # https://github.com/pop-os/linux #Patch12000: 0001-nvme-add-APST-and-suspend-quirks-for-some-System76-m.patch # openrazer # https://github.com/openrazer/openrazer Patch13000: 0001-Added-OpenRazer-drivers-version-2.9.0-20210131.patch Patch13001: 0002-Fix-Makefile-and-provide-openrazer-s-Kconfig.patch Patch13002: 0003-Add-OpenRazer-driver-to-Makefile-and-Kconfig.patch # saa716x # https://github.com/s-moch/linux-saa716x.git Patch14000: saa716x-5.10-coalesced.patch # openmandriva # https://github.com/OpenMandrivaAssociation/kernel-release.git Patch16000: 0001-Add-support-for-Acer-Predator-macro-keys-rebased.patch Patch16001: add-sbtsi_driver.patch Patch16003: nvme-Patriot_Viper_VPN100-QUIRK_IGNORE_DEV_SUBNQN_rebased-new.patch Patch16004: nvme-pci-more-info.patch Patch16005: Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST-rediffed.patch # seems merged in 5.10.142 Source16006: 0009-typec-displayport-some-devices-have-pin-assignments-reversed.patch # le9 # https://github.com/hakavlad/le9-patch Patch16900: le9ec-5.10.patch # aur # https://bugzilla.kernel.org/show_bug.cgi?id=212017 Patch17000: 0002-iommu-amd-Don-t-initialise-remapping-irqdomain-if-IO.patch #END #################################################################### # Defines for the things that are needed for all the kernels # %define common_desc_kernel The kernel package contains the Linux kernel (vmlinuz), the core of your \ Mageia operating system. The kernel handles the basic functions \ of the operating system: memory allocation, process allocation, device \ input and output, etc. %define common_desc_kernel_smp This kernel relies on in-kernel smp alternatives to switch between up & smp \ mode depending on detected hardware. To force the kernel to boot in single \ processor mode, use the "nosmp" boot parameter. ### Global Requires/Provides %define requires1 bootloader-utils >= 1.16-1 %define requires2 dracut >= 046-2 %define requires3 kmod >= 12-2 %define requires4 sysfsutils >= 2.1.0-16 %define requires5 kernel-firmware >= 20190603-1 %if %{mgaversion} > 7 # ldetect-lst with SI/CIK swich from radeon to amdgpu %define requires6 ldetect-lst >= 0.6.25-1 %else %define requires6 %{nil} %endif %define kprovides1 %{kname} = %{kverrel} %define kprovides2 kernel = %{tar_ver} %define kprovides3 alsa = 1.0.26 %define kprovides_server drbd-api = 88 # conflict dkms packages that dont support kernel-5.10 %define kconflicts1 dkms-broadcom-wl < 6.30.223.271-58 %define kconflicts2 dkms-nvidia-current < 460.32.03-1 %define kconflicts3 dkms-nvidia390 < 390.141-1 %if %{mgaversion} > 7 %define kconflicts4 dkms-nvidia340 < 340.108-15 %else %define kconflicts4 dkms-nvidia340 < 340.108-9 %endif %define kconflicts5 dkms-nvidia304 < 304.137-3 %if %{mgaversion} > 7 %define kconflicts6 dkms-virtualbox < 6.1.18-1 %define kconflicts7 dkms-xtables-addons < 3.13-2 # (tmb) conflict older btrfs-progs to get the new in same transaction and in initrd %define kconflicts8 btrfs-progs < 5.10-1 # (tmb) conflict too old radeon-firmware to get the uvd firmwares in initrd %define kconflicts9 radeon-firmware < 20201218-1 # (tmb) conflict old firmware to get the firmwares in initrd %define kconflicts10 kernel-firmware-nonfree < 20201230-1 # (tmb) conflict old microcode to get updated ones in initrd for early loading %define kconflicts11 microcode < 0.20201118-2 # (tmb) conflict old theme to get mga8 theme in initrd %define kconflicts12 mageia-gfxboot-theme < 4.5.14.11-2 %else %define kconflicts6 dkms-virtualbox < 6.1.6-4 %define kconflicts7 dkms-xtables-addons < 3.13-1 # (tmb) conflict older btrfs-progs to get the new in same transaction and in initrd %define kconflicts8 btrfs-progs < 5.1.1-1 # (tmb) conflict too old radeon-firmware to get the uvd firmwares in initrd %define kconflicts9 radeon-firmware < 20200316-1 # (tmb) conflict old firmware to get the firmwares in initrd %define kconflicts10 kernel-firmware-nonfree < 20200316-1 # (tmb) conflict old microcode to get updated ones in initrd for early loading %define kconflicts11 microcode < 0.20191115-1 %define kconflicts12 %{nil} %endif # (tmb) conflict too old grub2(-efi) %define kconflicts13 grub2 < 2.02.0-15 %define kconflicts14 grub2-efi < 2.02.0-15 # (tmb) conflict too old efibootmgr %define kconflicts15 efibootmgr < 16-3 # (tmb) force new theme in initrd %define kconflicts16 mageia-theme < 8.0-2 Autoreqprov: no %if 0%{?mageia} >= 8 BuildRequires: gcc >= 10.1.0-5 BuildRequires: binutils >= 1:2.34-12 %else BuildRequires: gcc >= 8.4.0-1 BuildRequires: binutils >= 1:2.33.1-1 %endif BuildRequires: kmod >= 12-2 BuildRequires: bc # for crypto stuff BuildRequires: pkgconfig(openssl) # since 4.16 BuildRequires: bison BuildRequires: diffutils BuildRequires: elfutils-devel BuildRequires: flex # for headers_install BuildRequires: rsync # for cpupower %if %{build_cpupower} BuildRequires: pkgconfig(libpci) %endif # for perf %if %{build_perf} BuildRequires: audit-devel BuildRequires: binutils-devel BuildRequires: gtk2-devel BuildRequires: libunwind-devel BuildRequires: newt-devel BuildRequires: python3-devel BuildRequires: zlib-devel BuildRequires: asciidoc BuildRequires: xmlto-notex BuildRequires: perl-devel %if 0%{?mageia} >= 8 BuildRequires: systemtap-sdt-devel BuildRequires: babeltrace-devel %else BuildRequires: libbabeltrace-devel %endif %ifarch %{ix86} x86_64 BuildRequires: numa-devel %endif %endif %if %{build_bpftool} BuildRequires: python3-docutils BuildRequires: cap-devel %endif %description %common_desc_kernel %ifnarch %{arm} %common_desc_kernel_smp %endif # mkflavour() name flavour processor # name: the flavour name in the package name # flavour: first parameter of CreateKernel() %define mkflavour() \ %package -n %{kname}-%{1}-%{buildrel} \ Version: %{fakever} \ Release: %{fakerel} \ Provides: %kprovides1 %kprovides2 %kprovides3 \ %{expand:%%{?kprovides_%{1}:Provides: %{kprovides_%{1}}}} \ Provides: %{kname}-%{1} \ Requires(pre): %requires1 %requires2 %requires3 %requires4 \ Requires: %requires2 %requires5 %requires6 \ Conflicts: %kconflicts1 %kconflicts2 %kconflicts3 \ Conflicts: %kconflicts4 %kconflicts5 %kconflicts6 \ Conflicts: %kconflicts7 %kconflicts8 %kconflicts9 \ Conflicts: %kconflicts10 %kconflicts11 %kconflicts12 \ Conflicts: %kconflicts13 %kconflicts14 %kconflicts15 \ %if %{mgaversion} > 7 \ Conflicts: %kconflicts16 \ %endif \ %if 0%{?mageia} >= 8 \ Obsoletes: crda \ Obsoletes: crda-devel \ Obsoletes: fuse-exfat \ %endif \ Provides: should-restart = system \ Provides: installonlypkg(kernel) \ Recommends: iw cpupower microcode \ Recommends: %{kname}-%{1}-latest \ %ifarch %{ix86} \ Conflicts: arch(x86_64) \ %endif \ Summary: %{expand:%{summary_%(echo %{1} | sed -e "s/-/_/")}} \ Group: System/Kernel and hardware \ %description -n %{kname}-%{1}-%{buildrel} \ %common_desc_kernel %{expand:%{info_%(echo %{1} | sed -e "s/-/_/")}} \ %ifnarch %{arm} \ %common_desc_kernel_smp \ %endif \ \ %if %build_devel \ %package -n %{kname}-%{1}-devel-%{buildrel} \ Version: %{fakever} \ Release: %{fakerel} \ Requires: glibc-devel ncurses-devel make gcc perl \ Requires: gcc >= 5.5.0-1 \ %ifarch x86_64 \ Requires: pkgconfig(libelf) \ %endif \ Summary: The kernel-devel files for %{kname}-%{1}-%{buildrel} \ Group: Development/Kernel \ Provides: %{kname}-devel = %{kverrel} \ Provides: %{kname}-%{1}-devel \ Recommends: %{kname}-%{1}-devel-latest \ %ifarch %{ix86} \ Conflicts: arch(x86_64) \ %endif \ %description -n %{kname}-%{1}-devel-%{buildrel} \ This package contains the kernel files (headers and build tools) \ that should be enough to build additional drivers for \ use with %{kname}-%{1}-%{buildrel}. \ \ If you want to build your own kernel, you need to install the full \ %{kname}-source-%{buildrel} rpm. \ \ %endif \ \ %if %build_debug \ %package -n %{kname}-%{1}-%{buildrel}-debuginfo \ Version: %{fakever} \ Release: %{fakerel} \ Summary: Files with debuginfo for %{kname}-%{1}-%{buildrel} \ Group: Development/Debug \ Provides: kernel-debug = %{kverrel} \ %ifarch %{ix86} \ Conflicts: arch(x86_64) \ %endif \ %description -n %{kname}-%{1}-%{buildrel}-debuginfo \ This package contains the files with debuginfo to aid in debug tasks \ when using %{kname}-%{1}-%{buildrel}. \ \ If you need to look at debug information or use some application that \ needs debugging info from the kernel, this package may help. \ \ %endif \ \ %package -n %{kname}-%{1}-latest \ Version: %{kversion} \ Release: %{rpmrel} \ Summary: Virtual rpm for latest %{kname}-%{1} \ Group: System/Kernel and hardware \ Requires: %{kname}-%{1}-%{buildrel} \ %ifarch %{ix86} \ Conflicts: arch(x86_64) \ %endif \ Obsoletes: vboxadditions-kernel-%{1}-latest \ Obsoletes: kernel-tmb-%{1}-latest \ %description -n %{kname}-%{1}-latest \ This package is a virtual rpm that aims to make sure you always have the \ latest %{kname}-%{1} installed... \ \ %if %build_devel \ %package -n %{kname}-%{1}-devel-latest \ Version: %{kversion} \ Release: %{rpmrel} \ Summary: Virtual rpm for latest %{kname}-%{1}-devel \ Group: Development/Kernel \ Requires: %{kname}-%{1}-devel-%{buildrel} \ %ifarch %{ix86} \ Conflicts: arch(x86_64) \ %endif \ Provides: %{kname}-devel-latest \ Obsoletes: kernel-tmb-%{1}-devel-latest \ %description -n %{kname}-%{1}-devel-latest \ This package is a virtual rpm that aims to make sure you always have the \ latest %{kname}-%{1}-devel installed... \ \ %endif \ \ %posttrans -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1}-posttrans \ %postun -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1}-postun \ \ %if %build_devel \ %post -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1}-post \ %preun -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1}-preun \ %postun -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1}-postun \ %endif \ \ %files -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1} \ %files -n %{kname}-%{1}-latest \ \ %if %build_devel \ %files -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1} \ %files -n %{kname}-%{1}-devel-latest \ %endif \ \ %if %build_debug \ %files -n %{kname}-%{1}-%{buildrel}-debuginfo -f kernel_debug_files.%{1} \ %endif %ifarch %{ix86} # # kernel-desktop586: i586, smp-alternatives, 4GB # %if %build_desktop586 %define summary_desktop586 Linux kernel for desktop use with i586 and less than 4GB RAM %define info_desktop586 This kernel is compiled for desktop use, single or \ multiple i586 processor(s)/core(s) and less than 4GB RAM (usually 3-3.5GB \ detected, if you need/want to use all 4GB or more, install kernel-server), \ using HZ_1000, voluntary preempt, CFS cpu scheduler and cfq i/o scheduler. %mkflavour desktop586 %endif %endif # # kernel-desktop: i686, smp-alternatives, 4 GB / x86_64 # %if %build_desktop %ifarch %{ix86} %define summary_desktop Linux Kernel for desktop use with i686 and less than 4GB RAM %define info_desktop This kernel is compiled for desktop use, single or \ multiple i686 processor(s)/core(s) and less than 4GB RAM (usually 3-3.5GB \ detected, if you need/want to use all 4GB or more, install kernel-server), \ using HZ_1000, voluntary preempt, CFS cpu scheduler and cfq i/o scheduler. %else %define summary_desktop Linux Kernel for desktop use with %{_arch} %define info_desktop This kernel is compiled for desktop use, single or \ multiple %{_arch} processor(s)/core(s), using HZ_1000, voluntary preempt, \ CFS cpu scheduler and cfq i/o scheduler. %endif %mkflavour desktop %endif # # kernel-server: i686, smp-alternatives, 64 GB / x86_64 # %if %build_server %ifarch %{ix86} %define summary_server Linux Kernel for server use with i686 & 64GB RAM %define info_server This kernel is compiled for server use, single or \ multiple i686 processor(s)/core(s) and up to 64GB RAM using PAE, using \ no preempt, HZ_100, CFS cpu scheduler and cfq i/o scheduler. %else %define summary_server Linux Kernel for server use with %{_arch} %define info_server This kernel is compiled for server use, single or \ multiple %{_arch} processor(s)/core(s), using no preempt, HZ_100, \ CFS cpu scheduler and cfq i/o scheduler. %endif %mkflavour server %endif # # kernel-source # %if %build_source %package -n %{kname}-source-%{buildrel} Version: %{fakever} Release: %{fakerel} Requires: glibc-devel, ncurses-devel, make, gcc, perl, diffutils Summary: The Linux source code for %{kname}-%{buildrel} Group: Development/Kernel Autoreqprov: no Provides: kernel-source = %{kverrel} Buildarch: noarch %description -n %{kname}-source-%{buildrel} The %{kname}-source package contains the source code files for the Mageia kernel. Theese source files are only needed if you want to build your own custom kernel that is better tuned to your particular hardware. If you only want the files needed to build 3rdparty (nVidia, Ati, dkms-*,...) drivers against, install the *-devel-* rpm that is matching your kernel. # # kernel-source-latest: virtual rpm # %package -n %{kname}-source-latest Version: %{kversion} Release: %{rpmrel} Summary: Virtual rpm for latest %{kname}-source Group: Development/Kernel Requires: %{kname}-source-%{buildrel} Buildarch: noarch %description -n %{kname}-source-latest This package is a virtual rpm that aims to make sure you always have the latest %{kname}-source installed... %endif # # kernel-doc: documentation for the Linux kernel # %if %build_doc %package -n %{kname}-doc Version: %{kversion} Release: %{rpmrel} Summary: Various documentation bits found in the %{kname} source Group: Documentation Buildarch: noarch %description -n %{kname}-doc This package contains documentation files from the %{kname} source. Various bits of information about the Linux kernel and the device drivers shipped with it are documented in these files. You also might want install this package if you need a reference to the options that can be passed to Linux kernel modules at load time. %endif # # kernel userspace-headers # %if %{build_uheaders} %package -n %{kname}-userspace-headers Version: %{kversion} Release: %{rpmrel} Summary: Linux kernel header files for userspace Group: System/Kernel and hardware %rename linux-userspace-headers Provides: kernel-headers = 1:%{version}-%{release} %description -n %{kname}-userspace-headers C header files from the Linux kernel. The header files define structures and constants that are needed for building most standard programs. This package is not suitable for building kernel modules. %endif # # kernel/tools # %if %{build_perf} %package -n perf Version: %{kversion} Release: %{rpmrel} Summary: perf tool and the supporting documentation Group: System/Kernel and hardware %description -n perf the perf tool and the supporting documentation. %endif %if %{build_cpupower} %package -n cpupower Version: %{kversion} Release: %{rpmrel} Summary: the cpupower tools Group: System/Kernel and hardware Requires(post): rpm-helper >= 0.24.8-1 Requires(preun): rpm-helper >= 0.24.8-1 Obsoletes: cpufreq cpufrequtils %description -n cpupower the cpupower tools. %post -n cpupower %_post_service cpupower %preun -n cpupower %_preun_service cpupower %package -n cpupower-devel Version: %{kversion} Release: %{rpmrel} Summary: devel files for cpupower Group: Development/Kernel Requires: cpupower = %{kversion}-%{rpmrel} Conflicts: %{_lib}cpufreq-devel %description -n cpupower-devel This package contains the development files for cpupower. %endif %if %{build_bpftool} %package -n bpftool Summary: Inspection and simple manipulation of eBPF programs and maps Group: System/Kernel and hardware %description -n bpftool This package contains the bpftool, which allows inspection and simple manipulation of eBPF programs and maps. %endif %if %{build_libbpf} %package -n %{_lib}bpf0 Summary: The bpf library from kernel source Group: System/Libraries %description -n %{_lib}bpf0 This package contains the kernel source bpf library. %package -n %{_lib}bpf-devel Summary: Developement files for the bpf library from kernel source Group: Development/Kernel Requires: %{_lib}bpf0 %description -n %{_lib}bpf-devel This package includes libraries and header files needed for development of applications which use bpf library from kernel source. %endif # # End packages - here begins build stage # %prep %setup -q -n %top_dir_name -c cd %src_dir %autopatch -p1 # PATCH END # # Setup Begin # # install x86 defconfigs install -m 644 %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} arch/x86/configs/ # install arm64 defconfigs install -m 644 %{SOURCE16} %{SOURCE17} arch/arm64/configs/ # install arm defconfigs install -m 644 %{SOURCE18} arch/arm/configs/ # make sure the kernel has the sublevel we know it has... LC_ALL=C perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile # get rid of unwanted files find . -name '*~' -o -name '*.orig' -o -name '*.append' | %kxargs rm -f # fix missing exec flag on file introduced in 4.14.10-rc1 chmod 755 tools/objtool/sync-check.sh # update 3rdparty/Makefile and 3rdparty/Kconfig chmod +x ./scripts/update-3rdparty.sh ./scripts/update-3rdparty.sh %build # Common target directories %define _kerneldir /usr/src/kernel-%{kversion}-%{buildrpmrel} %define _bootdir /boot %define _modulesdir /lib/modules %define _efidir %{_bootdir}/efi/mageia # Directories definition needed for building %define temp_root %{build_dir}/temp-root %define temp_source %{temp_root}%{_kerneldir} %define temp_boot %{temp_root}%{_bootdir} %define temp_modules %{temp_root}%{_modulesdir} PrepareKernel() { name=$1 extension=$2 echo "Make config for kernel $extension" %smake ARCH=%{target_arch} -s mrproper if [ "%{target_arch}" == "i386" -o "%{target_arch}" == "x86_64" ]; then conf_dir=arch/x86/configs else conf_dir=arch/%{target_arch}/configs fi if [ -z "$name" ]; then cp $conf_dir/defconfig-%{target_arch}-desktop .config else cp $conf_dir/defconfig-%{target_arch}-$name .config fi # make sure EXTRAVERSION says what we want it to say LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -$extension/" Makefile %smake ARCH=%{target_arch} oldconfig } BuildKernel() { KernelVer=$1 echo "Building kernel $KernelVer" %kmake ARCH=%{target_arch} -s all # Start installing stuff install -d %{temp_boot} install -m 644 System.map %{temp_boot}/System.map-$KernelVer install -m 644 .config %{temp_boot}/config-$KernelVer xz -c Module.symvers > %{temp_boot}/symvers-$KernelVer.xz %ifarch %{arm} IMAGE=zImage %else %ifarch aarch64 IMAGE=Image.gz %else IMAGE=bzImage %endif %endif cp -f arch/%{target_arch}/boot/$IMAGE %{temp_boot}/vmlinuz-$KernelVer %ifarch %{arm} aarch64 install -d %{temp_root}%{_libdir}/linux-$KernelVer/ find arch/%{target_arch}/boot/dts/ -name *.dtb -execdir install -D -m644 {} %{temp_root}%{_libdir}/linux-$KernelVer/{} \; %endif # modules install -d %{temp_modules}/$KernelVer %smake ARCH=%{target_arch} INSTALL_MOD_PATH=%{temp_root} KERNELRELEASE=$KernelVer modules_install } SaveDevel() { devel_flavour=$1 DevelRoot=/usr/src/kernel-%{kversion}-$devel_flavour-%{buildrpmrel} TempDevelRoot=%{temp_root}$DevelRoot mkdir -p $TempDevelRoot for i in $(find . -name 'Makefile*'); do cp -R --parents $i $TempDevelRoot;done for i in $(find . -name 'Kconfig*' -o -name 'Kbuild*'); do cp -R --parents $i $TempDevelRoot;done cp -fR include $TempDevelRoot cp -fR scripts $TempDevelRoot cp -fR kernel/bounds.c $TempDevelRoot/kernel cp -fR tools/include $TempDevelRoot/tools/ # needed for selinux cp -R --parents security/selinux/include/*.h $TempDevelRoot %ifarch %{arm} cp -fR arch/%{target_arch}/tools $TempDevelRoot/arch/%{target_arch}/ cp -fR arch/%{target_arch}/kernel/signal.h $TempDevelRoot/arch/%{target_arch}/kernel/ %endif %ifarch aarch64 cp -fR arch/x86/entry/syscalls/syscall_32.tbl $TempDevelRoot/arch/x86/entry/syscalls/ cp -fR arch/arm64/kernel/vdso/*.{S,sh} $TempDevelRoot/arch/arm64/kernel/vdso/ cp -fR arch/arm64/kernel/vdso/vgettimeofday.c $TempDevelRoot/arch/arm64/kernel/vdso/ cp -fR lib/vdso/gettimeofday.c $TempDevelRoot/lib/vdso/ %endif %ifarch %{ix86} x86_64 cp -fR arch/x86/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/x86/kernel/ cp -fR arch/x86/kernel/asm-offsets_{32,64}.c $TempDevelRoot/arch/x86/kernel/ cp -fR arch/x86/purgatory/* $TempDevelRoot/arch/x86/purgatory/ cp -fR arch/x86/entry/syscalls/syscall* $TempDevelRoot/arch/x86/entry/syscalls/ cp -fR arch/x86/include $TempDevelRoot/arch/x86/ cp -fR arch/x86/tools $TempDevelRoot/arch/x86/ %else cp -fR arch/%{target_arch}/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/%{target_arch}/kernel/ for f in $(find arch/%{target_arch} -name include); do cp -fR --parents $f $TempDevelRoot; done %endif cp -fR .config Module.symvers $TempDevelRoot # Needed for truecrypt build (Danny) cp -fR drivers/md/dm.h $TempDevelRoot/drivers/md/ # needed by include/generated/timeconst.h cp -fR kernel/time/timeconst.bc $TempDevelRoot/kernel/time/ # Needed for lirc_gpio (#39004) cp -fR drivers/media/pci/bt8xx/bttv{,p}.h $TempDevelRoot/drivers/media/pci/bt8xx/ cp -fR drivers/media/pci/bt8xx/bt848.h $TempDevelRoot/drivers/media/pci/bt8xx/ cp -fR drivers/media/common/btcx-risc.h $TempDevelRoot/drivers/media/common/ # aufs has a special file needed if [ -f fs/aufs/magic.mk ]; then cp -fR fs/aufs/magic.mk $TempDevelRoot/fs/aufs/ fi # rtl8821ce has special files needed cp -fR 3rdparty/rtl8821ce/halmac.mk $TempDevelRoot/3rdparty/rtl8821ce/ cp -fR 3rdparty/rtl8821ce/rtl8821c.mk $TempDevelRoot/3rdparty/rtl8821ce/ mkdir -p $TempDevelRoot/3rdparty/rtl8821ce/hal/phydm/ cp -fR 3rdparty/rtl8821ce/hal/phydm/phydm.mk $TempDevelRoot/3rdparty/rtl8821ce/hal/phydm/ mkdir -p $TempDevelRoot/3rdparty/rtl8812au/hal/phydm/ cp -fR 3rdparty/rtl8812au/hal/phydm/phydm.mk $TempDevelRoot/3rdparty/rtl8812au/hal/phydm/ %ifarch x86_64 # orc unwinder needs theese cp -fR tools/build/Build{,.include} $TempDevelRoot/tools/build cp -fR tools/build/fixdep.c $TempDevelRoot/tools/build cp -fR tools/lib/{rbtree.c,ctype.c,str_error_r.c,string.c} $TempDevelRoot/tools/lib cp -fR tools/lib/subcmd/* $TempDevelRoot/tools/lib/subcmd cp -fR tools/objtool/* $TempDevelRoot/tools/objtool cp -fR tools/scripts/utilities.mak $TempDevelRoot/tools/scripts mkdir -p $TempDevelRoot/tools/arch/x86/tools cp -fR tools/arch/x86/tools/gen-insn-attr-x86.awk $TempDevelRoot/tools/arch/x86/tools/ mkdir -p $TempDevelRoot/tools/arch/x86/lib cp -fR tools/arch/x86/lib/{inat.c,insn.c,x86-opcode-map.txt} $TempDevelRoot/tools/arch/x86/lib/ mkdir -p $TempDevelRoot/tools/arch/x86/include/asm cp -fR tools/arch/x86/include/asm/{emulate_prefix.h,inat.h,inat_types.h,insn.h,orc_types.h} $TempDevelRoot/tools/arch/x86/include/asm/ %endif for i in alpha arc avr32 blackfin c6x cris csky frv h8300 hexagon ia64 m32r m68k m68knommu metag microblaze \ mips mn10300 nds32 nios2 openrisc parisc powerpc riscv s390 score sh sparc tile unicore32 xtensa; do rm -rf $TempDevelRoot/arch/$i rm -rf $TempDevelRoot/scripts/dtc/include-prefixes/$i rm -rf $TempDevelRoot/tools/arch/$i done %ifnarch %{arm} aarch64 rm -rf $TempDevelRoot/arch/arm* rm -rf $TempDevelRoot/include/kvm/arm* rm -rf $TempDevelRoot/include/soc rm -rf $TempDevelRoot/scripts/dtc/include-prefixes/arm* rm -rf $TempDevelRoot/tools/arch/arm* %endif %ifnarch %{ix86} x86_64 rm -rf $TempDevelRoot/arch/x86 rm -rf $TempDevelRoot/tools/arch/x86 # arch/x86/ras/Kconfig is included by drivers/ras/Kconfig # and kconfig's source command seems to be evaluated even under a false conditional mkdir -p $TempDevelRoot/arch/x86/ras cp -fR arch/x86/ras/Kconfig $TempDevelRoot/arch/x86/ras %endif # Clean the scripts tree, and make sure everything is ok (sanity check) # running prepare+scripts (tree was already "prepared" in build) pushd $TempDevelRoot >/dev/null %smake ARCH=%{target_arch} -s prepare scripts || : %smake ARCH=%{target_arch} -s clean popd >/dev/null rm -f $TempDevelRoot/.config.old # fix permissions chmod -R a+rX $TempDevelRoot # disable mrproper in -devel rpms patch -p1 --fuzz=0 -d $TempDevelRoot -i %{SOURCE2} kernel_devel_files=../kernel_devel_files.$devel_flavour ### Create the kernel_devel_files.* cat > $kernel_devel_files < $kernel_devel_files-post < $kernel_devel_files-preun < $kernel_devel_files-postun </dev/null fi EOF } SaveDebug() { debug_flavour=$1 install -m 644 vmlinux \ %{temp_boot}/vmlinux-%{kversion}-$debug_flavour-%{buildrpmrel} kernel_debug_files=../kernel_debug_files.$debug_flavour echo "%{_bootdir}/vmlinux-%{kversion}-$debug_flavour-%{buildrpmrel}" \ >> $kernel_debug_files find %{temp_modules}/%{kversion}-$debug_flavour-%{buildrpmrel}/kernel \ -name "*.ko" | \ %kxargs -I '{}' objcopy --only-keep-debug '{}' '{}'.debug find %{temp_modules}/%{kversion}-$debug_flavour-%{buildrpmrel}/kernel \ -name "*.ko" | %kxargs -I '{}' \ sh -c 'cd `dirname {}`; \ objcopy --add-gnu-debuglink=`basename {}`.debug \ --strip-debug `basename {}`' pushd %{temp_modules} find %{kversion}-$debug_flavour-%{buildrpmrel}/kernel \ -name "*.ko.debug" > debug_module_list popd cat %{temp_modules}/debug_module_list | \ sed 's|\(.*\)|%{_modulesdir}/\1|' >> $kernel_debug_files cat %{temp_modules}/debug_module_list | \ sed 's|\(.*\)|%exclude %{_modulesdir}/\1|' \ >> ../kernel_exclude_debug_files.$debug_flavour rm -f %{temp_modules}/debug_module_list } CreateFiles() { kernel_flavour=$1 kernel_files=../kernel_files.$kernel_flavour ker="vmlinuz" ### Create the kernel_files.* cat > $kernel_files <> $kernel_files %endif ### Create kernel Posttrans script cat > $kernel_files-posttrans < /dev/null if [ -e initrd-%{kversion}-$kernel_flavour-%{buildrpmrel}.img ]; then ln -sf vmlinuz-%{kversion}-$kernel_flavour-%{buildrpmrel} vmlinuz-$kernel_flavour ln -sf vmlinuz-%{kversion}-$kernel_flavour-%{buildrpmrel} vmlinuz ln -sf initrd-%{kversion}-$kernel_flavour-%{buildrpmrel}.img initrd-$kernel_flavour.img ln -sf initrd-%{kversion}-$kernel_flavour-%{buildrpmrel}.img initrd.img fi popd > /dev/null EOF ### Create kernel Postun script on the fly cat > $kernel_files-postun < /dev/null if [ -f "vmlinuz-%{kversion}-$kernel_flavour-%{buildrpmrel}" ]; then echo "The kernel is still installed in postun, probably a reinstall, skipping cleanup." >&2 exit fi if [ -L vmlinuz-$kernel_flavour ]; then if [ "\$(readlink vmlinuz-$kernel_flavour)" = "vmlinuz-%{kversion}-$kernel_flavour-%{buildrpmrel}" ]; then rm -f vmlinuz-$kernel_flavour fi fi if [ -L initrd-$kernel_flavour.img ]; then if [ "\$(readlink initrd-$kernel_flavour.img)" = "initrd-%{kversion}-$kernel_flavour-%{buildrpmrel}.img" ]; then rm -f initrd-$kernel_flavour.img fi fi popd > /dev/null if [ -d /lib/modules/%{kversion}-$kernel_flavour-%{buildrpmrel} ]; then rm -rf /lib/modules/%{kversion}-$kernel_flavour-%{buildrpmrel} >/dev/null fi /sbin/kernel_remove_initrd %{kversion}-$kernel_flavour-%{buildrpmrel} /sbin/installkernel -R %{kversion}-$kernel_flavour-%{buildrpmrel} if [ -d /var/lib/dkms ]; then rm -f /var/lib/dkms/*/kernel-%{kversion}-$devel_flavour-%{buildrpmrel}-%{_target_cpu} >/dev/null rm -rf /var/lib/dkms/*/*/%{kversion}-$devel_flavour-%{buildrpmrel} >/dev/null rm -f /var/lib/dkms-binary/*/kernel-%{kversion}-$devel_flavour-%{buildrpmrel}-%{_target_cpu} >/dev/null rm -rf /var/lib/dkms-binary/*/*/%{kversion}-$devel_flavour-%{buildrpmrel} >/dev/null fi EOF } CreateKernel() { flavour=$1 PrepareKernel $flavour $flavour-%{buildrpmrel} BuildKernel %{kversion}-$flavour-%{buildrpmrel} %if %build_devel SaveDevel $flavour %endif %if %build_debug SaveDebug $flavour %endif CreateFiles $flavour } ### # DO it... ### # Create a simulacro of buildroot rm -rf %{temp_root} install -d %{temp_root} # make sure we are in the directory cd %src_dir %ifarch %{ix86} %if %build_desktop586 CreateKernel desktop586 %endif %endif %if %build_desktop CreateKernel desktop %endif %if %build_server CreateKernel server %endif # set extraversion to match srpm to get nice version reported by the tools LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{rpmrel}/" Makefile # build perf %if %{build_perf} # perf %smake -s -C tools/perf NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 \ HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 NO_JVMTI=1 prefix=%{_prefix} lib=%{_lib} all %smake -C tools/perf -s prefix=%{_prefix} man %endif %if %{build_cpupower} # cpupower # make sure version-gen.sh is executable. chmod +x tools/power/cpupower/utils/version-gen.sh %make_build -C tools/power/cpupower CPUFREQ_BENCH=false %endif # build bpftool %if %{build_bpftool} pushd tools/bpf/bpftool make popd %endif # build libbpf %if %{build_libbpf} pushd tools/lib/bpf make V=1 popd %endif # We don't make to repeat the depend code at the install phase %if %build_source PrepareKernel "" %{buildrpmrel}custom %smake ARCH=%{target_arch} -s mrproper %endif ### ### install ### %install install -m 644 %{SOURCE4} . cd %src_dir # Directories definition needed for installing %define target_source %{buildroot}%{_kerneldir} %define target_boot %{buildroot}%{_bootdir} %define target_modules %{buildroot}%{_modulesdir} %define target_headers %{buildroot}%{_prefix} # We want to be able to test several times the install part rm -rf %{buildroot} cp -a %{temp_root} %{buildroot} # Create directories infastructure %if %build_source install -d %{target_source} tar cf - . | tar xf - -C %{target_source} chmod -R a+rX %{target_source} # we remove all the source files that we don't ship # first architecture files for i in alpha arc avr32 blackfin c6x cris csky frv h8300 hexagon ia64 m32r m68k m68knommu metag microblaze \ mips nds32 nios2 openrisc parisc powerpc riscv s390 score sh sh64 sparc tile unicore32 v850 xtensa mn10300; do rm -rf %{target_source}/arch/$i rm -rf %{target_source}/scripts/dtc/include-prefixes/$i rm -rf %{target_source}/tools/arch/$i rm -rf %{target_source}/tools/testing/selftests/$i done %ifnarch %{arm} aarch64 rm -rf %{target_source}/include/kvm/arm* rm -rf %{target_source}/scripts/dtc/include-prefixes/arm* rm -rf %{target_source}/tools/arch/arm* %endif # other misc files rm -f %{target_source}/{.clang-format,.config.old,.config.cmd,.lst,.mailmap,.get_maintainer.ignore} rm -f %{target_source}/{.missing-syscalls.d,.cocciconfig,.gitattributes} rm -rf %{target_source}/.tmp_depmod/ # more cleaning pushd %{target_source} # lots of gitignore files find -iname ".gitignore" -delete # clean tools tree %smake -C tools clean %smake -C tools/build clean %smake -C tools/build/feature clean popd # nuke last as it gets re-created rm -f %{target_source}/.cache.mk #endif %build_source %endif # compressing modules %if %{build_modxz} find %{target_modules} -name "*.ko" | %kxargs xz -6 %else find %{target_modules} -name "*.ko" | %kxargs gzip -9 %endif # We used to have a copy of PrepareKernel here # Now, we make sure that the thing in the linux dir is what we want it to be for i in %{target_modules}/*; do rm -f $i/build $i/source done # sniff, if we compressed all the modules, we change the stamp :( # we really need the depmod -ae here pushd %{target_modules} for i in *; do /sbin/depmod -ae -b %{buildroot} -F %{target_boot}/System.map-$i $i echo $? done for i in *; do pushd $i echo "Creating modules.description for $i" modules=`find . -name "*.ko.[g,x]z"` echo $modules | xargs /sbin/modinfo \ | perl -lne 'print "$name\t$1" if $name && /^description:\s*(.*)/; $name = $1 if m!^filename:\s*(.*)\.k?o!; $name =~ s!.*/!!' > modules.description popd done popd # need to set extraversion to match srpm again to avoid rebuild LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{rpmrel}/" Makefile # install userspace-headers %if %{build_uheaders} %smake ARCH=%{target_arch} headers_install INSTALL_HDR_PATH=%{target_headers} # for drakx cp include/linux/pci_ids.h %{target_headers}/include/linux/ %endif %if %{build_perf} # perf tool binary and supporting scripts/binaries %smake -s -C tools/perf V=1 DESTDIR=%{buildroot} NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 \ HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 NO_JVMTI=1 prefix=%{_prefix} lib=%{_lib} install # perf man pages (note: implicit rpm magic compresses them later) make -C tools/perf V=1 DESTDIR=%{buildroot} prefix=%{_prefix} install-man # remove perf files we dont ship rm -rf %{buildroot}/usr/lib/perf/examples rm -rf %{buildroot}/usr/lib/perf/include/bpf %endif %if %{build_cpupower} make -C tools/power/cpupower DESTDIR=%{buildroot} libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install rm -f %{buildroot}%{_libdir}/*.{a,la} %find_lang cpupower mv cpupower.lang ../ chmod 0755 %{buildroot}%{_libdir}/libcpupower.so* mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig install -m644 %{SOURCE50} %{buildroot}%{_unitdir}/cpupower.service install -m644 %{SOURCE51} %{buildroot}%{_sysconfdir}/sysconfig/cpupower %endif # install bpftool %if %{build_bpftool} pushd tools/bpf/bpftool make DESTDIR=%{buildroot} prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} install doc-install popd %endif # install libbpf %if %{build_libbpf} pushd tools/lib/bpf make DESTDIR=%{buildroot} prefix=%{_prefix} libdir=%{_libdir} V=1 install install_headers popd %endif ### ### clean ### %clean rm -rf %{buildroot} # We don't want to remove this, the whole reason of its existence is to be # able to do several rpm --short-circuit -bi for testing install # phase without repeating compilation phase #rm -rf %{temp_root} ### ### source and doc file lists ### %if %build_source %files -n %{kname}-source-%{buildrel} %doc %{_kerneldir}/LICENSES %dir %{_kerneldir} %dir %{_kerneldir}/arch %dir %{_kerneldir}/include %{_kerneldir}/3rdparty %{_kerneldir}/Documentation %{_kerneldir}/arch/Kconfig %{_kerneldir}/arch/arm %{_kerneldir}/arch/arm64 %{_kerneldir}/arch/um %{_kerneldir}/arch/x86 %{_kerneldir}/block %{_kerneldir}/certs %{_kerneldir}/crypto %{_kerneldir}/drivers %{_kerneldir}/fs %{_kerneldir}/include/acpi %{_kerneldir}/include/asm-generic %{_kerneldir}/include/clocksource %{_kerneldir}/include/crypto %{_kerneldir}/include/drm %{_kerneldir}/include/dt-bindings %{_kerneldir}/include/keys %{_kerneldir}/include/kunit %{_kerneldir}/include/kvm %{_kerneldir}/include/linux %{_kerneldir}/include/math-emu %{_kerneldir}/include/media %{_kerneldir}/include/memory %{_kerneldir}/include/misc %{_kerneldir}/include/net %{_kerneldir}/include/pcmcia %{_kerneldir}/include/ras %{_kerneldir}/include/rdma %{_kerneldir}/include/scsi %{_kerneldir}/include/soc %{_kerneldir}/include/sound %{_kerneldir}/include/target %{_kerneldir}/include/trace %{_kerneldir}/include/uapi %dir %{_kerneldir}/include/vdso %{_kerneldir}/include/vdso/*.h %{_kerneldir}/include/video %{_kerneldir}/include/xen %{_kerneldir}/init %{_kerneldir}/io_uring %{_kerneldir}/ipc %{_kerneldir}/kernel %{_kerneldir}/lib %{_kerneldir}/mm %{_kerneldir}/net %{_kerneldir}/virt %{_kerneldir}/samples %{_kerneldir}/scripts %{_kerneldir}/security %{_kerneldir}/sound %{_kerneldir}/tools %{_kerneldir}/usr %{_kerneldir}/COPYING %{_kerneldir}/CREDITS %{_kerneldir}/Kbuild %{_kerneldir}/Kconfig %{_kerneldir}/MAINTAINERS %{_kerneldir}/Makefile %{_kerneldir}/README %doc README.kernel-sources %files -n %{kname}-source-latest %endif %if %build_doc %files -n %{kname}-doc %doc linux-%{tar_ver}/Documentation/* %endif %if %build_uheaders %files -n %{kname}-userspace-headers %defattr(0644,root,root,0755) %{_includedir}/asm/ %{_includedir}/asm-generic/ %{_includedir}/drm/ %{_includedir}/linux/ %{_includedir}/misc/ %{_includedir}/mtd/ %{_includedir}/rdma/ %{_includedir}/scsi/ %{_includedir}/sound/ %{_includedir}/video/ %{_includedir}/xen/ %endif %if %{build_perf} %files -n perf %{_bindir}/perf %{_bindir}/trace %{_datadir}/perf-core/strace/groups/file %{_datadir}/perf-core/strace/groups/string %{_datadir}/doc/perf-tip/tips.txt %dir %{_libdir}/traceevent %dir %{_libdir}/traceevent/plugins %{_libdir}/traceevent/plugins/plugin_* %dir %{_prefix}/libexec/perf-core %{_prefix}/libexec/perf-core/* %{_mandir}/man[1-8]/perf* %{_sysconfdir}/bash_completion.d/perf %endif %if %{build_cpupower} %files -n cpupower -f cpupower.lang %config(noreplace) %{_sysconfdir}/sysconfig/cpupower %{_bindir}/cpupower %{_datadir}/bash-completion/completions/cpupower %{_libdir}/libcpupower.so.0 %{_libdir}/libcpupower.so.0.0.1 %{_unitdir}/cpupower.service %{_mandir}/man[1-8]/cpupower* %files -n cpupower-devel %{_libdir}/libcpupower.so %{_includedir}/cpuidle.h %{_includedir}/cpufreq.h %endif %if %{build_bpftool} %files -n bpftool %{_sbindir}/bpftool %{_sysconfdir}/bash_completion.d/bpftool %{_mandir}/man7/bpf-helpers.7* %{_mandir}/man8/bpftool-*.8* %{_mandir}/man8/bpftool.8* %endif %if %{build_libbpf} %files -n %{_lib}bpf0 %{_libdir}/libbpf.so.0 %{_libdir}/libbpf.so.0.2.0 %files -n %{_lib}bpf-devel %{_libdir}/libbpf.a %{_libdir}/libbpf.so %{_libdir}/pkgconfig/libbpf.pc %{_includedir}/bpf/bpf.h %{_includedir}/bpf/bpf_core_read.h %{_includedir}/bpf/bpf_endian.h %{_includedir}/bpf/bpf_helper_defs.h %{_includedir}/bpf/bpf_helpers.h %{_includedir}/bpf/bpf_tracing.h %{_includedir}/bpf/btf.h %{_includedir}/bpf/libbpf.h %{_includedir}/bpf/libbpf_common.h %{_includedir}/bpf/libbpf_util.h %{_includedir}/bpf/xsk.h %endif