0f56f11067
Fix service failures after online/offline CPU under systemd. URL-decode the target URL. OBS-URL: https://build.opensuse.org/request/show/234827 OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/kdump?expand=0&rev=90
213 lines
5.6 KiB
RPMSpec
213 lines
5.6 KiB
RPMSpec
#
|
|
# spec file for package kdump
|
|
#
|
|
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define dracutlibdir %{_prefix}/lib/dracut
|
|
|
|
%{!?_udevdir: %global _udevdir %(pkg-config --variable=udevdir udev)}
|
|
%if "%{_udevdir}" == ""
|
|
%if 0%{?suse_version} >= 1230
|
|
%global _udevdir /usr/lib/udev
|
|
%else
|
|
%global _udevdir /lib/udev
|
|
%endif
|
|
%endif
|
|
%define _udevrulesdir %{_udevdir}/rules.d
|
|
|
|
Url: https://github.com/ptesarik/kdump
|
|
|
|
Name: kdump
|
|
Version: 0.8.12
|
|
Release: 0
|
|
Requires: curl
|
|
Requires: makedumpfile
|
|
Requires: openssh
|
|
Summary: Script for kdump
|
|
License: GPL-2.0+
|
|
Group: System/Kernel
|
|
BuildRequires: asciidoc
|
|
BuildRequires: cmake
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: libcurl-devel
|
|
BuildRequires: libelf-devel
|
|
BuildRequires: libesmtp-devel
|
|
BuildRequires: libopenssl-devel
|
|
BuildRequires: libssh2-devel
|
|
BuildRequires: libxslt
|
|
BuildRequires: pkg-config
|
|
BuildRequires: udev
|
|
BuildRequires: zlib-devel
|
|
#!BuildIgnore: fop
|
|
%if %suse_version > 1220
|
|
BuildRequires: systemd
|
|
%endif
|
|
PreReq: %insserv_prereq %fillup_prereq mkinitrd
|
|
Source: %{name}-%{version}.tar.bz2
|
|
Source2: %{name}-%{version}-rpmlintrc
|
|
Source3: kdump.service
|
|
Patch1: %{name}-fix-udev-rules.patch
|
|
Patch2: %{name}-urldecode.patch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
# rename "kdump-helpers" (10.3) -> "kdump" (11.0/SP2)
|
|
Provides: kdump-helpers = %{version}
|
|
Obsoletes: kdump-helpers < %{version}
|
|
# update should detect the split-off from kexec-tools
|
|
Provides: kexec-tools:/etc/init.d/kdump
|
|
Requires: kexec-tools
|
|
%if %suse_version > 1220
|
|
%systemd_requires
|
|
%endif
|
|
Recommends: nfs-client cifs-utils
|
|
PreReq: coreutils sed
|
|
ExcludeArch: s390 ppc
|
|
|
|
%description
|
|
kdump is a package that includes several scripts for kdump, including
|
|
the init script /etc/init.d/kdump and the configuration file for kdump.
|
|
|
|
The kernel package and this package are all that are required for a
|
|
crash dump to occur. However, if you wish to debug the crash dump
|
|
yourself you will need several debugging packages installed for each
|
|
kernel flavor and release you wish to debug.
|
|
|
|
For example, if you are debugging kernel-default, you will need:
|
|
- kernel-default-debuginfo
|
|
- kernel-default-devel
|
|
- kernel-default-devel-debuginfo
|
|
|
|
These packages are not needed to create the dump and can be installed
|
|
after a crash dump has occured.
|
|
|
|
Authors:
|
|
--------
|
|
Bernhard Walle <bwalle@suse.de>
|
|
|
|
%prep
|
|
%setup
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
chmod +x tests/testurldecode.sh
|
|
|
|
%build
|
|
export CFLAGS="%optflags"
|
|
export CXXFLAGS="%optflags"
|
|
mkdir build
|
|
cd build
|
|
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} ..
|
|
make
|
|
cd -
|
|
|
|
%check
|
|
cd build
|
|
make test
|
|
|
|
%install
|
|
cd build
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
cd -
|
|
# move udev rules
|
|
mkdir -p $RPM_BUILD_ROOT/%{_udevrulesdir}
|
|
mv $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/* $RPM_BUILD_ROOT/%{_udevrulesdir}/
|
|
# remove executable bit from non-binaries
|
|
chmod -x $RPM_BUILD_ROOT/lib/kdump/setup-kdump.functions
|
|
# symlink for init script
|
|
mkdir -p $RPM_BUILD_ROOT/sbin
|
|
ln -s /etc/init.d/boot.kdump $RPM_BUILD_ROOT/sbin/rckdump
|
|
# empty directory
|
|
mkdir $RPM_BUILD_ROOT/var/crash
|
|
|
|
%if %suse_version > 1220
|
|
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
|
|
install -m644 %{S:3} $RPM_BUILD_ROOT%{_unitdir}
|
|
%endif
|
|
|
|
%if %suse_version > 1220
|
|
%pre
|
|
%service_add_pre kdump.service
|
|
%endif
|
|
|
|
%post
|
|
# change only permission if the file exists before /etc/sysconfig/kdump
|
|
# has been created from /var/adm/fillup-templates/sysconfig.kdump
|
|
change_permission=0
|
|
if [ ! -f /etc/sysconfig/kdump ] ; then
|
|
change_permission=1
|
|
fi
|
|
%{fillup_and_insserv -n kdump boot.kdump}
|
|
if (( $change_permission )) ; then
|
|
chmod 0600 /etc/sysconfig/kdump
|
|
fi
|
|
/sbin/mkinitrd_setup
|
|
# if /var/log/dump is empty, make it a symlink to /var/crash
|
|
if test -d /var/log/dump && rmdir /var/log/dump &>/dev/null ||
|
|
! test -d /var/log/dump ; then
|
|
ln -snf /var/crash /var/log/dump
|
|
fi
|
|
%if %suse_version > 1220
|
|
%service_add_post kdump.service
|
|
%endif
|
|
|
|
%preun
|
|
echo "Stopping kdump ..."
|
|
%stop_on_removal boot.kdump
|
|
%if %suse_version > 1220
|
|
%service_del_preun kdump.service
|
|
%endif
|
|
|
|
%postun
|
|
# force regeneration of kdumprd
|
|
touch /etc/sysconfig/kdump
|
|
/sbin/mkinitrd_setup
|
|
# delete symbolic link
|
|
rm /var/log/dump &>/dev/null || true
|
|
%restart_on_update boot.kdump
|
|
%insserv_cleanup
|
|
%if %suse_version > 1220
|
|
%service_del_postun kdump.service
|
|
%endif
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%doc ChangeLog COPYING README NEWS
|
|
%{_sbindir}/kdumptool
|
|
%{_sbindir}/mkdumprd
|
|
%{_sbindir}/kdump-bootloader.pl
|
|
%{_mandir}/man5/kdump.5.gz
|
|
%{_mandir}/man7/kdump.7.gz
|
|
%{_mandir}/man8/kdumptool.8.gz
|
|
%{_mandir}/man8/mkdumprd.8.gz
|
|
/sbin/rckdump
|
|
%{_sysconfdir}/init.d/boot.kdump
|
|
/var/adm/fillup-templates/sysconfig.kdump
|
|
/lib/mkinitrd/scripts/*-kdump.sh
|
|
/lib/mkinitrd/scripts/setup-kdumpfs.sh
|
|
/lib/mkinitrd/scripts/setup-mkdumprd.sh
|
|
%dir %{dracutlibdir}
|
|
%dir %{dracutlibdir}/modules.d
|
|
%{dracutlibdir}/modules.d/99kdump/
|
|
%dir /lib/kdump
|
|
/lib/kdump/*
|
|
%{_udevrulesdir}/70-kdump.rules
|
|
%if %suse_version > 1220
|
|
%{_unitdir}/kdump.service
|
|
%endif
|
|
|
|
%changelog
|