# # spec file for package kexec-tools # # Copyright (c) 2017 SUSE LINUX 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/ # Name: kexec-tools %ifarch ppc BuildRequires: gcc-64bit BuildRequires: glibc-devel-64bit %endif Requires: perl-Bootloader Requires(pre): %fillup_prereq Requires(post): coreutils Requires(postun): coreutils Summary: Tools for loading replacement kernels into memory License: GPL-2.0+ Group: System/Kernel Version: 2.0.14 Release: 0 Source: https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/snapshot/%{name}-%{version}.tar.gz Source1: kexec-bootloader Source2: kexec-bootloader.8.txt Source3: kexec-load.service Source4: %{name}-rpmlintrc Patch1: %{name}-xen-static.patch Patch2: %{name}-xen-balloon-up.patch Patch3: %{name}-disable-test.patch # upstream fixes Patch101: 0001-kexec-tools-2.0.14.git.patch Patch102: 0002-ppc64-Reduce-number-of-ELF-LOAD-segments.patch Patch103: 0003-kexec-Increase-the-upper-limit-for-RAM-segments.patch Patch104: 0004-alpha-add-missing-__NR_kexec_load-definition.patch Patch105: 0005-kexec-implemented-XEN-KEXEC-STATUS-to-determine-if-a.patch Patch106: 0006-kexec-Remove-redundant-space-from-help-message.patch Patch107: 0007-purgatory-Add-purgatory.map-and-purgatory.ro.sym-to-.patch Patch108: 0008-kexec-Add-option-to-get-crash-kernel-region-size.patch Patch109: 0009-crashdump-arm-Add-get_crash_kernel_load_range-functi.patch Patch110: 0010-crashdump-arm64-Add-get_crash_kernel_load_range-func.patch Patch111: 0011-crashdump-cris-Add-get_crash_kernel_load_range-funct.patch Patch112: 0012-crashdump-ia64-Add-get_crash_kernel_load_range-funct.patch Patch113: 0013-crashdump-m68k-Add-get_crash_kernel_load_range-funct.patch Patch114: 0014-crashdump-mips-Add-get_crash_kernel_load_range-funct.patch Patch115: 0015-crashdump-ppc-Add-get_crash_kernel_load_range-functi.patch Patch116: 0016-crashdump-ppc64-Add-get_crash_kernel_load_range-func.patch Patch117: 0017-crashdump-s390-Add-get_crash_kernel_load_range-funct.patch Patch118: 0018-crashdump-sh-Add-get_crash_kernel_load_range-functio.patch Patch119: 0019-gitignore-add-two-generated-files-in-purgatory.patch Patch120: 0020-Only-print-debug-message-when-failed-to-serach-for-k.patch Patch121: 0021-build_mem_phdrs-check-if-p_paddr-is-invalid.patch Patch122: 0022-uImage-fix-realloc-pointer-confusion.patch Patch123: 0023-uImage-Fix-uImage_load-for-little-endian-machines.patch Patch124: 0024-uImage-Add-new-IH_ARCH_xxx-definitions.patch Patch125: 0025-uImage-use-char-instead-of-unsigned-char-for-uImage_.patch Patch126: 0026-uImage-use-char-instead-of-unsigned-char-for-uImage_.patch Patch127: 0027-arm64-add-uImage-support.patch Patch128: 0028-vmcore-dmesg-Define-_GNU_SOURCE.patch Patch129: 0029-Don-t-use-L-width-specifier-with-integer-values.patch Patch130: 0030-x86-x86_64-Fix-format-warning-with-die.patch Patch131: 0031-ppc-Fix-format-warning-with-die.patch Patch132: 0032-crashdump-Remove-stray-get_crashkernel_region-declar.patch Patch133: 0033-x86-Support-large-number-of-memory-ranges.patch Patch134: 0034-Fix-broken-Xen-support-in-configure.ac.patch Patch135: 0035-kexec-extend-the-semantics-of-kexec_iomem_for_each_l.patch Patch136: 0036-kexec-generalize-and-rename-get_kernel_stext_sym.patch Patch137: 0037-arm64-identify-PHYS_OFFSET-correctly.patch Patch138: 0038-arm64-change-return-values-on-error-to-negative.patch Patch139: 0039-arm64-kdump-identify-memory-regions.patch Patch140: 0040-arm64-kdump-add-elf-core-header-segment.patch Patch141: 0041-arm64-kdump-set-up-kernel-image-segment.patch Patch142: 0042-arm64-kdump-set-up-other-segments.patch Patch143: 0043-arm64-kdump-add-DT-properties-to-crash-dump-kernel-s.patch Patch144: 0044-arm64-kdump-Add-support-for-binary-image-files.patch Patch145: 0045-Handle-additional-e820-memmap-type-strings.patch Url: ftp://kernel.org/pub/linux/utils/kernel/kexec/%{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build #!BuildIgnore: fop #!BuildIgnore: gcc-PIE BuildRequires: asciidoc BuildRequires: automake BuildRequires: libxslt BuildRequires: zlib-devel %ifarch x86_64 BuildRequires: pkg-config BuildRequires: xen-devel %endif ExclusiveArch: ppc64le aarch64 %ix86 x86_64 ia64 ppc ppc64 s390 s390x %arm sh mips mipsel m68k %description Kexec is a user space utility for loading another kernel and asking the currently running kernel to do something with it. A currently running kernel may be asked to start the loaded kernel on reboot, or to start the loaded kernel after it panics. %prep %setup -q -n kexec-tools-%{version} %patch101 -p1 %patch102 -p1 %patch103 -p1 %patch104 -p1 %patch105 -p1 %patch106 -p1 %patch107 -p1 %patch108 -p1 %patch109 -p1 %patch110 -p1 %patch111 -p1 %patch112 -p1 %patch113 -p1 %patch114 -p1 %patch115 -p1 %patch116 -p1 %patch117 -p1 %patch118 -p1 %patch119 -p1 %patch120 -p1 %patch121 -p1 %patch122 -p1 %patch123 -p1 %patch124 -p1 %patch125 -p1 %patch126 -p1 %patch127 -p1 %patch128 -p1 %patch129 -p1 %patch130 -p1 %patch131 -p1 %patch132 -p1 %patch133 -p1 %patch134 -p1 %patch135 -p1 %patch136 -p1 %patch137 -p1 %patch138 -p1 %patch139 -p1 %patch140 -p1 %patch141 -p1 %patch142 -p1 %patch143 -p1 %patch144 -p1 %patch145 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %build # disable as-needed export SUSE_ASNEEDED=0 %{?suse_update_config -f} %ifarch ia64 RPM_OPT_FLAGS=$(echo "%{optflags}" | sed -e 's/-fstack-protector//') %endif autoreconf -f CFLAGS="$RPM_OPT_FLAGS" BUILD_CFLAGS="$RPM_OPT_FLAGS" \ %ifarch ppc %configure --host=powerpc64-suse-linux --build=powerpc64-suse-linux %else %configure %endif make a2x -D . -d manpage -f manpage %{S:2} %install %make_install install -c -m 0644 kexec-bootloader.8 %{buildroot}/%{_mandir}/man8 rm -f %{buildroot}/%{_mandir}/man8/kdump.8 mkdir -p %{buildroot}/%{_sbindir} install -m 0755 %{S:1} %{buildroot}/%{_sbindir} mkdir -p %{buildroot}/%{_unitdir} install -m644 %{S:3} %{buildroot}/%{_unitdir} #UsrMerge mkdir -p %{buildroot}/sbin ln -s %{_sbindir}/kdump %{buildroot}/sbin ln -s %{_sbindir}/kexec %{buildroot}/sbin #EndUsrMerge %post %service_add_post kexec-load.service %{?regenerate_initrd_post} %postun %service_del_postun kexec-load.service %{?regenerate_initrd_post} %pre %service_add_pre kexec-load.service %preun %service_del_preun kexec-load.service %posttrans %{?regenerate_initrd_posttrans} %files %defattr(-, root, root) %doc AUTHORS COPYING News TODO doc %doc %{_mandir}/man*/* #UsrMerge /sbin/kdump /sbin/kexec #EndUsrMerge %{_sbindir}/kdump %{_sbindir}/kexec %{_sbindir}/kexec-bootloader %{_sbindir}/vmcore-dmesg %{_unitdir}/kexec-load.service %changelog