Resolves: https://issues.redhat.com/browse/RHEL-127439 Conflict: None commit 2de96daa10a7e30a7b1a6bb4331e831a8f794c4a Author: Harshvardhan Jha <harshvardhan.j.jha@oracle.com> Date: Thu Oct 30 00:59:17 2025 -0700 Add persisent device if FIPS is enabled mkdumprd has a code to add a disk to kdump initramfs, in case FIPS is enabled and /boot is on a separate partition. This code used to work, since dracut was not force checking that added disk is in fact available. Since dracut commit c79fc8f dracut in fact checks for added device, and since disk name could have been changed between live system and kdump initramfs, kdump can fail. To resolve this problem we re-use get_persistent_dev from dracut-functions.sh which will be sourced by mkdrumpd to get persistent device name. Signed-off-by: Alex Burmashev <alexander.burmashev@oracle.com> Signed-off-by: Harshvardhan Jha <harshvardhan.j.jha@oracle.com> Signed-off-by: Coiby Xu <coxu@redhat.com>
133 lines
4.0 KiB
RPMSpec
133 lines
4.0 KiB
RPMSpec
# kdump-utils has no debug source
|
|
%global debug_package %{nil}
|
|
Name: kdump-utils
|
|
Version:1.0.58
|
|
Release: %autorelease -b 1
|
|
Summary: Kernel crash dump collection utilities
|
|
|
|
License: GPL-2.0-only
|
|
URL: https://github.com/rhkdump/kdump-utils
|
|
Source0: https://github.com/rhkdump/kdump-utils/archive/v%{version}/%{name}-%{version}.tar.gz
|
|
Patch01: 0001-Strip-surrounding-quotes-from-configuration-values.patch
|
|
Patch02: 0002-unit-tests-Add-case-for-quoted-configuration-values.patch
|
|
Patch03: 0003-Allow-kdump.service-to-access-LUKS-volume-keys.patch
|
|
Patch04: 0004-Restore-SELinux-label-of-crypttab-file.patch
|
|
Patch05: 0005-Allow-sudo-kdumpctl-for-LUKS-dump-target.patch
|
|
Patch06: 0006-Revert-Strip-surrounding-quotes-from-configuration-v.patch
|
|
Patch07: 0007-kdump-lib-initramfs-rewrite-kdump_get_conf_val.patch
|
|
Patch08: 0008-Add-persisent-device-if-FIPS-is-enabled.patch
|
|
|
|
|
|
%ifarch ppc64 ppc64le
|
|
Requires(post): servicelog
|
|
Recommends: keyutils
|
|
%endif
|
|
Requires(pre): coreutils
|
|
Requires(pre): sed
|
|
Requires: kexec-tools >= 2.0.28-8
|
|
Requires: makedumpfile
|
|
Requires: dracut >= 058
|
|
Requires: dracut-network >= 058
|
|
Requires: dracut-squash >= 058
|
|
Requires: ethtool
|
|
Requires: util-linux
|
|
# Needed for UKI support
|
|
Recommends: binutils
|
|
Recommends: grubby
|
|
Recommends: hostname
|
|
BuildRequires: make
|
|
BuildRequires: systemd-rpm-macros
|
|
|
|
%ifnarch s390x
|
|
Requires: systemd-udev%{?_isa}
|
|
%endif
|
|
%description
|
|
kdump-utils is responsible for collecting the crash kernel dump. It builds and
|
|
loads the kdump initramfs so when a kernel crashes, the system will boot the
|
|
kdump kernel and initramfs to save the collected crash kernel dump to specified
|
|
target.
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
|
|
%install
|
|
%make_install sbindir=%_sbindir
|
|
|
|
|
|
%post
|
|
# kdumpctl will only set up default crashkernel when kdump.service is enabled
|
|
%systemd_post kdump.service
|
|
|
|
touch /etc/kdump.conf
|
|
|
|
%ifarch ppc64 ppc64le
|
|
servicelog_notify --remove --command=/usr/lib/kdump/kdump-migrate-action.sh 2>/dev/null
|
|
servicelog_notify --add --command=/usr/lib/kdump/kdump-migrate-action.sh --match='refcode="#MIGRATE" and serviceable=0' --type=EVENT --method=pairs_stdin >/dev/null
|
|
%endif
|
|
|
|
# RPM scriptlet should always return 0. Otherwise it can break
|
|
# installs/upgrades/erases.
|
|
:
|
|
|
|
%postun
|
|
%systemd_postun_with_restart kdump.service
|
|
|
|
%preun
|
|
%ifarch ppc64 ppc64le
|
|
servicelog_notify --remove --command=/usr/lib/kdump/kdump-migrate-action.sh >/dev/null
|
|
%endif
|
|
%systemd_preun kdump.service
|
|
|
|
%posttrans
|
|
# Try to reset kernel crashkernel value to new default value or set up
|
|
# crasherkernel value for new install
|
|
#
|
|
# Note
|
|
# 1. Skip ostree systems as they are not supported.
|
|
# 2. For Fedora 36 and RHEL9, "[ $1 == 1 ]" in posttrans scriptlet means both install and upgrade;
|
|
# For Fedora > 36, "[ $1 == 1 ]" only means install and "[ $1 == 2 ]" means upgrade
|
|
# 3. osbuild depends on "kdumpctl _reset-crashkernel-for-installed_kernel" to set up crashkernel
|
|
if [ ! -f /run/ostree-booted ] && [ $1 == 1 -o $1 == 2 ]; then
|
|
kdumpctl _reset-crashkernel-after-update
|
|
:
|
|
fi
|
|
|
|
%files
|
|
%ifarch ppc64 ppc64le
|
|
%{_sbindir}/mkfadumprd
|
|
%{_prefix}/lib/kernel/install.d/60-fadump.install
|
|
%endif
|
|
%{_bindir}/kdumpctl
|
|
%{_sbindir}/mkdumprd
|
|
%{_prefix}/lib/kdump
|
|
%config(noreplace,missingok) %{_sysconfdir}/sysconfig/kdump
|
|
%config(noreplace,missingok) %verify(not mtime) %{_sysconfdir}/kdump.conf
|
|
%ifnarch s390x
|
|
%{_udevrulesdir}
|
|
%{_udevrulesdir}/../kdump-udev-throttler
|
|
%endif
|
|
%{_prefix}/lib/dracut/modules.d/*
|
|
%dir %{_localstatedir}/crash
|
|
%dir %{_sysconfdir}/kdump
|
|
%dir %{_sysconfdir}/kdump/pre.d
|
|
%dir %{_sysconfdir}/kdump/post.d
|
|
%dir %{_sharedstatedir}/kdump
|
|
%{_mandir}/man8/kdumpctl.8*
|
|
%{_mandir}/man8/mkdumprd.8*
|
|
%{_mandir}/man5/kdump.conf.5*
|
|
%{_unitdir}/kdump.service
|
|
%{_prefix}/lib/systemd/system-generators/kdump-dep-generator.sh
|
|
%{_prefix}/lib/kernel/install.d/60-kdump.install
|
|
%{_prefix}/lib/kernel/install.d/92-crashkernel.install
|
|
%license COPYING
|
|
%doc kexec-kdump-howto.txt
|
|
%doc early-kdump-howto.txt
|
|
%doc fadump-howto.txt
|
|
%doc kdump-in-cluster-environment.txt
|
|
%doc live-image-kdump-howto.txt
|
|
%doc crashkernel-howto.txt
|
|
%doc supported-kdump-targets.txt
|
|
|
|
%changelog
|
|
%autochangelog
|