linux-surface/pkg/fedora/kernel-surface/patches/0004-default-kernel.patch
2023-07-25 09:36:28 +02:00

95 lines
2.9 KiB
Diff

From 81141a454f41cbc5fd41b778f85b10552c8676e8 Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@tmsp.io>
Date: Sat, 22 Jul 2023 10:41:11 +0200
Subject: [PATCH] Install scripts and service files for keeping the surface
kernel the default
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
---
redhat/kernel.spec.template | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index 43dce82a9d36..28df94e561d4 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -1025,6 +1025,11 @@ Source4000: README.rst
Source4001: rpminspect.yaml
Source4002: gating.yaml
+Source4100: linux-surface-default-watchdog.path
+Source4101: linux-surface-default-watchdog.service
+Source4102: linux-surface-default-watchdog.sh
+Source4103: 90-linux-surface-default-watchdog.preset
+
## Patches needed for building this package
%if !%{nopatches}
@@ -1058,6 +1063,7 @@ Requires(pre): %{initrd_prereq}\
Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)\
Recommends: linux-firmware\
Recommends: iptsd\
+Recommends: %{package_name}-default-watchdog\
Requires(preun): systemd >= 200\
Conflicts: xfsprogs < 4.3.0-1\
Conflicts: xorg-x11-drv-vmmouse < 13.0.99\
@@ -1072,6 +1078,14 @@ AutoProv: yes\
%{nil}
+%package default-watchdog
+Summary: Watchdog service ensuring that the surface kernel stays the default kernel.
+%description default-watchdog
+This package provides a systemd service that will automatically keep
+the surface kernel as the default kernel in GRUB, even if a newer stock
+kernel has been installed.
+
+
%package doc
Summary: Various documentation bits found in the kernel source
Group: Documentation
@@ -2945,6 +2959,11 @@ find Documentation -type d | xargs chmod u+w
cd linux-%{KVERREL}
+install -D -m644 "%{SOURCE4100}" -t "%{buildroot}%{_unitdir}"
+install -D -m644 "%{SOURCE4101}" -t "%{buildroot}%{_unitdir}"
+install -D -m755 "%{SOURCE4102}" -t "%{buildroot}%{_bindir}"
+install -D -m755 "%{SOURCE4103}" -t "%{buildroot}%{_presetdir}"
+
%if %{with_doc}
docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}
@@ -3197,6 +3216,15 @@ popd
### scripts
###
+%post default-watchdog
+%systemd_post linux-surface-default-watchdog.path
+
+%preun default-watchdog
+%systemd_preun linux-surface-default-watchdog.path
+
+%postun default-watchdog
+%systemd_postun_with_restart linux-surface-default-watchdog.path
+
%if %{with_tools}
%post -n %{package_name}-tools-libs
/sbin/ldconfig
@@ -3609,6 +3637,12 @@ fi\
%{_libexecdir}/kselftests
%endif
+%files default-watchdog
+%{_bindir}/linux-surface-default-watchdog.sh
+%{_unitdir}/linux-surface-default-watchdog.path
+%{_unitdir}/linux-surface-default-watchdog.service
+%{_presetdir}/90-linux-surface-default-watchdog.preset
+
# empty meta-package
%if %{with_up_base}
%ifnarch %nobuildarches noarch
--
2.41.0