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-10-26 17:12:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdump (Old) and /work/SRC/openSUSE:Factory/.kdump.new.24901 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump" Thu Oct 26 17:12:02 2023 rev:141 rq:1120116 version:1.9.7 Changes: -------- --- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2023-09-08 21:14:58.973273717 +0200 +++ /work/SRC/openSUSE:Factory/.kdump.new.24901/kdump.changes 2023-10-26 17:12:19.759664089 +0200 @@ -1,0 +2,9 @@ +Tue Oct 17 16:22:16 UTC 2023 - Jiri Bohac <jbo...@suse.com> + +- upgrade to version 1.9.7 + * prevent dracut emergency shell + * s390: consolidate low-level network configuration with zdev + * s390: Explicitly request zFCP devices + + +------------------------------------------------------------------- Old: ---- kdump-1.9.6.tar.xz New: ---- kdump-1.9.7.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdump.spec ++++++ --- /var/tmp/diff_new_pack.TC7SVk/_old 2023-10-26 17:12:20.327684951 +0200 +++ /var/tmp/diff_new_pack.TC7SVk/_new 2023-10-26 17:12:20.331685098 +0200 @@ -53,7 +53,7 @@ %define dracutlibdir %{_prefix}/lib/dracut Name: kdump -Version: 1.9.6 +Version: 1.9.7 Release: 0 Summary: Kernel crash dump scripts and utilities License: GPL-2.0-or-later ++++++ kdump-1.9.6.tar.xz -> kdump-1.9.7.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.6/NEWS new/kdump-1.9.7/NEWS --- old/kdump-1.9.6/NEWS 2023-08-25 17:54:25.000000000 +0200 +++ new/kdump-1.9.7/NEWS 2023-10-17 15:31:22.000000000 +0200 @@ -1,3 +1,9 @@ +1.9.7 +----- + * prevent dracut emergency shell + * s390: consolidate low-level network configuration with zdev + * s390: Explicitly request zFCP devices + 1.9.6 ----- * use newer /sys/kernel/fadump/ instead of /sys/kernel/fadump_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.6/dracut/module-setup.sh new/kdump-1.9.7/dracut/module-setup.sh --- old/kdump-1.9.6/dracut/module-setup.sh 2023-08-25 17:54:25.000000000 +0200 +++ new/kdump-1.9.7/dracut/module-setup.sh 2023-10-17 15:31:22.000000000 +0200 @@ -136,10 +136,18 @@ } install() { + local _arch=$(uname -m) + # generate command line for network configuration kdump_cmdline_ip > "${initdir}/etc/cmdline.d/99kdump-net.conf" [[ -s "${initdir}/etc/cmdline.d/99kdump-net.conf" ]] || rm "${initdir}/etc/cmdline.d/99kdump-net.conf" + # prevent dracut emergency shell unless kdump-save would run a shell anyway + kdump_save_may_run_shell || echo "rd.emergency=reboot rd.shell=0" > "${initdir}/etc/cmdline.d/99no-emerg.conf" + + # S390: Explicitly request zFCP devices + [ "$_arch" = "s390" -o "$_arch" = "s390x" ] && kdump_cmdline_zfcp > "${initdir}/etc/cmdline.d/99kdump-zfcp.conf" + # parse the configuration, check values and initialize defaults "$KDUMP_LIBDIR"/kdump-read-config.sh --print > ${initdir}/etc/kdump.conf # remember the host name @@ -244,3 +252,40 @@ done popd >/dev/null } + +# mimic the logic of kdump-save determining if an interactive shell may be run +function kdump_save_may_run_shell +{ + # without KDUMP_CONTINUE_ON_ERROR user explicitly wants a shell on errors + $KDUMP_CONTINUE_ON_ERROR || return 0 + + $KDUMP_IMMEDIATE_REBOOT && return 1 + + if $KDUMP_FADUMP; then + $KDUMP_FADUMP_SHELL && return 0 + else + return 0 + fi + + return 1 +} + +function 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 +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.6/dracut/setup-kdump.functions new/kdump-1.9.7/dracut/setup-kdump.functions --- old/kdump-1.9.6/dracut/setup-kdump.functions 2023-08-25 17:54:25.000000000 +0200 +++ new/kdump-1.9.7/dracut/setup-kdump.functions 2023-10-17 15:31:22.000000000 +0200 @@ -723,7 +723,35 @@ } # }}} # -# Set up a QETH network interface +# Low-level setup for an s390 network interface +# Parameters: +# 1) _root: initrd temporary root +# 2) _iface: current interface name +# 3) _bootif: interface name in initrd +function kdump_setup_zdev() # {{{ +{ + local _root="$1" + local _iface="$2" + local _bootif="$3" + case $(uname -i) in + s390*) ;; + *) return # early return if not s390 + ;; + esac + local _tempfile=$(mktemp --tmpdir kdump-dracut-zdev.XXXXXX) + chzdev --export "$_tempfile" --active --by-interface "$_iface" \ + 2>&1 | ddebug + sed -i -e 's/^\[active /\[persistent /' "$_tempfile" + ddebug < "$_tempfile" + chzdev --import "$_tempfile" --persistent --base "/etc=${_root}/etc" \ + --yes --no-root-update --force 2>&1 | ddebug + lszdev --configured --persistent --info --by-interface "$_iface" \ + --base "/etc=${_root}/etc" 2>&1 | ddebug + rm -f "$_tempfile" +} # }}} + +# +# Set up name for a QETH network interface # Parameters: # 1) _root: initrd temporary root # 2) _iface: current interface name @@ -735,14 +763,7 @@ local _bootif="$3" local _dev=$( readlink "/sys/class/net/$_iface/device" ) _dev="${_dev##*/}" - local _cdev0=$( readlink "/sys/class/net/$_iface/device/cdev0" ) - _cdev0="${_cdev0##*/}" - local _cdev1=$( readlink "/sys/class/net/$_iface/device/cdev1" ) - _cdev1="${_cdev1##*/}" - local _cdev2=$( readlink "/sys/class/net/$_iface/device/cdev2" ) - _cdev2="${_cdev2##*/}" local _layer2=$(</sys/class/net/$_iface/device/layer2) - local _portno=$(</sys/class/net/$_iface/device/portno) local _type=$(</sys/class/net/$_iface/type) local _dev_id _dev_id_match if [ "$_layer2" -ne 0 ] @@ -751,31 +772,6 @@ _dev_id_match=", ATTR{dev_id}==\"$_dev_id\"" fi - cat >"${_root}/etc/udev/rules.d/41-qeth-${_dev}.rules" <<EOF -#generated by kdump -ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="qeth", GOTO="group_qeth_${_dev}" -ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="${_cdev0}", DRIVER=="qeth", GOTO="group_qeth_${_dev}" -ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="${_cdev1}", DRIVER=="qeth", GOTO="group_qeth_${_dev}" -ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="${_cdev2}", DRIVER=="qeth", GOTO="group_qeth_${_dev}" -ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="${_dev}", DRIVER=="qeth", GOTO="cfg_qeth_${_dev}" -GOTO="end_qeth_${_dev}" - -LABEL="group_qeth_${_dev}" -TEST=="[ccwgroup/${_dev}]", GOTO="end_qeth_${_dev}" -TEST!="[ccw/${_cdev0}]", GOTO="end_qeth_${_dev}" -TEST!="[ccw/${_cdev1}]", GOTO="end_qeth_${_dev}" -TEST!="[ccw/${_cdev2}]", GOTO="end_qeth_${_dev}" -ATTR{[drivers/ccwgroup:qeth]group}="${_cdev0},${_cdev1},${_cdev2}" -GOTO="end_qeth_${_dev}" - -LABEL="cfg_qeth_${_dev}" -ATTR{[ccwgroup/0.0.0800]layer2}="${_layer2}" -ATTR{[ccwgroup/0.0.0800]portno}="${_portno}" -ATTR{[ccwgroup/0.0.0800]online}="1" - -LABEL="end_qeth_${_dev}" -EOF - cat >"${_root}/etc/udev/rules.d/80-persistent-net-${_bootif}.rules" <<EOF SUBSYSTEM=="net", ACTION=="add", DRIVERS=="qeth"$_dev_id_match, KERNELS=="$_dev", ATTR{type}=="$_type", NAME="$_bootif" EOF @@ -797,6 +793,7 @@ _iface="${_spec%:*}" _bootif="${_spec##*:}" _drv=$( readlink "/sys/class/net/$_iface/device/driver" ) + kdump_setup_zdev "$_root" "$_iface" "$_bootif" case "$_drv" in */qeth) kdump_setup_qeth "$_root" "$_iface" "$_bootif"