Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kdump for openSUSE:Factory checked in at 2023-06-08 21:41:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdump (Old) and /work/SRC/openSUSE:Factory/.kdump.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump" Thu Jun 8 21:41:57 2023 rev:134 rq:1091281 version:1.0.3 Changes: -------- --- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2023-03-06 18:54:03.144205814 +0100 +++ /work/SRC/openSUSE:Factory/.kdump.new.15902/kdump.changes 2023-06-08 21:41:59.849791387 +0200 @@ -1,0 +2,12 @@ +Wed May 31 08:10:21 UTC 2023 - Jiri Bohac <jbo...@suse.com> + +- bumped version update to v1.0.3 + +------------------------------------------------------------------- +Wed May 24 16:43:24 UTC 2023 - Jiri Bohac <jbo...@suse.com> + +- Honor the KDUMP_VERBOSE setting in kdump-save +- fix distro prefix for ALP +- add calibrate values for ALP (copied from TW) + +------------------------------------------------------------------- Old: ---- kdump-1.0.2+git50.g4b01402.tar.xz New: ---- kdump-1.0.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdump.spec ++++++ --- /var/tmp/diff_new_pack.iGg1sq/_old 2023-06-08 21:42:00.713796478 +0200 +++ /var/tmp/diff_new_pack.iGg1sq/_new 2023-06-08 21:42:00.717796502 +0200 @@ -25,8 +25,12 @@ %define distro_prefix leap%{sle_version}.%{_arch} %endif %else +%if 0%{suse_version} >= 1600 +%define distro_prefix alp%{suse_version}.%{_arch} +%else %define distro_prefix sle%{sle_version}.%{_arch} %endif +%endif %ifarch aarch64 %define qemu qemu-arm qemu-uefi-aarch64 @@ -49,7 +53,7 @@ %define dracutlibdir %{_prefix}/lib/dracut Name: kdump -Version: 1.0.2+git50.g4b01402 +Version: 1.0.3 Release: 0 Summary: Kernel crash dump scripts and utilities License: GPL-2.0-or-later @@ -227,7 +231,7 @@ %files %defattr(-,root,root) %license COPYING -%doc ChangeLog README NEWS +%doc README NEWS %{_sbindir}/kdumptool %{_sbindir}/mkdumprd %{_mandir}/man5/kdump.5%{?ext_man} ++++++ calibrate.conf.all ++++++ --- /var/tmp/diff_new_pack.iGg1sq/_old 2023-06-08 21:42:00.765796784 +0200 +++ /var/tmp/diff_new_pack.iGg1sq/_new 2023-06-08 21:42:00.769796808 +0200 @@ -288,4 +288,64 @@ tumbleweed.x86_64:SIZEOFPAGE=64 tumbleweed.x86_64:USER_BASE=16872 tumbleweed.x86_64:USER_NET=9076 +alp1600.aarch64:INIT_CACHED=40224 +alp1600.aarch64:INIT_CACHED_NET=7000 +alp1600.aarch64:INIT_NET=2616 +alp1600.aarch64:KERNEL_BASE=86304 +alp1600.aarch64:KERNEL_INIT=24404 +alp1600.aarch64:PAGESIZE=4096 +alp1600.aarch64:PERCPU=136 +alp1600.aarch64:SIZEOFPAGE=64 +alp1600.aarch64:USER_BASE=10916 +alp1600.aarch64:USER_NET=652 +alp1600.i386:INIT_CACHED=49168 +alp1600.i386:INIT_CACHED_NET=8732 +alp1600.i386:INIT_NET=3144 +alp1600.i386:KERNEL_BASE=59032 +alp1600.i386:KERNEL_INIT=16652 +alp1600.i386:PAGESIZE=4096 +alp1600.i386:PERCPU=132 +alp1600.i386:SIZEOFPAGE=40 +alp1600.i386:USER_BASE=13732 +alp1600.i386:USER_NET=1692 +alp1600.ppc64:INIT_CACHED=91392 +alp1600.ppc64:INIT_CACHED_NET=11712 +alp1600.ppc64:INIT_NET=3136 +alp1600.ppc64:KERNEL_BASE=144960 +alp1600.ppc64:KERNEL_INIT=24192 +alp1600.ppc64:PAGESIZE=65536 +alp1600.ppc64:PERCPU=896 +alp1600.ppc64:SIZEOFPAGE=64 +alp1600.ppc64:USER_BASE=48064 +alp1600.ppc64:USER_NET=192 +alp1600.ppc64le:INIT_CACHED=90496 +alp1600.ppc64le:INIT_CACHED_NET=11456 +alp1600.ppc64le:INIT_NET=3136 +alp1600.ppc64le:KERNEL_BASE=143360 +alp1600.ppc64le:KERNEL_INIT=22208 +alp1600.ppc64le:PAGESIZE=65536 +alp1600.ppc64le:PERCPU=896 +alp1600.ppc64le:SIZEOFPAGE=64 +alp1600.ppc64le:USER_BASE=43456 +alp1600.ppc64le:USER_NET=0 +alp1600.s390x:INIT_CACHED=34276 +alp1600.s390x:INIT_CACHED_NET=7268 +alp1600.s390x:INIT_NET=2756 +alp1600.s390x:KERNEL_BASE=49004 +alp1600.s390x:KERNEL_INIT=15804 +alp1600.s390x:PAGESIZE=4096 +alp1600.s390x:PERCPU=140 +alp1600.s390x:SIZEOFPAGE=64 +alp1600.s390x:USER_BASE=9376 +alp1600.s390x:USER_NET=2244 +alp1600.x86_64:INIT_CACHED=42628 +alp1600.x86_64:INIT_CACHED_NET=7292 +alp1600.x86_64:INIT_NET=3308 +alp1600.x86_64:KERNEL_BASE=94808 +alp1600.x86_64:KERNEL_INIT=25424 +alp1600.x86_64:PAGESIZE=4096 +alp1600.x86_64:PERCPU=268 +alp1600.x86_64:SIZEOFPAGE=64 +alp1600.x86_64:USER_BASE=16872 +alp1600.x86_64:USER_NET=9076 ++++++ kdump-1.0.2+git50.g4b01402.tar.xz -> kdump-1.0.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git50.g4b01402/ChangeLog new/kdump-1.0.3/ChangeLog --- old/kdump-1.0.2+git50.g4b01402/ChangeLog 2023-02-24 17:05:18.000000000 +0100 +++ new/kdump-1.0.3/ChangeLog 1970-01-01 01:00:00.000000000 +0100 @@ -1,215 +0,0 @@ -2009-02-06 Bernhard Walle <bwa...@suse.de> - - * Improve error message in Debuglink::openCompressed(). - * Fix invalid call of mkstemp() in Debuglink::openCompressed() - * Use 'showmount -e' instead of 'showmount --directories' to also get - exported but unmounted directories listed. - -2009-01-26 Bernhard Walle <bwa...@suse.de> - - * Fix missing error reason (string representation of errno) in the - exception output. - * Include the position of the input stream in the exception output. - -2009-01-23 Bernhard Walle <bwa...@suse.de> - - * Fix invalid syntax in CMakeLists.txt. - * Fix manpage, the command is called read_ikconfig and not - print_ikconfig. - * Remove the documentation about the non-working network configuration - in Xen since that has been fixed meanwhile. - * Make it possible to exit the shell spawned in the initrd with 'exit' - to boot in the kdump system for debugging. - -2009-01-14 Bernhard Walle <bwa...@suse.de> - - * Call a2x with the -L option (prevent syntax checking of docbook - output) to generate the manual pages with asciidoc 8.3.x. - -2008-12-03 Bernhard Walle <bwa...@suse.de> - - * Call 'mkinitrd' with the -B (don't update bootloader) option - in mkdumprd(8). - -2008-11-24 Bernhard Walle <bwa...@suse.de> - - * Document kdump problems on Xen. - * Don't display the full mkinitrd output. - * Warn about zero-size vmcore. - * Default to the auto-detected kernel when mkdumprd is called without - arguments instead of defaulting to the running kernel. - * Parse VMCOREINFO_XEN when present with 'read_vmcoreinfo'. - * Pass the kernel release of the crashed kernel via command line in - case of Xen. - * Improve error handling when no crash kernel release is available - when saving the dump. - -2008-11-21 Bernhard Walle <bwa...@suse.de> - - * Don't use the FQDN but only the hostname to avoid DNS lookups - and errors on wrongly configured systems. - * Fix empty KDUMP_SAVEDIR line when replacing the symbolic link with the - absolute path. - * Don't set sysctl kernel.unknown_nmi_panic=1 by default. - * Mention kernel.panic_on_unrecovered_nmi (yes, that's a different - sysctl) in the kdump(7) manpage. - -2008-11-20 Bernhard Walle <bwa...@suse.de> - - * Document 256M limit on ppc64 for large machines in kdump(7). - -2008-11-19 Bernhard Walle <bwa...@suse.de> - - * Implement KDUMP_VERBOSE = 16 to debug kdump find_kernel. - * Make boot.kdump dependent on boot.localnet to have a correct hostname. - * Fix stripping of the crashkernel command line again. - * Create the release tarballs with Mercurial. - * Don't include test cases in the release tarball. They are very - incomplete and contain too huge test data. - * Honor TMPDIR and set that to disk space instead of the ramdisk when - saving the dump in the initrd. - -2008-11-18 Bernhard Walle <bwa...@suse.de> - - * Add find_kernel command in kdumptool, replacing the find code in the - init script. - * Refactoring. - -2008-11-17 Bernhard Walle <bwa...@suse.de> - - * Implement read_ikconfig command. - -2008-11-13 Bernhard Walle <bwa...@suse.de> - - * Strip the whole crashkernel option when loading the kdump kernel, not - only parts of them, also when the extended crashkernel syntax has been - used. - -2008-11-12 Bernhard Walle <bwa...@suse.de> - - * Fix wrong path when modifying the /etc/sysconfig/kdump file when - creating the kdump initrd. - * Fix compile warning (ignoring return value of chdir(2)). - * Prepend a space before MAKEDUMPFILE_OPTIONS so that there's always a - space between command and the first argument. - * Fix finding of the kernel image (/boot/vmlinuz) with rootdir. - -2008-11-11 Bernhard Walle <bwa...@suse.de> - - * Print the prefix in the debugging output of - Debuglink::findDebugfile(). - * Fix copying of debug info when --root is specified and the debug - file resides in GLOBALDEBUGDIR/EXECDIR/DEBUGFILE. - -2008-11-02 Bernhard Walle <bwa...@suse.de> - - * Implement printing of canonical path (realpath) for the 'print_target' - subcommand. - * Implement support for resolving symbolic links inside a root directory - (--root=...) when saving the dump. - * Don't print a (red) info message that email failed if both - KDUMP_SMTP_SERVER and KDUMP_NOTIFICATION_TO are empty. - * If KDUMP_SAVEDIR points to a local file, resolve symlinks when - creating the initrd because in theory the file system that contains - parts of the symlinks is not mounted in initrd. - * Fix KDUMP_NETCONFIG=auto by calling mkinitrd with right parameters. - * Create core dumps in the initrd when kdumptool crashes. - * Fix compile warning in IdentifyKernel::execute(). - * Also return the default terminal size if ioctl(TIOCGWINSZ) returns - a size of 0x0. - * Fix std::logic_error in Email::send() that caused kdumptool to - terminate unexpectedly. - * Remove newline from the SMTP status error text. - * Implement debugging of SMTP session. - * Set the hostname of the SMTP session based on the --fqdn parameter. - * Don't report a failure in the email when there is no one. - -2008-11-01 Bernhard Walle <bwa...@suse.de> - - * Assume a default terminal size of 80x25 (for printing the horizontal - line). - * Check the exit status of kdumptool. - -2008-10-26 Bernhard Walle <bwa...@suse.de> - - * boot.kdump: Use the full kernel release (obtained with - /sbin/get_kernel_version) to build the initrd name also when symlinks - are used. - -2008-10-22 Bernhard Walle <bwa...@suse.de> - - * actually check <version>-kdump before <version>-<flavour> when - looking for a suitable kdump kernel - -2008-08-18 Bernhard Walle <bwa...@suse.de> - - * change default location to "/var/crash" - -2008-08-15 Bernhard Walle <bwa...@suse.de> - - * make the kdump init script a boot script ("boot.kdump") - * fix init script comments - * add meta information to manpages - -2008-08-12 Bernhard Walle <bwa...@suse.de> - - * correct init script: remove remote FS dependency and also add - "Should-Stop" - -2008-08-07 Bernhard Walle <bernhard.wa...@gmx.de> - - * add kdump(7) manual page - -2008-08-06 Bernhard Walle <bwa...@suse.de> - - * implement email support (send_notification command) - -2008-08-05 Bernhard Walle <bwa...@suse.de> - - * add vmcore(5) manual page - * don't report ELF32 as invalid ELF class - -2008-08-01 Bernhard Walle <bwa...@suse.de> - - * make dependency to libssh2 optional - -2008-08-01 Bernhard Walle <bernhard.wa...@gmx.de> - - * handle more programs in $KDUMP_REQUIRED_PROGRAMS correct - * move original /etc/fstab back - -2008-07-31 Bernhard Walle <bernhard.wa...@gmx.de> - - * change execution state to 'boot' - * use UUID for fstab.kdump - * open a shell if something fails and KDUMP_CONTINUE_ON_ERROR is true - * don't include JFS to initrd - * don't add -s '' parameter to mkinitrd call if the boot splash script - is not available - -2008-07-28 Bernhard Walle <bwa...@suse.de> - - * don't exit with error code when the dump directory does not yet - exist in the 'delete_dumps' command - * remove GDB from list of required programs in initrd - * fix syntax error in init/boot-kdump.sh - * always create empty ${tmp_mnt}/etc/fstab.kdump - -2008-07-27 Bernhard Walle <bwa...@suse.de> - - * mount dump partition and boot partition in initrd - -2008-07-25 Bernhard Walle <bwa...@suse.de> - - * copy required programs (KDUMP_REQUIRED_PROGRAMS) in initrd - -2008-07-24 Bernhard Walle <bwa...@suse.de> - - * add 'print_target' sub command - * implement SSH public/private key authentication - -2008-07-24 Bernhard Walle <bwa...@suse.de> - - * redesign (version 0.5) - - vim: set ts=8 sw=8 noet: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git50.g4b01402/NEWS new/kdump-1.0.3/NEWS --- old/kdump-1.0.2+git50.g4b01402/NEWS 2023-02-24 17:05:18.000000000 +0100 +++ new/kdump-1.0.3/NEWS 2023-05-31 16:34:18.000000000 +0200 @@ -1,7 +1,63 @@ -next +1.0.3 ----- - * Support for zstd-compressed dumps. - + + * Honor the KDUMP_VERBOSE setting in kdump-save + * fix distro prefix for ALP + * add calibrate values for ALP (copied from TW) + * add calibrate values for Leap 15.5 + * revert back to using rd.neednet=1 to enable network (bsc#1206015) + * kdumptool calibrate: add even more margin to reservation + calculations (bsc#1207061) + * don't skip infiniband interfaces (bsc#1186745) + (not a complete fix, requires a patch in dracut as well) + * Run kdump.service only after kdump-early.service is done + (boo#1196335) + * fixed calibrate build on s390 + * minor fixes + * improve the generation of calibrate.conf + * print the qemu messages and trackrss log during calibrate + * use static IP address for calibration + * all calibrate.conf variants now stored in a single file + * added a README and a helper script for updating calibrate.conf + * prevent dracut from running emergency shell + * fix s390x build dependencies + * fix deleting of a temporary file in dracut/module-setup.sh + * look for nsswitch.conf in /etc and /usr/etc + * never run a debugging shell when KDUMP_CONTINUE_ON_ERROR is set + * remove build dependency for wicked + * fix package summary in the spec file + * maintain the spec file in git + * Make the kdump-save.service reboot after kdump-save is finished + (bsc#1204000) + * fix renaming of qeth interfaces (bsc#1204743, bsc#1144337) + * ppc64: rebuild initrd image after migration (bsc#1191410) + * kdumptool calibrate: modify fadump suggestions (jsc#IBM-1027) + * update to kdump-1.0.2+git20: + * Use inst_binary to install kdump-save + * disable build on arm 32bit (bsc#1203888) + * mkdumprd: replace mkinitrd with native dracut (bsc#1202443) + * fix network-related dracut options handling for fadump case + * drop the elevator=deadline kernel option (bsc#1193211) + * fix broken URL in manpage (bsc#1187312) + * kdumptool calibrate: add more margin to reservation calculations + (bsc#1196728) + * remount filesystem r/w for fadump (bsc#1197125) + * stop reloading FADump on CPU hot-add event + * pull sources directly from git using obs_scm + * fix bsc#1190299, bsc#1186272 + * add support for Zstandard compression algorithm + * remove patches included in upstream git: + kdump-calibrate-include-af_packet.patch, + kdump-calibrate-fix-nic-naming.patch, + kdump-calibrate.conf-depends-on-kdumptool.patch + * Exclude i586 from SLE builds. + * kdump-calibrate.conf-depends-on-kdumptool.patch: calibrate.conf: + Add dependency on kdumptool. + * kdump-calibrate-fix-nic-naming.patch: calibrate: Fix network + interface naming. + * kdump-calibrate-include-af_packet.patch: calibrate: Explicitly + include af_packet in the test initrd. + 1.0.2 ----- * Accept cmake option -DCALIBRATE=OFF to skip calibration at build time diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git50.g4b01402/dracut/kdump-save.cc new/kdump-1.0.3/dracut/kdump-save.cc --- old/kdump-1.0.2+git50.g4b01402/dracut/kdump-save.cc 2023-02-24 17:05:18.000000000 +0100 +++ new/kdump-1.0.3/dracut/kdump-save.cc 2023-05-31 16:34:18.000000000 +0200 @@ -28,6 +28,7 @@ #include <unistd.h> #include "config.h" +#include "debug.h" #include "global.h" #include "configuration.h" #include "deletedumps.h" @@ -386,6 +387,10 @@ { Configuration *config = Configuration::config(); + if (config->KDUMP_VERBOSE.value() & 8) + Debug::debug()->setStderrLevel(Debug::DL_TRACE); + Debug::debug()->trace("execute()"); + // start LED blinking BlinkProcess blinker; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git50.g4b01402/dracut/module-setup.sh new/kdump-1.0.3/dracut/module-setup.sh --- old/kdump-1.0.2+git50.g4b01402/dracut/module-setup.sh 2023-02-24 17:05:18.000000000 +0100 +++ new/kdump-1.0.3/dracut/module-setup.sh 2023-05-31 16:34:18.000000000 +0200 @@ -5,340 +5,340 @@ . "$KDUMP_LIBDIR"/setup-kdump.functions kdump_needed() { - # Building a kdump initrd? - if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules" == *\ $_mod\ * ]]; then - return 0 - fi + # Building a kdump initrd? + if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules" == *\ $_mod\ * ]]; then + return 0 + fi - # Do not include kdump by default - return 1 + # Do not include kdump by default + return 1 } kdump_check_net() { - if [ -z "$KDUMP_NETCONFIG" ]; then - # network explicitly disabled in configuration - kdump_neednet= - elif [ "${KDUMP_NETCONFIG%:force}" != "$KDUMP_NETCONFIG" ]; then - # always set up network - kdump_neednet=y - else - for protocol in "${kdump_Protocol[@]}" ; do - if [ "$protocol" != "file" -a "$protocol" != "srcfile" ]; then - kdump_neednet=y - fi - done - - # network configuration - if [ -n "$KDUMP_SMTP_SERVER" -a -n "$KDUMP_NOTIFICATION_TO" ]; then - kdump_neednet=y - fi - fi + if [ -z "$KDUMP_NETCONFIG" ]; then + # network explicitly disabled in configuration + kdump_neednet= + elif [ "${KDUMP_NETCONFIG%:force}" != "$KDUMP_NETCONFIG" ]; then + # always set up network + kdump_neednet=y + else + for protocol in "${kdump_Protocol[@]}" ; do + if [ "$protocol" != "file" -a "$protocol" != "srcfile" ]; then + kdump_neednet=y + fi + done + + # network configuration + if [ -n "$KDUMP_SMTP_SERVER" -a -n "$KDUMP_NOTIFICATION_TO" ]; then + kdump_neednet=y + fi + fi } kdump_get_fs_type() { - local _dev="/dev/block/$1" - local _fstype - if [ -b "$_dev" ] && _fstype=$(get_fs_env "$_dev") ; then - host_fs_types["$(readlink -f "$_dev")"]="$_fstype" - elif _fstype=$(find_dev_fstype "$_dev"); then - host_fs_types["$_dev"]="$_fstype" - fi - return 1 + local _dev="/dev/block/$1" + local _fstype + if [ -b "$_dev" ] && _fstype=$(get_fs_env "$_dev") ; then + host_fs_types["$(readlink -f "$_dev")"]="$_fstype" + elif _fstype=$(find_dev_fstype "$_dev"); then + host_fs_types["$_dev"]="$_fstype" + fi + return 1 } kdump_add_host_dev() { - local _dev=$1 - [[ " ${host_devs[@]} " == *" $_dev "* ]] && return - host_devs+=( "$_dev" ) - check_block_and_slaves_all kdump_get_fs_type "$(get_maj_min "$_dev")" + local _dev=$1 + [[ " ${host_devs[@]} " == *" $_dev "* ]] && return + host_devs+=( "$_dev" ) + check_block_and_slaves_all kdump_get_fs_type "$(get_maj_min "$_dev")" } kdump_add_mnt() { - local _idx=$1 - local _dev="${kdump_dev[_idx]}" - local _mp="${kdump_mnt[_idx]}" - - # Convert system root mounts to bind mounts - if [ "$KDUMP_FADUMP" = "yes" -a "${_mp%/*}" = "/kdump" ] ; then - mkdir -p "$initdir/etc" - echo "/sysroot $_mp none bind 0 0" >> "$initdir/etc/fstab" - return - fi - - case "$_dev" in - UUID=*|LABEL=*|PARTUUID=*|PARTLABEL=*) - _dev=$(blkid -l -t "$_dev" -o device) - ;; - esac - kdump_add_host_dev "$_dev" - host_fs_types["$_dev"]="${kdump_fstype[_idx]}" - if [ "${kdump_fstype[_idx]}" = btrfs ] ; then - for _dev in $() ; do - kdump_add_host_dev "$_dev" - done - fi - - mkdir -p "$initdir/etc" - local _passno=2 - [ "${kdump_fstype[_idx]}" = nfs ] && _passno=0 - _dev=$(kdump_mount_dev "${kdump_dev[_idx]}") - echo "$_dev ${kdump_mnt[_idx]} ${kdump_fstype[_idx]} ${kdump_opts[_idx]} 0 $_passno" >> "$initdir/etc/fstab" + local _idx=$1 + local _dev="${kdump_dev[_idx]}" + local _mp="${kdump_mnt[_idx]}" + + # Convert system root mounts to bind mounts + if [ "$KDUMP_FADUMP" = "yes" -a "${_mp%/*}" = "/kdump" ] ; then + mkdir -p "$initdir/etc" + echo "/sysroot $_mp none bind 0 0" >> "$initdir/etc/fstab" + return + fi + + case "$_dev" in + UUID=*|LABEL=*|PARTUUID=*|PARTLABEL=*) + _dev=$(blkid -l -t "$_dev" -o device) + ;; + esac + kdump_add_host_dev "$_dev" + host_fs_types["$_dev"]="${kdump_fstype[_idx]}" + if [ "${kdump_fstype[_idx]}" = btrfs ] ; then + for _dev in $() ; do + kdump_add_host_dev "$_dev" + done + fi + + mkdir -p "$initdir/etc" + local _passno=2 + [ "${kdump_fstype[_idx]}" = nfs ] && _passno=0 + _dev=$(kdump_mount_dev "${kdump_dev[_idx]}") + echo "$_dev ${kdump_mnt[_idx]} ${kdump_fstype[_idx]} ${kdump_opts[_idx]} 0 $_passno" >> "$initdir/etc/fstab" } check() { - # Get configuration - kdump_get_config || return 1 + # Get configuration + kdump_get_config || return 1 - kdump_needed || return 1 + kdump_needed || return 1 - # no network needed by default - kdump_neednet= + # no network needed by default + kdump_neednet= - # add mount points - if ! [[ $mount_needs ]] ; then - kdump_get_mountpoints || return 1 - - local _i=0 - while [ $_i -lt ${#kdump_mnt[@]} ] - do - [ -n "${kdump_mnt[_i]}" ] && kdump_add_mnt $_i - _i=$((_i+1)) - done - fi - - # check if fence_kdump_send is installed and configured - if [ -f "$FENCE_KDUMP_SEND" ] && - [[ "$KDUMP_POSTSCRIPT" =~ "$FENCE_KDUMP_SEND" ]] ; then - # add fence_kdump_send to initrd automatically - KDUMP_REQUIRED_PROGRAMS="$KDUMP_REQUIRED_PROGRAMS $FENCE_KDUMP_SEND" - # set up network (unless explicitly disabled by KDUMP_NETCONFIG) - kdump_neednet=y - fi + # add mount points + if ! [[ $mount_needs ]] ; then + kdump_get_mountpoints || return 1 + + local _i=0 + while [ $_i -lt ${#kdump_mnt[@]} ] + do + [ -n "${kdump_mnt[_i]}" ] && kdump_add_mnt $_i + _i=$((_i+1)) + done + fi + + # check if fence_kdump_send is installed and configured + if [ -f "$FENCE_KDUMP_SEND" ] && + [[ "$KDUMP_POSTSCRIPT" =~ "$FENCE_KDUMP_SEND" ]] ; then + # add fence_kdump_send to initrd automatically + KDUMP_REQUIRED_PROGRAMS="$KDUMP_REQUIRED_PROGRAMS $FENCE_KDUMP_SEND" + # set up network (unless explicitly disabled by KDUMP_NETCONFIG) + kdump_neednet=y + fi - kdump_check_net + kdump_check_net - return 0 + return 0 } depends() { - local -A _modules + local -A _modules - # drm is needed to get console output, but it is not included - # automatically, because kdump does not use plymouth - _modules[drm]= + # drm is needed to get console output, but it is not included + # automatically, because kdump does not use plymouth + _modules[drm]= - [ "$kdump_neednet" = y ] && _modules[network]= + [ "$kdump_neednet" = y ] && _modules[network]= - local _mod=watchdog-modules - if [ -e "$dracutsysrootdir$dracutbasedir"/modules.d/??$_mod ]; then - _modules[$_mod]= - fi + local _mod=watchdog-modules + if [ -e "$dracutsysrootdir$dracutbasedir"/modules.d/??$_mod ]; then + _modules[$_mod]= + fi - for protocol in "${kdump_Protocol[@]}" ; do + for protocol in "${kdump_Protocol[@]}" ; do if [ "$protocol" = "nfs" ]; then - _modules[nfs]= + _modules[nfs]= fi if [ "$protocol" = "cifs" -o "$protocol" = "smb" ]; then - _modules[cifs]= + _modules[cifs]= fi - done + done - echo ${!_modules[@]} + echo ${!_modules[@]} } kdump_add_mpath_dev() { - local _major=${1%:*} - local _minor=${1#*:} - local _wwid + local _major=${1%:*} + local _minor=${1#*:} + local _wwid - eval _wwid=\$kdump_mpath_wwid_${_major}_${_minor} - if [ -n "$_wwid" ] ; then + eval _wwid=\$kdump_mpath_wwid_${_major}_${_minor} + if [ -n "$_wwid" ] ; then kdump_mpath_wwids+=$(printf "%q " "wwid $_wwid") - fi + fi } kdump_cmdline_zfcp() { - is_zfcp() { - local _dev=$1 - local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD) - local _sdev _lun _wwpn _ccw - - [ "${_devpath#*/sd}" == "$_devpath" ] && return 1 - _sdev="${_devpath%%/block/*}" - [ -e ${_sdev}/fcp_lun ] || return 1 - _ccw=$(cat ${_sdev}/hba_id) - _lun=$(cat ${_sdev}/fcp_lun) - _wwpn=$(cat ${_sdev}/wwpn) - echo "rd.zfcp=${_ccw},${_wwpn},${_lun}" - } - [[ $hostonly ]] || [[ $mount_needs ]] && { - for_each_host_dev_and_slaves_all is_zfcp - } | sort -u + is_zfcp() { + local _dev=$1 + local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD) + local _sdev _lun _wwpn _ccw + + [ "${_devpath#*/sd}" == "$_devpath" ] && return 1 + _sdev="${_devpath%%/block/*}" + [ -e ${_sdev}/fcp_lun ] || return 1 + _ccw=$(cat ${_sdev}/hba_id) + _lun=$(cat ${_sdev}/fcp_lun) + _wwpn=$(cat ${_sdev}/wwpn) + echo "rd.zfcp=${_ccw},${_wwpn},${_lun}" + } + [[ $hostonly ]] || [[ $mount_needs ]] && { + for_each_host_dev_and_slaves_all is_zfcp + } | sort -u } kdump_ip_set_explicitly() { - local _opt - local opts + local _opt + local opts - if [ "$KDUMP_FADUMP" = yes ]; then - _opts="`cat /proc/cmdline`" - else - _opts="$KDUMP_COMMANDLINE $KDUMP_COMMANDLINE_APPEND" - fi - - for _opt in $_opts - do - if [ "${_opt%%=*}" = "ip" -a \ - "${_opt#*=}" != "$_opt" ] - then - return 0 - fi - done - return 1 + if [ "$KDUMP_FADUMP" = yes ]; then + _opts="`cat /proc/cmdline`" + else + _opts="$KDUMP_COMMANDLINE $KDUMP_COMMANDLINE_APPEND" + fi + + for _opt in $_opts + do + if [ "${_opt%%=*}" = "ip" -a \ + "${_opt#*=}" != "$_opt" ] + then + return 0 + fi + done + return 1 } # Output variables: -# kdump_kmods additional kernel modules updated -# kdump_ifmap hardware network interface map updated +# kdump_kmods additional kernel modules updated +# kdump_ifmap hardware network interface map updated kdump_cmdline_ip() { - [ "$kdump_neednet" = y ] || return 0 + [ "$kdump_neednet" = y ] || return 0 - kdump_ip_set_explicitly && return 0 + kdump_ip_set_explicitly && return 0 - local _cfg="${KDUMP_NETCONFIG%:force}" - if [ "$_cfg" = "auto" ] ; then + local _cfg="${KDUMP_NETCONFIG%:force}" + if [ "$_cfg" = "auto" ] ; then kdump_host_if=default kdump_net_mode=auto - else + else kdump_host_if="${_cfg%%:*}" kdump_net_mode="${_cfg#*:}" - fi + fi - if [ "$kdump_host_if" = "default" ] ; then + if [ "$kdump_host_if" = "default" ] ; then kdump_host_if=$(kdump_default_netdev) - fi - [ -n "$kdump_host_if" ] || return 1 + fi + [ -n "$kdump_host_if" ] || return 1 - if [ "$kdump_net_mode" = "auto" ] ; then + if [ "$kdump_net_mode" = "auto" ] ; then kdump_net_mode=$(kdump_netdev_mode "$kdump_host_if") - fi + fi - kdump_ifname_config "$kdump_host_if" + kdump_ifname_config "$kdump_host_if" - echo -n "rd.neednet=1" - echo -n "$kdump_netif" + echo -n "rd.neednet=1" + echo -n "$kdump_netif" - case "$kdump_net_mode" in + case "$kdump_net_mode" in static) - printf " %s" \ + printf " %s" \ $(kdump_ip_config "$kdump_host_if" "$kdump_iface") \ $(kdump_ip6_config "$kdump_host_if" "$kdump_iface") - ;; + ;; dhcp|dhcp4) - echo " ip=${kdump_iface}:dhcp" - ;; + echo " ip=${kdump_iface}:dhcp" + ;; dhcp6) - echo " ip=${kdump_iface}:dhcp6" - ;; + echo " ip=${kdump_iface}:dhcp6" + ;; auto6) - echo " ip=${kdump_iface}:auto6" - ;; + echo " ip=${kdump_iface}:auto6" + ;; *) - derror "Wrong KDUMP_NETCONFIG mode: $kdump_net_mode" - ;; - esac + derror "Wrong KDUMP_NETCONFIG mode: $kdump_net_mode" + ;; + esac } cmdline_zfcp() { - local _arch=$(uname -m) - [ "$_arch" = "s390" -o "$_arch" = "s390x" ] && kdump_cmdline_zfcp + local _arch=$(uname -m) + [ "$_arch" = "s390" -o "$_arch" = "s390x" ] && kdump_cmdline_zfcp } # Output variables: -# kdump_kmods additional kernel modules updated -# kdump_ifmap hardware network interface map updated +# kdump_kmods additional kernel modules updated +# kdump_ifmap hardware network interface map updated cmdline_net() { - kdump_cmdline_ip + kdump_cmdline_ip } installkernel() { - [ -n "$kdump_kmods" ] || return 0 - hostonly='' instmods $kdump_kmods + [ -n "$kdump_kmods" ] || return 0 + hostonly='' instmods $kdump_kmods } install() { - if [[ $hostonly_cmdline == "yes" ]] ; then - local _cmdline=$(cmdline_zfcp) - [ -n "$_cmdline" ] && printf "%s\n" "$_cmdline" >> "${initdir}/etc/cmdline.d/99kdump-zfcp.conf" + if [[ $hostonly_cmdline == "yes" ]] ; then + local _cmdline=$(cmdline_zfcp) + [ -n "$_cmdline" ] && printf "%s\n" "$_cmdline" >> "${initdir}/etc/cmdline.d/99kdump-zfcp.conf" # don't call cmdline_net in a subshell, it sets global variables _cmdline_f=$(mktemp) || return 1 cmdline_net > $_cmdline_f - _cmdline=$(< $_cmdline_f) + _cmdline=$(< $_cmdline_f) rm $_cmdline_f - [ -n "$_cmdline" ] && printf "%s\n" "$_cmdline" >> "${initdir}/etc/cmdline.d/99kdump-net.conf" - fi + [ -n "$_cmdline" ] && printf "%s\n" "$_cmdline" >> "${initdir}/etc/cmdline.d/99kdump-net.conf" + fi - # Get a list of required multipath devices - local kdump_mpath_wwids - kdump_map_mpath_wwid - for_each_host_dev_and_slaves_all kdump_add_mpath_dev - - kdump_setup_files "$initdir" "$kdump_mpath_wwids" - - inst_hook cmdline 50 "$moddir/kdump-root.sh" - inst_hook cmdline 50 "$moddir/kdump-boot.sh" - if dracut_module_included "systemd" ; then + # Get a list of required multipath devices + local kdump_mpath_wwids + kdump_map_mpath_wwid + for_each_host_dev_and_slaves_all kdump_add_mpath_dev + + kdump_setup_files "$initdir" "$kdump_mpath_wwids" + + inst_hook cmdline 50 "$moddir/kdump-root.sh" + inst_hook cmdline 50 "$moddir/kdump-boot.sh" + if dracut_module_included "systemd" ; then inst_binary "$moddir/device-timeout-generator" \ - "$systemdutildir"/system-generators/kdump-device-timeout-generator + "$systemdutildir"/system-generators/kdump-device-timeout-generator inst_binary "$KDUMP_LIBDIR"/kdump-save /kdump/kdump-save awk -v mountpoints="${kdump_mnt[*]}" '{ gsub(/@KDUMP_MOUNTPOINTS@/, mountpoints) print - }' "$moddir/kdump-save.service.in" > \ - "$initdir/$systemdsystemunitdir"/kdump-save.service + }' "$moddir/kdump-save.service.in" > \ + "$initdir/$systemdsystemunitdir"/kdump-save.service - local _d _mp - local _mnt - _d="$initdir/$systemdsystemunitdir"/initrd-switch-root.target.d - mkdir -p "$_d" - ( - echo "[Unit]" - for _mp in "${kdump_mnt[@]}" ; do - _mnt=$(systemd-escape -p --suffix=mount "$_mp") - _d="$initdir/$systemdsystemunitdir/$_mnt".d - mkdir -p "$_d" - echo -e "[Unit]\nConditionPathExists=/proc/vmcore" \ - > "$_d"/kdump.conf - echo "Conflicts=$_mnt" - done - ) > "$_d"/kdump.conf + local _d _mp + local _mnt + _d="$initdir/$systemdsystemunitdir"/initrd-switch-root.target.d + mkdir -p "$_d" + ( + echo "[Unit]" + for _mp in "${kdump_mnt[@]}" ; do + _mnt=$(systemd-escape -p --suffix=mount "$_mp") + _d="$initdir/$systemdsystemunitdir/$_mnt".d + mkdir -p "$_d" + echo -e "[Unit]\nConditionPathExists=/proc/vmcore" \ + > "$_d"/kdump.conf + echo "Conflicts=$_mnt" + done + ) > "$_d"/kdump.conf mkdir -p "$initdir/$systemdsystemunitdir"/initrd.target.wants ln_r "$systemdsystemunitdir"/kdump-save.service \ - "$systemdsystemunitdir"/initrd.target.wants/kdump-save.service - else + "$systemdsystemunitdir"/initrd.target.wants/kdump-save.service + else [ "$KDUMP_FADUMP" != yes ] && \ - inst_hook mount 30 "$moddir/mount-kdump.sh" + inst_hook mount 30 "$moddir/mount-kdump.sh" inst_hook pre-pivot 90 "$KDUMP_LIBDIR"/kdump-save - fi + fi - inst_multiple makedumpfile \ + inst_multiple makedumpfile \ $KDUMP_REQUIRED_PROGRAMS - inst_simple $(type -p makedumpfile-R.pl) /kdump/makedumpfile-R.pl - chmod -x "$initdir/kdump/makedumpfile-R.pl" + inst_simple $(type -p makedumpfile-R.pl) /kdump/makedumpfile-R.pl + chmod -x "$initdir/kdump/makedumpfile-R.pl" - # Install /etc/resolv.conf to provide initial DNS configuration. The file - # is resolved first to install directly the target file if it is a symlink. - # The real resolv.conf could be in a location that gets hidden by a mount - # done in the kdump environment, for instance, /etc/resolv.conf -> - # /run/netconfig/resolv.conf with tmpfs getting mounted on /run. - local resolv=$(realpath /etc/resolv.conf) - inst_simple "$resolv" /etc/resolv.conf + # Install /etc/resolv.conf to provide initial DNS configuration. The file + # is resolved first to install directly the target file if it is a symlink. + # The real resolv.conf could be in a location that gets hidden by a mount + # done in the kdump environment, for instance, /etc/resolv.conf -> + # /run/netconfig/resolv.conf with tmpfs getting mounted on /run. + local resolv=$(realpath /etc/resolv.conf) + inst_simple "$resolv" /etc/resolv.conf - inst_simple /usr/share/zoneinfo/UTC - inst_simple /etc/localtime + inst_simple /usr/share/zoneinfo/UTC + inst_simple /etc/localtime } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git50.g4b01402/packaging/suse/kdump.spec new/kdump-1.0.3/packaging/suse/kdump.spec --- old/kdump-1.0.2+git50.g4b01402/packaging/suse/kdump.spec 2023-02-24 17:05:18.000000000 +0100 +++ new/kdump-1.0.3/packaging/suse/kdump.spec 2023-05-31 16:34:18.000000000 +0200 @@ -24,8 +24,12 @@ %define distro_prefix leap%{sle_version}.%{_arch} %endif %else +%if 0%{suse_version} >= 1600 +%define distro_prefix alp%{suse_version}.%{_arch} +%else %define distro_prefix sle%{sle_version}.%{_arch} %endif +%endif %ifarch aarch64 %define qemu qemu-arm qemu-uefi-aarch64 @@ -227,7 +231,7 @@ %files %defattr(-,root,root) %license COPYING -%doc ChangeLog README NEWS +%doc README NEWS %{_sbindir}/kdumptool %{_sbindir}/mkdumprd %{_mandir}/man5/kdump.5%{?ext_man}