Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kdump for openSUSE:Factory checked in at 2026-03-28 20:12:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdump (Old) and /work/SRC/openSUSE:Factory/.kdump.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump" Sat Mar 28 20:12:25 2026 rev:164 rq:1343205 version:2.1.8 Changes: -------- --- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2026-03-18 16:49:59.815751323 +0100 +++ /work/SRC/openSUSE:Factory/.kdump.new.8177/kdump.changes 2026-03-28 20:12:35.727551775 +0100 @@ -1,0 +2,7 @@ +Thu Mar 26 10:09:05 UTC 2026 - Jiri Bohac <[email protected]> + +- upgrade to version 2.1.8 + * man: fix install instructions in kdump(7) + * kdumptool commandline: ignore minor differencies (bsc#1260535) + +------------------------------------------------------------------- Old: ---- kdump-2.1.7.tar.xz New: ---- kdump-2.1.8.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdump.spec ++++++ --- /var/tmp/diff_new_pack.053fBN/_old 2026-03-28 20:12:36.295575218 +0100 +++ /var/tmp/diff_new_pack.053fBN/_new 2026-03-28 20:12:36.299575384 +0100 @@ -57,7 +57,7 @@ %define dracutlibdir %{_prefix}/lib/dracut Name: kdump -Version: 2.1.7 +Version: 2.1.8 Release: 0 Summary: Kernel crash dump scripts and utilities License: GPL-2.0-or-later ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.053fBN/_old 2026-03-28 20:12:36.339577035 +0100 +++ /var/tmp/diff_new_pack.053fBN/_new 2026-03-28 20:12:36.343577200 +0100 @@ -1,6 +1,6 @@ -mtime: 1773419271 -commit: 38b85372f760e3049674c6a4ed0516e29fa8aa9b7c0c0990e33e32c91af63017 +mtime: 1774523220 +commit: 6b658aaebafb389893c388f20ad6125eda7c2b39e20a7b911cf0c2c14f9f5ddc url: https://src.opensuse.org/kernel-kdump/kdump.git -revision: 38b85372f760e3049674c6a4ed0516e29fa8aa9b7c0c0990e33e32c91af63017 +revision: 6b658aaebafb389893c388f20ad6125eda7c2b39e20a7b911cf0c2c14f9f5ddc projectscmsync: https://src.opensuse.org/kernel-kdump/_ObsPrj ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-03-26 12:10:17.000000000 +0100 @@ -0,0 +1 @@ +.osc ++++++ kdump-2.1.7.tar.xz -> kdump-2.1.8.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-2.1.7/NEWS new/kdump-2.1.8/NEWS --- old/kdump-2.1.7/NEWS 2026-03-13 17:19:28.000000000 +0100 +++ new/kdump-2.1.8/NEWS 2026-03-26 11:07:26.000000000 +0100 @@ -1,3 +1,8 @@ +2.1.8 +----- +* man: fix install instructions in kdump(7) +* kdumptool commandline: ignore minor differencies (bsc#1260535) + 2.1.7 ----- * fix VLAN interface naming (bsc#1255300) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-2.1.7/doc/man/kdump.7.txt.in new/kdump-2.1.8/doc/man/kdump.7.txt.in --- old/kdump-2.1.7/doc/man/kdump.7.txt.in 2026-03-13 17:19:28.000000000 +0100 +++ new/kdump-2.1.8/doc/man/kdump.7.txt.in 2026-03-26 11:07:26.000000000 +0100 @@ -67,11 +67,13 @@ Automatic Configuration ----------------------- -A simple method to use kdump on SUSE is to install -the kdump package and enable the kdump.service: +Non-transactional systems +~~~~~~~~~~~~~~~~~~~~~~~~~ +An easy method to configure kdump on SUSE non-transactional systems is +to install the kdump package and enable the kdump.service: ---------------------------------- -# zypper install yast2-kdump +# zypper install kdump # systemctl enable kdump ---------------------------------- @@ -91,6 +93,19 @@ If you don't perform this step, the service will fail during the next boot and kdump should be available on the second-next boot. +Transactional systems +~~~~~~~~~~~~~~~~~~~~~ +On a transactional system the kdump-commandline.service won't be able +to update the bootloader. Use the transactional-update tool instead: + +---------------------------------- +# transactional-update setup-kdump +---------------------------------- + +This will install kdump, set KDUMP_UPDATE_BOOTLOADER to false and run +_kdumptool calibrate_ and _kdumptool commandline_ to update the +bootloader. + Manual Setup ------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-2.1.7/kdumptool/kdumptool new/kdump-2.1.8/kdumptool/kdumptool --- old/kdump-2.1.7/kdumptool/kdumptool 2026-03-13 17:19:28.000000000 +0100 +++ new/kdump-2.1.8/kdumptool/kdumptool 2026-03-26 11:07:26.000000000 +0100 @@ -104,11 +104,14 @@ fi + TOLERANCE_UP=0 + TOLERANCE_DOWN=0 + # sanitize the value in KDUMP_CRASHKERNEL read -ra KDUMP_CRASHKERNEL_ITEMS <<<"$KDUMP_CRASHKERNEL" - FADUMP= - CRASHKERNEL= + declare -a FADUMP=() + declare -a CRASHKERNEL=() if [[ "${KDUMP_CRASHKERNEL_ITEMS[*]}" == "auto" ]]; then CALIBRATE_LOW= CALIBRATE_HIGH= @@ -126,7 +129,7 @@ echo "KDUMP_FADUMP set to true but Fadump is not supported on this machine" >&2 return 1 fi - CRASHKERNEL="crashkernel=${CALIBRATE_FADUMP}M" + CRASHKERNEL=("crashkernel=${CALIBRATE_FADUMP}M") else if [[ -z ${CALIBRATE_LOW} ]] || [[ -z ${CALIBRATE_HIGH} ]]; then echo "Error parsing calibrate output" >&2 @@ -135,29 +138,32 @@ if [[ ${CALIBRATE_HIGH} -gt 0 ]]; then if [[ ${CALIBRATE_LOW} -gt 0 ]]; then - CRASHKERNEL="crashkernel=${CALIBRATE_LOW}M,low crashkernel=${CALIBRATE_HIGH}M,high" + CRASHKERNEL=("crashkernel=${CALIBRATE_LOW}M,low" "crashkernel=${CALIBRATE_HIGH}M,high") else - CRASHKERNEL="crashkernel=${CALIBRATE_HIGH}M,high" + CRASHKERNEL=("crashkernel=${CALIBRATE_HIGH}M,high") fi else - CRASHKERNEL="crashkernel=${CALIBRATE_LOW}M" + CRASHKERNEL=("crashkernel=${CALIBRATE_LOW}M") fi fi CRASHKERNEL_SOURCE="the output of 'kdumptool calibrate'" + + # kdumptool calibrate is not stable + # avoid unnecessary minor adjustments to the bootloader + TOLERANCE_UP=16 + TOLERANCE_DOWN=4 else - CRASHKERNEL= for i in "${KDUMP_CRASHKERNEL_ITEMS[@]}"; do case "${i}" in crashkernel=*) - CRASHKERNEL="$CRASHKERNEL $i" + CRASHKERNEL+=("$i") ;; *) echo "Ignoring unsupported \"$i\" found in KDUMP_CRASHKERNEL" >&2 ;; esac done - CRASHKERNEL="${CRASHKERNEL# }" - if [[ -z $CRASHKERNEL ]]; then + if [[ -z "${CRASHKERNEL[*]}" ]]; then echo "Invalid value of KDUMP_CRASHKERNEL" return 1 fi @@ -165,75 +171,111 @@ fi if $KDUMP_FADUMP; then - FADUMP="fadump=on" + FADUMP=(fadump=on) # if makedumpfile not configured to filter out user pages (dump level), # or makedumpfile is not used (raw format), # set fadump=nocma - [[ $((KDUMP_DUMPLEVEL & 8)) -eq 0 ]] && FADUMP="fadump=nocma" - [[ "${KDUMP_DUMPFORMAT}" = "raw" ]] && FADUMP="fadump=nocma" + [[ $((KDUMP_DUMPLEVEL & 8)) -eq 0 ]] && FADUMP=(fadump=nocma) + [[ "${KDUMP_DUMPFORMAT}" = "raw" ]] && FADUMP=(fadump=nocma) fi if ! $CHECK && ! $UPDATE; then - [[ -n "$CRASHKERNEL" ]] && echo -n "$CRASHKERNEL" - [[ -n "$FADUMP" ]] && echo -n " $FADUMP" + [[ -n "${CRASHKERNEL[*]}" ]] && echo -n "${CRASHKERNEL[*]}" + [[ -n "${FADUMP[*]}" ]] && echo -n " ${FADUMP[*]}" echo return 0 fi if $CHECK; then # get the running kernel's kdump arguments - CMDLINE_CRASHKERNEL= - CMDLINE_FADUMP= + declare -a CMDLINE_CRASHKERNEL=() + declare -a CMDLINE_FADUMP=() # shellcheck disable=SC2046 read -ra CMDLINE < /proc/cmdline for x in "${CMDLINE[@]}"; do case "$x" in crashkernel=*) - CMDLINE_CRASHKERNEL="${CMDLINE_CRASHKERNEL} $x" + CMDLINE_CRASHKERNEL+=("$x") ;; fadump=*) - CMDLINE_FADUMP="${CMDLINE_FADUMP} $x" + CMDLINE_FADUMP+=("$x") ;; esac done - CMDLINE_CRASHKERNEL="${CMDLINE_CRASHKERNEL# }" - CMDLINE_FADUMP="${CMDLINE_FADUMP# }" #compare to expected command line CHECK_FAILED=false - if [[ "${CRASHKERNEL}" != "${CMDLINE_CRASHKERNEL}" ]]; then - CHECK_FAILED=true + if [[ "${CRASHKERNEL[*]}" != "${CMDLINE_CRASHKERNEL[*]}" ]]; then echo "Kdump expects these crashkernel= values on the kernel command line:" - echo " ${CRASHKERNEL}" + echo " ${CRASHKERNEL[*]}" echo "(based on ${CRASHKERNEL_SOURCE})" - if [[ -z "${CMDLINE_CRASHKERNEL}" ]]; then + if [[ -z "${CMDLINE_CRASHKERNEL[*]}" ]]; then echo "No crashkernel= found in /proc/cmdline. Kdump can't be started." + CHECK_FAILED=true else echo "/proc/cmdline contains:" - echo " ${CMDLINE_CRASHKERNEL}" - echo "Kdump may not work correctly" + echo " ${CMDLINE_CRASHKERNEL[*]}" + + # check if differences are within tolerance + if [[ $TOLERANCE_UP -eq 0 ]] && [[ $TOLERANCE_DOWN -eq 0 ]]; then + # no tolerance allowed + CHECK_FAILED=true + elif [[ "${#CRASHKERNEL[*]}" -ne "${#CMDLINE_CRASHKERNEL[*]}" ]]; then + # different number of crashkernel= parameters + CHECK_FAILED=true + else + # check individual elements + for ((i=0; i<${#CRASHKERNEL[*]}; ++i)); do + A=${CRASHKERNEL[i]} + B=${CMDLINE_CRASHKERNEL[i]} + + # extract numeric values + AN=${A//[^0-9]/} + BN=${B//[^0-9]/} + + # no numeric value found + [[ -z $AN ]] && CHECK_FAILED=true + [[ -z $BN ]] && CHECK_FAILED=true + $CHECK_FAILED && break + + # A with B's numeric value differs from B + [[ "${A/$AN/$BN}" != "$B" ]] && CHECK_FAILED=true + $CHECK_FAILED && break + + # value not within tolerance + [[ $((AN)) -gt $((BN + TOLERANCE_DOWN)) ]] && CHECK_FAILED=true + [[ $((AN)) -lt $((BN - TOLERANCE_UP)) ]] && CHECK_FAILED=true + $CHECK_FAILED && break + done + fi + + if $CHECK_FAILED; then + echo "Kdump may not work correctly." + else + echo "Ignoring minor differencies in crashkernel sizes." + fi fi fi - if [[ "${FADUMP}" != "${CMDLINE_FADUMP}" ]]; then + if [[ "${FADUMP[*]}" != "${CMDLINE_FADUMP[*]}" ]]; then CHECK_FAILED=true - if [[ -n "${FADUMP}" ]]; then + if [[ -n "${FADUMP[*]}" ]]; then echo "Kdump expects this fadump= value on the kernel command line:" - echo " ${FADUMP}" + echo " ${FADUMP[*]}" - if [[ -z "${CMDLINE_FADUMP}" ]]; then + if [[ -z "${CMDLINE_FADUMP[*]}" ]]; then echo "No fadump= found in /proc/cmdline. Kdump can't be started." else echo "/proc/cmdline contains:" - echo " ${CMDLINE_FADUMP}" + echo " ${CMDLINE_FADUMP[*]}" echo "Kdump may not work correctly" fi else echo "Kdump does not expect fadump= on the kernel command line" echo "/proc/cmdline contains:" - echo " ${CMDLINE_FADUMP}" + echo " ${CMDLINE_FADUMP[*]}" fi fi @@ -245,10 +287,10 @@ if $UPDATE; then $CHECK && ! $CHECK_FAILED && return 0 - if [[ -n "${FADUMP}" ]]; then - pbl --add-option "${CRASHKERNEL}" --add-option "${FADUMP}" --config || return 2 + if [[ -n "${FADUMP[*]}" ]]; then + pbl --add-option "${CRASHKERNEL[*]}" --add-option "${FADUMP[*]}" --config || return 2 else - pbl --add-option "${CRASHKERNEL}" --del-option "fadump" --config || return 2 + pbl --add-option "${CRASHKERNEL[*]}" --del-option "fadump" --config || return 2 fi if $CHECK; then
