Resolves: https://issues.redhat.com/browse/RHEL-138697 Conflict: None commit 48dd252bf8cc75c696d5d7e9a07efc838e3aad66 Author: Philipp Rudo <prudo@redhat.com> Date: Tue Sep 2 13:28:32 2025 +0200 spec: drop dependency for binutils The binutils were added as dependency to support UKIs. With the main part of the UKI support been moved to kexec-tools only one spot remains in prepare_kdump_bootinfo where they are used. Refractor prepare_kdump_bootinfo to get rid of the dependency. This slightly changes the behavior for UKIs. In particular the kdump initrd is moved from /boot to /var/lib/kdump. While at it also simplify the logic in prepare_kdump_bootinfo as it is unnecessarily complex and can lead to weird corner cases. For example if the default initrd is located at /boot/$machine_id/$kernel_version/initrd and the directory is not writable, then the kdump initrd would be stored at /var/lib/kdump/initrdkdump without any information about the kernel version. This can lead to all sorts of problems when multiple kernel versions are installed. Thus always use initramfs-${kernel_version}kdump.img when the initrd is stored at /var/lib/kdump. Update 60-kdump.install accordingly. Signed-off-by: Philipp Rudo <prudo@redhat.com> Signed-off-by: Coiby Xu <coxu@redhat.com>
144 lines
4.7 KiB
RPMSpec
144 lines
4.7 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
|
|
Patch09: 0009-kdump.sh-Centralize-the-F-suboption-handling.patch
|
|
Patch10: 0010-kdump.sh-Centralize-the-num-threads-sub-option-handl.patch
|
|
Patch11: 0011-kdump.sh-Skip-num-threads-when-E-and-F-option-is-pre.patch
|
|
Patch12: 0012-powerpc-consider-CPU-count-while-calculating-crashke.patch
|
|
Patch13: 0013-powerpc-Set-nr_cpus-16-for-kdump-kernel.patch
|
|
Patch14: 0014-kexec-kdump-howto.txt-update-paragraphs-related-to-d.patch
|
|
Patch15: 0015-kdump-lib-initramfs-Fix-performance-regression-in-kd.patch
|
|
Patch16: 0016-sysconfig-use-initramfs_options-to-reduce-memory-usa.patch
|
|
Patch17: 0017-kdumpctl-clean-up-backup-restore-_default_initrd.patch
|
|
Patch18: 0018-kdumpctl-add-comments-to-different-initrd-variables.patch
|
|
Patch19: 0019-spec-drop-dependency-for-binutils.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
|