Don't systemctl preset kdump when updating kexec-tools to kdump-utils

Resolves: RHEL-29044
Upstream: Fedora
Conflict: None

commit 5fe098fec8eb19a942a608f19324601066c0467d
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Feb 29 11:05:14 2024 +0800

    Don't systemctl preset kdump when updating kexec-tools to kdump-utils

    When an old version of kexec-tools gets replaced by kdump-utils,
    "%systemd_post" will be executed in the post scriptlet which has the
    purpose to "systemctl preset kdump" for freshly installed kexec-tools.
    But in the case of kdump-utils replacing kexec-tools, it is not needed
    so skip this case.

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Suggested-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Dave Young <dyoung@redhat.com>

Signed-off-by: Lichen Liu <lichliu@redhat.com>
This commit is contained in:
Lichen Liu 2024-04-29 10:05:05 +08:00
parent 63441edc2d
commit 87c1eb4bc4
No known key found for this signature in database
GPG Key ID: 2ED8215EF57B3D6C

View File

@ -288,8 +288,16 @@ install -m 644 makedumpfile-%{mkdf_ver}/eppic_scripts/* $RPM_BUILD_ROOT/usr/shar
%post -n kdump-utils
# Initial installation
%systemd_post kdump.service
# don't try to systemctl preset the kdump service for old kexec-tools
#
# when the old kexec-tools gets removed, this trigger will be excuted to
# create a file. So later the posttrans scriptlet will know there is no need to
# systemctl preset the kdump service.
# This solution can be dropped in F41 when we assume no users will use old
# version of kexec-tools.
%define kexec_tools_no_preset %{_localstatedir}/lib/rpm-state/kexec-tools.no-preset
%triggerun -- kexec-tools
touch %{kexec_tools_no_preset}
touch /etc/kdump.conf
@ -332,6 +340,14 @@ do
done
%posttrans -n kdump-utils
# don't try to systemctl preset the kdump service for old kexec-tools
if [[ -f %{kexec_tools_no_preset} ]]; then
# this if branch can be removed in F41 when we assume no users will use the old kexec-tools
rm %{kexec_tools_no_preset}
else
# Initial installation
%systemd_post kdump.service
fi
# Try to reset kernel crashkernel value to new default value or set up
# crasherkernel value for new install
#