kdump-utils/kdump-utils.spec

191 lines
6.5 KiB
RPMSpec
Raw Normal View History

# kdump-utils has no debug source
%global debug_package %{nil}
Name: kdump-utils
Version:1.0.43
Release: 2%{?dist}
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
# editorconfig: set indent_size=8
# Author: Philipp Rudo <prudo@redhat.com>
Patch1: 0001-editorconfig-set-indent_size-8.patch
# dracut: create sub-directories for dracut modules
# Author: Philipp Rudo <prudo@redhat.com>
Patch2: 0002-dracut-create-sub-directories-for-dracut-modules.patch
# dracut/*: fix coding style using shfmt
# Author: Philipp Rudo <prudo@redhat.com>
Patch3: 0003-dracut-fix-coding-style-using-shfmt.patch
# 99kdumpbase: drop unnecessary 2>&1
# Author: Philipp Rudo <prudo@redhat.com>
Patch4: 0004-99kdumpbase-drop-unnecessary-2-1.patch
# 99kdumpbase: fix shellcheck warnings
# Author: Philipp Rudo <prudo@redhat.com>
Patch5: 0005-99kdumpbase-fix-shellcheck-warnings.patch
# 99earlykdump: fix shellcheck warnings
# Author: Philipp Rudo <prudo@redhat.com>
Patch6: 0006-99earlykdump-fix-shellcheck-warnings.patch
# 99zz-fadumpinit: fix shellcheck warnings
# Author: Philipp Rudo <prudo@redhat.com>
Patch7: 0007-99zz-fadumpinit-fix-shellcheck-warnings.patch
# kdumpctl: fix shellcheck warnings
# Author: Philipp Rudo <prudo@redhat.com>
Patch8: 0008-kdumpctl-fix-shellcheck-warnings.patch
# mkdumprd: fix shellcheck warnings
# Author: Philipp Rudo <prudo@redhat.com>
Patch9: 0009-mkdumprd-fix-shellcheck-warnings.patch
# mkfadumprd: fix shellcheck warnings
# Author: Philipp Rudo <prudo@redhat.com>
Patch10: 0010-mkfadumprd-fix-shellcheck-warnings.patch
# mkdumprd: simplify handling of dracut arguments
# Author: Philipp Rudo <prudo@redhat.com>
Patch11: 0011-mkdumprd-simplify-handling-of-dracut-arguments.patch
# mkdumprd: drop extra_modules variable
# Author: Philipp Rudo <prudo@redhat.com>
Patch12: 0012-mkdumprd-drop-extra_modules-variable.patch
# 99kdumpbase: drop check for lvmthinpool-monitor module
# Author: Philipp Rudo <prudo@redhat.com>
Patch13: 0013-99kdumpbase-drop-check-for-lvmthinpool-monitor-modul.patch
# mkdumprd: drop check for dracut option --squash-compressor
# Author: Philipp Rudo <prudo@redhat.com>
Patch14: 0014-mkdumprd-drop-check-for-dracut-option-squash-compres.patch
# mkdumprd: explicitly add dracut 99squash module
# Author: Philipp Rudo <prudo@redhat.com>
Patch15: 0015-mkdumprd-explicitly-add-dracut-99squash-module.patch
# mkdumprd: add support for 95squash-erofs
# Author: Philipp Rudo <prudo@redhat.com>
Patch16: 0016-mkdumprd-add-support-for-95squash-erofs.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
# 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
%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
%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
# 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
#
# 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
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
* Mon Sep 30 2024 Lichen Liu <lichliu@redhat.com> - 1.0.43-2
- Enable erofs support for the kdump initrd
* Mon Jul 15 2024 Lichen Liu <lichliu@redhat.com> - 1.0.43-1
- Update to upstream 1.0.43
* Tue Oct 24 2023 Coiby <coxu@redhat.com> - 1.0.42-10
- split from kexec-tools