From a45b4c3fcb7d364f236a25e03378a6b03a9cc627 Mon Sep 17 00:00:00 2001 From: Dorian Stoll Date: Sat, 3 Jun 2023 11:47:02 +0200 Subject: [PATCH] Install scripts and service files for keeping the surface kernel the default Signed-off-by: Dorian Stoll --- redhat/kernel.spec.template | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template index dc95736a227e..4d6504ca721b 100644 --- a/redhat/kernel.spec.template +++ b/redhat/kernel.spec.template @@ -911,6 +911,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} @@ -944,6 +949,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\ @@ -958,6 +964,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 @@ -2691,6 +2705,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} @@ -2938,6 +2957,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 @@ -3313,6 +3341,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 %ifnarch %nobuildarches noarch %files -- 2.40.1