mirror of
https://github.com/andersrh/copr-andersrh.git
synced 2026-05-17 13:58:01 +00:00
Compare commits
59 commits
mesa-polly
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52fe05d0fd | ||
|
|
0a82a4fc35 | ||
|
|
7894e05f61 | ||
|
|
7c0b566a47 | ||
|
|
127e7a5801 | ||
|
|
14d1ffbabc | ||
|
|
c0b31d4fd3 | ||
|
|
3be46a34cf | ||
|
|
f6146ac02d | ||
|
|
bfbab4de41 | ||
|
|
23c0c62331 | ||
|
|
bc8ec66916 | ||
|
|
4842b282dd | ||
|
|
1301145e2c | ||
|
|
da19a137fa | ||
|
|
fa9307b733 | ||
|
|
3bcf5ee02e |
||
|
|
6716c9e73b | ||
|
|
7c73c4a9de | ||
|
|
9f4108ca27 | ||
|
|
6311079c2e | ||
|
|
51ed5c1789 | ||
|
|
3af8bcb07f | ||
|
|
9d1be5e796 | ||
|
|
605f26a3d3 | ||
|
|
c6d98f3939 | ||
|
|
18f4802a70 | ||
|
|
c835495be5 | ||
|
|
6c5bf0b04b | ||
|
|
08a39f8f43 | ||
|
|
eaf65883a5 | ||
|
|
c08bbb18ff | ||
|
|
7983c69f05 | ||
|
|
555b9ad8ee | ||
|
|
27ac3291f2 |
||
|
|
2fd8919b76 |
||
|
|
fd87efd4d9 | ||
|
|
31bf4ce9a2 | ||
|
|
a4750d3988 | ||
|
|
07a043bce7 | ||
|
|
8f4d18d857 | ||
|
|
2d27944bb8 | ||
|
|
0d2be5e58a | ||
|
|
20a96698da | ||
|
|
f19b145f66 | ||
|
|
dee606d44a | ||
|
|
ea7a303bd3 | ||
|
|
f518bd93de | ||
|
|
0737e49c42 | ||
|
|
6b00f91ce2 | ||
|
|
c213d8bcd2 | ||
|
|
883401570d | ||
|
|
4a3483bab7 | ||
|
|
ad931d679b | ||
|
|
710a9d0cf1 | ||
|
|
ad6202ef66 | ||
|
|
ce6433f7bf | ||
|
|
3271a17291 | ||
|
|
a3433a33c5 |
99 changed files with 230009 additions and 10 deletions
135
SonicDE/sonic-interface-libraries.spec
Normal file
135
SonicDE/sonic-interface-libraries.spec
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
%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)
|
||||
205
SonicDE/sonic-win.spec
Normal file
205
SonicDE/sonic-win.spec
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
%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)
|
||||
268
SonicDE/sonic-workspace.spec
Normal file
268
SonicDE/sonic-workspace.spec
Normal file
|
|
@ -0,0 +1,268 @@
|
|||
%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)
|
||||
|
|
@ -95,7 +95,6 @@ BuildRequires: gcc
|
|||
BuildRequires: gcc-c++
|
||||
BuildRequires: clang
|
||||
BuildRequires: lld
|
||||
BuildRequires: polly
|
||||
BuildRequires: gettext
|
||||
%if 0%{?with_hardware}
|
||||
BuildRequires: kernel-headers
|
||||
|
|
@ -410,7 +409,7 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
|
|||
%rewrite_wrap_file paste
|
||||
%endif
|
||||
|
||||
CFLAGS="$CFLAGS -march=skylake -mtune=skylake -O3 -fplugin=/usr/lib64/llvm19/lib/libPolly.so.19.1 -mllvm -polly" CXXFLAGS="$CXXFLAGS -march=skylake -mtune=skylake -O3 -fplugin=/usr/lib64/llvm19/lib/libPolly.so.19.1 -mllvm -polly" %meson \
|
||||
CFLAGS="$CFLAGS -march=skylake -mtune=skylake -O3" CXXFLAGS="$CXXFLAGS -march=skylake -mtune=skylake -O3" %meson \
|
||||
-Dplatforms=x11,wayland \
|
||||
-Dosmesa=true \
|
||||
--buildtype=release \
|
||||
|
|
|
|||
497
my-ostree-os/kernel-cachyos-lto-skylake-614.spec
Normal file
497
my-ostree-os/kernel-cachyos-lto-skylake-614.spec
Normal file
|
|
@ -0,0 +1,497 @@
|
|||
# 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
|
||||
493
my-ostree-os/kernel-cachyos-lto-skylake-test-616.spec
Normal file
493
my-ostree-os/kernel-cachyos-lto-skylake-test-616.spec
Normal file
|
|
@ -0,0 +1,493 @@
|
|||
# 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
|
||||
493
my-ostree-os/kernel-cachyos-lto-skylake-test.spec
Normal file
493
my-ostree-os/kernel-cachyos-lto-skylake-test.spec
Normal file
|
|
@ -0,0 +1,493 @@
|
|||
# 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
|
||||
491
my-ostree-os/kernel-cachyos-lto-skylake.spec
Normal file
491
my-ostree-os/kernel-cachyos-lto-skylake.spec
Normal file
|
|
@ -0,0 +1,491 @@
|
|||
# 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
|
||||
%define _basekver 6.12
|
||||
%define _stablekver 32
|
||||
%define _stablekver 57
|
||||
%define _rpmver %{version}-%{release}
|
||||
%define _kver %{_rpmver}.%{_arch}
|
||||
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
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: cachylts4%{?_lto_args:.lto}.skylake%{?dist}
|
||||
Release: cachylts1%{?_lto_args:.lto}.skylake%{?dist}
|
||||
License: GPL-2.0-only
|
||||
URL: https://cachyos.org
|
||||
|
||||
|
|
@ -107,7 +107,6 @@ BuildRequires: python-srpm-macros
|
|||
BuildRequires: clang
|
||||
BuildRequires: lld
|
||||
BuildRequires: llvm
|
||||
BuildRequires: polly
|
||||
%endif
|
||||
|
||||
%if %{_build_nv}
|
||||
|
|
@ -134,9 +133,10 @@ 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
|
||||
|
||||
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}
|
||||
Patch10: %{_patch_src}/misc/nvidia/%{?_nv_old:565}/0001-Make-modeset-and-fbdev-default-enabled.patch
|
||||
%if 0%{?fedora} < 42
|
||||
|
|
@ -187,7 +187,6 @@ Patch13: %{_patch_src}/misc/nvidia/565/0005-nvkms-Sanitize-trim-ELD-produ
|
|||
|
||||
%if %{_build_lto}
|
||||
scripts/config -e LTO_CLANG_THIN
|
||||
scripts/config -e POLLY_CLANG
|
||||
%endif
|
||||
|
||||
%if %{_build_minimal}
|
||||
|
|
|
|||
3
my-ostree-os/kernel/.gitignore
vendored
Normal file
3
my-ostree-os/kernel/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
kernel-abi-stablelists-*.tar.xz
|
||||
kernel-kabi-dw-*.tar.xz
|
||||
linux-*.tar.xz
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
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
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
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
|
||||
|
||||
90
my-ostree-os/kernel/Makefile.rhelver
Normal file
90
my-ostree-os/kernel/Makefile.rhelver
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
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
|
||||
1332
my-ostree-os/kernel/Module.kabi_aarch64
Normal file
1332
my-ostree-os/kernel/Module.kabi_aarch64
Normal file
File diff suppressed because it is too large
Load diff
0
my-ostree-os/kernel/Module.kabi_dup_aarch64
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_aarch64
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_ppc64le
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_ppc64le
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_riscv64
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_riscv64
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_s390x
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_s390x
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_x86_64
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_x86_64
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_x86_64_v2
Normal file
0
my-ostree-os/kernel/Module.kabi_dup_x86_64_v2
Normal file
1325
my-ostree-os/kernel/Module.kabi_ppc64le
Normal file
1325
my-ostree-os/kernel/Module.kabi_ppc64le
Normal file
File diff suppressed because it is too large
Load diff
0
my-ostree-os/kernel/Module.kabi_riscv64
Normal file
0
my-ostree-os/kernel/Module.kabi_riscv64
Normal file
1262
my-ostree-os/kernel/Module.kabi_s390x
Normal file
1262
my-ostree-os/kernel/Module.kabi_s390x
Normal file
File diff suppressed because it is too large
Load diff
1425
my-ostree-os/kernel/Module.kabi_x86_64
Normal file
1425
my-ostree-os/kernel/Module.kabi_x86_64
Normal file
File diff suppressed because it is too large
Load diff
1425
my-ostree-os/kernel/Module.kabi_x86_64_v2
Normal file
1425
my-ostree-os/kernel/Module.kabi_x86_64_v2
Normal file
File diff suppressed because it is too large
Load diff
25
my-ostree-os/kernel/README.rst
Normal file
25
my-ostree-os/kernel/README.rst
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
===================
|
||||
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
|
||||
BIN
my-ostree-os/kernel/almalinuxdup1.x509
Normal file
BIN
my-ostree-os/kernel/almalinuxdup1.x509
Normal file
Binary file not shown.
BIN
my-ostree-os/kernel/almalinuxima.x509
Normal file
BIN
my-ostree-os/kernel/almalinuxima.x509
Normal file
Binary file not shown.
BIN
my-ostree-os/kernel/almalinuximaca1.x509
Normal file
BIN
my-ostree-os/kernel/almalinuximaca1.x509
Normal file
Binary file not shown.
BIN
my-ostree-os/kernel/almalinuxkpatch1.x509
Normal file
BIN
my-ostree-os/kernel/almalinuxkpatch1.x509
Normal file
Binary file not shown.
BIN
my-ostree-os/kernel/almalinuxnvidia1.x509
Normal file
BIN
my-ostree-os/kernel/almalinuxnvidia1.x509
Normal file
Binary file not shown.
166
my-ostree-os/kernel/check-kabi
Executable file
166
my-ostree-os/kernel/check-kabi
Executable file
|
|
@ -0,0 +1,166 @@
|
|||
#!/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)
|
||||
487
my-ostree-os/kernel/def_variants.yaml.rhel
Normal file
487
my-ostree-os/kernel/def_variants.yaml.rhel
Normal file
|
|
@ -0,0 +1,487 @@
|
|||
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
|
||||
53
my-ostree-os/kernel/dracut-virt.conf
Normal file
53
my-ostree-os/kernel/dracut-virt.conf
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# 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 "
|
||||
1096
my-ostree-os/kernel/filtermods.py
Executable file
1096
my-ostree-os/kernel/filtermods.py
Executable file
File diff suppressed because it is too large
Load diff
1
my-ostree-os/kernel/flavors
Normal file
1
my-ostree-os/kernel/flavors
Normal file
|
|
@ -0,0 +1 @@
|
|||
rhel
|
||||
26
my-ostree-os/kernel/gating.yaml
Normal file
26
my-ostree-os/kernel/gating.yaml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
--- !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}
|
||||
38
my-ostree-os/kernel/generate_all_configs.sh
Executable file
38
my-ostree-os/kernel/generate_all_configs.sh
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#!/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
|
||||
8467
my-ostree-os/kernel/kernel-aarch64-64k-debug-rhel.config
Normal file
8467
my-ostree-os/kernel/kernel-aarch64-64k-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8442
my-ostree-os/kernel/kernel-aarch64-64k-rhel.config
Normal file
8442
my-ostree-os/kernel/kernel-aarch64-64k-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8463
my-ostree-os/kernel/kernel-aarch64-debug-rhel.config
Normal file
8463
my-ostree-os/kernel/kernel-aarch64-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8438
my-ostree-os/kernel/kernel-aarch64-rhel.config
Normal file
8438
my-ostree-os/kernel/kernel-aarch64-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8522
my-ostree-os/kernel/kernel-aarch64-rt-64k-debug-rhel.config
Normal file
8522
my-ostree-os/kernel/kernel-aarch64-rt-64k-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8497
my-ostree-os/kernel/kernel-aarch64-rt-64k-rhel.config
Normal file
8497
my-ostree-os/kernel/kernel-aarch64-rt-64k-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8518
my-ostree-os/kernel/kernel-aarch64-rt-debug-rhel.config
Normal file
8518
my-ostree-os/kernel/kernel-aarch64-rt-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8493
my-ostree-os/kernel/kernel-aarch64-rt-rhel.config
Normal file
8493
my-ostree-os/kernel/kernel-aarch64-rt-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
2
my-ostree-os/kernel/kernel-local
Normal file
2
my-ostree-os/kernel/kernel-local
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# 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.
|
||||
7893
my-ostree-os/kernel/kernel-ppc64le-debug-rhel.config
Normal file
7893
my-ostree-os/kernel/kernel-ppc64le-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
7870
my-ostree-os/kernel/kernel-ppc64le-rhel.config
Normal file
7870
my-ostree-os/kernel/kernel-ppc64le-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
7875
my-ostree-os/kernel/kernel-s390x-debug-rhel.config
Normal file
7875
my-ostree-os/kernel/kernel-s390x-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
7852
my-ostree-os/kernel/kernel-s390x-rhel.config
Normal file
7852
my-ostree-os/kernel/kernel-s390x-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
7873
my-ostree-os/kernel/kernel-s390x-zfcpdump-rhel.config
Normal file
7873
my-ostree-os/kernel/kernel-s390x-zfcpdump-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8372
my-ostree-os/kernel/kernel-x86_64-debug-rhel.config
Normal file
8372
my-ostree-os/kernel/kernel-x86_64-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8348
my-ostree-os/kernel/kernel-x86_64-rhel.config
Normal file
8348
my-ostree-os/kernel/kernel-x86_64-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8428
my-ostree-os/kernel/kernel-x86_64-rt-debug-rhel.config
Normal file
8428
my-ostree-os/kernel/kernel-x86_64-rt-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8404
my-ostree-os/kernel/kernel-x86_64-rt-rhel.config
Normal file
8404
my-ostree-os/kernel/kernel-x86_64-rt-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8372
my-ostree-os/kernel/kernel-x86_64_v2-debug-rhel.config
Normal file
8372
my-ostree-os/kernel/kernel-x86_64_v2-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8348
my-ostree-os/kernel/kernel-x86_64_v2-rhel.config
Normal file
8348
my-ostree-os/kernel/kernel-x86_64_v2-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8428
my-ostree-os/kernel/kernel-x86_64_v2-rt-debug-rhel.config
Normal file
8428
my-ostree-os/kernel/kernel-x86_64_v2-rt-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
8404
my-ostree-os/kernel/kernel-x86_64_v2-rt-rhel.config
Normal file
8404
my-ostree-os/kernel/kernel-x86_64_v2-rt-rhel.config
Normal file
File diff suppressed because it is too large
Load diff
22050
my-ostree-os/kernel/kernel.changelog
Normal file
22050
my-ostree-os/kernel/kernel.changelog
Normal file
File diff suppressed because it is too large
Load diff
20758
my-ostree-os/kernel/kernel.spec
Normal file
20758
my-ostree-os/kernel/kernel.spec
Normal file
File diff suppressed because it is too large
Load diff
11
my-ostree-os/kernel/kvm_stat.logrotate
Normal file
11
my-ostree-os/kernel/kvm_stat.logrotate
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/var/log/kvm_stat.csv {
|
||||
size 10M
|
||||
missingok
|
||||
compress
|
||||
maxage 30
|
||||
rotate 5
|
||||
nodateext
|
||||
postrotate
|
||||
/usr/bin/systemctl try-restart kvm_stat.service
|
||||
endscript
|
||||
}
|
||||
0
my-ostree-os/kernel/linux-kernel-test.patch
Normal file
0
my-ostree-os/kernel/linux-kernel-test.patch
Normal file
88
my-ostree-os/kernel/merge.py
Executable file
88
my-ostree-os/kernel/merge.py
Executable file
|
|
@ -0,0 +1,88 @@
|
|||
#!/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)
|
||||
67
my-ostree-os/kernel/mod-denylist.sh
Executable file
67
my-ostree-os/kernel/mod-denylist.sh
Executable file
|
|
@ -0,0 +1,67 @@
|
|||
#! /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"
|
||||
37
my-ostree-os/kernel/mod-sign.sh
Executable file
37
my-ostree-os/kernel/mod-sign.sh
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
#! /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
|
||||
BIN
my-ostree-os/kernel/nvidiagpuoot001.x509
Normal file
BIN
my-ostree-os/kernel/nvidiagpuoot001.x509
Normal file
Binary file not shown.
4
my-ostree-os/kernel/partial-clang-debug-snip.config
Normal file
4
my-ostree-os/kernel/partial-clang-debug-snip.config
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# clang
|
||||
# CONFIG_DRM_WERROR is not set
|
||||
CONFIG_KASAN_STACK=y
|
||||
# CONFIG_KMSAN is not set
|
||||
4
my-ostree-os/kernel/partial-clang-snip.config
Normal file
4
my-ostree-os/kernel/partial-clang-snip.config
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# clang
|
||||
# CONFIG_DRM_WERROR is not set
|
||||
# CONFIG_KASAN_STACK is not set
|
||||
# CONFIG_KMSAN is not set
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# clang_lto
|
||||
# CONFIG_DRM_WERROR is not set
|
||||
CONFIG_KASAN_STACK=y
|
||||
# CONFIG_KMSAN is not set
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
# 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
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# clang_lto
|
||||
# CONFIG_DRM_WERROR is not set
|
||||
CONFIG_KASAN_STACK=y
|
||||
# CONFIG_KMSAN is not set
|
||||
6
my-ostree-os/kernel/partial-clang_lto-x86_64-snip.config
Normal file
6
my-ostree-os/kernel/partial-clang_lto-x86_64-snip.config
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# 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
|
||||
6
my-ostree-os/kernel/partial-kgcov-debug-snip.config
Normal file
6
my-ostree-os/kernel/partial-kgcov-debug-snip.config
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# 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
|
||||
6
my-ostree-os/kernel/partial-kgcov-snip.config
Normal file
6
my-ostree-os/kernel/partial-kgcov-snip.config
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# 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
|
||||
0
my-ostree-os/kernel/patch-6.12-redhat.patch
Normal file
0
my-ostree-os/kernel/patch-6.12-redhat.patch
Normal file
424
my-ostree-os/kernel/process_configs.sh
Executable file
424
my-ostree-os/kernel/process_configs.sh
Executable file
|
|
@ -0,0 +1,424 @@
|
|||
#!/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
|
||||
BIN
my-ostree-os/kernel/redhatsecureboot501.cer
Normal file
BIN
my-ostree-os/kernel/redhatsecureboot501.cer
Normal file
Binary file not shown.
BIN
my-ostree-os/kernel/redhatsecurebootca5.cer
Normal file
BIN
my-ostree-os/kernel/redhatsecurebootca5.cer
Normal file
Binary file not shown.
66
my-ostree-os/kernel/rpminspect.yaml
Normal file
66
my-ostree-os/kernel/rpminspect.yaml
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# 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/*
|
||||
3
my-ostree-os/kernel/uki-addons.sbat.template
Normal file
3
my-ostree-os/kernel/uki-addons.sbat.template
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
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
|
||||
3
my-ostree-os/kernel/uki.sbat.template
Normal file
3
my-ostree-os/kernel/uki.sbat.template
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
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
|
||||
48
my-ostree-os/kernel/uki_addons.json
Normal file
48
my-ostree-os/kernel/uki_addons.json
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
136
my-ostree-os/kernel/uki_create_addons.py
Executable file
136
my-ostree-os/kernel/uki_create_addons.py
Executable file
|
|
@ -0,0 +1,136 @@
|
|||
#!/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)
|
||||
|
||||
|
||||
16
my-ostree-os/kernel/x509.genkey.centos
Normal file
16
my-ostree-os/kernel/x509.genkey.centos
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[ 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
|
||||
16
my-ostree-os/kernel/x509.genkey.rhel
Normal file
16
my-ostree-os/kernel/x509.genkey.rhel
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[ 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
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
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
|
||||
|
||||
|
|
@ -114,12 +114,14 @@ Patch32: 0001-vulkan-wsi-wayland-make-needs_color_surface_old_check_if.pa
|
|||
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/13009
|
||||
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: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: clang
|
||||
BuildRequires: lld
|
||||
BuildRequires: polly
|
||||
BuildRequires: gettext
|
||||
%if 0%{?with_hardware}
|
||||
BuildRequires: kernel-headers
|
||||
|
|
@ -419,7 +421,7 @@ export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
|
|||
%rewrite_wrap_file paste
|
||||
%endif
|
||||
|
||||
CFLAGS="$CFLAGS -march=skylake -mtune=skylake -O3 -fplugin=LLVMPolly.so -mllvm -polly" CXXFLAGS="$CXXFLAGS -march=skylake -mtune=skylake -O3 -fplugin=LLVMPolly.so -mllvm -polly" %meson \
|
||||
CFLAGS="$CFLAGS -march=skylake -mtune=skylake -O3" CXXFLAGS="$CXXFLAGS -march=skylake -mtune=skylake -O3" %meson \
|
||||
-Dplatforms=x11,wayland \
|
||||
-Dosmesa=true \
|
||||
--buildtype=release \
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
Summary: Xwayland
|
||||
Name: xorg-x11-server-Xwayland
|
||||
Version: 24.1.6
|
||||
Version: 24.1.8
|
||||
Release: 10.clang.skylake%{?dist}
|
||||
|
||||
URL: http://www.x.org
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue