mirror of
https://github.com/andersrh/copr-andersrh.git
synced 2026-05-17 13:58:01 +00:00
Compare commits
2 commits
master
...
kernel-gcc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f0c80f8bb | ||
|
|
eaf3f6b860 |
99 changed files with 9 additions and 230516 deletions
|
|
@ -1,135 +0,0 @@
|
||||||
%define _disable_source_fetch 0
|
|
||||||
%define debug_package %{nil}
|
|
||||||
|
|
||||||
Name: sonic-interface-libraries
|
|
||||||
Version: 6.4.5
|
|
||||||
Release: 7%{?dist}
|
|
||||||
Summary: Foundation of the SonicDE user interface (fork of libplasma)
|
|
||||||
|
|
||||||
License: LGPL-2.0-or-later
|
|
||||||
URL: https://github.com/Sonic-DE/sonic-interface-libraries
|
|
||||||
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
|
|
||||||
|
|
||||||
%global plasma_version %(echo %{version} | cut -d. -f1-3)
|
|
||||||
|
|
||||||
BuildRequires: extra-cmake-modules
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: cmake(KF6Archive)
|
|
||||||
BuildRequires: cmake(KF6Declarative)
|
|
||||||
BuildRequires: cmake(KF6Su)
|
|
||||||
BuildRequires: cmake(KF6GlobalAccel)
|
|
||||||
BuildRequires: cmake(KF6Kirigami2)
|
|
||||||
BuildRequires: cmake(KF6Package)
|
|
||||||
BuildRequires: cmake(KF6Parts)
|
|
||||||
BuildRequires: cmake(KF6ConfigWidgets)
|
|
||||||
BuildRequires: cmake(KF6ColorScheme)
|
|
||||||
BuildRequires: kf6-rpm-macros
|
|
||||||
BuildRequires: cmake(KF6Solid)
|
|
||||||
BuildRequires: openssl-devel
|
|
||||||
BuildRequires: qt6-qtbase-devel
|
|
||||||
BuildRequires: qt6-qtbase-private-devel
|
|
||||||
BuildRequires: qt6-qtdeclarative-devel
|
|
||||||
BuildRequires: qt6-qtsvg-devel
|
|
||||||
|
|
||||||
# KDE Frameworks
|
|
||||||
BuildRequires: cmake(KF6Config)
|
|
||||||
BuildRequires: cmake(KF6CoreAddons)
|
|
||||||
BuildRequires: cmake(KF6DBusAddons)
|
|
||||||
BuildRequires: cmake(KF6DocTools)
|
|
||||||
BuildRequires: cmake(KF6GuiAddons)
|
|
||||||
BuildRequires: cmake(KF6I18n)
|
|
||||||
BuildRequires: cmake(KF6IconThemes)
|
|
||||||
BuildRequires: cmake(KF6KCMUtils)
|
|
||||||
BuildRequires: cmake(KF6KIO)
|
|
||||||
BuildRequires: cmake(KF6Notifications)
|
|
||||||
BuildRequires: cmake(KF6Service)
|
|
||||||
BuildRequires: cmake(KF6Svg)
|
|
||||||
BuildRequires: cmake(KF6WidgetsAddons)
|
|
||||||
BuildRequires: cmake(KF6WindowSystem)
|
|
||||||
BuildRequires: cmake(KF6XmlGui)
|
|
||||||
BuildRequires: cmake(PlasmaWaylandProtocols)
|
|
||||||
|
|
||||||
# Qt
|
|
||||||
BuildRequires: cmake(Qt6WaylandClient)
|
|
||||||
|
|
||||||
# Plasma
|
|
||||||
BuildRequires: cmake(PlasmaActivities)
|
|
||||||
|
|
||||||
BuildRequires: wayland-devel
|
|
||||||
BuildRequires: kwayland-devel
|
|
||||||
|
|
||||||
# X11 Support
|
|
||||||
BuildRequires: libX11-devel
|
|
||||||
BuildRequires: libxcb-devel
|
|
||||||
BuildRequires: xcb-util-devel
|
|
||||||
BuildRequires: libXcursor-devel
|
|
||||||
BuildRequires: libXrender-devel
|
|
||||||
BuildRequires: libXext-devel
|
|
||||||
BuildRequires: libXfixes-devel
|
|
||||||
BuildRequires: libXi-devel
|
|
||||||
|
|
||||||
Provides: libplasma%{?_isa} >= %{plasma_version}
|
|
||||||
Provides: libplasma >= %{plasma_version}
|
|
||||||
Obsoletes: libplasma <= %{plasma_version}
|
|
||||||
|
|
||||||
# Renamed from kf6-plasma
|
|
||||||
Obsoletes: kf6-plasma < 1:%{version}-%{release}
|
|
||||||
Provides: kf6-plasma = 1:%{version}-%{release}
|
|
||||||
|
|
||||||
%description
|
|
||||||
Sonic Interface Libraries is a fork of libplasma, providing the foundational
|
|
||||||
libraries for themes, applets, and widgets in SonicDE.
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development files for %{name}
|
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: cmake(KF6Package)
|
|
||||||
Requires: qt6-qtbase-devel
|
|
||||||
Requires: cmake(KF6Service)
|
|
||||||
Requires: cmake(KF6WindowSystem)
|
|
||||||
Provides: libplasma-devel%{?_isa} >= %{plasma_version}
|
|
||||||
Provides: libplasma-devel >= %{plasma_version}
|
|
||||||
Obsoletes: libplasma-devel <= %{plasma_version}
|
|
||||||
|
|
||||||
Obsoletes: kf6-plasma-devel < 1:%{version}-%{release}
|
|
||||||
Provides: kf6-plasma-devel = 1:%{version}-%{release}
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
Development files for sonic-interface-libraries.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%autosetup -p1
|
|
||||||
|
|
||||||
%build
|
|
||||||
%cmake_kf6
|
|
||||||
%cmake_build
|
|
||||||
|
|
||||||
%install
|
|
||||||
%cmake_install
|
|
||||||
%find_lang %{name} --all-name
|
|
||||||
|
|
||||||
%files -f %{name}.lang
|
|
||||||
%license LICENSES/*
|
|
||||||
%{_libdir}/libPlasma.so.*
|
|
||||||
%{_libdir}/libPlasmaQuick.so.*
|
|
||||||
%{_qt6_plugindir}/kf6/
|
|
||||||
%{_qt6_qmldir}/org/kde/plasma/
|
|
||||||
%{_qt6_qmldir}/org/kde/kirigami/styles/Plasma/
|
|
||||||
%{_datadir}/plasma/
|
|
||||||
%{_datadir}/qlogging-categories6/*.categories
|
|
||||||
%{_datadir}/qlogging-categories6/*.renamecategories
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_includedir}/Plasma/
|
|
||||||
%{_includedir}/PlasmaQuick/
|
|
||||||
%{_libdir}/libPlasma.so
|
|
||||||
%{_libdir}/libPlasmaQuick.so
|
|
||||||
%{_libdir}/cmake/Plasma/
|
|
||||||
%{_libdir}/cmake/PlasmaQuick/
|
|
||||||
%{_datadir}/doc/qt6/Plasma.qch
|
|
||||||
%{_datadir}/doc/qt6/Plasma.tags
|
|
||||||
%{_datadir}/kdevappwizard/templates/*.tar.bz2
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Wed Mar 21 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.4.5-7
|
|
||||||
- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility)
|
|
||||||
|
|
@ -1,205 +0,0 @@
|
||||||
%define _disable_source_fetch 0
|
|
||||||
%define debug_package %{nil}
|
|
||||||
|
|
||||||
Name: sonic-win
|
|
||||||
Version: 6.4.5
|
|
||||||
Release: 8%{?dist}
|
|
||||||
Summary: KWin window manager for SonicDE (fork of kwin)
|
|
||||||
|
|
||||||
%global plasma_version %{version}
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later
|
|
||||||
URL: https://github.com/Sonic-DE/sonic-win
|
|
||||||
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
|
||||||
|
|
||||||
BuildRequires: extra-cmake-modules
|
|
||||||
BuildRequires: kf6-rpm-macros
|
|
||||||
BuildRequires: systemd-rpm-macros
|
|
||||||
|
|
||||||
# Qt
|
|
||||||
BuildRequires: cmake(QAccessibilityClient6)
|
|
||||||
BuildRequires: qt6-qtbase-devel
|
|
||||||
BuildRequires: qt6-qtbase-private-devel
|
|
||||||
BuildRequires: qt6-qtsensors-devel
|
|
||||||
BuildRequires: qt6-qttools-devel
|
|
||||||
BuildRequires: qt6-qtwayland-devel
|
|
||||||
BuildRequires: cmake(Qt6Core5Compat)
|
|
||||||
BuildRequires: cmake(Qt6Svg)
|
|
||||||
BuildRequires: cmake(Qt6Multimedia)
|
|
||||||
|
|
||||||
# X11/OpenGL
|
|
||||||
BuildRequires: pkgconfig(libxcvt)
|
|
||||||
BuildRequires: mesa-libGL-devel
|
|
||||||
BuildRequires: mesa-libEGL-devel
|
|
||||||
BuildRequires: mesa-libgbm-devel
|
|
||||||
BuildRequires: libxkbcommon-devel
|
|
||||||
BuildRequires: libxkbcommon-x11-devel
|
|
||||||
BuildRequires: libX11-devel
|
|
||||||
BuildRequires: libXi-devel
|
|
||||||
BuildRequires: libxcb-devel
|
|
||||||
BuildRequires: libICE-devel
|
|
||||||
BuildRequires: libSM-devel
|
|
||||||
BuildRequires: libXcursor-devel
|
|
||||||
BuildRequires: xcb-util-wm-devel
|
|
||||||
BuildRequires: xcb-util-image-devel
|
|
||||||
BuildRequires: xcb-util-keysyms-devel
|
|
||||||
BuildRequires: xcb-util-cursor-devel
|
|
||||||
BuildRequires: xcb-util-devel
|
|
||||||
BuildRequires: libepoxy-devel
|
|
||||||
BuildRequires: libcap-devel
|
|
||||||
|
|
||||||
BuildRequires: lcms2-devel
|
|
||||||
BuildRequires: glib2-devel
|
|
||||||
BuildRequires: pipewire-devel
|
|
||||||
|
|
||||||
# Wayland
|
|
||||||
BuildRequires: wayland-devel >= 1.22.0
|
|
||||||
BuildRequires: wayland-protocols-devel
|
|
||||||
BuildRequires: pkgconfig(libinput) >= 0.10
|
|
||||||
BuildRequires: pkgconfig(libudev)
|
|
||||||
|
|
||||||
%if 0%{?rhel} == 10
|
|
||||||
# Integrate with Xlibre on EL10
|
|
||||||
BuildRequires: xlibre-xserver-devel
|
|
||||||
Requires: xlibre-xserver-Xorg
|
|
||||||
Requires: xlibre-xf86-input-libinput
|
|
||||||
%else
|
|
||||||
BuildRequires: pkgconfig(xwayland)
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# KF6
|
|
||||||
BuildRequires: cmake(KF6Completion)
|
|
||||||
BuildRequires: cmake(KF6Config)
|
|
||||||
BuildRequires: cmake(KF6ConfigWidgets)
|
|
||||||
BuildRequires: cmake(KF6CoreAddons)
|
|
||||||
BuildRequires: cmake(KF6Crash)
|
|
||||||
BuildRequires: cmake(KF6DBusAddons)
|
|
||||||
BuildRequires: cmake(KF6GlobalAccel)
|
|
||||||
BuildRequires: cmake(KF6GuiAddons)
|
|
||||||
BuildRequires: cmake(KF6I18n)
|
|
||||||
BuildRequires: cmake(KF6KIO)
|
|
||||||
BuildRequires: cmake(KF6Notifications)
|
|
||||||
BuildRequires: cmake(KF6Service)
|
|
||||||
BuildRequires: cmake(KF6WidgetsAddons)
|
|
||||||
BuildRequires: cmake(KF6WindowSystem)
|
|
||||||
BuildRequires: cmake(KF6DocTools)
|
|
||||||
BuildRequires: cmake(KF6KCMUtils)
|
|
||||||
BuildRequires: cmake(KF6NewStuff)
|
|
||||||
BuildRequires: cmake(KF6Declarative)
|
|
||||||
BuildRequires: cmake(KF6IconThemes)
|
|
||||||
BuildRequires: cmake(KF6IdleTime)
|
|
||||||
BuildRequires: cmake(KF6TextWidgets)
|
|
||||||
BuildRequires: cmake(KF6Kirigami2)
|
|
||||||
BuildRequires: cmake(KF6Runner)
|
|
||||||
BuildRequires: cmake(KF6Svg)
|
|
||||||
|
|
||||||
# Workspace components
|
|
||||||
BuildRequires: cmake(KDecoration3)
|
|
||||||
BuildRequires: kscreenlocker-devel
|
|
||||||
BuildRequires: plasma-breeze-devel
|
|
||||||
BuildRequires: plasma-wayland-protocols-devel
|
|
||||||
BuildRequires: cmake(KGlobalAccelD)
|
|
||||||
BuildRequires: libdisplay-info-devel
|
|
||||||
|
|
||||||
BuildRequires: cmake(KWayland)
|
|
||||||
BuildRequires: cmake(Plasma)
|
|
||||||
BuildRequires: cmake(PlasmaActivities)
|
|
||||||
|
|
||||||
BuildRequires: libeis-devel
|
|
||||||
BuildRequires: pkgconfig(libcanberra)
|
|
||||||
|
|
||||||
# Conflicts with kwin-x11
|
|
||||||
Conflicts: kwin-x11
|
|
||||||
|
|
||||||
Requires: sonic-interface-libraries%{?_isa} >= %{plasma_version}
|
|
||||||
Requires: kscreenlocker%{?_isa}
|
|
||||||
Requires: kf6-kirigami2%{?_isa}
|
|
||||||
Requires: kf6-kdeclarative%{?_isa}
|
|
||||||
Requires: qt6-qtmultimedia%{?_isa}
|
|
||||||
Requires: qt6-qtdeclarative%{?_isa}
|
|
||||||
|
|
||||||
%description
|
|
||||||
Sonic Win is a fork of KWin, the window manager and compositor for SonicDE,
|
|
||||||
focusing on an optimized X11 experience.
|
|
||||||
|
|
||||||
%package libs
|
|
||||||
Summary: KWin libraries for SonicDE
|
|
||||||
Conflicts: kwin-x11-libs
|
|
||||||
|
|
||||||
%description libs
|
|
||||||
Shared libraries for sonic-win.
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development files for %{name}
|
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
||||||
Conflicts: kwin-x11-devel
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
Development files for sonic-win.
|
|
||||||
Provides: kwin-devel = %{version}-%{release}
|
|
||||||
Provides: kwin-x11-devel = %{version}-%{release}
|
|
||||||
Provides: cmake(KWinDBusInterface) = %{version}
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%autosetup -p1
|
|
||||||
|
|
||||||
%build
|
|
||||||
%cmake_kf6
|
|
||||||
%cmake_build
|
|
||||||
|
|
||||||
%install
|
|
||||||
%cmake_install
|
|
||||||
# Create compatibility CMake files for sonic-workspace
|
|
||||||
mkdir -p %{buildroot}%{_libdir}/cmake/KWinDBusInterface
|
|
||||||
cat <<EOF > %{buildroot}%{_libdir}/cmake/KWinDBusInterface/KWinDBusInterfaceConfig.cmake
|
|
||||||
find_package(KWinX11DBusInterface REQUIRED)
|
|
||||||
include(\${KWinX11DBusInterface_DIR}/KWinX11DBusInterfaceConfig.cmake)
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Create compatibility symlinks for DBus interfaces
|
|
||||||
pushd %{buildroot}%{_datadir}/dbus-1/interfaces/
|
|
||||||
for f in kwin_x11_*.xml; do
|
|
||||||
newname=$(echo $f | sed 's/kwin_x11_//')
|
|
||||||
ln -s "$f" "$newname"
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
|
|
||||||
# The translation domain in the source is likely still 'kwin'
|
|
||||||
%find_lang kwin --all-name --with-html
|
|
||||||
|
|
||||||
%files -f kwin.lang
|
|
||||||
%license LICENSES/*
|
|
||||||
# Binares and specialized folders
|
|
||||||
%{_bindir}/kwin_x11
|
|
||||||
%{_libdir}/kconf_update_bin/kwin*
|
|
||||||
%{_libexecdir}/kwin*
|
|
||||||
%{_userunitdir}/plasma-kwin_x11.service
|
|
||||||
|
|
||||||
# Database and plugins
|
|
||||||
%{_libdir}/qt6/plugins/
|
|
||||||
%{_qt6_qmldir}/org/kde/*/
|
|
||||||
|
|
||||||
# Data and Assets
|
|
||||||
%{_datadir}/kwin-x11/
|
|
||||||
%{_datadir}/applications/*.desktop
|
|
||||||
%{_datadir}/dbus-1/interfaces/*.xml
|
|
||||||
%{_datadir}/icons/hicolor/*/apps/kwin-x11.*
|
|
||||||
%{_datadir}/kconf_update/kwin-x11.upd
|
|
||||||
%{_datadir}/knotifications6/kwin-x11.notifyrc
|
|
||||||
%{_datadir}/knsrcfiles/*.knsrc
|
|
||||||
%{_datadir}/krunner/dbusplugins/*.desktop
|
|
||||||
%{_datadir}/qlogging-categories6/*.categories
|
|
||||||
|
|
||||||
%files libs
|
|
||||||
# Libraries
|
|
||||||
%{_libdir}/lib*.so.*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_includedir}/
|
|
||||||
%{_libdir}/lib*.so
|
|
||||||
%{_libdir}/cmake/
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Wed Mar 21 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.4.5-8
|
|
||||||
- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility)
|
|
||||||
|
|
@ -1,268 +0,0 @@
|
||||||
%define _disable_source_fetch 0
|
|
||||||
%define debug_package %{nil}
|
|
||||||
|
|
||||||
Name: sonic-workspace
|
|
||||||
Version: 6.4.5
|
|
||||||
Release: 5%{?dist}
|
|
||||||
Summary: Core workspace components for SonicDE (fork of plasma-workspace)
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later
|
|
||||||
URL: https://github.com/Sonic-DE/sonic-workspace
|
|
||||||
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
|
|
||||||
|
|
||||||
%global plasma_version %(echo %{version} | cut -d. -f1-3)
|
|
||||||
|
|
||||||
BuildRequires: extra-cmake-modules
|
|
||||||
BuildRequires: kf6-rpm-macros
|
|
||||||
BuildRequires: qt6-qtbase-devel
|
|
||||||
BuildRequires: qt6-qtbase-private-devel
|
|
||||||
BuildRequires: qt6-qtdeclarative-devel
|
|
||||||
BuildRequires: qt6-qtdeclarative-private-devel
|
|
||||||
BuildRequires: qt6-qtsvg-devel
|
|
||||||
BuildRequires: qt6-qtwayland-devel
|
|
||||||
BuildRequires: qt6-qtlocation-devel
|
|
||||||
BuildRequires: qt6-qtshadertools-devel
|
|
||||||
BuildRequires: qcoro-qt6-devel
|
|
||||||
BuildRequires: phonon-qt6-devel
|
|
||||||
BuildRequires: wayland-devel
|
|
||||||
BuildRequires: wayland-protocols-devel
|
|
||||||
BuildRequires: plasma-wayland-protocols-devel
|
|
||||||
BuildRequires: cmake(Qt6Core5Compat)
|
|
||||||
|
|
||||||
BuildRequires: cmake(KF6Config)
|
|
||||||
BuildRequires: cmake(KF6Archive)
|
|
||||||
BuildRequires: cmake(KF6Declarative)
|
|
||||||
BuildRequires: cmake(KF6ConfigWidgets)
|
|
||||||
BuildRequires: cmake(KF6CoreAddons)
|
|
||||||
BuildRequires: cmake(KF6Crash)
|
|
||||||
BuildRequires: cmake(KF6DBusAddons)
|
|
||||||
BuildRequires: cmake(KF6GlobalAccel)
|
|
||||||
BuildRequires: cmake(KF6GuiAddons)
|
|
||||||
BuildRequires: cmake(KF6I18n)
|
|
||||||
BuildRequires: cmake(KF6IdleTime)
|
|
||||||
BuildRequires: cmake(KF6KIO)
|
|
||||||
BuildRequires: cmake(KF6Notifications)
|
|
||||||
BuildRequires: cmake(KF6NotifyConfig)
|
|
||||||
BuildRequires: cmake(KF6Runner)
|
|
||||||
BuildRequires: cmake(KF6Service)
|
|
||||||
BuildRequires: cmake(KF6Solid)
|
|
||||||
BuildRequires: cmake(KF6WidgetsAddons)
|
|
||||||
BuildRequires: cmake(KF6WindowSystem)
|
|
||||||
BuildRequires: cmake(KF6XmlGui)
|
|
||||||
BuildRequires: cmake(KF6DocTools)
|
|
||||||
BuildRequires: cmake(KF6ItemModels)
|
|
||||||
BuildRequires: cmake(KF6KDED)
|
|
||||||
BuildRequires: cmake(KF6StatusNotifierItem)
|
|
||||||
BuildRequires: cmake(KF6UnitConversion)
|
|
||||||
BuildRequires: cmake(KF6Wallet)
|
|
||||||
BuildRequires: cmake(KF6KCMUtils)
|
|
||||||
BuildRequires: cmake(KF6NewStuff)
|
|
||||||
BuildRequires: cmake(KF6Package)
|
|
||||||
BuildRequires: cmake(KF6Parts)
|
|
||||||
BuildRequires: cmake(KF6Prison)
|
|
||||||
BuildRequires: cmake(KF6Sonnet)
|
|
||||||
BuildRequires: cmake(KF6TextEditor)
|
|
||||||
BuildRequires: cmake(KF6TextWidgets)
|
|
||||||
BuildRequires: cmake(KF6Svg)
|
|
||||||
BuildRequires: cmake(KF6Kirigami2)
|
|
||||||
BuildRequires: cmake(KF6KirigamiAddons)
|
|
||||||
BuildRequires: cmake(KF6NetworkManagerQt)
|
|
||||||
BuildRequires: cmake(KF6QuickCharts)
|
|
||||||
BuildRequires: cmake(KF6UserFeedback)
|
|
||||||
BuildRequires: cmake(KF6Baloo)
|
|
||||||
BuildRequires: cmake(KF6Holidays)
|
|
||||||
BuildRequires: kf6-kdesu-devel
|
|
||||||
BuildRequires: pkgconfig(libqalculate)
|
|
||||||
BuildRequires: sonic-win-devel
|
|
||||||
BuildRequires: sonic-interface-libraries-devel
|
|
||||||
BuildRequires: kdecoration-devel
|
|
||||||
BuildRequires: libkscreen-devel
|
|
||||||
BuildRequires: libksysguard-devel
|
|
||||||
BuildRequires: plasma-activities-devel
|
|
||||||
BuildRequires: cmake(KSysGuard)
|
|
||||||
BuildRequires: cmake(Plasma5Support)
|
|
||||||
BuildRequires: cmake(KScreenLocker)
|
|
||||||
BuildRequires: cmake(Breeze)
|
|
||||||
BuildRequires: cmake(KExiv2Qt6)
|
|
||||||
BuildRequires: cmake(KPipeWire)
|
|
||||||
BuildRequires: cmake(PlasmaActivities)
|
|
||||||
BuildRequires: cmake(PlasmaActivitiesStats)
|
|
||||||
BuildRequires: cmake(KF6Screen)
|
|
||||||
BuildRequires: cmake(KWayland)
|
|
||||||
BuildRequires: cmake(Plasma)
|
|
||||||
BuildRequires: cmake(PlasmaQuick)
|
|
||||||
BuildRequires: cmake(LayerShellQt)
|
|
||||||
|
|
||||||
BuildRequires: pkgconfig(x11)
|
|
||||||
BuildRequires: pkgconfig(xau)
|
|
||||||
BuildRequires: pkgconfig(xcb)
|
|
||||||
BuildRequires: pkgconfig(xcomposite)
|
|
||||||
BuildRequires: pkgconfig(xcursor)
|
|
||||||
BuildRequires: pkgconfig(xdamage)
|
|
||||||
BuildRequires: pkgconfig(xext)
|
|
||||||
BuildRequires: pkgconfig(xfixes)
|
|
||||||
BuildRequires: pkgconfig(xft)
|
|
||||||
BuildRequires: pkgconfig(xi)
|
|
||||||
BuildRequires: pkgconfig(xinerama)
|
|
||||||
BuildRequires: pkgconfig(xres)
|
|
||||||
BuildRequires: pkgconfig(xkbcommon)
|
|
||||||
BuildRequires: pkgconfig(xkbfile)
|
|
||||||
BuildRequires: pkgconfig(xpm)
|
|
||||||
BuildRequires: pkgconfig(xrender)
|
|
||||||
BuildRequires: pkgconfig(xtst)
|
|
||||||
BuildRequires: pkgconfig(xxf86vm)
|
|
||||||
BuildRequires: pkgconfig(ice)
|
|
||||||
BuildRequires: pkgconfig(sm)
|
|
||||||
BuildRequires: pkgconfig(xcb-aux)
|
|
||||||
BuildRequires: pkgconfig(xcb-cursor)
|
|
||||||
BuildRequires: pkgconfig(xcb-image)
|
|
||||||
BuildRequires: pkgconfig(xcb-event)
|
|
||||||
BuildRequires: pkgconfig(xcb-util)
|
|
||||||
BuildRequires: pkgconfig(xcb-keysyms)
|
|
||||||
BuildRequires: pkgconfig(xcb-icccm)
|
|
||||||
BuildRequires: pkgconfig(xcb-renderutil)
|
|
||||||
BuildRequires: pkgconfig(xcb-atom)
|
|
||||||
BuildRequires: pkgconfig(xcb-ewmh)
|
|
||||||
BuildRequires: systemd-devel
|
|
||||||
BuildRequires: NetworkManager-libnm-devel
|
|
||||||
BuildRequires: glib2-devel
|
|
||||||
BuildRequires: polkit-qt6-1-devel
|
|
||||||
BuildRequires: PackageKit-Qt6-devel
|
|
||||||
BuildRequires: appstream-qt-devel
|
|
||||||
BuildRequires: iso-codes-devel
|
|
||||||
BuildRequires: libcanberra-devel
|
|
||||||
BuildRequires: fontconfig-devel
|
|
||||||
BuildRequires: zlib-devel
|
|
||||||
BuildRequires: libicu-devel
|
|
||||||
|
|
||||||
Requires: sonic-win
|
|
||||||
Requires: xmessage
|
|
||||||
Requires: xprop
|
|
||||||
Requires: xrdb
|
|
||||||
Requires: xsetroot
|
|
||||||
|
|
||||||
Conflicts: plasma-workspace-x11
|
|
||||||
|
|
||||||
Provides: plasma-workspace%{?_isa} >= %{plasma_version}
|
|
||||||
Provides: plasma-workspace >= %{plasma_version}
|
|
||||||
Obsoletes: plasma-workspace <= %{plasma_version}
|
|
||||||
|
|
||||||
Provides: plasma-workspace-libs%{?_isa} >= %{plasma_version}
|
|
||||||
Provides: plasma-workspace-libs >= %{plasma_version}
|
|
||||||
Obsoletes: plasma-workspace-libs <= %{plasma_version}
|
|
||||||
|
|
||||||
Provides: libkworkspace6%{?_isa} >= %{plasma_version}
|
|
||||||
Provides: libkworkspace6 >= %{plasma_version}
|
|
||||||
Obsoletes: libkworkspace6 <= %{plasma_version}
|
|
||||||
|
|
||||||
Provides: desktop-notification-daemon
|
|
||||||
|
|
||||||
%description
|
|
||||||
Core workspace components for SonicDE, fork of plasma-workspace.
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development files for %{name}
|
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
||||||
Conflicts: plasma-workspace-devel
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
Development files for sonic-workspace.
|
|
||||||
|
|
||||||
%package x11
|
|
||||||
Summary: SonicDE X11 session
|
|
||||||
#Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: xlibre-xserver-Xorg
|
|
||||||
Conflicts: plasma-workspace-x11
|
|
||||||
|
|
||||||
%description x11
|
|
||||||
SonicDE X11 session.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%autosetup -p1
|
|
||||||
|
|
||||||
%build
|
|
||||||
%cmake_kf6
|
|
||||||
%cmake_build
|
|
||||||
|
|
||||||
%install
|
|
||||||
%cmake_install
|
|
||||||
# Many translation files have different names than the package
|
|
||||||
%find_lang plasmanetworkmanagement --all-name || :
|
|
||||||
%find_lang plasmashell --all-name || :
|
|
||||||
|
|
||||||
%files
|
|
||||||
%license LICENSES/*
|
|
||||||
%{_bindir}/plasma*
|
|
||||||
%{_bindir}/krunner
|
|
||||||
%{_bindir}/ksmserver
|
|
||||||
%{_bindir}/ksplashqml
|
|
||||||
%{_bindir}/kcminit*
|
|
||||||
%{_bindir}/kde-systemd-start-condition
|
|
||||||
%{_bindir}/lookandfeeltool
|
|
||||||
%{_bindir}/kcolorschemeeditor
|
|
||||||
%{_bindir}/kfontinst
|
|
||||||
%{_bindir}/kfontview
|
|
||||||
%{_bindir}/xembedsniproxy
|
|
||||||
%{_bindir}/gmenudbusmenuproxy
|
|
||||||
%{_bindir}/startplasma-wayland
|
|
||||||
%{_libdir}/lib*.so.*
|
|
||||||
%{_libdir}/kconf_update_bin/
|
|
||||||
%{_libexecdir}/ksmserver-logout-greeter
|
|
||||||
%{_libexecdir}/plasma*
|
|
||||||
%{_libexecdir}/kf6/kauth/
|
|
||||||
%{_libexecdir}/kfontprint
|
|
||||||
%{_libexecdir}/baloorunner
|
|
||||||
%{_qt6_plugindir}/plasma/
|
|
||||||
%{_qt6_plugindir}/kf6/
|
|
||||||
%{_qt6_plugindir}/phonon_platform/
|
|
||||||
%{_qt6_plugindir}/plasma5support/
|
|
||||||
%{_qt6_plugindir}/plasmacalendarplugins/
|
|
||||||
%{_qt6_qmldir}/org/kde/
|
|
||||||
%{_userunitdir}/plasma*
|
|
||||||
%{_datadir}/plasma/
|
|
||||||
%{_datadir}/plasma5support/
|
|
||||||
%{_datadir}/applications/*.desktop
|
|
||||||
%{_datadir}/desktop-directories/
|
|
||||||
%{_datadir}/config.kcfg/
|
|
||||||
%{_datadir}/dbus-1/
|
|
||||||
%{_datadir}/doc/
|
|
||||||
%{_datadir}/icons/
|
|
||||||
%{_datadir}/kconf_update/
|
|
||||||
%{_datadir}/kfontinst/
|
|
||||||
%{_datadir}/kglobalaccel/
|
|
||||||
%{_datadir}/kio*/
|
|
||||||
%{_datadir}/knotifications6/
|
|
||||||
%{_datadir}/knsrcfiles/
|
|
||||||
%{_datadir}/konqsidebartng/
|
|
||||||
%{_datadir}/krunner/
|
|
||||||
%{_datadir}/kstyle/
|
|
||||||
%{_datadir}/kxmlgui5/
|
|
||||||
%{_datadir}/polkit-1/
|
|
||||||
%{_datadir}/qlogging-categories6/
|
|
||||||
%{_datadir}/solid/
|
|
||||||
%{_datadir}/timezonefiles/
|
|
||||||
%{_datadir}/wayland-sessions/
|
|
||||||
%{_datadir}/xdg-desktop-portal/
|
|
||||||
%{_datadir}/zsh/
|
|
||||||
%{_datadir}/locale/*/LC_MESSAGES/*.mo
|
|
||||||
%{_sysconfdir}/xdg/*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_includedir}/kworkspace6/
|
|
||||||
%{_includedir}/taskmanager/
|
|
||||||
%{_includedir}/notificationmanager/
|
|
||||||
%{_includedir}/colorcorrect/
|
|
||||||
%{_includedir}/krdb/
|
|
||||||
%{_includedir}/plasma5support/
|
|
||||||
%{_libdir}/lib*.so
|
|
||||||
%{_libdir}/cmake/*/
|
|
||||||
|
|
||||||
%files x11
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_datadir}/xsessions/plasmax11.desktop
|
|
||||||
%{_bindir}/startplasma-x11
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Wed Mar 21 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.4.5-5
|
|
||||||
- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility)
|
|
||||||
|
|
@ -1,497 +0,0 @@
|
||||||
# Maintainer: Anders Rytter Hansen
|
|
||||||
|
|
||||||
# Fedora bits
|
|
||||||
%define __spec_install_post %{__os_install_post}
|
|
||||||
%define _build_id_links none
|
|
||||||
%define _default_patch_fuzz 2
|
|
||||||
%define _disable_source_fetch 0
|
|
||||||
%define debug_package %{nil}
|
|
||||||
%define make_build make %{?_lto_args} %{?_smp_mflags}
|
|
||||||
%undefine __brp_mangle_shebangs
|
|
||||||
%undefine _auto_set_build_flags
|
|
||||||
%undefine _include_frame_pointers
|
|
||||||
|
|
||||||
# Linux Kernel Versions
|
|
||||||
%define _basekver 6.14
|
|
||||||
%define _stablekver 8
|
|
||||||
%define _rpmver %{version}-%{release}
|
|
||||||
%define _kver %{_rpmver}.%{_arch}
|
|
||||||
|
|
||||||
%if %{_stablekver} == 0
|
|
||||||
%define _tarkver %{_basekver}
|
|
||||||
%else
|
|
||||||
%define _tarkver %{version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Build a minimal a kernel via modprobed.db
|
|
||||||
# file to reduce build times
|
|
||||||
%define _build_minimal 0
|
|
||||||
|
|
||||||
# Builds the kernel with clang and enables
|
|
||||||
# ThinLTO
|
|
||||||
%define _build_lto 1
|
|
||||||
|
|
||||||
# Builds nvidia-open kernel modules with
|
|
||||||
# the kernel
|
|
||||||
%define _nv_pkg open-gpu-kernel-modules-%{_nv_ver}
|
|
||||||
%if 0%{?fedora} >= 43
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 575.57.08
|
|
||||||
%else
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 575.57.08
|
|
||||||
%define _nv_old 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Define the tickrate used by the kernel
|
|
||||||
# Valid values: 100, 250, 300, 500, 600, 750 and 1000
|
|
||||||
# An invalid value will not fail and continue to use
|
|
||||||
# 1000Hz tickrate
|
|
||||||
%define _hz_tick 1000
|
|
||||||
|
|
||||||
# Defines the x86_64 ISA level used
|
|
||||||
# to compile the kernel
|
|
||||||
# Valid values are 1-4
|
|
||||||
# An invalid value will continue and use
|
|
||||||
# x86_64_v3
|
|
||||||
%define _x86_64_lvl 3
|
|
||||||
|
|
||||||
# Define variables for directory paths
|
|
||||||
# to be used during packaging
|
|
||||||
%define _kernel_dir /lib/modules/%{_kver}
|
|
||||||
%define _devel_dir %{_usrsrc}/kernels/%{_kver}
|
|
||||||
|
|
||||||
%define _patch_src https://raw.githubusercontent.com/CachyOS/kernel-patches/master/%{_basekver}
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
# Define build environment variables to build the kernel with clang
|
|
||||||
%define _lto_args CC=clang CXX=clang++ LD=ld.lld LLVM=1 LLVM_IAS=1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%define _module_args KERNEL_UNAME=%{_kver} IGNORE_PREEMPT_RT_PRESENCE=1 SYSSRC=%{_builddir}/linux-%{_tarkver} SYSOUT=%{_builddir}/linux-%{_tarkver}
|
|
||||||
|
|
||||||
Name: kernel-cachyos%{?_lto_args:-lto}-skylake-614
|
|
||||||
Summary: Linux BORE %{?_lto_args:+ LTO }Cachy Sauce Kernel by CachyOS with other patches and improvements.
|
|
||||||
Version: %{_basekver}.%{_stablekver}
|
|
||||||
Release: cachyos1%{?_lto_args:.lto}.skylake%{?dist}
|
|
||||||
License: GPL-2.0-only
|
|
||||||
URL: https://cachyos.org
|
|
||||||
|
|
||||||
Requires: kernel-core-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-cachyos%{?_lto_args:-lto} > 6.12.9-cb1.0%{?_lto_args:.lto}%{?dist}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Obsoletes: kernel-cachyos%{?_lto_args:-lto} <= 6.12.9-cb1.0.lto%{?_lto_args:.lto}%{?dist}
|
|
||||||
|
|
||||||
BuildRequires: bc
|
|
||||||
BuildRequires: bison
|
|
||||||
BuildRequires: dwarves
|
|
||||||
BuildRequires: elfutils-devel
|
|
||||||
BuildRequires: flex
|
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: gettext-devel
|
|
||||||
BuildRequires: kmod
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: openssl
|
|
||||||
BuildRequires: openssl-devel
|
|
||||||
BuildRequires: perl-Carp
|
|
||||||
BuildRequires: perl-devel
|
|
||||||
BuildRequires: perl-generators
|
|
||||||
BuildRequires: perl-interpreter
|
|
||||||
BuildRequires: python3-devel
|
|
||||||
BuildRequires: python3-pyyaml
|
|
||||||
BuildRequires: python-srpm-macros
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
BuildRequires: clang
|
|
||||||
BuildRequires: lld
|
|
||||||
BuildRequires: llvm
|
|
||||||
BuildRequires: polly
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Indexes 0-9 are reserved for the kernel. 10-19 will be reserved for NVIDIA
|
|
||||||
Source0: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-%{_tarkver}.tar.xz
|
|
||||||
Source1: https://raw.githubusercontent.com/CachyOS/linux-cachyos/master/linux-cachyos/config
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
# The default modprobed.db provided is used for linux-cachyos CI.
|
|
||||||
# This should not be used for production and ideally should only be used for compile tests.
|
|
||||||
# Note that any modprobed.db file is accepted
|
|
||||||
Source2: https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-config/%{_basekver}/minimal-modprobed.db
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Source10: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{_nv_ver}/%{_nv_pkg}.tar.gz
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch0: %{_patch_src}/all/0001-cachyos-base-all.patch
|
|
||||||
Patch1: %{_patch_src}/sched/0001-bore-cachy.patch
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Patch2: %{_patch_src}/misc/dkms-clang.patch
|
|
||||||
Patch3: %{_patch_src}/misc/0001-clang-polly.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Patch10: %{_patch_src}/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
|
||||||
The meta package for %{name}.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q %{?SOURCE10:-b 10} -n linux-%{_tarkver}
|
|
||||||
%autopatch -p1 -v -M 9
|
|
||||||
|
|
||||||
cp %{SOURCE1} .config
|
|
||||||
|
|
||||||
# Default configs to always enable
|
|
||||||
# Enable CACHY sauce and the scheduler
|
|
||||||
# used in the default linux-cachyos kernel
|
|
||||||
scripts/config -e CACHY -e SCHED_BORE
|
|
||||||
|
|
||||||
# Use SElinux by default
|
|
||||||
# https://github.com/sirlucjan/copr-linux-cachyos/pull/1
|
|
||||||
scripts/config --set-str CONFIG_LSM lockdown,yama,integrity,selinux,bpf,landlock
|
|
||||||
|
|
||||||
# Do not change the system's hostname
|
|
||||||
scripts/config -u DEFAULT_HOSTNAME
|
|
||||||
|
|
||||||
case %{_hz_tick} in
|
|
||||||
100|250|300|500|600|750|1000)
|
|
||||||
scripts/config -e HZ_%{_hz_tick} --set-val HZ %{_hz_tick};;
|
|
||||||
*)
|
|
||||||
echo "Invalid tickrate value, using default 1000"
|
|
||||||
scripts/config -e HZ_1000 --set-val HZ 1000;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
%if %{_x86_64_lvl} < 5 && %{_x86_64_lvl} > 0
|
|
||||||
scripts/config --set-val X86_64_VERSION %{_x86_64_lvl}
|
|
||||||
%else
|
|
||||||
echo "Invalid x86_64 ISA Level. Using x86_64_v3"
|
|
||||||
scripts/config --set-val X86_64_VERSION 3
|
|
||||||
%endif
|
|
||||||
|
|
||||||
scripts/config -d GENERIC_CPU
|
|
||||||
scripts/config -e MSKYLAKE
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
scripts/config -e LTO_CLANG_THIN
|
|
||||||
scripts/config -e POLLY_CLANG
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
%make_build LSMOD=%{SOURCE2} localmodconfig
|
|
||||||
%else
|
|
||||||
%make_build olddefconfig
|
|
||||||
%endif
|
|
||||||
|
|
||||||
diff -u %{SOURCE1} .config || :
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}/kernel-open
|
|
||||||
%patch -P 10 -p1
|
|
||||||
cd ..
|
|
||||||
%autopatch -p1 -v -m 11 -M 19
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
|
||||||
%make_build EXTRAVERSION=-%{release}.%{_arch} all
|
|
||||||
%make_build -C tools/bpf/bpftool vmlinux.h feature-clang-bpf-co-re=1
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
CFLAGS= CXXFLAGS= LDFLAGS= %make_build %{_module_args} IGNORE_CC_MISMATCH=yes modules
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
|
||||||
echo "Installing the kernel image..."
|
|
||||||
install -Dm644 "$(%make_build -s image_name)" "%{buildroot}%{_kernel_dir}/vmlinuz"
|
|
||||||
zstdmt -19 < Module.symvers > %{buildroot}%{_kernel_dir}/symvers.zst
|
|
||||||
|
|
||||||
echo "Installing kernel modules..."
|
|
||||||
ZSTD_CLEVEL=19 %make_build INSTALL_MOD_PATH="%{buildroot}" INSTALL_MOD_STRIP=1 DEPMOD=/doesnt/exist modules_install
|
|
||||||
|
|
||||||
echo "Installing files for the development package..."
|
|
||||||
install -Dt %{buildroot}%{_devel_dir} -m644 .config Makefile Module.symvers System.map tools/bpf/bpftool/vmlinux.h
|
|
||||||
cp .config %{buildroot}%{_kernel_dir}/config
|
|
||||||
cp System.map %{buildroot}%{_kernel_dir}/System.map
|
|
||||||
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a scripts %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts/tracing
|
|
||||||
rm -f %{buildroot}%{_devel_dir}/scripts/spdxcheck.py
|
|
||||||
|
|
||||||
# The cp commands below are needed for parity with Fedora's packaging
|
|
||||||
# Install files that are needed for `make scripts` to succeed
|
|
||||||
cp -a --parents security/selinux/include/classmap.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents security/selinux/include/initial_sid_to_string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/be_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/le_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- Generic
|
|
||||||
cp -a --parents tools/include/linux/compiler* %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux/types.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/build/Build.include %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/build/fixdep.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/sync-check.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/bpf/resolve_btfids %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp --parents security/selinux/include/policycap_names.h %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents security/selinux/include/policycap.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/vdso %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/scripts/utilities.mak %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/subcmd %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/*.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/*.[ch] %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/Build %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/include/objtool/*.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/bpf %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/bpf/Build %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Misc headers
|
|
||||||
cp -a --parents arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a include %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a sound/soc/sof/sof-audio.h %{buildroot}%{_devel_dir}/sound/soc/sof
|
|
||||||
cp -a tools/objtool/objtool %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
cp -a tools/objtool/fixdep %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- for x86_64
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_32.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_64.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_common.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/purgatory.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/stack.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/setup-x86_64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/entry64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/ctype.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents scripts/syscalltbl.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents scripts/syscallhdr.sh %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/arch/x86/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/lib %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/lib/ %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/tools/gen-insn-attr-x86.awk %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/ %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Final cleanups ala Fedora
|
|
||||||
echo "Cleaning up development files..."
|
|
||||||
find %{buildroot}%{_devel_dir}/scripts \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
find %{buildroot}%{_devel_dir}/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
touch -r %{buildroot}%{_devel_dir}/Makefile \
|
|
||||||
%{buildroot}%{_devel_dir}/include/generated/uapi/linux/version.h \
|
|
||||||
%{buildroot}%{_devel_dir}/include/config/auto.conf
|
|
||||||
|
|
||||||
# These links will be owned by the modules package, creating a broken
|
|
||||||
# link unless the -devel package is installed. why??
|
|
||||||
rm -rf %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_devel_dir} %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_kernel_dir}/build %{buildroot}%{_kernel_dir}/source
|
|
||||||
|
|
||||||
# Create stub initramfs to inflate disk space requirements.
|
|
||||||
# This should hopefully prevent some initramfs failures due to
|
|
||||||
# insufficient space in /boot (#bz #530778)
|
|
||||||
# 90 seems to be a safe value nowadays. It is slightly inflated than the
|
|
||||||
# measured average to also account for installed vmlinuz in /boot
|
|
||||||
echo "Creating stub initramfs..."
|
|
||||||
install -dm755 %{buildroot}/boot
|
|
||||||
dd if=/dev/zero of=%{buildroot}/boot/initramfs-%{_kver}.img bs=1M count=90
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
echo "Installing NVIDIA open kernel modules..."
|
|
||||||
install -Dt %{buildroot}%{_kernel_dir}/nvidia -m644 kernel-open/*.ko
|
|
||||||
find %{buildroot}%{_kernel_dir}/nvidia -name '*.ko' -exec zstd --rm -19 {} +
|
|
||||||
install -Dt %{buildroot}/%{_defaultlicensedir}/%{name}-nvidia-open -m644 COPYING
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%package core
|
|
||||||
Summary: Linux BORE Cachy Sauce Kernel by CachyOS with other patches and improvements
|
|
||||||
AutoReq: no
|
|
||||||
Conflicts: xfsprogs < 4.3.0-1
|
|
||||||
Conflicts: xorg-x11-drv-vmmouse < 13.0.99
|
|
||||||
Provides: kernel = %{_rpmver}
|
|
||||||
Provides: kernel-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires(pre): /usr/bin/kernel-install
|
|
||||||
Requires(pre): coreutils
|
|
||||||
Requires(pre): dracut >= 027
|
|
||||||
Requires(pre): systemd >= 203-2
|
|
||||||
Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)
|
|
||||||
Requires(preun):systemd >= 200
|
|
||||||
Recommends: linux-firmware
|
|
||||||
|
|
||||||
%description core
|
|
||||||
The kernel package contains the Linux kernel (vmlinuz), the core of any
|
|
||||||
Linux operating system. The kernel handles the basic functions
|
|
||||||
of the operating system: memory allocation, process allocation, device
|
|
||||||
input and output, etc.
|
|
||||||
|
|
||||||
%post core
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
|
|
||||||
%posttrans core
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
/bin/kernel-install add %{_kver} %{_kernel_dir}/vmlinuz || exit $?
|
|
||||||
if [[ ! -e "/boot/symvers-%{_kver}.zst" ]]; then
|
|
||||||
cp "%{_kernel_dir}/symvers.zst" "/boot/symvers-%{_kver}.zst"
|
|
||||||
if command -v restorecon &>/dev/null; then
|
|
||||||
restorecon "/boot/symvers-%{_kver}.zst"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%preun core
|
|
||||||
/bin/kernel-install remove %{_kver} || exit $?
|
|
||||||
if [ -x /usr/sbin/weak-modules ]; then
|
|
||||||
/usr/sbin/weak-modules --remove-kernel %{_kver} || exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files core
|
|
||||||
%license COPYING
|
|
||||||
%ghost %attr(0600, root, root) /boot/initramfs-%{_kver}.img
|
|
||||||
%ghost %attr(0644, root, root) /boot/symvers-%{_kver}.zst
|
|
||||||
%{_kernel_dir}/vmlinuz
|
|
||||||
%{_kernel_dir}/modules.builtin
|
|
||||||
%{_kernel_dir}/modules.builtin.modinfo
|
|
||||||
%{_kernel_dir}/symvers.zst
|
|
||||||
%{_kernel_dir}/config
|
|
||||||
%{_kernel_dir}/System.map
|
|
||||||
|
|
||||||
%package modules
|
|
||||||
Summary: Kernel modules package for %{name}
|
|
||||||
Provides: kernel-modules = %{_rpmver}
|
|
||||||
Provides: kernel-modules-core = %{_rpmver}
|
|
||||||
Provides: kernel-modules-extra = %{_rpmver}
|
|
||||||
Provides: kernel-modules-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-extra-uname-r = %{_kver}
|
|
||||||
Provides: v4l2loopback-kmod = 0.14.0
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
|
|
||||||
%description modules
|
|
||||||
This package provides kernel modules for the %{name}-core kernel package.
|
|
||||||
|
|
||||||
%post modules
|
|
||||||
if [ ! -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver} ]; then
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
fi
|
|
||||||
|
|
||||||
%posttrans modules
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
if [ -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver} ]; then
|
|
||||||
echo "Running: dracut -f --kver %{_kver}"
|
|
||||||
dracut -f --kver "%{_kver}" || exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files modules
|
|
||||||
%dir %{_kernel_dir}
|
|
||||||
%{_kernel_dir}/modules.order
|
|
||||||
%{_kernel_dir}/build
|
|
||||||
%{_kernel_dir}/source
|
|
||||||
%{_kernel_dir}/kernel
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development package for building kernel modules to match %{name}
|
|
||||||
Provides: kernel-devel = %{_rpmver}
|
|
||||||
Provides: kernel-devel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
AutoReqProv: no
|
|
||||||
Requires(pre): findutils
|
|
||||||
Requires: findutils
|
|
||||||
Requires: perl-interpreter
|
|
||||||
Requires: openssl-devel
|
|
||||||
Requires: elfutils-libelf-devel
|
|
||||||
Requires: bison
|
|
||||||
Requires: flex
|
|
||||||
Requires: make
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Requires: clang
|
|
||||||
Requires: lld
|
|
||||||
Requires: llvm
|
|
||||||
%else
|
|
||||||
Requires: gcc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package provides kernel headers and makefiles sufficient to build modules against %{name}.
|
|
||||||
|
|
||||||
%post devel
|
|
||||||
if [ -f /etc/sysconfig/kernel ]; then
|
|
||||||
. /etc/sysconfig/kernel || exit $?
|
|
||||||
fi
|
|
||||||
if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ]; then
|
|
||||||
(cd /usr/src/kernels/%{_kver} &&
|
|
||||||
/usr/bin/find . -type f | while read f; do
|
|
||||||
hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null
|
|
||||||
done;
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_devel_dir}
|
|
||||||
|
|
||||||
%package devel-matched
|
|
||||||
Summary: Meta package to install matching core and devel packages for %{name}
|
|
||||||
Provides: kernel-devel-matched = %{_rpmver}
|
|
||||||
Requires: %{name}-core = %{_rpmver}
|
|
||||||
Requires: %{name}-devel = %{_rpmver}
|
|
||||||
|
|
||||||
%description devel-matched
|
|
||||||
This meta package is used to install matching core and devel packages for %{name}.
|
|
||||||
|
|
||||||
%files devel-matched
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
%package nvidia-open
|
|
||||||
Summary: nvidia-open %{_nv_ver} kernel modules for %{name}
|
|
||||||
Provides: nvidia-kmod >= %{_nv_ver}
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
Conflicts: akmod-nvidia
|
|
||||||
Recommends: xorg-x11-drv-nvidia >= %{_nv_ver}
|
|
||||||
|
|
||||||
%description nvidia-open
|
|
||||||
This package provides nvidia-open %{_nv_ver} kernel modules for %{name}.
|
|
||||||
|
|
||||||
%post nvidia-open
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
|
|
||||||
%files nvidia-open
|
|
||||||
%license %{_defaultlicensedir}/%{name}-nvidia-open/COPYING
|
|
||||||
%{_kernel_dir}/nvidia
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
|
||||||
|
|
@ -1,493 +0,0 @@
|
||||||
# Maintainer: Anders Rytter Hansen
|
|
||||||
|
|
||||||
# Fedora bits
|
|
||||||
%define __spec_install_post %{__os_install_post}
|
|
||||||
%define _build_id_links none
|
|
||||||
%define _default_patch_fuzz 2
|
|
||||||
%define _disable_source_fetch 0
|
|
||||||
%define debug_package %{nil}
|
|
||||||
%define make_build make %{?_lto_args} %{?_smp_mflags}
|
|
||||||
%undefine __brp_mangle_shebangs
|
|
||||||
%undefine _auto_set_build_flags
|
|
||||||
%undefine _include_frame_pointers
|
|
||||||
|
|
||||||
# Linux Kernel Versions
|
|
||||||
%define _basekver 6.16
|
|
||||||
%define _stablekver 11
|
|
||||||
%define _rpmver %{version}-%{release}
|
|
||||||
%define _kver %{_rpmver}.%{_arch}
|
|
||||||
|
|
||||||
%if %{_stablekver} == 0
|
|
||||||
%define _tarkver %{_basekver}
|
|
||||||
%else
|
|
||||||
%define _tarkver %{version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Build a minimal a kernel via modprobed.db
|
|
||||||
# file to reduce build times
|
|
||||||
%define _build_minimal 0
|
|
||||||
|
|
||||||
# Builds the kernel with clang and enables
|
|
||||||
# ThinLTO
|
|
||||||
%define _build_lto 1
|
|
||||||
|
|
||||||
# Builds nvidia-open kernel modules with
|
|
||||||
# the kernel
|
|
||||||
%define _nv_pkg open-gpu-kernel-modules-%{_nv_ver}
|
|
||||||
%if 0%{?fedora} >= 43
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 575.57.08
|
|
||||||
%else
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 575.57.08
|
|
||||||
%define _nv_old 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Define the tickrate used by the kernel
|
|
||||||
# Valid values: 100, 250, 300, 500, 600, 750 and 1000
|
|
||||||
# An invalid value will not fail and continue to use
|
|
||||||
# 1000Hz tickrate
|
|
||||||
%define _hz_tick 1000
|
|
||||||
|
|
||||||
# Defines the x86_64 ISA level used
|
|
||||||
# to compile the kernel
|
|
||||||
# Valid values are 1-4
|
|
||||||
# An invalid value will continue and use
|
|
||||||
# x86_64_v3
|
|
||||||
%define _x86_64_lvl 3
|
|
||||||
|
|
||||||
# Define variables for directory paths
|
|
||||||
# to be used during packaging
|
|
||||||
%define _kernel_dir /lib/modules/%{_kver}
|
|
||||||
%define _devel_dir %{_usrsrc}/kernels/%{_kver}
|
|
||||||
|
|
||||||
%define _patch_src https://raw.githubusercontent.com/CachyOS/kernel-patches/master/%{_basekver}
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
# Define build environment variables to build the kernel with clang
|
|
||||||
%define _lto_args CC=clang CXX=clang++ LD=ld.lld LLVM=1 LLVM_IAS=1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%define _module_args KERNEL_UNAME=%{_kver} IGNORE_PREEMPT_RT_PRESENCE=1 SYSSRC=%{_builddir}/linux-%{_tarkver} SYSOUT=%{_builddir}/linux-%{_tarkver}
|
|
||||||
|
|
||||||
Name: kernel-cachyos%{?_lto_args:-lto}-skylake-test-616
|
|
||||||
Summary: Linux BORE %{?_lto_args:+ LTO }Cachy Sauce Kernel by CachyOS with other patches and improvements.
|
|
||||||
Version: %{_basekver}.%{_stablekver}
|
|
||||||
Release: cachyos1%{?_lto_args:.lto}.skylake.test.616%{?dist}
|
|
||||||
License: GPL-2.0-only
|
|
||||||
URL: https://cachyos.org
|
|
||||||
|
|
||||||
Requires: kernel-core-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-cachyos%{?_lto_args:-lto} > 6.12.9-cb1.0%{?_lto_args:.lto}%{?dist}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Obsoletes: kernel-cachyos%{?_lto_args:-lto} <= 6.12.9-cb1.0.lto%{?_lto_args:.lto}%{?dist}
|
|
||||||
|
|
||||||
BuildRequires: bc
|
|
||||||
BuildRequires: bison
|
|
||||||
BuildRequires: dwarves
|
|
||||||
BuildRequires: elfutils-devel
|
|
||||||
BuildRequires: flex
|
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: gettext-devel
|
|
||||||
BuildRequires: kmod
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: openssl
|
|
||||||
BuildRequires: openssl-devel
|
|
||||||
BuildRequires: perl-Carp
|
|
||||||
BuildRequires: perl-devel
|
|
||||||
BuildRequires: perl-generators
|
|
||||||
BuildRequires: perl-interpreter
|
|
||||||
BuildRequires: python3-devel
|
|
||||||
BuildRequires: python3-pyyaml
|
|
||||||
BuildRequires: python-srpm-macros
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
BuildRequires: clang
|
|
||||||
BuildRequires: lld
|
|
||||||
BuildRequires: llvm
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Indexes 0-9 are reserved for the kernel. 10-19 will be reserved for NVIDIA
|
|
||||||
Source0: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-%{_tarkver}.tar.xz
|
|
||||||
Source1: https://raw.githubusercontent.com/CachyOS/linux-cachyos/master/linux-cachyos/config
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
# The default modprobed.db provided is used for linux-cachyos CI.
|
|
||||||
# This should not be used for production and ideally should only be used for compile tests.
|
|
||||||
# Note that any modprobed.db file is accepted
|
|
||||||
Source2: https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-config/%{_basekver}/minimal-modprobed.db
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Source10: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{_nv_ver}/%{_nv_pkg}.tar.gz
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch0: %{_patch_src}/all/0001-cachyos-base-all.patch
|
|
||||||
Patch1: %{_patch_src}/sched/0001-bore-cachy.patch
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Patch2: %{_patch_src}/misc/dkms-clang.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch3: https://raw.githubusercontent.com/firelzrd/kcompressd-unofficial/refs/heads/main/patches/stable/0001-linux6.16-kcompressd-unofficial-0.5.patch
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Patch10: %{_patch_src}/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
|
||||||
The meta package for %{name}.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q %{?SOURCE10:-b 10} -n linux-%{_tarkver}
|
|
||||||
%autopatch -p1 -v -M 9
|
|
||||||
|
|
||||||
cp %{SOURCE1} .config
|
|
||||||
|
|
||||||
# Default configs to always enable
|
|
||||||
# Enable CACHY sauce and the scheduler
|
|
||||||
# used in the default linux-cachyos kernel
|
|
||||||
scripts/config -e CACHY -e SCHED_BORE
|
|
||||||
|
|
||||||
# Use SElinux by default
|
|
||||||
# https://github.com/sirlucjan/copr-linux-cachyos/pull/1
|
|
||||||
scripts/config --set-str CONFIG_LSM lockdown,yama,integrity,selinux,bpf,landlock
|
|
||||||
|
|
||||||
# Do not change the system's hostname
|
|
||||||
scripts/config -u DEFAULT_HOSTNAME
|
|
||||||
|
|
||||||
case %{_hz_tick} in
|
|
||||||
100|250|300|500|600|750|1000)
|
|
||||||
scripts/config -e HZ_%{_hz_tick} --set-val HZ %{_hz_tick};;
|
|
||||||
*)
|
|
||||||
echo "Invalid tickrate value, using default 1000"
|
|
||||||
scripts/config -e HZ_1000 --set-val HZ 1000;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
%if %{_x86_64_lvl} < 5 && %{_x86_64_lvl} > 0
|
|
||||||
scripts/config --set-val X86_64_VERSION %{_x86_64_lvl}
|
|
||||||
%else
|
|
||||||
echo "Invalid x86_64 ISA Level. Using x86_64_v3"
|
|
||||||
scripts/config --set-val X86_64_VERSION 3
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
scripts/config -e LTO_CLANG_THIN
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
%make_build LSMOD=%{SOURCE2} localmodconfig
|
|
||||||
%else
|
|
||||||
%make_build olddefconfig
|
|
||||||
%endif
|
|
||||||
|
|
||||||
diff -u %{SOURCE1} .config || :
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}/kernel-open
|
|
||||||
%patch -P 10 -p1
|
|
||||||
cd ..
|
|
||||||
%autopatch -p1 -v -m 11 -M 19
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
|
||||||
%make_build EXTRAVERSION=-%{release}.%{_arch} all
|
|
||||||
%make_build -C tools/bpf/bpftool vmlinux.h feature-clang-bpf-co-re=1
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
CFLAGS= CXXFLAGS= LDFLAGS= %make_build %{_module_args} IGNORE_CC_MISMATCH=yes modules
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
|
||||||
echo "Installing the kernel image..."
|
|
||||||
install -Dm644 "$(%make_build -s image_name)" "%{buildroot}%{_kernel_dir}/vmlinuz"
|
|
||||||
zstdmt -19 < Module.symvers > %{buildroot}%{_kernel_dir}/symvers.zst
|
|
||||||
|
|
||||||
echo "Installing kernel modules..."
|
|
||||||
ZSTD_CLEVEL=19 %make_build INSTALL_MOD_PATH="%{buildroot}" INSTALL_MOD_STRIP=1 DEPMOD=/doesnt/exist modules_install
|
|
||||||
|
|
||||||
echo "Installing files for the development package..."
|
|
||||||
install -Dt %{buildroot}%{_devel_dir} -m644 .config Makefile Module.symvers System.map tools/bpf/bpftool/vmlinux.h
|
|
||||||
cp .config %{buildroot}%{_kernel_dir}/config
|
|
||||||
cp System.map %{buildroot}%{_kernel_dir}/System.map
|
|
||||||
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a scripts %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts/tracing
|
|
||||||
rm -f %{buildroot}%{_devel_dir}/scripts/spdxcheck.py
|
|
||||||
|
|
||||||
# The cp commands below are needed for parity with Fedora's packaging
|
|
||||||
# Install files that are needed for `make scripts` to succeed
|
|
||||||
cp -a --parents security/selinux/include/classmap.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents security/selinux/include/initial_sid_to_string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/be_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/le_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- Generic
|
|
||||||
cp -a --parents tools/include/linux/compiler* %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux/types.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/build/Build.include %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/build/fixdep.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/sync-check.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/bpf/resolve_btfids %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp --parents security/selinux/include/policycap_names.h %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents security/selinux/include/policycap.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/vdso %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/scripts/utilities.mak %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/subcmd %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/*.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/*.[ch] %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/Build %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/include/objtool/*.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/bpf %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/bpf/Build %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Misc headers
|
|
||||||
cp -a --parents arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a include %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a sound/soc/sof/sof-audio.h %{buildroot}%{_devel_dir}/sound/soc/sof
|
|
||||||
cp -a tools/objtool/objtool %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
cp -a tools/objtool/fixdep %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- for x86_64
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_32.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_64.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_common.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/purgatory.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/stack.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/setup-x86_64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/entry64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/ctype.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents scripts/syscalltbl.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents scripts/syscallhdr.sh %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/arch/x86/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/lib %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/lib/ %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/tools/gen-insn-attr-x86.awk %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/ %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Final cleanups ala Fedora
|
|
||||||
echo "Cleaning up development files..."
|
|
||||||
find %{buildroot}%{_devel_dir}/scripts \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
find %{buildroot}%{_devel_dir}/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
touch -r %{buildroot}%{_devel_dir}/Makefile \
|
|
||||||
%{buildroot}%{_devel_dir}/include/generated/uapi/linux/version.h \
|
|
||||||
%{buildroot}%{_devel_dir}/include/config/auto.conf
|
|
||||||
|
|
||||||
# These links will be owned by the modules package, creating a broken
|
|
||||||
# link unless the -devel package is installed. why??
|
|
||||||
rm -rf %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_devel_dir} %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_kernel_dir}/build %{buildroot}%{_kernel_dir}/source
|
|
||||||
|
|
||||||
# Create stub initramfs to inflate disk space requirements.
|
|
||||||
# This should hopefully prevent some initramfs failures due to
|
|
||||||
# insufficient space in /boot (#bz #530778)
|
|
||||||
# 90 seems to be a safe value nowadays. It is slightly inflated than the
|
|
||||||
# measured average to also account for installed vmlinuz in /boot
|
|
||||||
echo "Creating stub initramfs..."
|
|
||||||
install -dm755 %{buildroot}/boot
|
|
||||||
dd if=/dev/zero of=%{buildroot}/boot/initramfs-%{_kver}.img bs=1M count=90
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
echo "Installing NVIDIA open kernel modules..."
|
|
||||||
install -Dt %{buildroot}%{_kernel_dir}/nvidia -m644 kernel-open/*.ko
|
|
||||||
find %{buildroot}%{_kernel_dir}/nvidia -name '*.ko' -exec zstd --rm -19 {} +
|
|
||||||
install -Dt %{buildroot}/%{_defaultlicensedir}/%{name}-nvidia-open -m644 COPYING
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%package core
|
|
||||||
Summary: Linux BORE Cachy Sauce Kernel by CachyOS with other patches and improvements
|
|
||||||
AutoReq: no
|
|
||||||
Conflicts: xfsprogs < 4.3.0-1
|
|
||||||
Conflicts: xorg-x11-drv-vmmouse < 13.0.99
|
|
||||||
Provides: kernel = %{_rpmver}
|
|
||||||
Provides: kernel-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires(pre): /usr/bin/kernel-install
|
|
||||||
Requires(pre): coreutils
|
|
||||||
Requires(pre): dracut >= 027
|
|
||||||
Requires(pre): systemd >= 203-2
|
|
||||||
Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)
|
|
||||||
Requires(preun):systemd >= 200
|
|
||||||
Recommends: linux-firmware
|
|
||||||
|
|
||||||
%description core
|
|
||||||
The kernel package contains the Linux kernel (vmlinuz), the core of any
|
|
||||||
Linux operating system. The kernel handles the basic functions
|
|
||||||
of the operating system: memory allocation, process allocation, device
|
|
||||||
input and output, etc.
|
|
||||||
|
|
||||||
%post core
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
|
|
||||||
%posttrans core
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
/bin/kernel-install add %{_kver} %{_kernel_dir}/vmlinuz || exit $?
|
|
||||||
if [[ ! -e "/boot/symvers-%{_kver}.zst" ]]; then
|
|
||||||
cp "%{_kernel_dir}/symvers.zst" "/boot/symvers-%{_kver}.zst"
|
|
||||||
if command -v restorecon &>/dev/null; then
|
|
||||||
restorecon "/boot/symvers-%{_kver}.zst"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%preun core
|
|
||||||
/bin/kernel-install remove %{_kver} || exit $?
|
|
||||||
if [ -x /usr/sbin/weak-modules ]; then
|
|
||||||
/usr/sbin/weak-modules --remove-kernel %{_kver} || exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files core
|
|
||||||
%license COPYING
|
|
||||||
%ghost %attr(0600, root, root) /boot/initramfs-%{_kver}.img
|
|
||||||
%ghost %attr(0644, root, root) /boot/symvers-%{_kver}.zst
|
|
||||||
%{_kernel_dir}/vmlinuz
|
|
||||||
%{_kernel_dir}/modules.builtin
|
|
||||||
%{_kernel_dir}/modules.builtin.modinfo
|
|
||||||
%{_kernel_dir}/symvers.zst
|
|
||||||
%{_kernel_dir}/config
|
|
||||||
%{_kernel_dir}/System.map
|
|
||||||
|
|
||||||
%package modules
|
|
||||||
Summary: Kernel modules package for %{name}
|
|
||||||
Provides: kernel-modules = %{_rpmver}
|
|
||||||
Provides: kernel-modules-core = %{_rpmver}
|
|
||||||
Provides: kernel-modules-extra = %{_rpmver}
|
|
||||||
Provides: kernel-modules-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-extra-uname-r = %{_kver}
|
|
||||||
Provides: v4l2loopback-kmod = 0.14.0
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
|
|
||||||
%description modules
|
|
||||||
This package provides kernel modules for the %{name}-core kernel package.
|
|
||||||
|
|
||||||
%post modules
|
|
||||||
if [ ! -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver} ]; then
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
fi
|
|
||||||
|
|
||||||
%posttrans modules
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
if [ -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver} ]; then
|
|
||||||
echo "Running: dracut -f --kver %{_kver}"
|
|
||||||
dracut -f --kver "%{_kver}" || exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files modules
|
|
||||||
%dir %{_kernel_dir}
|
|
||||||
%{_kernel_dir}/modules.order
|
|
||||||
%{_kernel_dir}/build
|
|
||||||
%{_kernel_dir}/source
|
|
||||||
%{_kernel_dir}/kernel
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development package for building kernel modules to match %{name}
|
|
||||||
Provides: kernel-devel = %{_rpmver}
|
|
||||||
Provides: kernel-devel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
AutoReqProv: no
|
|
||||||
Requires(pre): findutils
|
|
||||||
Requires: findutils
|
|
||||||
Requires: perl-interpreter
|
|
||||||
Requires: openssl-devel
|
|
||||||
Requires: elfutils-libelf-devel
|
|
||||||
Requires: bison
|
|
||||||
Requires: flex
|
|
||||||
Requires: make
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Requires: clang
|
|
||||||
Requires: lld
|
|
||||||
Requires: llvm
|
|
||||||
%else
|
|
||||||
Requires: gcc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package provides kernel headers and makefiles sufficient to build modules against %{name}.
|
|
||||||
|
|
||||||
%post devel
|
|
||||||
if [ -f /etc/sysconfig/kernel ]; then
|
|
||||||
. /etc/sysconfig/kernel || exit $?
|
|
||||||
fi
|
|
||||||
if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ]; then
|
|
||||||
(cd /usr/src/kernels/%{_kver} &&
|
|
||||||
/usr/bin/find . -type f | while read f; do
|
|
||||||
hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null
|
|
||||||
done;
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_devel_dir}
|
|
||||||
|
|
||||||
%package devel-matched
|
|
||||||
Summary: Meta package to install matching core and devel packages for %{name}
|
|
||||||
Provides: kernel-devel-matched = %{_rpmver}
|
|
||||||
Requires: %{name}-core = %{_rpmver}
|
|
||||||
Requires: %{name}-devel = %{_rpmver}
|
|
||||||
|
|
||||||
%description devel-matched
|
|
||||||
This meta package is used to install matching core and devel packages for %{name}.
|
|
||||||
|
|
||||||
%files devel-matched
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
%package nvidia-open
|
|
||||||
Summary: nvidia-open %{_nv_ver} kernel modules for %{name}
|
|
||||||
Provides: nvidia-kmod >= %{_nv_ver}
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
Conflicts: akmod-nvidia
|
|
||||||
Recommends: xorg-x11-drv-nvidia >= %{_nv_ver}
|
|
||||||
|
|
||||||
%description nvidia-open
|
|
||||||
This package provides nvidia-open %{_nv_ver} kernel modules for %{name}.
|
|
||||||
|
|
||||||
%post nvidia-open
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
|
|
||||||
%files nvidia-open
|
|
||||||
%license %{_defaultlicensedir}/%{name}-nvidia-open/COPYING
|
|
||||||
%{_kernel_dir}/nvidia
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
|
||||||
|
|
@ -1,493 +0,0 @@
|
||||||
# Maintainer: Anders Rytter Hansen
|
|
||||||
|
|
||||||
# Fedora bits
|
|
||||||
%define __spec_install_post %{__os_install_post}
|
|
||||||
%define _build_id_links none
|
|
||||||
%define _default_patch_fuzz 2
|
|
||||||
%define _disable_source_fetch 0
|
|
||||||
%define debug_package %{nil}
|
|
||||||
%define make_build make %{?_lto_args} %{?_smp_mflags}
|
|
||||||
%undefine __brp_mangle_shebangs
|
|
||||||
%undefine _auto_set_build_flags
|
|
||||||
%undefine _include_frame_pointers
|
|
||||||
|
|
||||||
# Linux Kernel Versions
|
|
||||||
%define _basekver 6.17
|
|
||||||
%define _stablekver 3
|
|
||||||
%define _rpmver %{version}-%{release}
|
|
||||||
%define _kver %{_rpmver}.%{_arch}
|
|
||||||
|
|
||||||
%if %{_stablekver} == 0
|
|
||||||
%define _tarkver %{_basekver}
|
|
||||||
%else
|
|
||||||
%define _tarkver %{version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Build a minimal a kernel via modprobed.db
|
|
||||||
# file to reduce build times
|
|
||||||
%define _build_minimal 0
|
|
||||||
|
|
||||||
# Builds the kernel with clang and enables
|
|
||||||
# ThinLTO
|
|
||||||
%define _build_lto 1
|
|
||||||
|
|
||||||
# Builds nvidia-open kernel modules with
|
|
||||||
# the kernel
|
|
||||||
%define _nv_pkg open-gpu-kernel-modules-%{_nv_ver}
|
|
||||||
%if 0%{?fedora} >= 43
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 575.57.08
|
|
||||||
%else
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 575.57.08
|
|
||||||
%define _nv_old 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Define the tickrate used by the kernel
|
|
||||||
# Valid values: 100, 250, 300, 500, 600, 750 and 1000
|
|
||||||
# An invalid value will not fail and continue to use
|
|
||||||
# 1000Hz tickrate
|
|
||||||
%define _hz_tick 1000
|
|
||||||
|
|
||||||
# Defines the x86_64 ISA level used
|
|
||||||
# to compile the kernel
|
|
||||||
# Valid values are 1-4
|
|
||||||
# An invalid value will continue and use
|
|
||||||
# x86_64_v3
|
|
||||||
%define _x86_64_lvl 3
|
|
||||||
|
|
||||||
# Define variables for directory paths
|
|
||||||
# to be used during packaging
|
|
||||||
%define _kernel_dir /lib/modules/%{_kver}
|
|
||||||
%define _devel_dir %{_usrsrc}/kernels/%{_kver}
|
|
||||||
|
|
||||||
%define _patch_src https://raw.githubusercontent.com/CachyOS/kernel-patches/master/%{_basekver}
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
# Define build environment variables to build the kernel with clang
|
|
||||||
%define _lto_args CC=clang CXX=clang++ LD=ld.lld LLVM=1 LLVM_IAS=1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%define _module_args KERNEL_UNAME=%{_kver} IGNORE_PREEMPT_RT_PRESENCE=1 SYSSRC=%{_builddir}/linux-%{_tarkver} SYSOUT=%{_builddir}/linux-%{_tarkver}
|
|
||||||
|
|
||||||
Name: kernel-cachyos%{?_lto_args:-lto}-skylake-test
|
|
||||||
Summary: Linux BORE %{?_lto_args:+ LTO }Cachy Sauce Kernel by CachyOS with other patches and improvements.
|
|
||||||
Version: %{_basekver}.%{_stablekver}
|
|
||||||
Release: cachyos1%{?_lto_args:.lto}.skylake.test%{?dist}
|
|
||||||
License: GPL-2.0-only
|
|
||||||
URL: https://cachyos.org
|
|
||||||
|
|
||||||
Requires: kernel-core-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-cachyos%{?_lto_args:-lto} > 6.12.9-cb1.0%{?_lto_args:.lto}%{?dist}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Obsoletes: kernel-cachyos%{?_lto_args:-lto} <= 6.12.9-cb1.0.lto%{?_lto_args:.lto}%{?dist}
|
|
||||||
|
|
||||||
BuildRequires: bc
|
|
||||||
BuildRequires: bison
|
|
||||||
BuildRequires: dwarves
|
|
||||||
BuildRequires: elfutils-devel
|
|
||||||
BuildRequires: flex
|
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: gettext-devel
|
|
||||||
BuildRequires: kmod
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: openssl
|
|
||||||
BuildRequires: openssl-devel
|
|
||||||
BuildRequires: perl-Carp
|
|
||||||
BuildRequires: perl-devel
|
|
||||||
BuildRequires: perl-generators
|
|
||||||
BuildRequires: perl-interpreter
|
|
||||||
BuildRequires: python3-devel
|
|
||||||
BuildRequires: python3-pyyaml
|
|
||||||
BuildRequires: python-srpm-macros
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
BuildRequires: clang
|
|
||||||
BuildRequires: lld
|
|
||||||
BuildRequires: llvm
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Indexes 0-9 are reserved for the kernel. 10-19 will be reserved for NVIDIA
|
|
||||||
Source0: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-%{_tarkver}.tar.xz
|
|
||||||
Source1: https://raw.githubusercontent.com/CachyOS/linux-cachyos/master/linux-cachyos/config
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
# The default modprobed.db provided is used for linux-cachyos CI.
|
|
||||||
# This should not be used for production and ideally should only be used for compile tests.
|
|
||||||
# Note that any modprobed.db file is accepted
|
|
||||||
Source2: https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-config/%{_basekver}/minimal-modprobed.db
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Source10: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{_nv_ver}/%{_nv_pkg}.tar.gz
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch0: %{_patch_src}/all/0001-cachyos-base-all.patch
|
|
||||||
Patch1: %{_patch_src}/sched/0001-bore-cachy.patch
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Patch2: %{_patch_src}/misc/dkms-clang.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch3: https://raw.githubusercontent.com/firelzrd/kcompressd-unofficial/refs/heads/main/patches/stable/0001-linux6.17-kcompressd-unofficial-0.5.patch
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Patch10: %{_patch_src}/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
|
||||||
The meta package for %{name}.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q %{?SOURCE10:-b 10} -n linux-%{_tarkver}
|
|
||||||
%autopatch -p1 -v -M 9
|
|
||||||
|
|
||||||
cp %{SOURCE1} .config
|
|
||||||
|
|
||||||
# Default configs to always enable
|
|
||||||
# Enable CACHY sauce and the scheduler
|
|
||||||
# used in the default linux-cachyos kernel
|
|
||||||
scripts/config -e CACHY -e SCHED_BORE
|
|
||||||
|
|
||||||
# Use SElinux by default
|
|
||||||
# https://github.com/sirlucjan/copr-linux-cachyos/pull/1
|
|
||||||
scripts/config --set-str CONFIG_LSM lockdown,yama,integrity,selinux,bpf,landlock
|
|
||||||
|
|
||||||
# Do not change the system's hostname
|
|
||||||
scripts/config -u DEFAULT_HOSTNAME
|
|
||||||
|
|
||||||
case %{_hz_tick} in
|
|
||||||
100|250|300|500|600|750|1000)
|
|
||||||
scripts/config -e HZ_%{_hz_tick} --set-val HZ %{_hz_tick};;
|
|
||||||
*)
|
|
||||||
echo "Invalid tickrate value, using default 1000"
|
|
||||||
scripts/config -e HZ_1000 --set-val HZ 1000;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
%if %{_x86_64_lvl} < 5 && %{_x86_64_lvl} > 0
|
|
||||||
scripts/config --set-val X86_64_VERSION %{_x86_64_lvl}
|
|
||||||
%else
|
|
||||||
echo "Invalid x86_64 ISA Level. Using x86_64_v3"
|
|
||||||
scripts/config --set-val X86_64_VERSION 3
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
scripts/config -e LTO_CLANG_THIN
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
%make_build LSMOD=%{SOURCE2} localmodconfig
|
|
||||||
%else
|
|
||||||
%make_build olddefconfig
|
|
||||||
%endif
|
|
||||||
|
|
||||||
diff -u %{SOURCE1} .config || :
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}/kernel-open
|
|
||||||
%patch -P 10 -p1
|
|
||||||
cd ..
|
|
||||||
%autopatch -p1 -v -m 11 -M 19
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
|
||||||
%make_build EXTRAVERSION=-%{release}.%{_arch} all
|
|
||||||
%make_build -C tools/bpf/bpftool vmlinux.h feature-clang-bpf-co-re=1
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
CFLAGS= CXXFLAGS= LDFLAGS= %make_build %{_module_args} IGNORE_CC_MISMATCH=yes modules
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
|
||||||
echo "Installing the kernel image..."
|
|
||||||
install -Dm644 "$(%make_build -s image_name)" "%{buildroot}%{_kernel_dir}/vmlinuz"
|
|
||||||
zstdmt -19 < Module.symvers > %{buildroot}%{_kernel_dir}/symvers.zst
|
|
||||||
|
|
||||||
echo "Installing kernel modules..."
|
|
||||||
ZSTD_CLEVEL=19 %make_build INSTALL_MOD_PATH="%{buildroot}" INSTALL_MOD_STRIP=1 DEPMOD=/doesnt/exist modules_install
|
|
||||||
|
|
||||||
echo "Installing files for the development package..."
|
|
||||||
install -Dt %{buildroot}%{_devel_dir} -m644 .config Makefile Module.symvers System.map tools/bpf/bpftool/vmlinux.h
|
|
||||||
cp .config %{buildroot}%{_kernel_dir}/config
|
|
||||||
cp System.map %{buildroot}%{_kernel_dir}/System.map
|
|
||||||
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a scripts %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts/tracing
|
|
||||||
rm -f %{buildroot}%{_devel_dir}/scripts/spdxcheck.py
|
|
||||||
|
|
||||||
# The cp commands below are needed for parity with Fedora's packaging
|
|
||||||
# Install files that are needed for `make scripts` to succeed
|
|
||||||
cp -a --parents security/selinux/include/classmap.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents security/selinux/include/initial_sid_to_string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/be_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/le_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- Generic
|
|
||||||
cp -a --parents tools/include/linux/compiler* %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux/types.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/build/Build.include %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/build/fixdep.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/sync-check.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/bpf/resolve_btfids %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp --parents security/selinux/include/policycap_names.h %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents security/selinux/include/policycap.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/vdso %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/scripts/utilities.mak %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/subcmd %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/*.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/*.[ch] %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/Build %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/include/objtool/*.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/bpf %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/bpf/Build %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Misc headers
|
|
||||||
cp -a --parents arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a include %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a sound/soc/sof/sof-audio.h %{buildroot}%{_devel_dir}/sound/soc/sof
|
|
||||||
cp -a tools/objtool/objtool %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
cp -a tools/objtool/fixdep %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- for x86_64
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_32.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_64.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_common.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/purgatory.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/stack.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/setup-x86_64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/entry64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/ctype.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents scripts/syscalltbl.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents scripts/syscallhdr.sh %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/arch/x86/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/lib %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/lib/ %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/tools/gen-insn-attr-x86.awk %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/ %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Final cleanups ala Fedora
|
|
||||||
echo "Cleaning up development files..."
|
|
||||||
find %{buildroot}%{_devel_dir}/scripts \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
find %{buildroot}%{_devel_dir}/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
touch -r %{buildroot}%{_devel_dir}/Makefile \
|
|
||||||
%{buildroot}%{_devel_dir}/include/generated/uapi/linux/version.h \
|
|
||||||
%{buildroot}%{_devel_dir}/include/config/auto.conf
|
|
||||||
|
|
||||||
# These links will be owned by the modules package, creating a broken
|
|
||||||
# link unless the -devel package is installed. why??
|
|
||||||
rm -rf %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_devel_dir} %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_kernel_dir}/build %{buildroot}%{_kernel_dir}/source
|
|
||||||
|
|
||||||
# Create stub initramfs to inflate disk space requirements.
|
|
||||||
# This should hopefully prevent some initramfs failures due to
|
|
||||||
# insufficient space in /boot (#bz #530778)
|
|
||||||
# 90 seems to be a safe value nowadays. It is slightly inflated than the
|
|
||||||
# measured average to also account for installed vmlinuz in /boot
|
|
||||||
echo "Creating stub initramfs..."
|
|
||||||
install -dm755 %{buildroot}/boot
|
|
||||||
dd if=/dev/zero of=%{buildroot}/boot/initramfs-%{_kver}.img bs=1M count=90
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
echo "Installing NVIDIA open kernel modules..."
|
|
||||||
install -Dt %{buildroot}%{_kernel_dir}/nvidia -m644 kernel-open/*.ko
|
|
||||||
find %{buildroot}%{_kernel_dir}/nvidia -name '*.ko' -exec zstd --rm -19 {} +
|
|
||||||
install -Dt %{buildroot}/%{_defaultlicensedir}/%{name}-nvidia-open -m644 COPYING
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%package core
|
|
||||||
Summary: Linux BORE Cachy Sauce Kernel by CachyOS with other patches and improvements
|
|
||||||
AutoReq: no
|
|
||||||
Conflicts: xfsprogs < 4.3.0-1
|
|
||||||
Conflicts: xorg-x11-drv-vmmouse < 13.0.99
|
|
||||||
Provides: kernel = %{_rpmver}
|
|
||||||
Provides: kernel-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires(pre): /usr/bin/kernel-install
|
|
||||||
Requires(pre): coreutils
|
|
||||||
Requires(pre): dracut >= 027
|
|
||||||
Requires(pre): systemd >= 203-2
|
|
||||||
Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)
|
|
||||||
Requires(preun):systemd >= 200
|
|
||||||
Recommends: linux-firmware
|
|
||||||
|
|
||||||
%description core
|
|
||||||
The kernel package contains the Linux kernel (vmlinuz), the core of any
|
|
||||||
Linux operating system. The kernel handles the basic functions
|
|
||||||
of the operating system: memory allocation, process allocation, device
|
|
||||||
input and output, etc.
|
|
||||||
|
|
||||||
%post core
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
|
|
||||||
%posttrans core
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
/bin/kernel-install add %{_kver} %{_kernel_dir}/vmlinuz || exit $?
|
|
||||||
if [[ ! -e "/boot/symvers-%{_kver}.zst" ]]; then
|
|
||||||
cp "%{_kernel_dir}/symvers.zst" "/boot/symvers-%{_kver}.zst"
|
|
||||||
if command -v restorecon &>/dev/null; then
|
|
||||||
restorecon "/boot/symvers-%{_kver}.zst"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%preun core
|
|
||||||
/bin/kernel-install remove %{_kver} || exit $?
|
|
||||||
if [ -x /usr/sbin/weak-modules ]; then
|
|
||||||
/usr/sbin/weak-modules --remove-kernel %{_kver} || exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files core
|
|
||||||
%license COPYING
|
|
||||||
%ghost %attr(0600, root, root) /boot/initramfs-%{_kver}.img
|
|
||||||
%ghost %attr(0644, root, root) /boot/symvers-%{_kver}.zst
|
|
||||||
%{_kernel_dir}/vmlinuz
|
|
||||||
%{_kernel_dir}/modules.builtin
|
|
||||||
%{_kernel_dir}/modules.builtin.modinfo
|
|
||||||
%{_kernel_dir}/symvers.zst
|
|
||||||
%{_kernel_dir}/config
|
|
||||||
%{_kernel_dir}/System.map
|
|
||||||
|
|
||||||
%package modules
|
|
||||||
Summary: Kernel modules package for %{name}
|
|
||||||
Provides: kernel-modules = %{_rpmver}
|
|
||||||
Provides: kernel-modules-core = %{_rpmver}
|
|
||||||
Provides: kernel-modules-extra = %{_rpmver}
|
|
||||||
Provides: kernel-modules-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-extra-uname-r = %{_kver}
|
|
||||||
Provides: v4l2loopback-kmod = 0.14.0
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
|
|
||||||
%description modules
|
|
||||||
This package provides kernel modules for the %{name}-core kernel package.
|
|
||||||
|
|
||||||
%post modules
|
|
||||||
if [ ! -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver} ]; then
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
fi
|
|
||||||
|
|
||||||
%posttrans modules
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
if [ -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver} ]; then
|
|
||||||
echo "Running: dracut -f --kver %{_kver}"
|
|
||||||
dracut -f --kver "%{_kver}" || exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files modules
|
|
||||||
%dir %{_kernel_dir}
|
|
||||||
%{_kernel_dir}/modules.order
|
|
||||||
%{_kernel_dir}/build
|
|
||||||
%{_kernel_dir}/source
|
|
||||||
%{_kernel_dir}/kernel
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development package for building kernel modules to match %{name}
|
|
||||||
Provides: kernel-devel = %{_rpmver}
|
|
||||||
Provides: kernel-devel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
AutoReqProv: no
|
|
||||||
Requires(pre): findutils
|
|
||||||
Requires: findutils
|
|
||||||
Requires: perl-interpreter
|
|
||||||
Requires: openssl-devel
|
|
||||||
Requires: elfutils-libelf-devel
|
|
||||||
Requires: bison
|
|
||||||
Requires: flex
|
|
||||||
Requires: make
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Requires: clang
|
|
||||||
Requires: lld
|
|
||||||
Requires: llvm
|
|
||||||
%else
|
|
||||||
Requires: gcc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package provides kernel headers and makefiles sufficient to build modules against %{name}.
|
|
||||||
|
|
||||||
%post devel
|
|
||||||
if [ -f /etc/sysconfig/kernel ]; then
|
|
||||||
. /etc/sysconfig/kernel || exit $?
|
|
||||||
fi
|
|
||||||
if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ]; then
|
|
||||||
(cd /usr/src/kernels/%{_kver} &&
|
|
||||||
/usr/bin/find . -type f | while read f; do
|
|
||||||
hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null
|
|
||||||
done;
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_devel_dir}
|
|
||||||
|
|
||||||
%package devel-matched
|
|
||||||
Summary: Meta package to install matching core and devel packages for %{name}
|
|
||||||
Provides: kernel-devel-matched = %{_rpmver}
|
|
||||||
Requires: %{name}-core = %{_rpmver}
|
|
||||||
Requires: %{name}-devel = %{_rpmver}
|
|
||||||
|
|
||||||
%description devel-matched
|
|
||||||
This meta package is used to install matching core and devel packages for %{name}.
|
|
||||||
|
|
||||||
%files devel-matched
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
%package nvidia-open
|
|
||||||
Summary: nvidia-open %{_nv_ver} kernel modules for %{name}
|
|
||||||
Provides: nvidia-kmod >= %{_nv_ver}
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
Conflicts: akmod-nvidia
|
|
||||||
Recommends: xorg-x11-drv-nvidia >= %{_nv_ver}
|
|
||||||
|
|
||||||
%description nvidia-open
|
|
||||||
This package provides nvidia-open %{_nv_ver} kernel modules for %{name}.
|
|
||||||
|
|
||||||
%post nvidia-open
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
|
|
||||||
%files nvidia-open
|
|
||||||
%license %{_defaultlicensedir}/%{name}-nvidia-open/COPYING
|
|
||||||
%{_kernel_dir}/nvidia
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
|
||||||
|
|
@ -1,491 +0,0 @@
|
||||||
# Maintainer: Anders Rytter Hansen
|
|
||||||
|
|
||||||
# Fedora bits
|
|
||||||
%define __spec_install_post %{__os_install_post}
|
|
||||||
%define _build_id_links none
|
|
||||||
%define _default_patch_fuzz 2
|
|
||||||
%define _disable_source_fetch 0
|
|
||||||
%define debug_package %{nil}
|
|
||||||
%define make_build make %{?_lto_args} %{?_smp_mflags}
|
|
||||||
%undefine __brp_mangle_shebangs
|
|
||||||
%undefine _auto_set_build_flags
|
|
||||||
%undefine _include_frame_pointers
|
|
||||||
|
|
||||||
# Linux Kernel Versions
|
|
||||||
%define _basekver 6.16
|
|
||||||
%define _stablekver 9
|
|
||||||
%define _rpmver %{version}-%{release}
|
|
||||||
%define _kver %{_rpmver}.%{_arch}
|
|
||||||
|
|
||||||
%if %{_stablekver} == 0
|
|
||||||
%define _tarkver %{_basekver}
|
|
||||||
%else
|
|
||||||
%define _tarkver %{version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Build a minimal a kernel via modprobed.db
|
|
||||||
# file to reduce build times
|
|
||||||
%define _build_minimal 0
|
|
||||||
|
|
||||||
# Builds the kernel with clang and enables
|
|
||||||
# ThinLTO
|
|
||||||
%define _build_lto 1
|
|
||||||
|
|
||||||
# Builds nvidia-open kernel modules with
|
|
||||||
# the kernel
|
|
||||||
%define _nv_pkg open-gpu-kernel-modules-%{_nv_ver}
|
|
||||||
%if 0%{?fedora} >= 43
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 575.57.08
|
|
||||||
%else
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 575.57.08
|
|
||||||
%define _nv_old 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Define the tickrate used by the kernel
|
|
||||||
# Valid values: 100, 250, 300, 500, 600, 750 and 1000
|
|
||||||
# An invalid value will not fail and continue to use
|
|
||||||
# 1000Hz tickrate
|
|
||||||
%define _hz_tick 1000
|
|
||||||
|
|
||||||
# Defines the x86_64 ISA level used
|
|
||||||
# to compile the kernel
|
|
||||||
# Valid values are 1-4
|
|
||||||
# An invalid value will continue and use
|
|
||||||
# x86_64_v3
|
|
||||||
%define _x86_64_lvl 3
|
|
||||||
|
|
||||||
# Define variables for directory paths
|
|
||||||
# to be used during packaging
|
|
||||||
%define _kernel_dir /lib/modules/%{_kver}
|
|
||||||
%define _devel_dir %{_usrsrc}/kernels/%{_kver}
|
|
||||||
|
|
||||||
%define _patch_src https://raw.githubusercontent.com/CachyOS/kernel-patches/master/%{_basekver}
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
# Define build environment variables to build the kernel with clang
|
|
||||||
%define _lto_args CC=clang CXX=clang++ LD=ld.lld LLVM=1 LLVM_IAS=1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%define _module_args KERNEL_UNAME=%{_kver} IGNORE_PREEMPT_RT_PRESENCE=1 SYSSRC=%{_builddir}/linux-%{_tarkver} SYSOUT=%{_builddir}/linux-%{_tarkver}
|
|
||||||
|
|
||||||
Name: kernel-cachyos%{?_lto_args:-lto}-skylake
|
|
||||||
Summary: Linux BORE %{?_lto_args:+ LTO }Cachy Sauce Kernel by CachyOS with other patches and improvements.
|
|
||||||
Version: %{_basekver}.%{_stablekver}
|
|
||||||
Release: cachyos1%{?_lto_args:.lto}.skylake%{?dist}
|
|
||||||
License: GPL-2.0-only
|
|
||||||
URL: https://cachyos.org
|
|
||||||
|
|
||||||
Requires: kernel-core-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-cachyos%{?_lto_args:-lto} > 6.12.9-cb1.0%{?_lto_args:.lto}%{?dist}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Obsoletes: kernel-cachyos%{?_lto_args:-lto} <= 6.12.9-cb1.0.lto%{?_lto_args:.lto}%{?dist}
|
|
||||||
|
|
||||||
BuildRequires: bc
|
|
||||||
BuildRequires: bison
|
|
||||||
BuildRequires: dwarves
|
|
||||||
BuildRequires: elfutils-devel
|
|
||||||
BuildRequires: flex
|
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: gettext-devel
|
|
||||||
BuildRequires: kmod
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: openssl
|
|
||||||
BuildRequires: openssl-devel
|
|
||||||
BuildRequires: perl-Carp
|
|
||||||
BuildRequires: perl-devel
|
|
||||||
BuildRequires: perl-generators
|
|
||||||
BuildRequires: perl-interpreter
|
|
||||||
BuildRequires: python3-devel
|
|
||||||
BuildRequires: python3-pyyaml
|
|
||||||
BuildRequires: python-srpm-macros
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
BuildRequires: clang
|
|
||||||
BuildRequires: lld
|
|
||||||
BuildRequires: llvm
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Indexes 0-9 are reserved for the kernel. 10-19 will be reserved for NVIDIA
|
|
||||||
Source0: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-%{_tarkver}.tar.xz
|
|
||||||
Source1: https://raw.githubusercontent.com/CachyOS/linux-cachyos/master/linux-cachyos/config
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
# The default modprobed.db provided is used for linux-cachyos CI.
|
|
||||||
# This should not be used for production and ideally should only be used for compile tests.
|
|
||||||
# Note that any modprobed.db file is accepted
|
|
||||||
Source2: https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-config/%{_basekver}/minimal-modprobed.db
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Source10: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{_nv_ver}/%{_nv_pkg}.tar.gz
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch0: %{_patch_src}/all/0001-cachyos-base-all.patch
|
|
||||||
Patch1: %{_patch_src}/sched/0001-bore-cachy.patch
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Patch2: %{_patch_src}/misc/dkms-clang.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Patch10: %{_patch_src}/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
|
||||||
The meta package for %{name}.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q %{?SOURCE10:-b 10} -n linux-%{_tarkver}
|
|
||||||
%autopatch -p1 -v -M 9
|
|
||||||
|
|
||||||
cp %{SOURCE1} .config
|
|
||||||
|
|
||||||
# Default configs to always enable
|
|
||||||
# Enable CACHY sauce and the scheduler
|
|
||||||
# used in the default linux-cachyos kernel
|
|
||||||
scripts/config -e CACHY -e SCHED_BORE
|
|
||||||
|
|
||||||
# Use SElinux by default
|
|
||||||
# https://github.com/sirlucjan/copr-linux-cachyos/pull/1
|
|
||||||
scripts/config --set-str CONFIG_LSM lockdown,yama,integrity,selinux,bpf,landlock
|
|
||||||
|
|
||||||
# Do not change the system's hostname
|
|
||||||
scripts/config -u DEFAULT_HOSTNAME
|
|
||||||
|
|
||||||
case %{_hz_tick} in
|
|
||||||
100|250|300|500|600|750|1000)
|
|
||||||
scripts/config -e HZ_%{_hz_tick} --set-val HZ %{_hz_tick};;
|
|
||||||
*)
|
|
||||||
echo "Invalid tickrate value, using default 1000"
|
|
||||||
scripts/config -e HZ_1000 --set-val HZ 1000;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
%if %{_x86_64_lvl} < 5 && %{_x86_64_lvl} > 0
|
|
||||||
scripts/config --set-val X86_64_VERSION %{_x86_64_lvl}
|
|
||||||
%else
|
|
||||||
echo "Invalid x86_64 ISA Level. Using x86_64_v3"
|
|
||||||
scripts/config --set-val X86_64_VERSION 3
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
scripts/config -e LTO_CLANG_THIN
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
%make_build LSMOD=%{SOURCE2} localmodconfig
|
|
||||||
%else
|
|
||||||
%make_build olddefconfig
|
|
||||||
%endif
|
|
||||||
|
|
||||||
diff -u %{SOURCE1} .config || :
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}/kernel-open
|
|
||||||
%patch -P 10 -p1
|
|
||||||
cd ..
|
|
||||||
%autopatch -p1 -v -m 11 -M 19
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
|
||||||
%make_build EXTRAVERSION=-%{release}.%{_arch} all
|
|
||||||
%make_build -C tools/bpf/bpftool vmlinux.h feature-clang-bpf-co-re=1
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
CFLAGS= CXXFLAGS= LDFLAGS= %make_build %{_module_args} IGNORE_CC_MISMATCH=yes modules
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
|
||||||
echo "Installing the kernel image..."
|
|
||||||
install -Dm644 "$(%make_build -s image_name)" "%{buildroot}%{_kernel_dir}/vmlinuz"
|
|
||||||
zstdmt -19 < Module.symvers > %{buildroot}%{_kernel_dir}/symvers.zst
|
|
||||||
|
|
||||||
echo "Installing kernel modules..."
|
|
||||||
ZSTD_CLEVEL=19 %make_build INSTALL_MOD_PATH="%{buildroot}" INSTALL_MOD_STRIP=1 DEPMOD=/doesnt/exist modules_install
|
|
||||||
|
|
||||||
echo "Installing files for the development package..."
|
|
||||||
install -Dt %{buildroot}%{_devel_dir} -m644 .config Makefile Module.symvers System.map tools/bpf/bpftool/vmlinux.h
|
|
||||||
cp .config %{buildroot}%{_kernel_dir}/config
|
|
||||||
cp System.map %{buildroot}%{_kernel_dir}/System.map
|
|
||||||
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a scripts %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts/tracing
|
|
||||||
rm -f %{buildroot}%{_devel_dir}/scripts/spdxcheck.py
|
|
||||||
|
|
||||||
# The cp commands below are needed for parity with Fedora's packaging
|
|
||||||
# Install files that are needed for `make scripts` to succeed
|
|
||||||
cp -a --parents security/selinux/include/classmap.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents security/selinux/include/initial_sid_to_string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/be_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/le_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- Generic
|
|
||||||
cp -a --parents tools/include/linux/compiler* %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux/types.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/build/Build.include %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/build/fixdep.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/sync-check.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/bpf/resolve_btfids %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp --parents security/selinux/include/policycap_names.h %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents security/selinux/include/policycap.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/vdso %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/scripts/utilities.mak %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/subcmd %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/*.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/*.[ch] %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/Build %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/include/objtool/*.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/bpf %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/bpf/Build %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Misc headers
|
|
||||||
cp -a --parents arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a include %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a sound/soc/sof/sof-audio.h %{buildroot}%{_devel_dir}/sound/soc/sof
|
|
||||||
cp -a tools/objtool/objtool %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
cp -a tools/objtool/fixdep %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- for x86_64
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_32.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_64.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_common.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/purgatory.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/stack.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/setup-x86_64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/entry64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/ctype.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents scripts/syscalltbl.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents scripts/syscallhdr.sh %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/arch/x86/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/lib %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/lib/ %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/tools/gen-insn-attr-x86.awk %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/ %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Final cleanups ala Fedora
|
|
||||||
echo "Cleaning up development files..."
|
|
||||||
find %{buildroot}%{_devel_dir}/scripts \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
find %{buildroot}%{_devel_dir}/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
touch -r %{buildroot}%{_devel_dir}/Makefile \
|
|
||||||
%{buildroot}%{_devel_dir}/include/generated/uapi/linux/version.h \
|
|
||||||
%{buildroot}%{_devel_dir}/include/config/auto.conf
|
|
||||||
|
|
||||||
# These links will be owned by the modules package, creating a broken
|
|
||||||
# link unless the -devel package is installed. why??
|
|
||||||
rm -rf %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_devel_dir} %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_kernel_dir}/build %{buildroot}%{_kernel_dir}/source
|
|
||||||
|
|
||||||
# Create stub initramfs to inflate disk space requirements.
|
|
||||||
# This should hopefully prevent some initramfs failures due to
|
|
||||||
# insufficient space in /boot (#bz #530778)
|
|
||||||
# 90 seems to be a safe value nowadays. It is slightly inflated than the
|
|
||||||
# measured average to also account for installed vmlinuz in /boot
|
|
||||||
echo "Creating stub initramfs..."
|
|
||||||
install -dm755 %{buildroot}/boot
|
|
||||||
dd if=/dev/zero of=%{buildroot}/boot/initramfs-%{_kver}.img bs=1M count=90
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
echo "Installing NVIDIA open kernel modules..."
|
|
||||||
install -Dt %{buildroot}%{_kernel_dir}/nvidia -m644 kernel-open/*.ko
|
|
||||||
find %{buildroot}%{_kernel_dir}/nvidia -name '*.ko' -exec zstd --rm -19 {} +
|
|
||||||
install -Dt %{buildroot}/%{_defaultlicensedir}/%{name}-nvidia-open -m644 COPYING
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%package core
|
|
||||||
Summary: Linux BORE Cachy Sauce Kernel by CachyOS with other patches and improvements
|
|
||||||
AutoReq: no
|
|
||||||
Conflicts: xfsprogs < 4.3.0-1
|
|
||||||
Conflicts: xorg-x11-drv-vmmouse < 13.0.99
|
|
||||||
Provides: kernel = %{_rpmver}
|
|
||||||
Provides: kernel-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires(pre): /usr/bin/kernel-install
|
|
||||||
Requires(pre): coreutils
|
|
||||||
Requires(pre): dracut >= 027
|
|
||||||
Requires(pre): systemd >= 203-2
|
|
||||||
Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)
|
|
||||||
Requires(preun):systemd >= 200
|
|
||||||
Recommends: linux-firmware
|
|
||||||
|
|
||||||
%description core
|
|
||||||
The kernel package contains the Linux kernel (vmlinuz), the core of any
|
|
||||||
Linux operating system. The kernel handles the basic functions
|
|
||||||
of the operating system: memory allocation, process allocation, device
|
|
||||||
input and output, etc.
|
|
||||||
|
|
||||||
%post core
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
|
|
||||||
%posttrans core
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
/bin/kernel-install add %{_kver} %{_kernel_dir}/vmlinuz || exit $?
|
|
||||||
if [[ ! -e "/boot/symvers-%{_kver}.zst" ]]; then
|
|
||||||
cp "%{_kernel_dir}/symvers.zst" "/boot/symvers-%{_kver}.zst"
|
|
||||||
if command -v restorecon &>/dev/null; then
|
|
||||||
restorecon "/boot/symvers-%{_kver}.zst"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%preun core
|
|
||||||
/bin/kernel-install remove %{_kver} || exit $?
|
|
||||||
if [ -x /usr/sbin/weak-modules ]; then
|
|
||||||
/usr/sbin/weak-modules --remove-kernel %{_kver} || exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files core
|
|
||||||
%license COPYING
|
|
||||||
%ghost %attr(0600, root, root) /boot/initramfs-%{_kver}.img
|
|
||||||
%ghost %attr(0644, root, root) /boot/symvers-%{_kver}.zst
|
|
||||||
%{_kernel_dir}/vmlinuz
|
|
||||||
%{_kernel_dir}/modules.builtin
|
|
||||||
%{_kernel_dir}/modules.builtin.modinfo
|
|
||||||
%{_kernel_dir}/symvers.zst
|
|
||||||
%{_kernel_dir}/config
|
|
||||||
%{_kernel_dir}/System.map
|
|
||||||
|
|
||||||
%package modules
|
|
||||||
Summary: Kernel modules package for %{name}
|
|
||||||
Provides: kernel-modules = %{_rpmver}
|
|
||||||
Provides: kernel-modules-core = %{_rpmver}
|
|
||||||
Provides: kernel-modules-extra = %{_rpmver}
|
|
||||||
Provides: kernel-modules-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-extra-uname-r = %{_kver}
|
|
||||||
Provides: v4l2loopback-kmod = 0.14.0
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
|
|
||||||
%description modules
|
|
||||||
This package provides kernel modules for the %{name}-core kernel package.
|
|
||||||
|
|
||||||
%post modules
|
|
||||||
if [ ! -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver} ]; then
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
fi
|
|
||||||
|
|
||||||
%posttrans modules
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
if [ -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver} ]; then
|
|
||||||
echo "Running: dracut -f --kver %{_kver}"
|
|
||||||
dracut -f --kver "%{_kver}" || exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files modules
|
|
||||||
%dir %{_kernel_dir}
|
|
||||||
%{_kernel_dir}/modules.order
|
|
||||||
%{_kernel_dir}/build
|
|
||||||
%{_kernel_dir}/source
|
|
||||||
%{_kernel_dir}/kernel
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development package for building kernel modules to match %{name}
|
|
||||||
Provides: kernel-devel = %{_rpmver}
|
|
||||||
Provides: kernel-devel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
AutoReqProv: no
|
|
||||||
Requires(pre): findutils
|
|
||||||
Requires: findutils
|
|
||||||
Requires: perl-interpreter
|
|
||||||
Requires: openssl-devel
|
|
||||||
Requires: elfutils-libelf-devel
|
|
||||||
Requires: bison
|
|
||||||
Requires: flex
|
|
||||||
Requires: make
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Requires: clang
|
|
||||||
Requires: lld
|
|
||||||
Requires: llvm
|
|
||||||
%else
|
|
||||||
Requires: gcc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package provides kernel headers and makefiles sufficient to build modules against %{name}.
|
|
||||||
|
|
||||||
%post devel
|
|
||||||
if [ -f /etc/sysconfig/kernel ]; then
|
|
||||||
. /etc/sysconfig/kernel || exit $?
|
|
||||||
fi
|
|
||||||
if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ]; then
|
|
||||||
(cd /usr/src/kernels/%{_kver} &&
|
|
||||||
/usr/bin/find . -type f | while read f; do
|
|
||||||
hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null
|
|
||||||
done;
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_devel_dir}
|
|
||||||
|
|
||||||
%package devel-matched
|
|
||||||
Summary: Meta package to install matching core and devel packages for %{name}
|
|
||||||
Provides: kernel-devel-matched = %{_rpmver}
|
|
||||||
Requires: %{name}-core = %{_rpmver}
|
|
||||||
Requires: %{name}-devel = %{_rpmver}
|
|
||||||
|
|
||||||
%description devel-matched
|
|
||||||
This meta package is used to install matching core and devel packages for %{name}.
|
|
||||||
|
|
||||||
%files devel-matched
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
%package nvidia-open
|
|
||||||
Summary: nvidia-open %{_nv_ver} kernel modules for %{name}
|
|
||||||
Provides: nvidia-kmod >= %{_nv_ver}
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
Conflicts: akmod-nvidia
|
|
||||||
Recommends: xorg-x11-drv-nvidia >= %{_nv_ver}
|
|
||||||
|
|
||||||
%description nvidia-open
|
|
||||||
This package provides nvidia-open %{_nv_ver} kernel modules for %{name}.
|
|
||||||
|
|
||||||
%post nvidia-open
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
|
|
||||||
%files nvidia-open
|
|
||||||
%license %{_defaultlicensedir}/%{name}-nvidia-open/COPYING
|
|
||||||
%{_kernel_dir}/nvidia
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
# Linux Kernel Versions
|
# Linux Kernel Versions
|
||||||
%define _basekver 6.12
|
%define _basekver 6.12
|
||||||
%define _stablekver 57
|
%define _stablekver 32
|
||||||
%define _rpmver %{version}-%{release}
|
%define _rpmver %{version}-%{release}
|
||||||
%define _kver %{_rpmver}.%{_arch}
|
%define _kver %{_rpmver}.%{_arch}
|
||||||
|
|
||||||
|
|
@ -65,7 +65,8 @@
|
||||||
|
|
||||||
%if %{_build_lto}
|
%if %{_build_lto}
|
||||||
# Define build environment variables to build the kernel with clang
|
# Define build environment variables to build the kernel with clang
|
||||||
%define _lto_args CC=clang CXX=clang++ LD=ld.lld LLVM=1 LLVM_IAS=1
|
%define _lto_args CC=gcc CXX=g++ LD=ld.bfd
|
||||||
|
#KCFLAGS="-flto -ffat-lto-objects" KCPPFLAGS="-flto -ffat-lto-objects"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define _module_args KERNEL_UNAME=%{_kver} IGNORE_PREEMPT_RT_PRESENCE=1 SYSSRC=%{_builddir}/linux-%{_tarkver} SYSOUT=%{_builddir}/linux-%{_tarkver}
|
%define _module_args KERNEL_UNAME=%{_kver} IGNORE_PREEMPT_RT_PRESENCE=1 SYSSRC=%{_builddir}/linux-%{_tarkver} SYSOUT=%{_builddir}/linux-%{_tarkver}
|
||||||
|
|
@ -103,12 +104,6 @@ BuildRequires: python3-devel
|
||||||
BuildRequires: python3-pyyaml
|
BuildRequires: python3-pyyaml
|
||||||
BuildRequires: python-srpm-macros
|
BuildRequires: python-srpm-macros
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
BuildRequires: clang
|
|
||||||
BuildRequires: lld
|
|
||||||
BuildRequires: llvm
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
%if %{_build_nv}
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
%endif
|
%endif
|
||||||
|
|
@ -131,11 +126,6 @@ Source10: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{_nv_
|
||||||
Patch0: %{_patch_src}/all/0001-cachyos-base-all.patch
|
Patch0: %{_patch_src}/all/0001-cachyos-base-all.patch
|
||||||
Patch1: %{_patch_src}/sched/0001-bore-cachy.patch
|
Patch1: %{_patch_src}/sched/0001-bore-cachy.patch
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Patch2: %{_patch_src}/misc/dkms-clang.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch3: https://raw.githubusercontent.com/firelzrd/kcompressd-unofficial/refs/heads/main/patches/stable/0001-linux6.12.44-kcompressd-unofficial-0.5.patch
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
%if %{_build_nv}
|
||||||
Patch10: %{_patch_src}/misc/nvidia/%{?_nv_old:565}/0001-Make-modeset-and-fbdev-default-enabled.patch
|
Patch10: %{_patch_src}/misc/nvidia/%{?_nv_old:565}/0001-Make-modeset-and-fbdev-default-enabled.patch
|
||||||
|
|
@ -186,7 +176,10 @@ Patch13: %{_patch_src}/misc/nvidia/565/0005-nvkms-Sanitize-trim-ELD-produ
|
||||||
scripts/config -e MSKYLAKE
|
scripts/config -e MSKYLAKE
|
||||||
|
|
||||||
%if %{_build_lto}
|
%if %{_build_lto}
|
||||||
scripts/config -e LTO_CLANG_THIN
|
scripts/config -e LTO
|
||||||
|
scripts/config -e LTO_GCC
|
||||||
|
scripts/config -d LTO_CLANG
|
||||||
|
scripts/config -d LTO_CLANG_THIN
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{_build_minimal}
|
%if %{_build_minimal}
|
||||||
|
|
|
||||||
|
|
@ -1,498 +0,0 @@
|
||||||
# Maintainer: Anders Rytter Hansen
|
|
||||||
|
|
||||||
# Fedora bits
|
|
||||||
%define __spec_install_post %{__os_install_post}
|
|
||||||
%define _build_id_links none
|
|
||||||
%define _default_patch_fuzz 2
|
|
||||||
%define _disable_source_fetch 0
|
|
||||||
%define debug_package %{nil}
|
|
||||||
%define make_build make %{?_lto_args} %{?_smp_mflags}
|
|
||||||
%undefine __brp_mangle_shebangs
|
|
||||||
%undefine _auto_set_build_flags
|
|
||||||
%undefine _include_frame_pointers
|
|
||||||
|
|
||||||
# Linux Kernel Versions
|
|
||||||
%define _basekver 6.12
|
|
||||||
%define _stablekver 32
|
|
||||||
%define _rpmver %{version}-%{release}
|
|
||||||
%define _kver %{_rpmver}.%{_arch}
|
|
||||||
|
|
||||||
%if %{_stablekver} == 0
|
|
||||||
%define _tarkver %{_basekver}
|
|
||||||
%else
|
|
||||||
%define _tarkver %{version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Build a minimal a kernel via modprobed.db
|
|
||||||
# file to reduce build times
|
|
||||||
%define _build_minimal 0
|
|
||||||
|
|
||||||
# Builds the kernel with clang and enables
|
|
||||||
# ThinLTO
|
|
||||||
%define _build_lto 0
|
|
||||||
|
|
||||||
# Builds nvidia-open kernel modules with
|
|
||||||
# the kernel
|
|
||||||
%define _nv_pkg open-gpu-kernel-modules-%{_nv_ver}
|
|
||||||
%if 0%{?fedora} >= 42
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 570.86.16
|
|
||||||
%else
|
|
||||||
%define _build_nv 0
|
|
||||||
%define _nv_ver 565.77
|
|
||||||
%define _nv_old 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Define the tickrate used by the kernel
|
|
||||||
# Valid values: 100, 250, 300, 500, 600, 750 and 1000
|
|
||||||
# An invalid value will not fail and continue to use
|
|
||||||
# 1000Hz tickrate
|
|
||||||
%define _hz_tick 1000
|
|
||||||
|
|
||||||
# Defines the x86_64 ISA level used
|
|
||||||
# to compile the kernel
|
|
||||||
# Valid values are 1-4
|
|
||||||
# An invalid value will continue and use
|
|
||||||
# x86_64_v3
|
|
||||||
%define _x86_64_lvl 3
|
|
||||||
|
|
||||||
# Define variables for directory paths
|
|
||||||
# to be used during packaging
|
|
||||||
%define _kernel_dir /lib/modules/%{_kver}
|
|
||||||
%define _devel_dir %{_usrsrc}/kernels/%{_kver}
|
|
||||||
|
|
||||||
%define _patch_src https://raw.githubusercontent.com/CachyOS/kernel-patches/master/%{_basekver}
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
# Define build environment variables to build the kernel with clang
|
|
||||||
%define _lto_args CC=clang CXX=clang++ LD=ld.lld LLVM=1 LLVM_IAS=1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%define _module_args KERNEL_UNAME=%{_kver} IGNORE_PREEMPT_RT_PRESENCE=1 SYSSRC=%{_builddir}/linux-%{_tarkver} SYSOUT=%{_builddir}/linux-%{_tarkver}
|
|
||||||
|
|
||||||
Name: kernel-cachyos-lts%{?_lto_args:-lto}-skylake
|
|
||||||
Summary: Linux BORE %{?_lto_args:+ LTO }Cachy Sauce Kernel by CachyOS with other patches and improvements.
|
|
||||||
Version: %{_basekver}.%{_stablekver}
|
|
||||||
Release: cachylts1%{?_lto_args:.lto}.skylake%{?dist}
|
|
||||||
License: GPL-2.0-only
|
|
||||||
URL: https://cachyos.org
|
|
||||||
|
|
||||||
Requires: kernel-core-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-cachyos-lts%{?_lto_args:-lto}-skylake > 6.6.71-clts1.0%{?_lto_args:.lto}.skylake%{?dist}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Obsoletes: kernel-cachyos-lts%{?_lto_args:-lto}-skylake <= 6.6.71-clts1.0%{?_lto_args:.lto}.skylake%{?dist}
|
|
||||||
|
|
||||||
BuildRequires: bc
|
|
||||||
BuildRequires: bison
|
|
||||||
BuildRequires: dwarves
|
|
||||||
BuildRequires: elfutils-devel
|
|
||||||
BuildRequires: flex
|
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: gettext-devel
|
|
||||||
BuildRequires: kmod
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: openssl
|
|
||||||
BuildRequires: openssl-devel
|
|
||||||
BuildRequires: perl-Carp
|
|
||||||
BuildRequires: perl-devel
|
|
||||||
BuildRequires: perl-generators
|
|
||||||
BuildRequires: perl-interpreter
|
|
||||||
BuildRequires: python3-devel
|
|
||||||
BuildRequires: python3-pyyaml
|
|
||||||
BuildRequires: python-srpm-macros
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
BuildRequires: clang
|
|
||||||
BuildRequires: lld
|
|
||||||
BuildRequires: llvm
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Indexes 0-9 are reserved for the kernel. 10-19 will be reserved for NVIDIA
|
|
||||||
Source0: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-%{_tarkver}.tar.xz
|
|
||||||
Source1: https://raw.githubusercontent.com/CachyOS/linux-cachyos/master/linux-cachyos-lts/config
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
# The default modprobed.db provided is used for linux-cachyos CI.
|
|
||||||
# This should not be used for production and ideally should only be used for compile tests.
|
|
||||||
# Note that any modprobed.db file is accepted
|
|
||||||
Source2: https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-config/%{_basekver}/minimal-modprobed.db
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Source10: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{_nv_ver}/%{_nv_pkg}.tar.gz
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Patch0: %{_patch_src}/all/0001-cachyos-base-all.patch
|
|
||||||
Patch1: %{_patch_src}/sched/0001-bore-cachy.patch
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Patch2: %{_patch_src}/misc/dkms-clang.patch
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
Patch10: %{_patch_src}/misc/nvidia/%{?_nv_old:565}/0001-Make-modeset-and-fbdev-default-enabled.patch
|
|
||||||
%if 0%{?fedora} < 42
|
|
||||||
Patch11: %{_patch_src}/misc/nvidia/565/0002-Do-not-error-on-unkown-CPU-Type-and-add-Zen5-support.patch
|
|
||||||
Patch12: %{_patch_src}/misc/nvidia/565/0004-silence-event-assert-until-570.patch
|
|
||||||
Patch13: %{_patch_src}/misc/nvidia/565/0005-nvkms-Sanitize-trim-ELD-product-name-strings.patch
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
|
||||||
The meta package for %{name}.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q %{?SOURCE10:-b 10} -n linux-%{_tarkver}
|
|
||||||
%autopatch -p1 -v -M 9
|
|
||||||
|
|
||||||
cp %{SOURCE1} .config
|
|
||||||
|
|
||||||
# Default configs to always enable
|
|
||||||
# Enable CACHY sauce and the scheduler
|
|
||||||
# used in the default linux-cachyos kernel
|
|
||||||
scripts/config -e CACHY -e SCHED_BORE
|
|
||||||
|
|
||||||
# Use SElinux by default
|
|
||||||
# https://github.com/sirlucjan/copr-linux-cachyos/pull/1
|
|
||||||
scripts/config --set-str CONFIG_LSM lockdown,yama,integrity,selinux,bpf,landlock
|
|
||||||
|
|
||||||
# Do not change the system's hostname
|
|
||||||
scripts/config -u DEFAULT_HOSTNAME
|
|
||||||
|
|
||||||
case %{_hz_tick} in
|
|
||||||
100|250|300|500|600|750|1000)
|
|
||||||
scripts/config -e HZ_%{_hz_tick} --set-val HZ %{_hz_tick};;
|
|
||||||
*)
|
|
||||||
echo "Invalid tickrate value, using default 1000"
|
|
||||||
scripts/config -e HZ_1000 --set-val HZ 1000;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
%if %{_x86_64_lvl} < 5 && %{_x86_64_lvl} > 0
|
|
||||||
scripts/config --set-val X86_64_VERSION %{_x86_64_lvl}
|
|
||||||
%else
|
|
||||||
echo "Invalid x86_64 ISA Level. Using x86_64_v3"
|
|
||||||
scripts/config --set-val X86_64_VERSION 3
|
|
||||||
%endif
|
|
||||||
|
|
||||||
scripts/config -d GENERIC_CPU
|
|
||||||
scripts/config -e MSKYLAKE
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
scripts/config -e LTO_CLANG_THIN
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{_build_minimal}
|
|
||||||
%make_build LSMOD=%{SOURCE2} localmodconfig
|
|
||||||
%else
|
|
||||||
%make_build olddefconfig
|
|
||||||
%endif
|
|
||||||
|
|
||||||
diff -u %{SOURCE1} .config || :
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}/kernel-open
|
|
||||||
%patch -P 10 -p1
|
|
||||||
cd ..
|
|
||||||
%autopatch -p1 -v -m 11 -M 19
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
|
||||||
%make_build EXTRAVERSION=-%{release}.%{_arch} all
|
|
||||||
%make_build -C tools/bpf/bpftool vmlinux.h feature-clang-bpf-co-re=1
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
CFLAGS= CXXFLAGS= LDFLAGS= %make_build %{_module_args} IGNORE_CC_MISMATCH=yes modules
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
|
||||||
echo "Installing the kernel image..."
|
|
||||||
install -Dm644 "$(%make_build -s image_name)" "%{buildroot}%{_kernel_dir}/vmlinuz"
|
|
||||||
zstdmt -19 < Module.symvers > %{buildroot}%{_kernel_dir}/symvers.zst
|
|
||||||
|
|
||||||
echo "Installing kernel modules..."
|
|
||||||
ZSTD_CLEVEL=19 %make_build INSTALL_MOD_PATH="%{buildroot}" INSTALL_MOD_STRIP=1 DEPMOD=/doesnt/exist modules_install
|
|
||||||
|
|
||||||
echo "Installing files for the development package..."
|
|
||||||
install -Dt %{buildroot}%{_devel_dir} -m644 .config Makefile Module.symvers System.map tools/bpf/bpftool/vmlinux.h
|
|
||||||
cp .config %{buildroot}%{_kernel_dir}/config
|
|
||||||
cp System.map %{buildroot}%{_kernel_dir}/System.map
|
|
||||||
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a scripts %{buildroot}%{_devel_dir}
|
|
||||||
rm -rf %{buildroot}%{_devel_dir}/scripts/tracing
|
|
||||||
rm -f %{buildroot}%{_devel_dir}/scripts/spdxcheck.py
|
|
||||||
|
|
||||||
# The cp commands below are needed for parity with Fedora's packaging
|
|
||||||
# Install files that are needed for `make scripts` to succeed
|
|
||||||
cp -a --parents security/selinux/include/classmap.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents security/selinux/include/initial_sid_to_string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/be_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/tools/le_byteshift.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- Generic
|
|
||||||
cp -a --parents tools/include/linux/compiler* %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux/types.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/build/Build.include %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/build/fixdep.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/sync-check.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/bpf/resolve_btfids %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp --parents security/selinux/include/policycap_names.h %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents security/selinux/include/policycap.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/asm-generic %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/uapi/linux %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/include/vdso %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/scripts/utilities.mak %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/subcmd %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/*.c %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/*.[ch] %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/Build %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/objtool/include/objtool/*.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/lib/bpf %{buildroot}%{_devel_dir}
|
|
||||||
cp --parents tools/lib/bpf/Build %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Misc headers
|
|
||||||
cp -a --parents arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include %{buildroot}%{_devel_dir}
|
|
||||||
cp -a include %{buildroot}%{_devel_dir}/include
|
|
||||||
cp -a sound/soc/sof/sof-audio.h %{buildroot}%{_devel_dir}/sound/soc/sof
|
|
||||||
cp -a tools/objtool/objtool %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
cp -a tools/objtool/fixdep %{buildroot}%{_devel_dir}/tools/objtool/
|
|
||||||
|
|
||||||
# Install files that are needed for `make prepare` to succeed -- for x86_64
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_32.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_64.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs_common.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/tools/relocs.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/purgatory.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/stack.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/setup-x86_64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/purgatory/entry64.S %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.h %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/string.c %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents arch/x86/boot/ctype.h %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents scripts/syscalltbl.sh %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents scripts/syscallhdr.sh %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
cp -a --parents tools/arch/x86/include/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/include/uapi/asm %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/lib %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/lib/ %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/arch/x86/tools/gen-insn-attr-x86.awk %{buildroot}%{_devel_dir}
|
|
||||||
cp -a --parents tools/objtool/arch/x86/ %{buildroot}%{_devel_dir}
|
|
||||||
|
|
||||||
# Final cleanups ala Fedora
|
|
||||||
echo "Cleaning up development files..."
|
|
||||||
find %{buildroot}%{_devel_dir}/scripts \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
find %{buildroot}%{_devel_dir}/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
|
||||||
touch -r %{buildroot}%{_devel_dir}/Makefile \
|
|
||||||
%{buildroot}%{_devel_dir}/include/generated/uapi/linux/version.h \
|
|
||||||
%{buildroot}%{_devel_dir}/include/config/auto.conf
|
|
||||||
|
|
||||||
# These links will be owned by the modules package, creating a broken
|
|
||||||
# link unless the -devel package is installed. why??
|
|
||||||
rm -rf %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_devel_dir} %{buildroot}%{_kernel_dir}/build
|
|
||||||
ln -s %{_kernel_dir}/build %{buildroot}%{_kernel_dir}/source
|
|
||||||
|
|
||||||
# Create stub initramfs to inflate disk space requirements.
|
|
||||||
# This should hopefully prevent some initramfs failures due to
|
|
||||||
# insufficient space in /boot (#bz #530778)
|
|
||||||
# 90 seems to be a safe value nowadays. It is slightly inflated than the
|
|
||||||
# measured average to also account for installed vmlinuz in /boot
|
|
||||||
echo "Creating stub initramfs..."
|
|
||||||
install -dm755 %{buildroot}/boot
|
|
||||||
dd if=/dev/zero of=%{buildroot}/boot/initramfs-%{_kver}.img bs=1M count=90
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
cd %{_builddir}/%{_nv_pkg}
|
|
||||||
echo "Installing NVIDIA open kernel modules..."
|
|
||||||
install -Dt %{buildroot}%{_kernel_dir}/nvidia -m644 kernel-open/*.ko
|
|
||||||
find %{buildroot}%{_kernel_dir}/nvidia -name '*.ko' -exec zstd --rm -19 {} +
|
|
||||||
install -Dt %{buildroot}/%{_defaultlicensedir}/%{name}-nvidia-open -m644 COPYING
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%package core
|
|
||||||
Summary: Linux BORE Cachy Sauce Kernel by CachyOS with other patches and improvements
|
|
||||||
AutoReq: no
|
|
||||||
Conflicts: xfsprogs < 4.3.0-1
|
|
||||||
Conflicts: xorg-x11-drv-vmmouse < 13.0.99
|
|
||||||
Provides: kernel = %{_rpmver}
|
|
||||||
Provides: kernel-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
Requires: kernel-modules-uname-r = %{_kver}
|
|
||||||
Requires(pre): /usr/bin/kernel-install
|
|
||||||
Requires(pre): coreutils
|
|
||||||
Requires(pre): dracut >= 027
|
|
||||||
Requires(pre): systemd >= 203-2
|
|
||||||
Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)
|
|
||||||
Requires(preun):systemd >= 200
|
|
||||||
Recommends: linux-firmware
|
|
||||||
|
|
||||||
%description core
|
|
||||||
The kernel package contains the Linux kernel (vmlinuz), the core of any
|
|
||||||
Linux operating system. The kernel handles the basic functions
|
|
||||||
of the operating system: memory allocation, process allocation, device
|
|
||||||
input and output, etc.
|
|
||||||
|
|
||||||
%post core
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
|
|
||||||
%posttrans core
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
/bin/kernel-install add %{_kver} %{_kernel_dir}/vmlinuz || exit $?
|
|
||||||
if [[ ! -e "/boot/symvers-%{_kver}.zst" ]]; then
|
|
||||||
cp "%{_kernel_dir}/symvers.zst" "/boot/symvers-%{_kver}.zst"
|
|
||||||
if command -v restorecon &>/dev/null; then
|
|
||||||
restorecon "/boot/symvers-%{_kver}.zst"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%preun core
|
|
||||||
/bin/kernel-install remove %{_kver} || exit $?
|
|
||||||
if [ -x /usr/sbin/weak-modules ]; then
|
|
||||||
/usr/sbin/weak-modules --remove-kernel %{_kver} || exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files core
|
|
||||||
%license COPYING
|
|
||||||
%ghost %attr(0600, root, root) /boot/initramfs-%{_kver}.img
|
|
||||||
%ghost %attr(0644, root, root) /boot/symvers-%{_kver}.zst
|
|
||||||
%{_kernel_dir}/vmlinuz
|
|
||||||
%{_kernel_dir}/modules.builtin
|
|
||||||
%{_kernel_dir}/modules.builtin.modinfo
|
|
||||||
%{_kernel_dir}/symvers.zst
|
|
||||||
%{_kernel_dir}/config
|
|
||||||
%{_kernel_dir}/System.map
|
|
||||||
|
|
||||||
%package modules
|
|
||||||
Summary: Kernel modules package for %{name}
|
|
||||||
Provides: kernel-modules = %{_rpmver}
|
|
||||||
Provides: kernel-modules-core = %{_rpmver}
|
|
||||||
Provides: kernel-modules-extra = %{_rpmver}
|
|
||||||
Provides: kernel-modules-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-core-uname-r = %{_kver}
|
|
||||||
Provides: kernel-modules-extra-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
|
|
||||||
%description modules
|
|
||||||
This package provides kernel modules for the %{name}-core kernel package.
|
|
||||||
|
|
||||||
%post modules
|
|
||||||
if [ ! -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{_kver} ]; then
|
|
||||||
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
|
|
||||||
touch %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
fi
|
|
||||||
|
|
||||||
%posttrans modules
|
|
||||||
rm -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver}
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
if [ ! -e /run/ostree-booted ]; then
|
|
||||||
if [ -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{_kver} ]; then
|
|
||||||
echo "Running: dracut -f --kver %{_kver}"
|
|
||||||
dracut -f --kver "%{_kver}" || exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files modules
|
|
||||||
%dir %{_kernel_dir}
|
|
||||||
%{_kernel_dir}/modules.order
|
|
||||||
%{_kernel_dir}/build
|
|
||||||
%{_kernel_dir}/source
|
|
||||||
%{_kernel_dir}/kernel
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development package for building kernel modules to match %{name}
|
|
||||||
Provides: kernel-devel = %{_rpmver}
|
|
||||||
Provides: kernel-devel-uname-r = %{_kver}
|
|
||||||
Provides: installonlypkg(kernel)
|
|
||||||
AutoReqProv: no
|
|
||||||
Requires(pre): findutils
|
|
||||||
Requires: findutils
|
|
||||||
Requires: perl-interpreter
|
|
||||||
Requires: openssl-devel
|
|
||||||
Requires: elfutils-libelf-devel
|
|
||||||
Requires: bison
|
|
||||||
Requires: flex
|
|
||||||
Requires: make
|
|
||||||
|
|
||||||
%if %{_build_lto}
|
|
||||||
Requires: clang
|
|
||||||
Requires: lld
|
|
||||||
Requires: llvm
|
|
||||||
%else
|
|
||||||
Requires: gcc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package provides kernel headers and makefiles sufficient to build modules against %{name}.
|
|
||||||
|
|
||||||
%post devel
|
|
||||||
if [ -f /etc/sysconfig/kernel ]; then
|
|
||||||
. /etc/sysconfig/kernel || exit $?
|
|
||||||
fi
|
|
||||||
if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ]; then
|
|
||||||
(cd /usr/src/kernels/%{_kver} &&
|
|
||||||
/usr/bin/find . -type f | while read f; do
|
|
||||||
hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null
|
|
||||||
done;
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_devel_dir}
|
|
||||||
|
|
||||||
%package devel-matched
|
|
||||||
Summary: Meta package to install matching core and devel packages for %{name}
|
|
||||||
Provides: kernel-devel-matched = %{_rpmver}
|
|
||||||
Requires: %{name}-core = %{_rpmver}
|
|
||||||
Requires: %{name}-devel = %{_rpmver}
|
|
||||||
|
|
||||||
%description devel-matched
|
|
||||||
This meta package is used to install matching core and devel packages for %{name}.
|
|
||||||
|
|
||||||
%files devel-matched
|
|
||||||
|
|
||||||
%if %{_build_nv}
|
|
||||||
%package nvidia-open
|
|
||||||
Summary: nvidia-open %{_nv_ver} kernel modules for %{name}
|
|
||||||
Provides: nvidia-kmod >= %{_nv_ver}
|
|
||||||
Provides: installonlypkg(kernel-module)
|
|
||||||
Requires: kernel-uname-r = %{_kver}
|
|
||||||
Conflicts: akmod-nvidia
|
|
||||||
Recommends: xorg-x11-drv-nvidia >= %{_nv_ver}
|
|
||||||
|
|
||||||
%description nvidia-open
|
|
||||||
This package provides nvidia-open %{_nv_ver} kernel modules for %{name}.
|
|
||||||
|
|
||||||
%post nvidia-open
|
|
||||||
/sbin/depmod -a %{_kver}
|
|
||||||
|
|
||||||
%files nvidia-open
|
|
||||||
%license %{_defaultlicensedir}/%{name}-nvidia-open/COPYING
|
|
||||||
%{_kernel_dir}/nvidia
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
|
||||||
3
my-ostree-os/kernel/.gitignore
vendored
3
my-ostree-os/kernel/.gitignore
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
kernel-abi-stablelists-*.tar.xz
|
|
||||||
kernel-kabi-dw-*.tar.xz
|
|
||||||
linux-*.tar.xz
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
From 5c7a64a5034b59607558361fb7309b425ee4b1a5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com>
|
|
||||||
Date: Sun, 30 Nov 2025 10:09:30 -0300
|
|
||||||
Subject: [PATCH] Add support for Android container and disable unnecessary
|
|
||||||
kernels such as RT etc.
|
|
||||||
|
|
||||||
---
|
|
||||||
my-ostree-os/kernel/kernel.spec | 30 ++++++++++++++++++++++--------
|
|
||||||
1 file changed, 22 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/my-ostree-os/kernel/kernel.spec b/my-ostree-os/kernel/kernel.spec
|
|
||||||
index 2f11cd8..ae9abc3 100644
|
|
||||||
--- a/my-ostree-os/kernel/kernel.spec
|
|
||||||
+++ b/my-ostree-os/kernel/kernel.spec
|
|
||||||
@@ -172,7 +172,7 @@ Summary: The Linux kernel
|
|
||||||
# to build the base kernel using the debug configuration. (Specifying
|
|
||||||
# the --with-release option overrides this setting.)
|
|
||||||
%define debugbuildsenabled 1
|
|
||||||
-# define buildid .local
|
|
||||||
+%define buildid .andersdsrhcustom1
|
|
||||||
%define specrpmversion 6.12.0
|
|
||||||
%define specversion 6.12.0
|
|
||||||
%define patchversion 6.12
|
|
||||||
@@ -213,19 +213,19 @@ Summary: The Linux kernel
|
|
||||||
# build the base variants
|
|
||||||
%define with_base %{?_without_base: 0} %{?!_without_base: 1}
|
|
||||||
# build also debug variants
|
|
||||||
-%define with_debug %{?_without_debug: 0} %{?!_without_debug: 1}
|
|
||||||
+%define with_debug 0
|
|
||||||
# kernel-zfcpdump (s390 specific kernel for zfcpdump)
|
|
||||||
-%define with_zfcpdump %{?_without_zfcpdump: 0} %{?!_without_zfcpdump: 1}
|
|
||||||
+%define with_zfcpdump 0
|
|
||||||
# kernel-16k (aarch64 kernel with 16K page_size)
|
|
||||||
-%define with_arm64_16k %{?_with_arm64_16k: 1} %{?!_with_arm64_16k: 0}
|
|
||||||
+%define with_arm64_16k 0
|
|
||||||
# kernel-64k (aarch64 kernel with 64K page_size)
|
|
||||||
-%define with_arm64_64k %{?_without_arm64_64k: 0} %{?!_without_arm64_64k: 1}
|
|
||||||
+%define with_arm64_64k 0
|
|
||||||
# kernel-rt (x86_64 and aarch64 only PREEMPT_RT enabled kernel)
|
|
||||||
-%define with_realtime %{?_without_realtime: 0} %{?!_without_realtime: 1}
|
|
||||||
+%define with_realtime 0
|
|
||||||
# kernel-rt-64k (aarch64 RT kernel with 64K page_size)
|
|
||||||
-%define with_realtime_arm64_64k %{?_without_realtime_arm64_64k: 0} %{?!_without_realtime_arm64_64k: 1}
|
|
||||||
+%define with_realtime_arm64_64k 0
|
|
||||||
# kernel-automotive (x86_64 and aarch64 with PREEMPT_RT enabled - currently off by default)
|
|
||||||
-%define with_automotive %{?_with_automotive: 1} %{?!_with_automotive: 0}
|
|
||||||
+%define with_automotive 0
|
|
||||||
|
|
||||||
# Supported variants
|
|
||||||
# with_base with_debug with_gcov
|
|
||||||
@@ -2265,6 +2265,20 @@ InitBuildVars() {
|
|
||||||
sed -i 's/^\(CONFIG_DEBUG_INFO.*\)=y/# \1 is not set/' .config
|
|
||||||
%endif
|
|
||||||
|
|
||||||
+ sed -i \
|
|
||||||
+ -e "/CONFIG_ANDROID_BINDER_IPC/d" \
|
|
||||||
+ -e "/CONFIG_ANDROID_BINDERFS/d" \
|
|
||||||
+ -e "/CONFIG_ANDROID_BINDER_DEVICES/d" \
|
|
||||||
+ -e "/CONFIG_ANDROID_BINDER_IPC_SELFTEST/d" .config \
|
|
||||||
+ -e "/CONFIG_PSI_DEFAULT_DISABLED/d" .config
|
|
||||||
+
|
|
||||||
+ echo -e "\n# Custom Android Binder Settings" >> .config
|
|
||||||
+ echo "CONFIG_ANDROID_BINDER_IPC=y" >> .config
|
|
||||||
+ echo "CONFIG_ANDROID_BINDERFS=y" >> .config
|
|
||||||
+ echo "CONFIG_ANDROID_BINDER_DEVICES=\"binder,hwbinder,vndbinder\"" >> .config
|
|
||||||
+ echo "CONFIG_ANDROID_BINDER_IPC_SELFTEST=n" >> .config
|
|
||||||
+ echo "CONFIG_PSI_DEFAULT_DISABLED=n" >> .config
|
|
||||||
+
|
|
||||||
Arch=`head -1 .config | cut -b 3-`
|
|
||||||
%{log_msg "InitBuildVars: USING ARCH=$Arch"}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.52.0
|
|
||||||
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
||||||
From 4af075404ae842c878034b9c8030c9e96f459f30 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Wed, 5 Feb 2025 16:39:01 +0000
|
|
||||||
Subject: [PATCH] Enable all disabled pci devices by moving to unmaintained
|
|
||||||
list
|
|
||||||
|
|
||||||
---
|
|
||||||
kernel/rh_messages.h | 64 ++++++++++++++++++++++----------------------
|
|
||||||
1 file changed, 32 insertions(+), 32 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h
|
|
||||||
index 647d7b9a4fe9..2f9d607d5f0c 100644
|
|
||||||
--- a/kernel/rh_messages.h
|
|
||||||
+++ b/kernel/rh_messages.h
|
|
||||||
@@ -123,6 +123,38 @@ static const struct pci_device_id rh_deprecated_pci_devices[] = {
|
|
||||||
};
|
|
||||||
|
|
||||||
static const struct pci_device_id rh_disabled_pci_devices[] = {
|
|
||||||
+ {0} /* Terminating entry */
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
|
||||||
+ { 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x10df, 0xf011, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x10df, 0xf015, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x10df, 0xf100, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x10df, 0xfc40, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x005b, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x006E, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0080, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0081, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0082, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0083, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0084, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0085, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0086, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1000, 0x0087, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x177d, 0xa01e, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x177d, 0xa034, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x177d, 0x0011, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1077, 0x2031, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1077, 0x2532, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1077, 0x8031, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1924, 0x0803, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
+ { 0x1924, 0x0813, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
{ 0x1011, 0x0046, 0x103c, 0x10c2 },
|
|
||||||
{ 0x1011, 0x0046, 0x9005, 0x0364 },
|
|
||||||
{ 0x1011, 0x0046, 0x9005, 0x0365 },
|
|
||||||
@@ -291,36 +323,4 @@ static const struct pci_device_id rh_disabled_pci_devices[] = {
|
|
||||||
{0} /* Terminating entry */
|
|
||||||
};
|
|
||||||
|
|
||||||
-static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
|
||||||
- { 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x10df, 0xf011, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x10df, 0xf015, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x10df, 0xf100, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x10df, 0xfc40, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x005b, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x006E, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0080, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0081, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0082, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0083, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0084, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0085, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0086, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1000, 0x0087, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x177d, 0xa01e, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x177d, 0xa034, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x177d, 0x0011, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1077, 0x2031, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1077, 0x2532, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1077, 0x8031, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1924, 0x0803, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- { 0x1924, 0x0813, PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
- {0} /* Terminating entry */
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
#endif /* __RH_MESSAGES_H */
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
From 0437ffb56aa745a623adce7232efca23c6788d62 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:38:01 +0000
|
|
||||||
Subject: [PATCH 02/10] Bring back deprecated pci ids to mptsas-mptspi driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/message/fusion/mptsas.c | 2 +-
|
|
||||||
drivers/message/fusion/mptspi.c | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
|
|
||||||
index d5f52a128..5f10cbd35 100644
|
|
||||||
--- a/drivers/message/fusion/mptsas.c
|
|
||||||
+++ b/drivers/message/fusion/mptsas.c
|
|
||||||
@@ -5380,7 +5380,7 @@ static void mptsas_remove(struct pci_dev *pdev)
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct pci_device_id mptsas_pci_table[] = {
|
|
||||||
-#ifdef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifdef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068,
|
|
||||||
PCI_VENDOR_ID_VMWARE, PCI_ANY_ID },
|
|
||||||
#else
|
|
||||||
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c
|
|
||||||
index 5a8b2ea73..b1cff4289 100644
|
|
||||||
--- a/drivers/message/fusion/mptspi.c
|
|
||||||
+++ b/drivers/message/fusion/mptspi.c
|
|
||||||
@@ -1239,7 +1239,7 @@ static struct spi_function_template mptspi_transport_functions = {
|
|
||||||
*/
|
|
||||||
|
|
||||||
static struct pci_device_id mptspi_pci_table[] = {
|
|
||||||
-#ifdef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifdef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030,
|
|
||||||
PCI_VENDOR_ID_VMWARE, PCI_ANY_ID },
|
|
||||||
#else
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
From 21a3bf14f10c6129864fe7049c15baec679fbd24 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:40:30 +0000
|
|
||||||
Subject: [PATCH 03/10] Bring back deprecated pci ids to hpsa driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/scsi/hpsa.c | 9 +++++++--
|
|
||||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
|
|
||||||
index aa5f9c19d..03226fe8f 100644
|
|
||||||
--- a/drivers/scsi/hpsa.c
|
|
||||||
+++ b/drivers/scsi/hpsa.c
|
|
||||||
@@ -82,7 +82,7 @@ MODULE_DESCRIPTION("Driver for HP Smart Array Controller version " \
|
|
||||||
HPSA_DRIVER_VERSION);
|
|
||||||
MODULE_VERSION(HPSA_DRIVER_VERSION);
|
|
||||||
MODULE_LICENSE("GPL");
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
MODULE_ALIAS("cciss");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -93,6 +93,11 @@ MODULE_PARM_DESC(hpsa_simple_mode,
|
|
||||||
|
|
||||||
/* define the PCI info for the cards we can control */
|
|
||||||
static const struct pci_device_id hpsa_pci_device_id[] = {
|
|
||||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3223},
|
|
||||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3234},
|
|
||||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3235},
|
|
||||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3237},
|
|
||||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x323D},
|
|
||||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3241},
|
|
||||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3243},
|
|
||||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245},
|
|
||||||
@@ -146,7 +151,7 @@ static const struct pci_device_id hpsa_pci_device_id[] = {
|
|
||||||
{PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x007D},
|
|
||||||
{PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x0088},
|
|
||||||
{PCI_VENDOR_ID_HP, 0x333f, 0x103c, 0x333f},
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
|
||||||
PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
|
|
||||||
{PCI_VENDOR_ID_COMPAQ, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
From 18a57b9cd3833462356c3b4df180840f3fede7c6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:41:35 +0000
|
|
||||||
Subject: [PATCH 04/10] Bring back deprecated pci ids to qla2xxx driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/scsi/qla2xxx/qla_os.c | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
|
|
||||||
index 26089872a..8018c68f2 100644
|
|
||||||
--- a/drivers/scsi/qla2xxx/qla_os.c
|
|
||||||
+++ b/drivers/scsi/qla2xxx/qla_os.c
|
|
||||||
@@ -8123,7 +8123,7 @@ static const struct pci_error_handlers qla2xxx_err_handler = {
|
|
||||||
};
|
|
||||||
|
|
||||||
static const struct pci_device_id qla2xxx_pci_tbl[] = {
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300) },
|
|
||||||
@@ -8139,12 +8139,12 @@ static struct pci_device_id qla2xxx_pci_tbl[] = {
|
|
||||||
#endif
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2532) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2031) },
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8001) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8021) },
|
|
||||||
#endif
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8031) },
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISPF001) },
|
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8044) },
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,68 +0,0 @@
|
||||||
From 4ad65faf019bfae8aec7b4e24d41c62184266ba1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:42:21 +0000
|
|
||||||
Subject: [PATCH 05/10] Bring back deprecated pci ids to lpfc driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/scsi/lpfc/lpfc_ids.h | 12 ++++++------
|
|
||||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/lpfc/lpfc_ids.h b/drivers/scsi/lpfc/lpfc_ids.h
|
|
||||||
index 85fc52038..83dc9f4c7 100644
|
|
||||||
--- a/drivers/scsi/lpfc/lpfc_ids.h
|
|
||||||
+++ b/drivers/scsi/lpfc/lpfc_ids.h
|
|
||||||
@@ -24,7 +24,7 @@
|
|
||||||
#include <linux/pci.h>
|
|
||||||
|
|
||||||
const struct pci_device_id lpfc_id_table[] = {
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FIREFLY,
|
|
||||||
@@ -58,7 +58,7 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
||||||
#endif
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
#endif
|
|
||||||
@@ -72,7 +72,7 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_TFLY,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP101,
|
|
||||||
@@ -96,7 +96,7 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF,
|
|
||||||
@@ -110,13 +110,13 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
||||||
#endif
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FALCON,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BALIUS,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
#endif
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID, },
|
|
||||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC_VF,
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
From 03c58c504f05b1682b29686a5783338a4bb1e9ad Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:43:03 +0000
|
|
||||||
Subject: [PATCH 06/10] Bring back deprecated pci ids to qla4xxx driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/scsi/qla4xxx/ql4_os.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
|
|
||||||
index 7f0cef737..3b6005f55 100644
|
|
||||||
--- a/drivers/scsi/qla4xxx/ql4_os.c
|
|
||||||
+++ b/drivers/scsi/qla4xxx/ql4_os.c
|
|
||||||
@@ -9865,7 +9865,7 @@ static struct pci_device_id qla4xxx_pci_tbl[] = {
|
|
||||||
.subvendor = PCI_ANY_ID,
|
|
||||||
.subdevice = PCI_ANY_ID,
|
|
||||||
},
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{
|
|
||||||
.vendor = PCI_VENDOR_ID_QLOGIC,
|
|
||||||
.device = PCI_DEVICE_ID_QLOGIC_ISP8022,
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
From c4966c5288bd0cfc3c25526364c6332914131596 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:43:41 +0000
|
|
||||||
Subject: [PATCH 07/10] Bring back deprecated pci ids to be2iscsi driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/scsi/be2iscsi/be_main.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
|
|
||||||
index a54ea7cf7..46833f122 100644
|
|
||||||
--- a/drivers/scsi/be2iscsi/be_main.c
|
|
||||||
+++ b/drivers/scsi/be2iscsi/be_main.c
|
|
||||||
@@ -387,7 +387,7 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc)
|
|
||||||
|
|
||||||
/*------------------- PCI Driver operations and data ----------------- */
|
|
||||||
static const struct pci_device_id beiscsi_pci_id_table[] = {
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{ PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) },
|
|
||||||
{ PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) },
|
|
||||||
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) },
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
From e5609c1f01d0d018484e4d517c725fab3e1bd723 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:48:24 +0000
|
|
||||||
Subject: [PATCH 08/10] Bring back deprecated pci ids to megaraid_sas driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/scsi/megaraid/megaraid_sas_base.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
|
|
||||||
index bf57fd3b9..0eaed98ac 100644
|
|
||||||
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
|
|
||||||
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
|
|
||||||
@@ -149,7 +149,7 @@ megasas_set_ld_removed_by_fw(struct megasas_instance *instance);
|
|
||||||
*/
|
|
||||||
static const struct pci_device_id megasas_pci_table[] = {
|
|
||||||
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1064R)},
|
|
||||||
/* xscale IOP */
|
|
||||||
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078R)},
|
|
||||||
@@ -165,7 +165,7 @@ static struct pci_device_id megasas_pci_table[] = {
|
|
||||||
/* skinny*/
|
|
||||||
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0071SKINNY)},
|
|
||||||
/* skinny*/
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_VERDE_ZCR)},
|
|
||||||
/* xscale IOP, vega */
|
|
||||||
{PCI_DEVICE(PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_DELL_PERC5)},
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
From cf4290fb89163ec4eb55e682063972035f40c648 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:49:54 +0000
|
|
||||||
Subject: [PATCH 09/10] Bring back deprecated pci ids to mpt3sas driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
|
||||||
index 21af6aff1..7f8add3e6 100644
|
|
||||||
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
|
||||||
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
|
||||||
@@ -12575,7 +12575,7 @@ scsih_pci_mmio_enabled(struct pci_dev *pdev)
|
|
||||||
* The pci device ids are defined in mpi/mpi2_cnfg.h.
|
|
||||||
*/
|
|
||||||
static const struct pci_device_id mpt3sas_pci_table[] = {
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
/* Spitfire ~ 2004 */
|
|
||||||
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2004,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
@@ -12619,7 +12619,7 @@ static const struct pci_device_id mpt3sas_pci_table[] = {
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SWITCH_MPI_EP_1,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
/* SSS6200 */
|
|
||||||
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SSS6200,
|
|
||||||
PCI_ANY_ID, PCI_ANY_ID },
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
From c462f778d114958a05afed7f5ba199417fbc7f1a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
||||||
Date: Thu, 8 Aug 2024 16:50:33 +0000
|
|
||||||
Subject: [PATCH 10/10] Bring back deprecated pci ids to aacraid driver
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/scsi/aacraid/linit.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
|
|
||||||
index 90a6070a1..e6d12db09 100644
|
|
||||||
--- a/drivers/scsi/aacraid/linit.c
|
|
||||||
+++ b/drivers/scsi/aacraid/linit.c
|
|
||||||
@@ -77,7 +77,7 @@ char aac_driver_version[] = AAC_DRIVER_FULL_VERSION;
|
|
||||||
* Note: The last field is used to index into aac_drivers below.
|
|
||||||
*/
|
|
||||||
static const struct pci_device_id aac_pci_tbl[] = {
|
|
||||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
|
||||||
+#ifndef CONFIG_ALMALINUX_DIFFERENCES
|
|
||||||
{ 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC2Si) */
|
|
||||||
{ 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3Di) */
|
|
||||||
{ 0x1028, 0x0003, 0x1028, 0x0003, 0, 0, 2 }, /* PERC 3/Si (SlimFast/PERC3Si */
|
|
||||||
--
|
|
||||||
2.43.5
|
|
||||||
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
||||||
RHEL_MAJOR = 10
|
|
||||||
RHEL_MINOR = 1
|
|
||||||
|
|
||||||
#
|
|
||||||
# RHEL_RELEASE
|
|
||||||
# -------------
|
|
||||||
#
|
|
||||||
# Represents build number in 'release' part of RPM's name-version-release.
|
|
||||||
# name is <package_name>, e.g. kernel
|
|
||||||
# version is upstream kernel version this kernel is based on, e.g. 4.18.0
|
|
||||||
# release is <RHEL_RELEASE>.<dist_tag>[<buildid>], e.g. 100.el8
|
|
||||||
#
|
|
||||||
# Use this spot to avoid future merge conflicts.
|
|
||||||
# Do not trim this comment.
|
|
||||||
RHEL_RELEASE = 124.38.1
|
|
||||||
|
|
||||||
#
|
|
||||||
# RHEL_REBASE_NUM
|
|
||||||
# ----------------
|
|
||||||
#
|
|
||||||
# Used in RPM version string for Gemini kernels, which dont use upstream
|
|
||||||
# VERSION/PATCHLEVEL/SUBLEVEL. The number represents rebase number for
|
|
||||||
# current MAJOR release.
|
|
||||||
#
|
|
||||||
# Use this spot to avoid future merge conflicts.
|
|
||||||
# Do not trim this comment.
|
|
||||||
RHEL_REBASE_NUM = 1
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# ZSTREAM
|
|
||||||
# -------
|
|
||||||
#
|
|
||||||
# This variable controls whether we use zstream numbering or not for the
|
|
||||||
# package release. The zstream release keeps the build number of the last
|
|
||||||
# build done for ystream for the Beta milestone, and increments a second
|
|
||||||
# number for each build. The third number is used for branched builds
|
|
||||||
# (eg.: for builds with security fixes or hot fixes done outside of the
|
|
||||||
# batch release process).
|
|
||||||
#
|
|
||||||
# For example, with ZSTREAM unset or set to "no", all builds will contain
|
|
||||||
# a release with only the build number, eg.: kernel-<kernel version>-X.el*,
|
|
||||||
# where X is the build number. With ZSTREAM set to "yes", we will have
|
|
||||||
# builds with kernel-<kernel version>-X.Y.Z.el*, where X is the last
|
|
||||||
# RHEL_RELEASE number before ZSTREAM flag was set to yes, Y will now be the
|
|
||||||
# build number and Z will always be 1 except if you're doing a branched build
|
|
||||||
# (when you give RHDISTGIT_BRANCH on the command line, in which case the Z
|
|
||||||
# number will be incremented instead of the Y).
|
|
||||||
#
|
|
||||||
ZSTREAM ?= yes
|
|
||||||
|
|
||||||
#
|
|
||||||
# Early y+1 numbering
|
|
||||||
# --------------------
|
|
||||||
#
|
|
||||||
# In early y+1 process, RHEL_RELEASE consists of 2 numbers: x.y
|
|
||||||
# First is RHEL_RELEASE inherited/merged from y as-is, second number
|
|
||||||
# is incremented with each build starting from 1. After merge from y,
|
|
||||||
# it resets back to 1. This way y+1 nvr reflects status of last merge.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
#
|
|
||||||
# rhel8.0 rhel-8.1
|
|
||||||
# kernel-4.18.0-58.el8 --> kernel-4.18.0-58.1.el8
|
|
||||||
# kernel-4.18.0-58.2.el8
|
|
||||||
# kernel-4.18.0-59.el8 kernel-4.18.0-59.1.el8
|
|
||||||
# kernel-4.18.0-60.el8
|
|
||||||
# kernel-4.18.0-61.el8 --> kernel-4.18.0-61.1.el8
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Use this spot to avoid future merge conflicts.
|
|
||||||
# Do not trim this comment.
|
|
||||||
EARLY_YSTREAM ?= no
|
|
||||||
EARLY_YBUILD:=
|
|
||||||
EARLY_YRELEASE:=
|
|
||||||
ifneq ("$(ZSTREAM)", "yes")
|
|
||||||
ifeq ("$(EARLY_YSTREAM)","yes")
|
|
||||||
RHEL_RELEASE:=$(RHEL_RELEASE).$(EARLY_YRELEASE)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# Automotive
|
|
||||||
# ----------
|
|
||||||
#
|
|
||||||
# Represents the major and minor release used by automotive.
|
|
||||||
# Primarily this is used to to identify the build target when
|
|
||||||
# building the kernel-automotive packages.
|
|
||||||
AUTOMOTIVE_MAJOR = 2
|
|
||||||
AUTOMOTIVE_MINOR = 0
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,25 +0,0 @@
|
||||||
===================
|
|
||||||
The Kernel dist-git
|
|
||||||
===================
|
|
||||||
|
|
||||||
The kernel is maintained in a `source tree`_ rather than directly in dist-git.
|
|
||||||
The specfile is maintained as a `template`_ in the source tree along with a set
|
|
||||||
of build scripts to generate configurations, (S)RPMs, and to populate the
|
|
||||||
dist-git repository.
|
|
||||||
|
|
||||||
The `documentation`_ for the source tree covers how to contribute and maintain
|
|
||||||
the tree.
|
|
||||||
|
|
||||||
If you're looking for the downstream patch set it's available in the source
|
|
||||||
tree with "git log master..ark-patches" or
|
|
||||||
`online`_.
|
|
||||||
|
|
||||||
Each release in dist-git is tagged in the source repository so you can easily
|
|
||||||
check out the source tree for a build. The tags are in the format
|
|
||||||
name-version-release, but note release doesn't contain the dist tag since the
|
|
||||||
source can be built in different build roots (Fedora, CentOS, etc.)
|
|
||||||
|
|
||||||
.. _source tree: https://gitlab.com/cki-project/kernel-ark.git
|
|
||||||
.. _template: https://gitlab.com/cki-project/kernel-ark/-/blob/os-build/redhat/kernel.spec.template
|
|
||||||
.. _documentation: https://gitlab.com/cki-project/kernel-ark/-/wikis/home
|
|
||||||
.. _online: https://gitlab.com/cki-project/kernel-ark/-/commits/ark-patches
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,166 +0,0 @@
|
||||||
#!/usr/bin/python3
|
|
||||||
#
|
|
||||||
# check-kabi - Red Hat kABI reference checking tool
|
|
||||||
#
|
|
||||||
# We use this script to check against reference Module.kabi files.
|
|
||||||
#
|
|
||||||
# Author: Jon Masters <jcm@redhat.com>
|
|
||||||
# Copyright (C) 2007-2009 Red Hat, Inc.
|
|
||||||
#
|
|
||||||
# This software may be freely redistributed under the terms of the GNU
|
|
||||||
# General Public License (GPL).
|
|
||||||
|
|
||||||
# Changelog:
|
|
||||||
#
|
|
||||||
# 2018/06/01 - Update for python3 by Petr Oros.
|
|
||||||
# 2009/08/15 - Updated for use in RHEL6.
|
|
||||||
# 2007/06/13 - Initial rewrite in python by Jon Masters.
|
|
||||||
|
|
||||||
__author__ = "Jon Masters <jcm@redhat.com>"
|
|
||||||
__version__ = "2.0"
|
|
||||||
__date__ = "2009/08/15"
|
|
||||||
__copyright__ = "Copyright (C) 2007-2009 Red Hat, Inc"
|
|
||||||
__license__ = "GPL"
|
|
||||||
|
|
||||||
import getopt
|
|
||||||
import string
|
|
||||||
import sys
|
|
||||||
|
|
||||||
true = 1
|
|
||||||
false = 0
|
|
||||||
|
|
||||||
|
|
||||||
def load_symvers(symvers, filename):
|
|
||||||
"""Load a Module.symvers file."""
|
|
||||||
|
|
||||||
symvers_file = open(filename, "r")
|
|
||||||
|
|
||||||
while true:
|
|
||||||
in_line = symvers_file.readline()
|
|
||||||
if in_line == "":
|
|
||||||
break
|
|
||||||
if in_line == "\n":
|
|
||||||
continue
|
|
||||||
checksum, symbol, directory, type, *ns = in_line.split()
|
|
||||||
ns = ns[0] if ns else None
|
|
||||||
|
|
||||||
symvers[symbol] = in_line[0:-1]
|
|
||||||
|
|
||||||
|
|
||||||
def load_kabi(kabi, filename):
|
|
||||||
"""Load a Module.kabi file."""
|
|
||||||
|
|
||||||
kabi_file = open(filename, "r")
|
|
||||||
|
|
||||||
while true:
|
|
||||||
in_line = kabi_file.readline()
|
|
||||||
if in_line == "":
|
|
||||||
break
|
|
||||||
if in_line == "\n":
|
|
||||||
continue
|
|
||||||
checksum, symbol, directory, type, *ns = in_line.split()
|
|
||||||
ns = ns[0] if ns else None
|
|
||||||
|
|
||||||
kabi[symbol] = in_line[0:-1]
|
|
||||||
|
|
||||||
|
|
||||||
def check_kabi(symvers, kabi):
|
|
||||||
"""Check Module.kabi and Module.symvers files."""
|
|
||||||
|
|
||||||
fail = 0
|
|
||||||
warn = 0
|
|
||||||
changed_symbols = []
|
|
||||||
moved_symbols = []
|
|
||||||
ns_symbols = []
|
|
||||||
|
|
||||||
for symbol in kabi:
|
|
||||||
abi_hash, abi_sym, abi_dir, abi_type, *abi_ns = kabi[symbol].split()
|
|
||||||
abi_ns = abi_ns[0] if abi_ns else None
|
|
||||||
if symbol in symvers:
|
|
||||||
sym_hash, sym_sym, sym_dir, sym_type, *sym_ns = symvers[symbol].split()
|
|
||||||
sym_ns = sym_ns[0] if sym_ns else None
|
|
||||||
if abi_hash != sym_hash:
|
|
||||||
fail = 1
|
|
||||||
changed_symbols.append(symbol)
|
|
||||||
|
|
||||||
if abi_dir != sym_dir:
|
|
||||||
warn = 1
|
|
||||||
moved_symbols.append(symbol)
|
|
||||||
|
|
||||||
if abi_ns != sym_ns:
|
|
||||||
warn = 1
|
|
||||||
ns_symbols.append(symbol)
|
|
||||||
else:
|
|
||||||
fail = 1
|
|
||||||
changed_symbols.append(symbol)
|
|
||||||
|
|
||||||
if fail:
|
|
||||||
print("*** ERROR - ABI BREAKAGE WAS DETECTED ***")
|
|
||||||
print("")
|
|
||||||
print("The following symbols have been changed (this will cause an ABI breakage):")
|
|
||||||
print("")
|
|
||||||
for symbol in changed_symbols:
|
|
||||||
print(symbol)
|
|
||||||
print("")
|
|
||||||
|
|
||||||
if warn:
|
|
||||||
print("*** WARNING - ABI SYMBOLS MOVED ***")
|
|
||||||
if moved_symbols:
|
|
||||||
print("")
|
|
||||||
print("The following symbols moved (typically caused by moving a symbol from being")
|
|
||||||
print("provided by the kernel vmlinux out to a loadable module):")
|
|
||||||
print("")
|
|
||||||
for symbol in moved_symbols:
|
|
||||||
print(symbol)
|
|
||||||
print("")
|
|
||||||
if ns_symbols:
|
|
||||||
print("")
|
|
||||||
print("The following symbols changed symbol namespaces:")
|
|
||||||
print("")
|
|
||||||
for symbol in ns_symbols:
|
|
||||||
print(symbol)
|
|
||||||
print("")
|
|
||||||
|
|
||||||
"""Halt the build, if we got errors and/or warnings. In either case,
|
|
||||||
double-checkig is required to avoid introducing / concealing
|
|
||||||
KABI inconsistencies."""
|
|
||||||
if fail or warn:
|
|
||||||
sys.exit(1)
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
|
|
||||||
def usage():
|
|
||||||
print("""
|
|
||||||
check-kabi: check Module.kabi and Module.symvers files.
|
|
||||||
|
|
||||||
check-kabi [ -k Module.kabi ] [ -s Module.symvers ]
|
|
||||||
|
|
||||||
""")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
|
|
||||||
symvers_file = ""
|
|
||||||
kabi_file = ""
|
|
||||||
|
|
||||||
opts, args = getopt.getopt(sys.argv[1:], 'hk:s:')
|
|
||||||
|
|
||||||
for o, v in opts:
|
|
||||||
if o == "-s":
|
|
||||||
symvers_file = v
|
|
||||||
if o == "-h":
|
|
||||||
usage()
|
|
||||||
sys.exit(0)
|
|
||||||
if o == "-k":
|
|
||||||
kabi_file = v
|
|
||||||
|
|
||||||
if (symvers_file == "") or (kabi_file == ""):
|
|
||||||
usage()
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
symvers = {}
|
|
||||||
kabi = {}
|
|
||||||
|
|
||||||
load_symvers(symvers, symvers_file)
|
|
||||||
load_kabi(kabi, kabi_file)
|
|
||||||
check_kabi(symvers, kabi)
|
|
||||||
|
|
@ -1,487 +0,0 @@
|
||||||
packages:
|
|
||||||
- name: modules-core
|
|
||||||
depends-on: []
|
|
||||||
- name: modules
|
|
||||||
depends-on:
|
|
||||||
- modules-core
|
|
||||||
- name: modules-internal
|
|
||||||
depends-on:
|
|
||||||
- modules-core
|
|
||||||
- modules
|
|
||||||
- name: modules-extra
|
|
||||||
depends-on:
|
|
||||||
- modules-core
|
|
||||||
- modules
|
|
||||||
- name: modules-partner
|
|
||||||
depends-on:
|
|
||||||
- modules-core
|
|
||||||
- modules
|
|
||||||
|
|
||||||
rules:
|
|
||||||
- .*kunit.*: modules-internal
|
|
||||||
exact_pkg: True
|
|
||||||
- .*test[^/]*.ko: modules-internal
|
|
||||||
|
|
||||||
- arch/.*: modules-core
|
|
||||||
- block/t10-pi.ko: modules-core
|
|
||||||
- crypto/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/accel/.*: modules-core
|
|
||||||
- drivers/accessibility/.*: modules-core
|
|
||||||
- drivers/acpi/video.*: modules
|
|
||||||
- drivers/acpi/.*: modules-core
|
|
||||||
- drivers/ata/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/base/regmap/regmap-sdw.*: modules
|
|
||||||
- drivers/base/.*: modules-core
|
|
||||||
- drivers/block/floppy.*: modules-extra
|
|
||||||
- drivers/block/rnbd.*: modules
|
|
||||||
- drivers/block/.*: modules-core
|
|
||||||
- drivers/bus/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/cdrom/.*: modules-core
|
|
||||||
- drivers/cdx/.*: modules-core
|
|
||||||
- drivers/char/mwave.*: modules
|
|
||||||
- drivers/char/.*: modules-core
|
|
||||||
- drivers/clk/.*: modules-core
|
|
||||||
- drivers/counter/.*: modules-core
|
|
||||||
- drivers/cpufreq/amd-pstate-ut.ko: modules-internal
|
|
||||||
- drivers/cpufreq/.*: modules-core
|
|
||||||
- drivers/crypto/caam/.*: modules
|
|
||||||
- drivers/crypto/cavium/.*: modules
|
|
||||||
- drivers/crypto/chelsio/.*: modules
|
|
||||||
- drivers/crypto/hisilicon/.*: modules
|
|
||||||
- drivers/crypto/marvell/.*: modules
|
|
||||||
- drivers/crypto/.*: modules-core
|
|
||||||
- drivers/cxl/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/dax/.*: modules-core
|
|
||||||
- drivers/dca/.*: modules-core
|
|
||||||
- drivers/devfreq/.*: modules-core
|
|
||||||
- drivers/dma/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/edac/.*: modules-core
|
|
||||||
- drivers/extcon/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/firmware/cirrus/test/.*(test|kunit).*: modules-internal
|
|
||||||
- drivers/firmware/iscsi_ibft.*: modules
|
|
||||||
- drivers/firmware/.*: modules-core
|
|
||||||
- drivers/fsi/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/gnss/.*: modules-core
|
|
||||||
- drivers/gpio/gpio-dln2.*: modules-extra
|
|
||||||
- drivers/gpio/gpio-ljca.*: modules
|
|
||||||
- drivers/gpio/.*: modules-core
|
|
||||||
- drivers/gpu/drm/display/drm_.*: modules-core
|
|
||||||
- drivers/gpu/drm/drm.*: modules-core
|
|
||||||
- drivers/gpu/drm/etnaviv/.*: modules-core
|
|
||||||
- drivers/gpu/drm/gud/.*: modules-core
|
|
||||||
- drivers/gpu/drm/hyperv/.*: modules-core
|
|
||||||
- drivers/gpu/drm/imagination/.*: modules-core
|
|
||||||
- drivers/gpu/drm/lima/.*: modules-core
|
|
||||||
- drivers/gpu/drm/mxsfb/.*: modules-core
|
|
||||||
- drivers/gpu/drm/panfrost/.*: modules-core
|
|
||||||
- drivers/gpu/drm/qxl/.*: modules-core
|
|
||||||
- drivers/gpu/drm/scheduler/.*: modules-core
|
|
||||||
- drivers/gpu/drm/solomon/.*: modules-core
|
|
||||||
- drivers/gpu/drm/tidss/.*: modules-core
|
|
||||||
- drivers/gpu/drm/tiny/.*: modules-core
|
|
||||||
- drivers/gpu/drm/ttm/.*: modules-core
|
|
||||||
- drivers/gpu/drm/udl/.*: modules-core
|
|
||||||
- drivers/gpu/drm/v3d/.*: modules-core
|
|
||||||
- drivers/gpu/drm/vgem/.*: modules-core
|
|
||||||
- drivers/gpu/drm/virtio/.*: modules-core
|
|
||||||
- drivers/gpu/drm/vkms/.*: modules-core
|
|
||||||
- drivers/gpu/drm/vmwgfx/.*: modules-core
|
|
||||||
- drivers/gpu/drm/xlnx/.*: modules-core
|
|
||||||
- drivers/gpu/host1x/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/hid/hid-asus.*: modules
|
|
||||||
- drivers/hid/hid-nintendo.*: modules
|
|
||||||
- drivers/hid/hid-picolcd.*: modules
|
|
||||||
- drivers/hid/hid-playstation.*: modules
|
|
||||||
- drivers/hid/surface-hid.*: modules
|
|
||||||
- drivers/hid/hid-prodikeys.*: modules
|
|
||||||
- drivers/hid/.*: modules-core
|
|
||||||
- drivers/hte/.*: modules-core
|
|
||||||
- drivers/hv/.*: modules-core
|
|
||||||
- drivers/hwmon/asus_wmi_sensors.*: modules
|
|
||||||
- drivers/hwmon/dell-smm-hwmon.*: modules
|
|
||||||
- drivers/hwmon/hp-wmi-sensors.*: modules
|
|
||||||
- drivers/hwmon/intel-m10-bmc-hwmon.*: modules
|
|
||||||
- drivers/hwmon/nct6775.*: modules
|
|
||||||
- drivers/hwmon/ntc_thermistor.*: modules
|
|
||||||
- drivers/hwmon/.*: modules-core
|
|
||||||
- drivers/hwspinlock/.*: modules-core
|
|
||||||
- drivers/hwtracing/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/i2c/busses/i2c-dln2.*: modules-extra
|
|
||||||
- drivers/i2c/busses/i2c-ljca.*: modules
|
|
||||||
- drivers/i2c/.*: modules-core
|
|
||||||
- drivers/i3c/.*: modules-core
|
|
||||||
- drivers/iio/adc/dln2-adc.*: modules-extra
|
|
||||||
- drivers/input/gameport/.*: modules
|
|
||||||
- drivers/input/joystick/.*: modules-extra
|
|
||||||
- drivers/input/tablet/.*: modules
|
|
||||||
- drivers/input/touchscreen/.*: modules
|
|
||||||
- drivers/input/.*: modules-core
|
|
||||||
- drivers/interconnect/.*: modules-core
|
|
||||||
- drivers/iommu/.*: modules-core
|
|
||||||
- drivers/irqchip/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/mailbox/.*: modules-core
|
|
||||||
- drivers/md/.*: modules-core
|
|
||||||
- drivers/memory/dfl-emif.*: modules
|
|
||||||
- drivers/memory/.*: modules-core
|
|
||||||
- drivers/message/fusion/mptctl.*: modules-extra
|
|
||||||
- drivers/message/fusion/mptfc.*: modules-extra
|
|
||||||
- drivers/message/fusion/.*: modules
|
|
||||||
- drivers/message/.*: modules-core
|
|
||||||
- drivers/mfd/dln2.*: modules-extra
|
|
||||||
- drivers/misc/.*: modules-core
|
|
||||||
- drivers/mux/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/net/amt.ko: modules-core
|
|
||||||
- drivers/net/bareudp.ko: modules-core
|
|
||||||
- drivers/net/bonding/.*: modules-core
|
|
||||||
- drivers/net/can/slcan/slcan.*: modules-extra
|
|
||||||
- drivers/net/can/usb/ems_usb.*: modules-extra
|
|
||||||
- drivers/net/can/vcan.*: modules-extra
|
|
||||||
- drivers/net/dummy.ko: modules-core
|
|
||||||
- drivers/net/eql.ko: modules-core
|
|
||||||
|
|
||||||
- drivers/net/ethernet/8390/.*: modules-core
|
|
||||||
- drivers/net/ethernet/adi/.*: modules-core
|
|
||||||
- drivers/net/ethernet/agere/.*: modules-core
|
|
||||||
- drivers/net/ethernet/altera/.*: modules-core
|
|
||||||
- drivers/net/ethernet/amazon/.*: modules-core
|
|
||||||
- drivers/net/ethernet/amd/.*: modules-core
|
|
||||||
- drivers/net/ethernet/apm/.*: modules-core
|
|
||||||
- drivers/net/ethernet/asix/.*: modules-core
|
|
||||||
- drivers/net/ethernet/brocade/.*: modules-core
|
|
||||||
- drivers/net/ethernet/cavium/.*: modules-core
|
|
||||||
- drivers/net/ethernet/dnet.ko: modules-core
|
|
||||||
- drivers/net/ethernet/engleder/.*: modules-core
|
|
||||||
- drivers/net/ethernet/ethoc.ko: modules-core
|
|
||||||
- drivers/net/ethernet/fealnx.ko: modules-core
|
|
||||||
- drivers/net/ethernet/freescale/.*: modules-core
|
|
||||||
- drivers/net/ethernet/fungible/.*: modules-core
|
|
||||||
- drivers/net/ethernet/google/.*: modules-core
|
|
||||||
- drivers/net/ethernet/hisilicon/.*: modules-core
|
|
||||||
- drivers/net/ethernet/huawei/.*: modules-core
|
|
||||||
- drivers/net/ethernet/ibm/.*: modules-core
|
|
||||||
- drivers/net/ethernet/intel/.*: modules-core
|
|
||||||
- drivers/net/ethernet/jme.ko: modules-core
|
|
||||||
- drivers/net/ethernet/litex/.*: modules-core
|
|
||||||
- drivers/net/ethernet/mellanox/.*: modules-core
|
|
||||||
- drivers/net/ethernet/microsoft/.*: modules-core
|
|
||||||
- drivers/net/ethernet/myricom/.*: modules-core
|
|
||||||
- drivers/net/ethernet/natsemi/.*: modules-core
|
|
||||||
- drivers/net/ethernet/netronome/.*: modules-core
|
|
||||||
- drivers/net/ethernet/pensando/.*: modules-core
|
|
||||||
- drivers/net/ethernet/rocker/rocker.*: modules-internal
|
|
||||||
- drivers/net/ethernet/qualcomm/.*: modules-core
|
|
||||||
- drivers/net/ethernet/realtek/.*: modules-core
|
|
||||||
- drivers/net/ethernet/renesas/.*: modules-core
|
|
||||||
- drivers/net/ethernet/socionext/.*: modules-core
|
|
||||||
- drivers/net/ethernet/vertexcom/.*: modules-core
|
|
||||||
- drivers/net/ethernet/wangxun/.*: modules-core
|
|
||||||
- drivers/net/ethernet/xilinx/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/net/fjes/.*: modules-core
|
|
||||||
- drivers/net/geneve.ko: modules-core
|
|
||||||
- drivers/net/gtp.ko: modules-core
|
|
||||||
- drivers/net/hamradio/.*: modules-extra
|
|
||||||
- drivers/net/hyperv/.*: modules-core
|
|
||||||
- drivers/net/ifb.ko: modules-core
|
|
||||||
- drivers/net/ipa/.*: modules-core
|
|
||||||
- drivers/net/ipvlan/.*: modules-core
|
|
||||||
- drivers/net/macsec.ko: modules-core
|
|
||||||
- drivers/net/macvlan.ko: modules-core
|
|
||||||
- drivers/net/macvtap.ko: modules-core
|
|
||||||
- drivers/net/mctp/.*: modules-core
|
|
||||||
- drivers/net/mdio.*: modules-core
|
|
||||||
- drivers/net/mhi_net.ko: modules-core
|
|
||||||
- drivers/net/mii.ko: modules-core
|
|
||||||
- drivers/net/net_failover.ko: modules-core
|
|
||||||
- drivers/net/netdevsim/netdevsim.*: modules-internal
|
|
||||||
- drivers/net/netconsole.ko: modules-core
|
|
||||||
- drivers/net/nlmon.ko: modules-core
|
|
||||||
- drivers/net/pcs/.*: modules-core
|
|
||||||
- drivers/net/phy/.*: modules-core
|
|
||||||
- drivers/net/rionet.ko: modules-core
|
|
||||||
- drivers/net/slip/slip.*: modules-extra
|
|
||||||
- drivers/net/sungem_phy.ko: modules-core
|
|
||||||
- drivers/net/tap.ko: modules-core
|
|
||||||
- drivers/net/team/.*: modules-core
|
|
||||||
- drivers/net/thunderbolt/.*: modules-core
|
|
||||||
- drivers/net/tun.ko: modules-core
|
|
||||||
- drivers/net/veth.ko: modules-core
|
|
||||||
- drivers/net/virtio_net.ko: modules-core
|
|
||||||
- drivers/net/vmxnet3/.*: modules-core
|
|
||||||
- drivers/net/vrf.ko: modules-core
|
|
||||||
- drivers/net/vsockmon.ko: modules-core
|
|
||||||
- drivers/net/vxlan/.*: modules-core
|
|
||||||
- drivers/net/wan/hdlc.*: modules-core
|
|
||||||
- drivers/net/wireguard/.*: modules-core
|
|
||||||
- drivers/net/wireless/virtual/mac80211_hwsim.*: modules-internal
|
|
||||||
- drivers/net/wwan/wwan_hwsim.*: modules-internal
|
|
||||||
- drivers/net/wwan/.*: modules-core
|
|
||||||
- drivers/net/xen.*: modules-core
|
|
||||||
|
|
||||||
- drivers/nvdimm/.*: modules-core
|
|
||||||
- drivers/nvme/host/nvme-rdma.*: modules
|
|
||||||
- drivers/nvme/target/nvmet-rdma.*: modules
|
|
||||||
- drivers/nvme/.*: modules-core
|
|
||||||
- drivers/nvmem/nvmem_u-boot-env.*: modules
|
|
||||||
- drivers/nvmem/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/parport/parport_serial.*: modules
|
|
||||||
- drivers/parport/.*: modules-core
|
|
||||||
- drivers/pci/pcie/aer_inject.*: modules-extra
|
|
||||||
- drivers/pci/.*: modules-core
|
|
||||||
- drivers/perf/.*: modules-core
|
|
||||||
- drivers/phy/.*: modules-core
|
|
||||||
- drivers/pinctrl/.*: modules-core
|
|
||||||
- drivers/platform/x86/intel/intel_vsec.*: modules-core
|
|
||||||
- drivers/pmdomain/.*: modules-core
|
|
||||||
- drivers/powercap/intel_rapl_tpmi.*: modules
|
|
||||||
- drivers/powercap/.*: modules-core
|
|
||||||
- drivers/pps/.*: modules-core
|
|
||||||
- drivers/ptp/ptp_mock.*: modules-internal
|
|
||||||
- drivers/ptp/ptp_dfl_tod.*: modules
|
|
||||||
- drivers/ptp/.*: modules-core
|
|
||||||
- drivers/pwm/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/rapidio/.*: modules-core
|
|
||||||
- drivers/regulator/arizona-micsupp.*: modules
|
|
||||||
- drivers/regulator/.*: modules-core
|
|
||||||
- drivers/remoteproc/.*: modules-core
|
|
||||||
- drivers/reset/.*: modules-core
|
|
||||||
- drivers/rpmsg/.*: modules-core
|
|
||||||
- drivers/rtc/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/s390/net/ism.*: modules
|
|
||||||
- drivers/s390/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/scsi/3w.*: modules-core
|
|
||||||
- drivers/scsi/BusLogic.ko: modules-core
|
|
||||||
- drivers/scsi/a100u2w.ko: modules-core
|
|
||||||
- drivers/scsi/advansys.ko: modules-core
|
|
||||||
- drivers/scsi/am53c974.ko: modules-core
|
|
||||||
- drivers/scsi/arcmsr.*: modules-core
|
|
||||||
- drivers/scsi/atp870u.ko: modules-core
|
|
||||||
- drivers/scsi/ch.ko: modules-core
|
|
||||||
- drivers/scsi/cxlflash/.*: modules-core
|
|
||||||
- drivers/scsi/dc395x.ko: modules-core
|
|
||||||
- drivers/scsi/device_handler/.*: modules-core
|
|
||||||
- drivers/scsi/dmx3191d.ko: modules-core
|
|
||||||
- drivers/scsi/elx/.*: modules-core
|
|
||||||
- drivers/scsi/esp_scsi.ko: modules-core
|
|
||||||
- drivers/scsi/fdomain.*: modules-core
|
|
||||||
- drivers/scsi/hpsa.ko: modules-core
|
|
||||||
- drivers/scsi/hptiop.ko: modules-core
|
|
||||||
- drivers/scsi/hv_storvsc.ko: modules-core
|
|
||||||
- drivers/scsi/ibmvscsi.*: modules-core
|
|
||||||
- drivers/scsi/initio.ko: modules-core
|
|
||||||
- drivers/scsi/ipr.ko: modules-core
|
|
||||||
- drivers/scsi/ips.ko: modules-core
|
|
||||||
- drivers/scsi/iscsi_tcp.ko: modules-core
|
|
||||||
- drivers/scsi/libfc/.*: modules-core
|
|
||||||
- drivers/scsi/libiscsi.*: modules-core
|
|
||||||
- drivers/scsi/mpi3mr/.*: modules-core
|
|
||||||
- drivers/scsi/mvumi.ko: modules-core
|
|
||||||
- drivers/scsi/myrb.ko: modules-core
|
|
||||||
- drivers/scsi/myrs.ko: modules-core
|
|
||||||
- drivers/scsi/raid_class.ko: modules-core
|
|
||||||
- drivers/scsi/scsi_debug.ko: modules-core
|
|
||||||
- drivers/scsi/scsi_transport_.*: modules-core
|
|
||||||
- drivers/scsi/sd_mod.ko: modules-core
|
|
||||||
- drivers/scsi/ses.ko: modules-core
|
|
||||||
- drivers/scsi/sg.ko: modules-core
|
|
||||||
- drivers/scsi/smartpqi/.*: modules-core
|
|
||||||
- drivers/scsi/snic/.*: modules-core
|
|
||||||
- drivers/scsi/sr_mod.ko: modules-core
|
|
||||||
- drivers/scsi/st.ko: modules-core
|
|
||||||
- drivers/scsi/stex.ko: modules-core
|
|
||||||
- drivers/scsi/virtio_scsi.ko: modules-core
|
|
||||||
- drivers/scsi/vmw_pvscsi.ko: modules-core
|
|
||||||
- drivers/scsi/wd719x.ko: modules-core
|
|
||||||
- drivers/scsi/xen-scsifront.ko: modules-core
|
|
||||||
|
|
||||||
- drivers/slimbus/.*: modules-core
|
|
||||||
- drivers/soc/.*: modules-core
|
|
||||||
- drivers/spi/spi-altera-dfl.*: modules
|
|
||||||
- drivers/spi/spi-dln2.*: modules-extra
|
|
||||||
- drivers/spi/spi-ljca.*: modules
|
|
||||||
- drivers/spi/.*: modules-core
|
|
||||||
- drivers/spmi/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/target/iscsi/cxgbit/cxgbit.*: modules
|
|
||||||
- drivers/target/sbp/sbp_target.*: modules
|
|
||||||
- drivers/target/target_core_user.*: modules
|
|
||||||
- drivers/target/.*: modules-core
|
|
||||||
- drivers/tee/.*: modules-core
|
|
||||||
- drivers/thermal/intel/int340x_thermal/int3406_thermal.*: modules
|
|
||||||
- drivers/thermal/.*: modules-core
|
|
||||||
- drivers/thunderbolt/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/ufs/.*: modules-core
|
|
||||||
- drivers/usb/atm/.*: modules
|
|
||||||
- drivers/usb/gadget/function/usb_f_midi2.*: modules
|
|
||||||
- drivers/usb/image/.*: modules
|
|
||||||
- drivers/usb/misc/trancevibrator.*: modules-extra
|
|
||||||
- drivers/usb/misc/.*: modules
|
|
||||||
- drivers/usb/serial/.*: modules
|
|
||||||
- drivers/usb/typec/mux/nb7vpq904m.*: modules
|
|
||||||
- drivers/usb/usbip/.*: modules-internal
|
|
||||||
- drivers/usb/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/vdpa/mlx5/mlx5_vdpa.*: modules
|
|
||||||
- drivers/vdpa/pds/pds_vdpa.*: modules
|
|
||||||
- drivers/vdpa/.*: modules-core
|
|
||||||
- drivers/vfio/pci/mlx5/mlx5-vfio-pci.*: modules
|
|
||||||
- drivers/vfio/pci/pds/pds-vfio-pc.*: modules
|
|
||||||
- drivers/vfio/.*: modules-core
|
|
||||||
- drivers/vhost/.*: modules-core
|
|
||||||
- drivers/video/backlight/apple_bl.*: modules
|
|
||||||
- drivers/video/.*: modules-core
|
|
||||||
- drivers/virt/.*: modules-core
|
|
||||||
- drivers/virtio/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/watchdog/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/xen/.*: modules-core
|
|
||||||
|
|
||||||
- drivers/w1/masters/ds2482.*: modules-extra
|
|
||||||
- drivers/w1/masters/ds2490.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_ds2408.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_ds2423.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_ds2431.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_ds2433.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_ds2780.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_ds2781.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_ds28e04.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_smem.*: modules-extra
|
|
||||||
- drivers/w1/slaves/w1_therm.*: modules-extra
|
|
||||||
|
|
||||||
- fs/9p/.*: modules-core
|
|
||||||
- fs/afs/.*: modules-partner
|
|
||||||
- fs/affs/affs.*: modules-extra
|
|
||||||
- fs/bcachefs/.*: modules-core
|
|
||||||
- fs/befs/befs.*: modules-extra
|
|
||||||
- fs/binfmt_misc.ko: modules-core
|
|
||||||
- fs/cachefiles/.*: modules-core
|
|
||||||
- fs/ceph/.*: modules-core
|
|
||||||
- fs/coda/coda.*: modules-extra
|
|
||||||
- fs/dlm/.*: modules-core
|
|
||||||
- fs/erofs/.*: modules-core
|
|
||||||
- fs/exfat/.*: modules-core
|
|
||||||
- fs/ext4/.*: modules-core
|
|
||||||
- fs/f2fs/.*: modules-core
|
|
||||||
- fs/fat/.*: modules-core
|
|
||||||
- fs/fuse/cuse.*: modules-extra
|
|
||||||
- fs/fuse/.*: modules-core
|
|
||||||
- fs/gfs2/.*: modules-core
|
|
||||||
- fs/isofs/.*: modules-core
|
|
||||||
- fs/jbd2/.*: modules-core
|
|
||||||
- fs/lockd/.*: modules-core
|
|
||||||
- fs/mbcache.ko: modules-core
|
|
||||||
- fs/netfs/.*: modules-core
|
|
||||||
- fs/nfs.*: modules-core
|
|
||||||
- fs/nilfs2/nilfs2.*: modules-extra
|
|
||||||
- fs/nls/.*: modules-core
|
|
||||||
- fs/ntfs3/.*: modules-core
|
|
||||||
- fs/ocfs2/.*: modules-extra
|
|
||||||
- fs/orangefs/.*: modules-core
|
|
||||||
- fs/overlayfs/.*: modules-core
|
|
||||||
- fs/pstore/.*: modules-core
|
|
||||||
- fs/sysv/.*: modules-extra
|
|
||||||
- fs/ubifs/.*: modules-extra
|
|
||||||
- fs/udf/.*: modules-core
|
|
||||||
- fs/ufs/.*: modules-extra
|
|
||||||
- fs/vboxsf/.*: modules-core
|
|
||||||
- fs/xfs/.*: modules-core
|
|
||||||
- fs/zonefs/.*: modules-core
|
|
||||||
|
|
||||||
- kernel/locking/locktorture.*: modules-internal
|
|
||||||
- kernel/rcu/rcuscale.*: modules-internal
|
|
||||||
- kernel/rcu/rcutorture.*: modules-internal
|
|
||||||
- kernel/rcu/refscale.*: modules-internal
|
|
||||||
- kernel/scftorture.*: modules-internal
|
|
||||||
- kernel/torture.*: modules-internal
|
|
||||||
- kernel/.*: modules-core
|
|
||||||
|
|
||||||
- lib/.*: modules-core
|
|
||||||
|
|
||||||
- mm/zsmalloc.ko: modules-core
|
|
||||||
|
|
||||||
- net/802/.*: modules-core
|
|
||||||
- net/8021q/.*: modules-core
|
|
||||||
- net/9p/9pnet_rdma.ko: modules
|
|
||||||
- net/9p/.*: modules-core
|
|
||||||
- net/appletalk/appletalk.*: modules-extra
|
|
||||||
- net/atm/br2684.*: modules-extra
|
|
||||||
- net/atm/clip.*: modules-extra
|
|
||||||
- net/atm/lec.*: modules-extra
|
|
||||||
- net/atm/pppoatm.*: modules-extra
|
|
||||||
- net/ax25/ax25.*: modules-extra
|
|
||||||
- net/batman-adv/batman-adv.*: modules-extra
|
|
||||||
- net/bridge/br_netfilter.*: modules-extra
|
|
||||||
- net/bridge/netfilter/ebt.*: modules-extra
|
|
||||||
- net/bridge/.*: modules-core
|
|
||||||
- net/ceph/.*: modules-core
|
|
||||||
- net/core/pktgen.*: modules-internal
|
|
||||||
- net/core/.*: modules-core
|
|
||||||
- net/dns_resolver/.*: modules-core
|
|
||||||
- net/hsr/.*: modules-core
|
|
||||||
- net/ife/.*: modules-core
|
|
||||||
- net/ipv4/netfilter/arp.*: modules-extra
|
|
||||||
- net/ipv4/netfilter/ip[_t].*: modules-extra
|
|
||||||
- net/ipv4/tcp_bic.*: modules-extra
|
|
||||||
- net/ipv4/tcp_highspeed.*: modules-extra
|
|
||||||
- net/ipv4/tcp_htcp.*: modules-extra
|
|
||||||
- net/ipv4/tcp_hybla.*: modules-extra
|
|
||||||
- net/ipv4/tcp_illinois.*: modules-extra
|
|
||||||
- net/ipv4/tcp_lp.*: modules-extra
|
|
||||||
- net/ipv4/tcp_scalable.*: modules-extra
|
|
||||||
- net/ipv4/tcp_vegas.*: modules-extra
|
|
||||||
- net/ipv4/tcp_veno.*: modules-extra
|
|
||||||
- net/ipv4/tcp_westwood.*: modules-extra
|
|
||||||
- net/ipv4/tcp_yeah.*: modules-extra
|
|
||||||
- net/ipv4/.*: modules-core
|
|
||||||
- net/ipv6/netfilter/ebt.*: modules-extra
|
|
||||||
- net/ipv6/netfilter/ip6[_t].*: modules-extra
|
|
||||||
- net/ipv6/.*: modules-core
|
|
||||||
- net/iucv/.*: modules-core
|
|
||||||
- net/kcm/.*: modules-core
|
|
||||||
- net/key/.*: modules-core
|
|
||||||
- net/l2tp/.*: modules-extra
|
|
||||||
- net/llc/.*: modules-core
|
|
||||||
- net/netfilter/ipset/.*: modules-extra
|
|
||||||
- net/netfilter/nft_compat.*: modules-extra
|
|
||||||
- net/netfilter/xt_.*: modules-extra
|
|
||||||
- net/netfilter/.*: modules-core
|
|
||||||
- net/netrom/netrom.*: modules-extra
|
|
||||||
- net/nsh/.*: modules-core
|
|
||||||
- net/openvswitch/.*: modules-core
|
|
||||||
- net/psample/.*: modules-core
|
|
||||||
- net/qrtr/.*: modules-core
|
|
||||||
- net/rds/rds.*: modules-extra
|
|
||||||
- net/rose/rose.*: modules-extra
|
|
||||||
- net/rxrpc/.*: modules-partner
|
|
||||||
- net/sched/.*: modules-core
|
|
||||||
- net/sctp/.*: modules-extra
|
|
||||||
- net/sunrpc/xprtrdma/rpcrdma.*: modules
|
|
||||||
- net/sunrpc/.*: modules-core
|
|
||||||
- net/tipc/.*: modules-extra
|
|
||||||
- net/tls/.*: modules-core
|
|
||||||
- net/vmw_vsock/.*: modules-core
|
|
||||||
- net/xdp/.*: modules-core
|
|
||||||
- net/xfrm/.*: modules-core
|
|
||||||
|
|
||||||
- samples/.*: modules-internal
|
|
||||||
|
|
||||||
- virt/.*: modules-core
|
|
||||||
|
|
||||||
- default: modules
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
# generic + compressed please
|
|
||||||
hostonly="no"
|
|
||||||
compress="xz"
|
|
||||||
|
|
||||||
# VMs can't update microcode anyway
|
|
||||||
early_microcode="no"
|
|
||||||
|
|
||||||
# modules: basics
|
|
||||||
dracutmodules+=" dracut-systemd i18n shutdown "
|
|
||||||
|
|
||||||
# modules: storage support
|
|
||||||
dracutmodules+=" dm lvm rootfs-block fs-lib "
|
|
||||||
|
|
||||||
# modules: tpm and crypto
|
|
||||||
dracutmodules+=" crypt crypt-loop tpm2-tss systemd-pcrphase "
|
|
||||||
|
|
||||||
# dracut >= 102 separated systemd-cryptsetup into its own module
|
|
||||||
CSMODULE=`dracut --list-modules --no-kernel | grep '^systemd-cryptsetup$'`
|
|
||||||
dracutmodules+=" $CSMODULE "
|
|
||||||
|
|
||||||
# modules: support root on virtiofs
|
|
||||||
dracutmodules+=" virtiofs "
|
|
||||||
|
|
||||||
# modules: use sysext images (see 'man systemd-sysext')
|
|
||||||
dracutmodules+=" systemd-sysext "
|
|
||||||
|
|
||||||
# modules: root disk integrity protection
|
|
||||||
dracutmodules+=" systemd-veritysetup "
|
|
||||||
|
|
||||||
# modules: FIPS
|
|
||||||
dracutmodules+=" fips "
|
|
||||||
# FIPS mode requires early crypto drivers test
|
|
||||||
drivers+=" =crypto "
|
|
||||||
|
|
||||||
# drivers: virtual buses, pci
|
|
||||||
drivers+=" virtio-pci virtio-mmio " # qemu-kvm
|
|
||||||
drivers+=" hv-vmbus pci-hyperv " # hyperv
|
|
||||||
drivers+=" xen-pcifront " # xen
|
|
||||||
|
|
||||||
# drivers: storage
|
|
||||||
drivers+=" ahci nvme sd_mod sr_mod " # generic
|
|
||||||
drivers+=" virtio-blk virtio-scsi " # qemu-kvm
|
|
||||||
drivers+=" hv-storvsc " # hyperv
|
|
||||||
drivers+=" xen-blkfront " # xen
|
|
||||||
|
|
||||||
# root encryption
|
|
||||||
drivers+=" dm_crypt "
|
|
||||||
|
|
||||||
# root disk integrity protection
|
|
||||||
drivers+=" dm_verity overlay "
|
|
||||||
|
|
||||||
# filesystems
|
|
||||||
filesystems+=" vfat ext4 xfs overlay "
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1 +0,0 @@
|
||||||
rhel
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-10
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-64k-aarch64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-64k-debug-aarch64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-aarch64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-debug-aarch64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-debug-ppc64le.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-debug-s390x.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-debug-x86_64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-ppc64le.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-64k-aarch64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-64k-debug-aarch64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-aarch64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-debug-aarch64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-debug-x86_64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-x86_64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-s390x.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-x86_64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: s1-aws-ci_x86_64.brew-build.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: s1-aws-ci_aarch64.brew-build.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: s1-azure-ci_x86_64.brew-build.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: s1-azure-ci_aarch64.brew-build.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: s1-gcp-ci.brew-build.tier1.functional}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Adjusts the configuration options to build the variants correctly
|
|
||||||
|
|
||||||
test -n "$RHTEST" && exit 0
|
|
||||||
|
|
||||||
DEBUGBUILDSENABLED=$1
|
|
||||||
if [ -z "$DEBUGBUILDSENABLED" ]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$FLAVOR" ]; then
|
|
||||||
FLAVOR=rhel
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$FLAVOR" = "fedora" ]; then
|
|
||||||
SECONDARY=rhel
|
|
||||||
else
|
|
||||||
SECONDARY=fedora
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The +1 is to remove the - at the end of the SPECPACKAGE_NAME string
|
|
||||||
specpackage_name_len=$((${#SPECPACKAGE_NAME} + 1))
|
|
||||||
for i in "${SPECPACKAGE_NAME}"*-"$FLAVOR".config; do
|
|
||||||
# shellcheck disable=SC3057
|
|
||||||
NEW=${SPECPACKAGE_NAME}-"$SPECRPMVERSION"-$(echo "${i:$specpackage_name_len}" | sed s/-"$FLAVOR"//)
|
|
||||||
mv "$i" "$NEW"
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -f kernel-*-"$SECONDARY".config
|
|
||||||
|
|
||||||
if [ "$DEBUGBUILDSENABLED" -eq 0 ]; then
|
|
||||||
for i in "${SPECPACKAGE_NAME}"-*debug*.config; do
|
|
||||||
base=$(echo "$i" | sed -r s/-?debug//g)
|
|
||||||
NEW=${SPECPACKAGE_NAME}-$(echo "$base" | cut -d - -f2-)
|
|
||||||
mv "$i" "$NEW"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,2 +0,0 @@
|
||||||
# This file is intentionally left empty in the stock kernel. Its a nicety
|
|
||||||
# added for those wanting to do custom rebuilds with altered config opts.
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,11 +0,0 @@
|
||||||
/var/log/kvm_stat.csv {
|
|
||||||
size 10M
|
|
||||||
missingok
|
|
||||||
compress
|
|
||||||
maxage 30
|
|
||||||
rotate 5
|
|
||||||
nodateext
|
|
||||||
postrotate
|
|
||||||
/usr/bin/systemctl try-restart kvm_stat.service
|
|
||||||
endscript
|
|
||||||
}
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
#!/usr/bin/python3
|
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
|
||||||
# Author: Clark Williams <williams@redhat.com>
|
|
||||||
# Copyright (C) 2022 Red Hat, Inc.
|
|
||||||
#
|
|
||||||
# merge.py - a direct replacement for merge.pl in the redhat/configs directory
|
|
||||||
#
|
|
||||||
# invocation: python merge.py overrides baseconfig [arch]
|
|
||||||
#
|
|
||||||
# This script merges two kernel configuration files, an override file and a
|
|
||||||
# base config file and writes the results to stdout.
|
|
||||||
#
|
|
||||||
# The script reads the overrides into a dictionary, then reads the baseconfig
|
|
||||||
# file, looking for overrides and replacing any found, then printing the result
|
|
||||||
# to stdout. Finally any remaining (new) configs in the override are appended to the
|
|
||||||
# end of the output
|
|
||||||
|
|
||||||
import sys
|
|
||||||
import re
|
|
||||||
import os.path
|
|
||||||
|
|
||||||
def usage(msg):
|
|
||||||
'''print a usage message and exit'''
|
|
||||||
sys.stderr.write(msg + "\n")
|
|
||||||
sys.stderr.write("usage: merge.py overrides baseconfig [arch]\n")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
isset = re.compile(r'^(CONFIG_\w+)=')
|
|
||||||
notset = re.compile(r'^#\s+(CONFIG_\w+)\s+is not set')
|
|
||||||
|
|
||||||
# search an input line for a config (set or notset) pattern
|
|
||||||
# if we get a match return the config that is being changed
|
|
||||||
def find_config(line):
|
|
||||||
'''find a configuration line in the input and return the config name'''
|
|
||||||
m = isset.match(line)
|
|
||||||
if (m is not None):
|
|
||||||
return m.group(1)
|
|
||||||
|
|
||||||
m = notset.match(line)
|
|
||||||
if (m is not None):
|
|
||||||
return m.group(1)
|
|
||||||
|
|
||||||
return None
|
|
||||||
|
|
||||||
#########################################################
|
|
||||||
|
|
||||||
if len(sys.argv) < 3:
|
|
||||||
usage("must have two input files")
|
|
||||||
|
|
||||||
override_file = sys.argv[1]
|
|
||||||
baseconfig_file = sys.argv[2]
|
|
||||||
|
|
||||||
if not os.path.exists(override_file):
|
|
||||||
usage(f"overrides config file {override_file:s} does not exist!")
|
|
||||||
|
|
||||||
if not os.path.exists(baseconfig_file):
|
|
||||||
usage(f"base configs file {baseconfig_file:s} does not exist")
|
|
||||||
|
|
||||||
if len(sys.argv) == 4:
|
|
||||||
print(f"# {sys.argv[3]:s}")
|
|
||||||
|
|
||||||
# read each line of the override file and store any configuration values
|
|
||||||
# in the overrides dictionary, keyed by the configuration name.
|
|
||||||
overrides = {}
|
|
||||||
with open(override_file, "rt", encoding="utf-8") as f:
|
|
||||||
for line in [l.strip() for l in f.readlines()]:
|
|
||||||
c = find_config(line)
|
|
||||||
if c and c not in overrides:
|
|
||||||
overrides[c] = line
|
|
||||||
|
|
||||||
# now read and print the base config, checking each line
|
|
||||||
# that defines a config value and printing the override if
|
|
||||||
# it exists
|
|
||||||
with open(baseconfig_file, "rt", encoding="utf-8") as f:
|
|
||||||
for line in [ l.strip() for l in f.readlines() ]:
|
|
||||||
c = find_config(line)
|
|
||||||
if c and c in overrides:
|
|
||||||
print(overrides[c])
|
|
||||||
del overrides[c]
|
|
||||||
else:
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
# print out the remaining configs (new values)
|
|
||||||
# from the overrides file
|
|
||||||
for v in overrides.values():
|
|
||||||
print (v)
|
|
||||||
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
#! /bin/bash
|
|
||||||
# shellcheck disable=SC2164
|
|
||||||
|
|
||||||
rpm_buildroot="$1"
|
|
||||||
module_dir="$2"
|
|
||||||
module_list="$3"
|
|
||||||
|
|
||||||
blacklist_conf_files="$(mktemp)"
|
|
||||||
|
|
||||||
blacklist()
|
|
||||||
{
|
|
||||||
mkdir -p "$rpm_buildroot/etc/modprobe.d/"
|
|
||||||
cat > "$rpm_buildroot/etc/modprobe.d/$1-blacklist.conf" <<-__EOF__
|
|
||||||
# This kernel module can be automatically loaded by non-root users. To
|
|
||||||
# enhance system security, the module is blacklisted by default to ensure
|
|
||||||
# system administrators make the module available for use as needed.
|
|
||||||
# See https://access.redhat.com/articles/3760101 for more details.
|
|
||||||
#
|
|
||||||
# Remove the blacklist by adding a comment # at the start of the line.
|
|
||||||
blacklist $1
|
|
||||||
__EOF__
|
|
||||||
echo "%config(noreplace) /etc/modprobe.d/$1-blacklist.conf" >> "$blacklist_conf_files"
|
|
||||||
}
|
|
||||||
|
|
||||||
check_blacklist()
|
|
||||||
{
|
|
||||||
mod="$rpm_buildroot/$1"
|
|
||||||
[ ! "$mod" ] && return 0
|
|
||||||
if modinfo "$mod" | grep -q '^alias:\s\+net-'; then
|
|
||||||
mod="${1##*/}"
|
|
||||||
mod="${mod%.ko*}"
|
|
||||||
echo "$mod has an alias that allows auto-loading. Blacklisting."
|
|
||||||
blacklist "$mod"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
foreachp()
|
|
||||||
{
|
|
||||||
P=$(nproc)
|
|
||||||
bgcount=0
|
|
||||||
while read -r mod; do
|
|
||||||
$1 "$mod" &
|
|
||||||
|
|
||||||
bgcount=$((bgcount + 1))
|
|
||||||
if [ $bgcount -eq "$P" ]; then
|
|
||||||
wait -n
|
|
||||||
bgcount=$((bgcount - 1))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
wait
|
|
||||||
}
|
|
||||||
|
|
||||||
# Many BIOS-es export a PNP-id which causes the floppy driver to autoload
|
|
||||||
# even though most modern systems don't have a 3.5" floppy driver anymore
|
|
||||||
# this replaces the old die_floppy_die.patch which removed the PNP-id from
|
|
||||||
# the module
|
|
||||||
|
|
||||||
floppylist=("$rpm_buildroot"/"$module_dir"/kernel/drivers/block/floppy.ko*)
|
|
||||||
if [[ -n ${floppylist[0]} && -f ${floppylist[0]} ]]; then
|
|
||||||
blacklist "floppy"
|
|
||||||
fi
|
|
||||||
|
|
||||||
foreachp check_blacklist < "$module_list"
|
|
||||||
|
|
||||||
cat "$blacklist_conf_files" >> "$module_list"
|
|
||||||
rm -f "$blacklist_conf_files"
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
#! /bin/bash
|
|
||||||
|
|
||||||
# The modules_sign target checks for corresponding .o files for every .ko that
|
|
||||||
# is signed. This doesn't work for package builds which re-use the same build
|
|
||||||
# directory for every variant, and the .config may change between variants.
|
|
||||||
# So instead of using this script to just sign lib/modules/$KernelVer/extra,
|
|
||||||
# sign all .ko in the buildroot.
|
|
||||||
|
|
||||||
# This essentially duplicates the 'modules_sign' Kbuild target and runs the
|
|
||||||
# same commands for those modules.
|
|
||||||
|
|
||||||
MODSECKEY=$1
|
|
||||||
MODPUBKEY=$2
|
|
||||||
moddir=$3
|
|
||||||
|
|
||||||
modules=$(find "$moddir" -type f -name '*.ko')
|
|
||||||
|
|
||||||
NPROC=$(nproc)
|
|
||||||
[ -z "$NPROC" ] && NPROC=1
|
|
||||||
|
|
||||||
# NB: this loop runs 2000+ iterations. Try to be fast.
|
|
||||||
echo "$modules" | xargs -r -n16 -P "$NPROC" sh -c "
|
|
||||||
for mod; do
|
|
||||||
./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod
|
|
||||||
rm -f \$mod.sig \$mod.dig
|
|
||||||
done
|
|
||||||
" DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop.
|
|
||||||
|
|
||||||
RANDOMMOD=$(echo "$modules" | sort -R | head -n 1)
|
|
||||||
if [ "~Module signature appended~" != "$(tail -c 28 "$RANDOMMOD")" ]; then
|
|
||||||
echo "*****************************"
|
|
||||||
echo "*** Modules are unsigned! ***"
|
|
||||||
echo "*****************************"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
Binary file not shown.
|
|
@ -1,4 +0,0 @@
|
||||||
# clang
|
|
||||||
# CONFIG_DRM_WERROR is not set
|
|
||||||
CONFIG_KASAN_STACK=y
|
|
||||||
# CONFIG_KMSAN is not set
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
# clang
|
|
||||||
# CONFIG_DRM_WERROR is not set
|
|
||||||
# CONFIG_KASAN_STACK is not set
|
|
||||||
# CONFIG_KMSAN is not set
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
# clang_lto
|
|
||||||
# CONFIG_DRM_WERROR is not set
|
|
||||||
CONFIG_KASAN_STACK=y
|
|
||||||
# CONFIG_KMSAN is not set
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
# clang_lto
|
|
||||||
# CONFIG_DRM_WERROR is not set
|
|
||||||
# CONFIG_KASAN_STACK is not set
|
|
||||||
# CONFIG_KMSAN is not set
|
|
||||||
CONFIG_LTO_CLANG_THIN=y
|
|
||||||
# CONFIG_LTO_NONE is not set
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
# clang_lto
|
|
||||||
# CONFIG_DRM_WERROR is not set
|
|
||||||
CONFIG_KASAN_STACK=y
|
|
||||||
# CONFIG_KMSAN is not set
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
# clang_lto
|
|
||||||
# CONFIG_DRM_WERROR is not set
|
|
||||||
# CONFIG_KASAN_STACK is not set
|
|
||||||
# CONFIG_KMSAN is not set
|
|
||||||
CONFIG_LTO_CLANG_THIN=y
|
|
||||||
# CONFIG_LTO_NONE is not set
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
# kgcov
|
|
||||||
CONFIG_GCOV_KERNEL=y
|
|
||||||
CONFIG_GCOV_PROFILE_ALL=y
|
|
||||||
# CONFIG_GCOV_PROFILE_FTRACE is not set
|
|
||||||
CONFIG_GCOV_PROFILE_RDS=y
|
|
||||||
CONFIG_GCOV_PROFILE_URING=y
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
# kgcov
|
|
||||||
CONFIG_GCOV_KERNEL=y
|
|
||||||
CONFIG_GCOV_PROFILE_ALL=y
|
|
||||||
# CONFIG_GCOV_PROFILE_FTRACE is not set
|
|
||||||
CONFIG_GCOV_PROFILE_RDS=y
|
|
||||||
CONFIG_GCOV_PROFILE_URING=y
|
|
||||||
|
|
@ -1,424 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# This script takes the merged config files and processes them through oldconfig
|
|
||||||
# and listnewconfig
|
|
||||||
#
|
|
||||||
# Globally disable suggestion of appending '|| exit' or '|| return' to cd/pushd/popd commands
|
|
||||||
# shellcheck disable=SC2164
|
|
||||||
|
|
||||||
test -n "$RHTEST" && exit 0
|
|
||||||
|
|
||||||
usage()
|
|
||||||
{
|
|
||||||
# alphabetical order please
|
|
||||||
echo "process_configs.sh [ options ] package_name kernel_version"
|
|
||||||
echo " -a: report all errors, equivalent to [-c -n -w -i]"
|
|
||||||
echo " -c: error on mismatched config options"
|
|
||||||
echo " -i: continue on error"
|
|
||||||
echo " -n: error on unset config options"
|
|
||||||
echo " -t: test run, do not overwrite original config"
|
|
||||||
echo " -w: error on misconfigured config options"
|
|
||||||
echo " -z: commit new configs to pending directory"
|
|
||||||
echo ""
|
|
||||||
echo " A special CONFIG file tag, process_configs_known_broken can be added as a"
|
|
||||||
echo " comment to any CONFIG file. This tag indicates that there is no way to "
|
|
||||||
echo " fix a CONFIG's entry. This tag should only be used in extreme cases"
|
|
||||||
echo " and is not to be used as a workaround to solve CONFIG problems."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
die()
|
|
||||||
{
|
|
||||||
echo "$1"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
get_cross_compile()
|
|
||||||
{
|
|
||||||
arch=$1
|
|
||||||
if [[ "$CC_IS_CLANG" -eq 1 ]]; then
|
|
||||||
echo "$arch"
|
|
||||||
else
|
|
||||||
echo "scripts/dummy-tools/"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# stupid function to find top of tree to do kernel make configs
|
|
||||||
switch_to_toplevel()
|
|
||||||
{
|
|
||||||
path="$(pwd)"
|
|
||||||
while test -n "$path"
|
|
||||||
do
|
|
||||||
test -e "$path"/MAINTAINERS && \
|
|
||||||
test -d "$path"/drivers && \
|
|
||||||
break
|
|
||||||
|
|
||||||
path=$(dirname "$path")
|
|
||||||
done
|
|
||||||
|
|
||||||
test -n "$path" || die "Can't find toplevel"
|
|
||||||
echo "$path"
|
|
||||||
}
|
|
||||||
|
|
||||||
checkoptions()
|
|
||||||
{
|
|
||||||
count=$3
|
|
||||||
variant=$4
|
|
||||||
|
|
||||||
/usr/bin/awk '
|
|
||||||
|
|
||||||
/is not set/ {
|
|
||||||
split ($0, a, "#");
|
|
||||||
split(a[2], b);
|
|
||||||
if (NR==FNR) {
|
|
||||||
configs[b[1]]="is not set";
|
|
||||||
} else {
|
|
||||||
if (configs[b[1]] != "" && configs[b[1]] != "is not set")
|
|
||||||
print "Found # "b[1] " is not set, after generation, had " b[1] " " configs[b[1]] " in Source tree";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/=/ {
|
|
||||||
split ($0, a, "=");
|
|
||||||
if (NR==FNR) {
|
|
||||||
configs[a[1]]=a[2];
|
|
||||||
} else {
|
|
||||||
if (configs[a[1]] != "" && configs[a[1]] != a[2])
|
|
||||||
print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
' "$1" "$2" > .mismatches"${count}"
|
|
||||||
|
|
||||||
checkoptions_error=false
|
|
||||||
if test -s .mismatches"${count}"
|
|
||||||
then
|
|
||||||
while read -r LINE
|
|
||||||
do
|
|
||||||
if find "${REDHAT}"/configs -name "$(echo "$LINE" | awk -F "=" ' { print $1 } ' | awk ' { print $2 }')" -print0 | xargs -0 grep ^ | grep -q "process_configs_known_broken"; then
|
|
||||||
# This is a known broken config.
|
|
||||||
# See script help warning.
|
|
||||||
checkoptions_error=false
|
|
||||||
else
|
|
||||||
checkoptions_error=true
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done < .mismatches"${count}"
|
|
||||||
|
|
||||||
! $checkoptions_error && return
|
|
||||||
|
|
||||||
sed -i "1s/^/Error: Mismatches found in configuration files for ${arch} ${variant}\n/" .mismatches"${count}"
|
|
||||||
else
|
|
||||||
rm -f .mismatches"${count}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
parsenewconfigs()
|
|
||||||
{
|
|
||||||
tmpdir=$(mktemp -d)
|
|
||||||
|
|
||||||
# This awk script reads the output of make listnewconfig
|
|
||||||
# and puts it into CONFIG_FOO files. Using the output of
|
|
||||||
# listnewconfig is much easier to ensure we get the default
|
|
||||||
# output.
|
|
||||||
/usr/bin/awk -v BASE="$tmpdir" '
|
|
||||||
/is not set/ {
|
|
||||||
split ($0, a, "#");
|
|
||||||
split(a[2], b);
|
|
||||||
OUT_FILE=BASE"/"b[1];
|
|
||||||
print $0 >> OUT_FILE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/=/ {
|
|
||||||
split ($0, a, "=");
|
|
||||||
OUT_FILE=BASE"/"a[1];
|
|
||||||
if (a[2] == "n")
|
|
||||||
print "# " a[1] " is not set" >> OUT_FILE;
|
|
||||||
else
|
|
||||||
print $0 >> OUT_FILE;
|
|
||||||
}
|
|
||||||
|
|
||||||
' .newoptions
|
|
||||||
|
|
||||||
# This awk script parses the output of helpnewconfig.
|
|
||||||
# Each option is separated between ----- markers
|
|
||||||
# The goal is to put all the help text as a comment in
|
|
||||||
# each CONFIG_FOO file. Because of how awk works
|
|
||||||
# there's a lot of moving files around and catting to
|
|
||||||
# get what we need.
|
|
||||||
/usr/bin/awk -v BASE="$tmpdir" '
|
|
||||||
BEGIN { inpatch=0;
|
|
||||||
outfile="none";
|
|
||||||
symbol="none";
|
|
||||||
commit=""; }
|
|
||||||
/^Symbol: .*$/ {
|
|
||||||
split($0, a, " ");
|
|
||||||
symbol="CONFIG_"a[2];
|
|
||||||
outfile=BASE "/fake_"symbol
|
|
||||||
}
|
|
||||||
/-----/ {
|
|
||||||
if (inpatch == 0) {
|
|
||||||
inpatch = 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (symbol != "none") {
|
|
||||||
print "# Commit: "commit >> outfile
|
|
||||||
system("cat " outfile " " BASE "/" symbol " > " BASE "/tmpf");
|
|
||||||
system("mv " BASE "/tmpf " BASE "/" symbol);
|
|
||||||
symbol="none"
|
|
||||||
commit=""
|
|
||||||
}
|
|
||||||
outfile="none"
|
|
||||||
inpatch = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
!/-----/ {
|
|
||||||
if (inpatch == 1 && outfile != "none") {
|
|
||||||
print "# "$0 >> outfile;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/^Defined at .*$/ {
|
|
||||||
split($0, x, " ");
|
|
||||||
filenum=x[3];
|
|
||||||
split(filenum, x, ":");
|
|
||||||
file=x[1]
|
|
||||||
line=x[2]
|
|
||||||
cmd="git blame -L " line "," line " " file " | cut -d \" \" -f1 | xargs git log --pretty=format:\"%C(auto)%h %C(cyan)('%s')\" -1"
|
|
||||||
cmd | getline commit
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
' .helpnewconfig
|
|
||||||
|
|
||||||
pushd "$tmpdir" &> /dev/null
|
|
||||||
rm fake_*
|
|
||||||
popd &> /dev/null
|
|
||||||
for f in "$tmpdir"/*; do
|
|
||||||
[[ -e "$f" ]] || break
|
|
||||||
cp "$f" "$SCRIPT_DIR/pending$FLAVOR/generic/"
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -rf "$tmpdir"
|
|
||||||
}
|
|
||||||
|
|
||||||
function commit_new_configs()
|
|
||||||
{
|
|
||||||
# assume we are in $source_tree/configs, need to get to top level
|
|
||||||
pushd "$(switch_to_toplevel)" &>/dev/null
|
|
||||||
|
|
||||||
for cfg in "$SCRIPT_DIR/${SPECPACKAGE_NAME}${KVERREL}"*.config
|
|
||||||
do
|
|
||||||
arch=$(head -1 "$cfg" | cut -b 3-)
|
|
||||||
cfgtmp="${cfg}.tmp"
|
|
||||||
cfgorig="${cfg}.orig"
|
|
||||||
cat "$cfg" > "$cfgorig"
|
|
||||||
|
|
||||||
if [ "$arch" = "EMPTY" ]
|
|
||||||
then
|
|
||||||
# This arch is intentionally left blank
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
echo -n "Checking for new configs in $cfg ... "
|
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig
|
|
||||||
grep -E 'CONFIG_' .listnewconfig > .newoptions
|
|
||||||
if test -s .newoptions
|
|
||||||
then
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig
|
|
||||||
parsenewconfigs
|
|
||||||
fi
|
|
||||||
rm .newoptions
|
|
||||||
echo "done"
|
|
||||||
done
|
|
||||||
|
|
||||||
git add "$SCRIPT_DIR/pending$FLAVOR"
|
|
||||||
git commit -m "[redhat] AUTOMATIC: New configs"
|
|
||||||
}
|
|
||||||
|
|
||||||
function process_config()
|
|
||||||
{
|
|
||||||
local cfg
|
|
||||||
local arch
|
|
||||||
local cfgtmp
|
|
||||||
local cfgorig
|
|
||||||
local count
|
|
||||||
local variant
|
|
||||||
|
|
||||||
cfg=$1
|
|
||||||
count=$2
|
|
||||||
|
|
||||||
arch=$(head -1 "$cfg" | cut -b 3-)
|
|
||||||
|
|
||||||
if [ "$arch" = "EMPTY" ]
|
|
||||||
then
|
|
||||||
# This arch is intentionally left blank
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
variant=$(basename "$cfg" | cut -d"-" -f3- | cut -d"." -f1)
|
|
||||||
|
|
||||||
cfgtmp="${cfg}.tmp"
|
|
||||||
cfgorig="${cfg}.orig"
|
|
||||||
cat "$cfg" > "$cfgorig"
|
|
||||||
|
|
||||||
echo "Processing $cfg ... "
|
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig"${count}"
|
|
||||||
grep -E 'CONFIG_' .listnewconfig"${count}" > .newoptions"${count}"
|
|
||||||
if test -n "$NEWOPTIONS" && test -s .newoptions"${count}"
|
|
||||||
then
|
|
||||||
echo "Found unset config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}"
|
|
||||||
cat .newoptions"${count}" >> .errors"${count}"
|
|
||||||
rm .newoptions"${count}"
|
|
||||||
RETURNCODE=1
|
|
||||||
fi
|
|
||||||
rm -f .newoptions"${count}"
|
|
||||||
|
|
||||||
grep -E 'config.*warning' .listnewconfig"${count}" > .warnings"${count}"
|
|
||||||
if test -n "$CHECKWARNINGS" && test -s .warnings"${count}"
|
|
||||||
then
|
|
||||||
echo "Found misconfigured config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}"
|
|
||||||
cat .warnings"${count}" >> .errors"${count}"
|
|
||||||
fi
|
|
||||||
rm .warnings"${count}"
|
|
||||||
|
|
||||||
rm .listnewconfig"${count}"
|
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1
|
|
||||||
echo "# $arch" > "$cfgtmp"
|
|
||||||
cat "$cfgorig" >> "$cfgtmp"
|
|
||||||
if test -n "$CHECKOPTIONS"
|
|
||||||
then
|
|
||||||
checkoptions "$cfg" "$cfgtmp" "$count" "$variant"
|
|
||||||
fi
|
|
||||||
# if test run, don't overwrite original
|
|
||||||
if test -n "$TESTRUN"
|
|
||||||
then
|
|
||||||
rm -f "$cfgtmp"
|
|
||||||
else
|
|
||||||
mv "$cfgtmp" "$cfg"
|
|
||||||
fi
|
|
||||||
rm -f "$cfgorig"
|
|
||||||
echo "Processing $cfg complete"
|
|
||||||
}
|
|
||||||
|
|
||||||
function process_configs()
|
|
||||||
{
|
|
||||||
# assume we are in $source_tree/configs, need to get to top level
|
|
||||||
pushd "$(switch_to_toplevel)" &>/dev/null
|
|
||||||
|
|
||||||
# The next line is throwaway code for transition to parallel
|
|
||||||
# processing. Leaving this line in place is harmless, but it can be
|
|
||||||
# removed the next time anyone updates this function.
|
|
||||||
[ -f .mismatches ] && rm -f .mismatches
|
|
||||||
|
|
||||||
count=0
|
|
||||||
for cfg in "$SCRIPT_DIR/${SPECPACKAGE_NAME}${KVERREL}"*.config
|
|
||||||
do
|
|
||||||
if [ "$count" -eq 0 ]; then
|
|
||||||
# do the first one by itself so that tools are built
|
|
||||||
process_config "$cfg" "$count"
|
|
||||||
fi
|
|
||||||
process_config "$cfg" "$count" &
|
|
||||||
# shellcheck disable=SC2004
|
|
||||||
waitpids[${count}]=$!
|
|
||||||
((count++))
|
|
||||||
while [ "$(jobs | grep -c Running)" -ge "$RHJOBS" ]; do :; done
|
|
||||||
done
|
|
||||||
# shellcheck disable=SC2048
|
|
||||||
for pid in ${waitpids[*]}; do
|
|
||||||
wait "${pid}"
|
|
||||||
done
|
|
||||||
|
|
||||||
rm "$SCRIPT_DIR"/*.config*.old
|
|
||||||
|
|
||||||
if ls .errors* 1> /dev/null 2>&1; then
|
|
||||||
RETURNCODE=1
|
|
||||||
cat .errors*
|
|
||||||
rm .errors* -f
|
|
||||||
fi
|
|
||||||
if ls .mismatches* 1> /dev/null 2>&1; then
|
|
||||||
RETURNCODE=1
|
|
||||||
cat .mismatches*
|
|
||||||
rm .mismatches* -f
|
|
||||||
fi
|
|
||||||
|
|
||||||
popd > /dev/null
|
|
||||||
|
|
||||||
[ $RETURNCODE -eq 0 ] && echo "Processed config files are in $SCRIPT_DIR"
|
|
||||||
}
|
|
||||||
|
|
||||||
CHECKOPTIONS=""
|
|
||||||
NEWOPTIONS=""
|
|
||||||
TESTRUN=""
|
|
||||||
CHECKWARNINGS=""
|
|
||||||
MAKEOPTS=""
|
|
||||||
CC_IS_CLANG=0
|
|
||||||
|
|
||||||
RETURNCODE=0
|
|
||||||
|
|
||||||
while [[ $# -gt 0 ]]
|
|
||||||
do
|
|
||||||
key="$1"
|
|
||||||
case $key in
|
|
||||||
-a)
|
|
||||||
CHECKOPTIONS="x"
|
|
||||||
NEWOPTIONS="x"
|
|
||||||
CHECKWARNINGS="x"
|
|
||||||
;;
|
|
||||||
-c)
|
|
||||||
CHECKOPTIONS="x"
|
|
||||||
;;
|
|
||||||
-h)
|
|
||||||
usage
|
|
||||||
;;
|
|
||||||
-n)
|
|
||||||
NEWOPTIONS="x"
|
|
||||||
;;
|
|
||||||
-t)
|
|
||||||
TESTRUN="x"
|
|
||||||
;;
|
|
||||||
-w)
|
|
||||||
CHECKWARNINGS="x"
|
|
||||||
;;
|
|
||||||
-z)
|
|
||||||
COMMITNEWCONFIGS="x"
|
|
||||||
;;
|
|
||||||
-m)
|
|
||||||
shift
|
|
||||||
if [ "$1" = "CC=clang" ] || [ "$1" = "LLVM=1" ]; then
|
|
||||||
CC_IS_CLANG=1
|
|
||||||
fi
|
|
||||||
MAKEOPTS="$MAKEOPTS $1"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
break;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
KVERREL="$(test -n "$1" && echo "-$1" || echo "")"
|
|
||||||
FLAVOR="$(test -n "$2" && echo "-$2" || echo "-rhel")"
|
|
||||||
# shellcheck disable=SC2015
|
|
||||||
SCRIPT=$(readlink -f "$0")
|
|
||||||
SCRIPT_DIR=$(dirname "$SCRIPT")
|
|
||||||
|
|
||||||
# Config options for RHEL should target the pending-rhel directory, not pending-common.
|
|
||||||
if [ "$FLAVOR" = "-rhel" ]
|
|
||||||
then
|
|
||||||
FLAVOR="-rhel"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# to handle this script being a symlink
|
|
||||||
cd "$SCRIPT_DIR"
|
|
||||||
|
|
||||||
if test -n "$COMMITNEWCONFIGS"; then
|
|
||||||
commit_new_configs
|
|
||||||
else
|
|
||||||
process_configs
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit $RETURNCODE
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,66 +0,0 @@
|
||||||
# additional rpminspect configuration for this branch
|
|
||||||
|
|
||||||
---
|
|
||||||
inspections:
|
|
||||||
abidiff: off
|
|
||||||
kmidiff: off
|
|
||||||
upstream: off
|
|
||||||
subpackages: off
|
|
||||||
license: off
|
|
||||||
debuginfo: off
|
|
||||||
removedfiles: off
|
|
||||||
|
|
||||||
badfuncs:
|
|
||||||
ignore:
|
|
||||||
- /usr/libexec/ksamples/*
|
|
||||||
- /usr/libexec/kselftests/*
|
|
||||||
|
|
||||||
emptyrpm:
|
|
||||||
expected_empty:
|
|
||||||
- kernel
|
|
||||||
- kernel-debug
|
|
||||||
- kernel-debug-devel-matched
|
|
||||||
- kernel-devel-matched
|
|
||||||
- kernel-zfcpdump
|
|
||||||
- kernel-zfcpdump-devel-matched
|
|
||||||
- kernel-zfcpdump-modules
|
|
||||||
- kernel-zfcpdump-modules-partner
|
|
||||||
- kernel-rt
|
|
||||||
- kernel-rt-debug
|
|
||||||
- kernel-rt-debug-devel-matched
|
|
||||||
- kernel-rt-devel-matched
|
|
||||||
- kernel-64k
|
|
||||||
- kernel-64k-debug
|
|
||||||
- kernel-64k-debug-devel-matched
|
|
||||||
- kernel-64k-devel-matched
|
|
||||||
- kernel-rt-64k
|
|
||||||
- kernel-rt-64k-debug
|
|
||||||
- kernel-rt-64k-debug-devel-matched
|
|
||||||
- kernel-rt-64k-devel-matched
|
|
||||||
|
|
||||||
patches:
|
|
||||||
ignore_list:
|
|
||||||
- linux-kernel-test.patch
|
|
||||||
- patch-6.12-redhat.patch
|
|
||||||
- patch-%{patchversion}-redhat.patch
|
|
||||||
|
|
||||||
runpath:
|
|
||||||
ignore:
|
|
||||||
- /usr/libexec/kselftests/bpf/urandom_read
|
|
||||||
- /usr/libexec/kselftests/bpf/no_alu32/urandom_read
|
|
||||||
- /usr/libexec/kselftests/bpf/cpuv4/urandom_read
|
|
||||||
|
|
||||||
debuginfo:
|
|
||||||
ignore:
|
|
||||||
- /usr/libexec/kselftests/bpf/*
|
|
||||||
- /usr/lib/debug/usr/libexec/perf-core/tests/shell/coresight/*
|
|
||||||
|
|
||||||
elf:
|
|
||||||
ignore:
|
|
||||||
- /usr/libexec/kselftests/*
|
|
||||||
- /usr/libexec/perf-core/tests/shell/coresight/*
|
|
||||||
- /usr/lib/debug/usr/libexec/perf-core/tests/shell/coresight/*
|
|
||||||
|
|
||||||
annocheck:
|
|
||||||
ignore:
|
|
||||||
- /usr/libexec/kselftests/*
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
|
|
||||||
kernel-uki-virt-addons.@SBAT_SUFFIX,1,Red Hat,kernel-uki-virt-addons,@KVER,mailto:secalert@redhat.com
|
|
||||||
kernel-uki-virt-addons.almalinux,1,AlmaLinux,kernel-uki-virt-addons,@KVER,mailto:security@almalinux.org
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
|
|
||||||
kernel-uki-virt.@SBAT_SUFFIX,1,Red Hat,kernel-uki-virt,@KVER,mailto:secalert@redhat.com
|
|
||||||
kernel-uki-virt.almalinux,1,AlmaLinux,kernel-uki-virt,@KVER,mailto:security@almalinux.org
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
{
|
|
||||||
"common": {
|
|
||||||
"crashkernel-1536M.addon": [
|
|
||||||
"crashkernel=1536M\n"
|
|
||||||
],
|
|
||||||
"crashkernel-192M.addon": [
|
|
||||||
"crashkernel=192M\n"
|
|
||||||
],
|
|
||||||
"crashkernel-1G.addon": [
|
|
||||||
"crashkernel=1G\n"
|
|
||||||
],
|
|
||||||
"crashkernel-256M.addon": [
|
|
||||||
"crashkernel=256M\n"
|
|
||||||
],
|
|
||||||
"crashkernel-2G.addon": [
|
|
||||||
"crashkernel=2G\n"
|
|
||||||
],
|
|
||||||
"crashkernel-512M.addon": [
|
|
||||||
"crashkernel=512M\n"
|
|
||||||
],
|
|
||||||
"crashkernel-default.addon": [
|
|
||||||
"crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M\n"
|
|
||||||
],
|
|
||||||
"debug.addon": [
|
|
||||||
"debug"
|
|
||||||
],
|
|
||||||
"systemd-volatile-overlay.addon": [
|
|
||||||
"systemd.volatile=overlay"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"virt": {
|
|
||||||
"common": {
|
|
||||||
"fips-disable.addon": [
|
|
||||||
"fips=0\n"
|
|
||||||
],
|
|
||||||
"fips-enable.addon": [
|
|
||||||
"fips=1\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rhel": {
|
|
||||||
"aarch64": {
|
|
||||||
"crashkernel-default.addon": [
|
|
||||||
"crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,136 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# This script inspects a given json proving a list of addons, and
|
|
||||||
# creates an addon for each key/value pair matching the given uki, distro and
|
|
||||||
# arch provided in input.
|
|
||||||
#
|
|
||||||
# Usage: python uki_create_addons.py input_json out_dir uki distro arch [sbat]
|
|
||||||
#
|
|
||||||
# This tool requires the systemd-ukify and systemd-boot packages.
|
|
||||||
#
|
|
||||||
# Addon file
|
|
||||||
#-----------
|
|
||||||
# Each addon terminates with .addon
|
|
||||||
# Each addon contains only two types of lines:
|
|
||||||
# Lines beginning with '#' are description and thus ignored
|
|
||||||
# All other lines are command line to be added.
|
|
||||||
# The name of the end resulting addon is taken from the json hierarchy.
|
|
||||||
# For example, and addon in json['virt']['rhel']['x86_64']['hello.addon'] will
|
|
||||||
# result in an UKI addon file generated in out_dir called
|
|
||||||
# hello-virt.rhel.x86_64.addon.efi
|
|
||||||
#
|
|
||||||
# The common key, present in any sub-dict in the provided json (except the leaf dict)
|
|
||||||
# is used as place for default addons when the same addon is not defined deep
|
|
||||||
# in the hierarchy. For example, if we define test.addon (text: 'test1\n') in
|
|
||||||
# json['common']['test.addon'] = ['test1\n'] and another test.addon (text: test2) in
|
|
||||||
# json['virt']['common']['test.addon'] = ['test2'], any other uki except virt
|
|
||||||
# will have a test.addon.efi with text "test1", and virt will have a
|
|
||||||
# test.addon.efi with "test2"
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import json
|
|
||||||
import collections
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
|
|
||||||
UKIFY_PATH = '/usr/lib/systemd/ukify'
|
|
||||||
|
|
||||||
def usage(err):
|
|
||||||
print(f'Usage: {os.path.basename(__file__)} input_json output_dir uki distro arch [sbat]')
|
|
||||||
print(f'Error:{err}')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
def check_clean_arguments(input_json, out_dir):
|
|
||||||
# Remove end '/'
|
|
||||||
if out_dir[-1:] == '/':
|
|
||||||
out_dir = out_dir[:-1]
|
|
||||||
if not os.path.isfile(input_json):
|
|
||||||
usage(f'input_json {input_json} is not a file, or does not exist!')
|
|
||||||
if not os.path.isdir(out_dir):
|
|
||||||
usage(f'out_dir_dir {out_dir} is not a dir, or does not exist!')
|
|
||||||
return out_dir
|
|
||||||
|
|
||||||
UKICmdlineAddon = collections.namedtuple('UKICmdlineAddon', ['name', 'cmdline'])
|
|
||||||
uki_addons_list = []
|
|
||||||
uki_addons = {}
|
|
||||||
|
|
||||||
def parse_lines(lines):
|
|
||||||
cmdline = ''
|
|
||||||
for l in lines:
|
|
||||||
l = l.lstrip()
|
|
||||||
if not l:
|
|
||||||
continue
|
|
||||||
if l[0] == '#':
|
|
||||||
continue
|
|
||||||
cmdline += l.rstrip() + ' '
|
|
||||||
if cmdline == '':
|
|
||||||
return ''
|
|
||||||
return cmdline
|
|
||||||
|
|
||||||
def parse_all_addons(in_obj):
|
|
||||||
for el in in_obj.keys():
|
|
||||||
# addon found: copy it in our global dict uki_addons
|
|
||||||
if el.endswith('.addon'):
|
|
||||||
uki_addons[el] = in_obj[el]
|
|
||||||
|
|
||||||
def recursively_find_addons(in_obj, folder_list):
|
|
||||||
# end of recursion, leaf directory. Search all addons here
|
|
||||||
if len(folder_list) == 0:
|
|
||||||
parse_all_addons(in_obj)
|
|
||||||
return
|
|
||||||
|
|
||||||
# first, check for common folder
|
|
||||||
if 'common' in in_obj:
|
|
||||||
parse_all_addons(in_obj['common'])
|
|
||||||
|
|
||||||
# second, check if there is a match with the searched folder
|
|
||||||
if folder_list[0] in in_obj:
|
|
||||||
folder_next = in_obj[folder_list[0]]
|
|
||||||
folder_list = folder_list[1:]
|
|
||||||
recursively_find_addons(folder_next, folder_list)
|
|
||||||
|
|
||||||
def parse_in_json(in_json, uki_name, distro, arch):
|
|
||||||
with open(in_json, 'r') as f:
|
|
||||||
in_obj = json.load(f)
|
|
||||||
recursively_find_addons(in_obj, [uki_name, distro, arch])
|
|
||||||
|
|
||||||
for addon_name, cmdline in uki_addons.items():
|
|
||||||
addon_name = addon_name.replace(".addon","")
|
|
||||||
addon_full_name = f'{addon_name}-{uki_name}.{distro}.{arch}.addon.efi'
|
|
||||||
cmdline = parse_lines(cmdline).rstrip()
|
|
||||||
if cmdline:
|
|
||||||
uki_addons_list.append(UKICmdlineAddon(addon_full_name, cmdline))
|
|
||||||
|
|
||||||
def create_addons(out_dir, sbat):
|
|
||||||
for uki_addon in uki_addons_list:
|
|
||||||
out_path = os.path.join(out_dir, uki_addon.name)
|
|
||||||
cmd = [
|
|
||||||
f'{UKIFY_PATH}', 'build',
|
|
||||||
'--cmdline', uki_addon.cmdline,
|
|
||||||
'--output', out_path]
|
|
||||||
if sbat:
|
|
||||||
cmd.extend(['--sbat', sbat.rstrip()])
|
|
||||||
|
|
||||||
subprocess.check_call(cmd, text=True)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
argc = len(sys.argv) - 1
|
|
||||||
if argc < 5 or argc > 6:
|
|
||||||
usage('too few or too many parameters!')
|
|
||||||
|
|
||||||
input_json = sys.argv[1]
|
|
||||||
out_dir = sys.argv[2]
|
|
||||||
uki_name = sys.argv[3]
|
|
||||||
distro = sys.argv[4]
|
|
||||||
arch = sys.argv[5]
|
|
||||||
|
|
||||||
custom_sbat = None
|
|
||||||
if argc == 6:
|
|
||||||
custom_sbat = sys.argv[6]
|
|
||||||
|
|
||||||
out_dir = check_clean_arguments(input_json, out_dir)
|
|
||||||
parse_in_json(input_json, uki_name, distro, arch)
|
|
||||||
create_addons(out_dir, custom_sbat)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
[ req ]
|
|
||||||
default_bits = 3072
|
|
||||||
distinguished_name = req_distinguished_name
|
|
||||||
prompt = no
|
|
||||||
x509_extensions = myexts
|
|
||||||
|
|
||||||
[ req_distinguished_name ]
|
|
||||||
O = AlmaLinux
|
|
||||||
CN = AlmaLinux kernel signing key
|
|
||||||
emailAddress = security@almalinux.org
|
|
||||||
|
|
||||||
[ myexts ]
|
|
||||||
basicConstraints=critical,CA:FALSE
|
|
||||||
keyUsage=digitalSignature
|
|
||||||
subjectKeyIdentifier=hash
|
|
||||||
authorityKeyIdentifier=keyid
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
[ req ]
|
|
||||||
default_bits = 3072
|
|
||||||
distinguished_name = req_distinguished_name
|
|
||||||
prompt = no
|
|
||||||
x509_extensions = myexts
|
|
||||||
|
|
||||||
[ req_distinguished_name ]
|
|
||||||
O = AlmaLinux
|
|
||||||
CN = AlmaLinux kernel signing key
|
|
||||||
emailAddress = security@almalinux.org
|
|
||||||
|
|
||||||
[ myexts ]
|
|
||||||
basicConstraints=critical,CA:FALSE
|
|
||||||
keyUsage=digitalSignature
|
|
||||||
subjectKeyIdentifier=hash
|
|
||||||
authorityKeyIdentifier=keyid
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
From 870b8717b25eceadac8dd653debe8346826227cb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dave Airlie <airlied@redhat.com>
|
|
||||||
Date: Mon, 9 Jun 2025 09:19:28 +1000
|
|
||||||
Subject: [PATCH] Revert "hasvk/elk: stop turning load_push_constants into
|
|
||||||
load_uniform"
|
|
||||||
|
|
||||||
This reverts commit b036d2ded2de32e81730ec8ce37c803bad112efa.
|
|
||||||
|
|
||||||
This seems to break gtk4 and other stuff.
|
|
||||||
|
|
||||||
Cc: mesa-stable
|
|
||||||
(taking ack from Lionel saying we should revert)
|
|
||||||
|
|
||||||
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35407>
|
|
||||||
---
|
|
||||||
src/intel/compiler/elk/elk_fs_nir.cpp | 4 ++--
|
|
||||||
src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c | 6 +++---
|
|
||||||
src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c | 3 +--
|
|
||||||
3 files changed, 6 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/intel/compiler/elk/elk_fs_nir.cpp b/src/intel/compiler/elk/elk_fs_nir.cpp
|
|
||||||
index 459e2d966b7..6b78d6cf9f8 100644
|
|
||||||
--- a/src/intel/compiler/elk/elk_fs_nir.cpp
|
|
||||||
+++ b/src/intel/compiler/elk/elk_fs_nir.cpp
|
|
||||||
@@ -4969,8 +4969,7 @@ fs_nir_emit_intrinsic(nir_to_elk_state &ntb,
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
- case nir_intrinsic_load_uniform:
|
|
||||||
- case nir_intrinsic_load_push_constant: {
|
|
||||||
+ case nir_intrinsic_load_uniform: {
|
|
||||||
/* Offsets are in bytes but they should always aligned to
|
|
||||||
* the type size
|
|
||||||
*/
|
|
||||||
@@ -7058,3 +7057,4 @@ nir_to_elk(elk_fs_visitor *s)
|
|
||||||
|
|
||||||
ralloc_free(ntb.mem_ctx);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
diff --git a/src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c b/src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c
|
|
||||||
index 2bedf9017ed..1c613a9ebe7 100644
|
|
||||||
--- a/src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c
|
|
||||||
+++ b/src/intel/vulkan_hasvk/anv_nir_apply_pipeline_layout.c
|
|
||||||
@@ -463,9 +463,9 @@ build_buffer_addr_for_res_index(nir_builder *b,
|
|
||||||
nir_iadd(b, res.dyn_offset_base, res.array_index);
|
|
||||||
|
|
||||||
nir_def *dyn_load =
|
|
||||||
- nir_load_uniform(b, 1, 32, nir_imul_imm(b, dyn_offset_idx, 4),
|
|
||||||
- .base = offsetof(struct anv_push_constants, dynamic_offsets),
|
|
||||||
- .range = MAX_DYNAMIC_BUFFERS * 4);
|
|
||||||
+ nir_load_push_constant(b, 1, 32, nir_imul_imm(b, dyn_offset_idx, 4),
|
|
||||||
+ .base = offsetof(struct anv_push_constants, dynamic_offsets),
|
|
||||||
+ .range = MAX_DYNAMIC_BUFFERS * 4);
|
|
||||||
|
|
||||||
nir_def *dynamic_offset =
|
|
||||||
nir_bcsel(b, nir_ieq_imm(b, res.dyn_offset_base, 0xff),
|
|
||||||
diff --git a/src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c b/src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c
|
|
||||||
index ed314af8b98..8a3f83f2c26 100644
|
|
||||||
--- a/src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c
|
|
||||||
+++ b/src/intel/vulkan_hasvk/anv_nir_compute_push_layout.c
|
|
||||||
@@ -55,7 +55,6 @@ anv_nir_compute_push_layout(nir_shader *nir,
|
|
||||||
has_const_ubo = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
- case nir_intrinsic_load_uniform:
|
|
||||||
case nir_intrinsic_load_push_constant: {
|
|
||||||
unsigned base = nir_intrinsic_base(intrin);
|
|
||||||
unsigned range = nir_intrinsic_range(intrin);
|
|
||||||
@@ -132,7 +131,6 @@ anv_nir_compute_push_layout(nir_shader *nir,
|
|
||||||
|
|
||||||
nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
|
|
||||||
switch (intrin->intrinsic) {
|
|
||||||
- case nir_intrinsic_load_uniform:
|
|
||||||
case nir_intrinsic_load_push_constant: {
|
|
||||||
/* With bindless shaders we load uniforms with SEND
|
|
||||||
* messages. All the push constants are located after the
|
|
||||||
@@ -141,6 +139,7 @@ anv_nir_compute_push_layout(nir_shader *nir,
|
|
||||||
* elk_nir_lower_rt_intrinsics.c).
|
|
||||||
*/
|
|
||||||
unsigned base_offset = push_start;
|
|
||||||
+ intrin->intrinsic = nir_intrinsic_load_uniform;
|
|
||||||
nir_intrinsic_set_base(intrin,
|
|
||||||
nir_intrinsic_base(intrin) -
|
|
||||||
base_offset);
|
|
||||||
--
|
|
||||||
2.49.0
|
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@ Name: mesa
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
%global ver 25.0.7
|
%global ver 25.0.7
|
||||||
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||||
Release: 11.clang.skylake%{?dist}
|
Release: 10.clang.skylake%{?dist}
|
||||||
License: MIT AND BSD-3-Clause AND SGI-B-2.0
|
License: MIT AND BSD-3-Clause AND SGI-B-2.0
|
||||||
URL: http://www.mesa3d.org
|
URL: http://www.mesa3d.org
|
||||||
|
|
||||||
|
|
@ -114,9 +114,6 @@ Patch32: 0001-vulkan-wsi-wayland-make-needs_color_surface_old_check_if.pa
|
||||||
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/13009
|
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/13009
|
||||||
Patch40: 0001-Revert-kopper-Explicitly-choose-zink.patch
|
Patch40: 0001-Revert-kopper-Explicitly-choose-zink.patch
|
||||||
|
|
||||||
# Upstream revert for gtk corruption on haswell
|
|
||||||
Patch50: 0001-Revert-hasvk-elk-stop-turning-load_push_constants-in.patch
|
|
||||||
|
|
||||||
BuildRequires: meson >= 1.3.0
|
BuildRequires: meson >= 1.3.0
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
Summary: Xwayland
|
Summary: Xwayland
|
||||||
Name: xorg-x11-server-Xwayland
|
Name: xorg-x11-server-Xwayland
|
||||||
Version: 24.1.8
|
Version: 24.1.6
|
||||||
Release: 10.clang.skylake%{?dist}
|
Release: 10.clang.skylake%{?dist}
|
||||||
|
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue