Hello community,

here is the log from the commit of package kdump for openSUSE:Factory checked 
in at 2019-03-22 14:55:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdump (Old)
 and      /work/SRC/openSUSE:Factory/.kdump.new.25356 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdump"

Fri Mar 22 14:55:12 2019 rev:103 rq:687014 version:0.9.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdump/kdump.changes      2019-03-12 
09:47:33.519608102 +0100
+++ /work/SRC/openSUSE:Factory/.kdump.new.25356/kdump.changes   2019-03-22 
14:55:22.518024740 +0100
@@ -1,0 +2,49 @@
+Wed Mar 20 15:35:29 UTC 2019 - [email protected]
+
+- Use %license instead of %doc (bsc#1082318, bsc#1129947).
+
+-------------------------------------------------------------------
+Wed Mar 20 13:34:40 UTC 2019 - [email protected]
+
+- kdump-fix-multipath-user_friendly_names.patch: Fix multipath
+  configuration with user_friendly_names and/or aliases
+  (bsc#1111207, LTC#171953, bsc#1125218, LTC#175465).
+
+-------------------------------------------------------------------
+Wed Mar 20 13:34:16 UTC 2019 - [email protected]
+
+- kdump-recover-from-missing-CRASHTIME.patch: Recover from missing
+  CRASHTIME= in VMCOREINFO (bsc#1112387).
+
+-------------------------------------------------------------------
+Wed Mar 20 13:26:08 UTC 2019 - [email protected]
+
+- kdump-fallback-re-register-fadump-from-userspace.patch:
+  Re-register FADUMP from userspace if the kernel cannot do it
+  (bsc#1108170, LTC#171288, bsc#1094016, LTC#168050)
+
+-------------------------------------------------------------------
+Wed Mar 20 13:21:56 UTC 2019 - [email protected]
+
+- kdump-Restore-only-static-routes-in-kdump-initrd.patch: Restore
+  only static routes in kdump initrd (bsc#1093795).
+
+-------------------------------------------------------------------
+Wed Mar 20 13:14:45 UTC 2019 - [email protected]
+
+- kdump-on-error-option-yesno.patch: Support yes/no style for
+  KDUMP_CONTINUE_ON_ERROR (bsc#1083155).
+
+-------------------------------------------------------------------
+Wed Mar 20 13:06:26 UTC 2019 - [email protected]
+
+- kdump-use-pbl.patch: Replace obsolete perl-Bootloader library
+  with a simpler script (bsc#1050349).
+
+-------------------------------------------------------------------
+Wed Mar 20 12:48:55 UTC 2019 - [email protected]
+
+- Ensure added kdump-early.service is enabled properly after update
+  (bsc#1021484).
+
+-------------------------------------------------------------------

New:
----
  kdump-Restore-only-static-routes-in-kdump-initrd.patch
  kdump-fallback-re-register-fadump-from-userspace.patch
  kdump-fix-multipath-user_friendly_names.patch
  kdump-on-error-option-yesno.patch
  kdump-recover-from-missing-CRASHTIME.patch
  kdump-use-pbl.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kdump.spec ++++++
--- /var/tmp/diff_new_pack.uZ0Iv9/_old  2019-03-22 14:55:24.146023784 +0100
+++ /var/tmp/diff_new_pack.uZ0Iv9/_new  2019-03-22 14:55:24.146023784 +0100
@@ -54,6 +54,12 @@
 Patch6:         %{name}-fadump-add-udev-support.patch
 Patch7:         %{name}-turn-off-NUMA-in-kdump-kernel.patch
 Patch8:         %{name}-remove-noefi-and-acpi_rsdp-for-efi-firmware.patch
+Patch9:         %{name}-use-pbl.patch
+Patch10:        %{name}-on-error-option-yesno.patch
+Patch11:        %{name}-Restore-only-static-routes-in-kdump-initrd.patch
+Patch12:        %{name}-fallback-re-register-fadump-from-userspace.patch
+Patch13:        %{name}-recover-from-missing-CRASHTIME.patch
+Patch14:        %{name}-fix-multipath-user_friendly_names.patch
 BuildRequires:  asciidoc
 BuildRequires:  cmake
 BuildRequires:  gcc-c++
@@ -119,6 +125,12 @@
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
 
 %build
 export CFLAGS="%{optflags}"
@@ -172,6 +184,10 @@
 %{fillup_only -n kdump}
 %service_add_post kdump.service
 %service_add_post kdump-early.service
+# ensure newly added kdump-early.service is-enabled matches prior state
+if [ -x /usr/bin/systemctl ] && /usr/bin/systemctl is-enabled kdump.service 
&>/dev/null ; then
+       /usr/bin/systemctl reenable kdump.service || :
+fi
 %else
 %{fillup_and_insserv -n kdump boot.kdump}
 %endif
@@ -206,12 +222,24 @@
 %insserv_cleanup
 %endif
 
+# Compatibility cruft
+# there is no %license prior to SLE12
+%if %{undefined _defaultlicensedir}
+%define license %doc
+%else
+# filesystem before SLE12 SP3 lacks /usr/share/licenses
+%if 0%(test ! -d %{_defaultlicensedir} && echo 1)
+%define _defaultlicensedir %_defaultdocdir
+%endif
+%endif
+# End of compatibility cruft
+
 %files
 %defattr(-,root,root)
-%doc ChangeLog COPYING README NEWS
+%license COPYING
+%doc ChangeLog README NEWS
 %{_sbindir}/kdumptool
 %{_sbindir}/mkdumprd
-%{_sbindir}/kdump-bootloader.pl
 %{_mandir}/man5/kdump.5%{ext_man}
 %{_mandir}/man7/kdump.7%{ext_man}
 %{_mandir}/man8/kdumptool.8%{ext_man}

++++++ kdump-Restore-only-static-routes-in-kdump-initrd.patch ++++++
From: Petr Tesarik <[email protected]>
Date: Thu, 24 May 2018 06:54:28 +0200
Subject: Restore only static routes in kdump initrd
References: bsc#1093795
Upstream: merged
Git-commit: c4484c33a5b228d4a1ebe7c99f14c3b7f38f34ef

All existing routes are now added through the rd.route= dracut
parameter. However, this includes routes that need not or should not
be added explicitly (e.g. installed automatically by the kernel or
dynamically by a routing daemon).

If possible, use wicked to get configured routes. If not, use the
routing protocol identifier to limit the list.

Signed-off-by: Petr Tesarik <[email protected]>
---
 init/setup-kdump.functions |   86 ++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 77 insertions(+), 9 deletions(-)

--- a/init/setup-kdump.functions
+++ b/init/setup-kdump.functions
@@ -518,6 +518,42 @@ kdump_prefix2netmask() {                                   
           # {{{
 }                                                                         # }}}
 
 #
+# Get the IPv4 rd.route= parameters for a given device
+#
+# Parameters:
+#   1) iface   current interface name
+#   2) bootif  interface name in initrd
+# Output:
+#   string that can be used for the rd.route= initrd parameter
+function kdump_ip_routes()                                                # {{{
+{
+    local _iface="$1"
+    local _bootif="$2"
+
+    # remove default routes
+    local _rmdefault='/^default /d'
+    # transform the output of "ip route" into rd.route=
+    local _xform='s/\([^ ]*\)\( via \([^ ]*\)\)\?.*/rd.route=\1:\3/'
+    # add interface name and print
+    local _addintf="s/\$/:${_bootif}/p"
+
+    # get configured routes using wicked if possible
+    if [ -n "$(type -P wicked)" ]
+    then
+       wicked show-config | \
+           wicked xpath --reference \
+                  "/interface[name='$_iface']/ipv4:static/route" \
+                  "rd.route=%{destination}:%{?nexthop/gateway}:$_bootif" \
+                  2>/dev/null
+    else
+        ip route show dev "$_iface" proto boot | \
+           sed -ne "$_rmdefault;$_xform;$_addintf"
+        ip route show dev "$_iface" proto static | \
+           sed -ne "$_rmdefault;$_xform;$_addintf"
+    fi
+}                                                                         # }}}
+
+#
 # Get the IPv4 ip= parameter for a given device
 #
 # Parameters:
@@ -556,12 +592,47 @@ function kdump_ip_config()                                
                   # {{{
 
     if [ -n "$ipaddr" ] ; then
         echo "ip=$ipaddr:$peeraddr:$gwaddr:$netmask:$hostname:$bootif:none"
+       kdump_ip_routes "$iface" "$bootif"
+    fi
+}                                                                         # }}}
+
+#
+# Get the IPv6 rd.route= parameters for a given device
+#
+# Parameters:
+#   1) iface   current interface name
+#   2) bootif  interface name in initrd
+# Output:
+#   string that can be used for the rd.route= initrd parameter
+function kdump_ip6_routes()                                               # {{{
+{
+    local _iface="$1"
+    local _bootif="$2"
 
-        routes=$(ip route show dev "$iface" | sed -n 's/\([0-9].*\) via \([^ 
]*\).*/\1:\2/p')
-        for r in $routes ; do
-            echo "rd.route=$r:$bootif"
-        done
-    fi 
+    # remove default routes
+    local _rmdefault='/^default /d'
+    # transform the output of "ip route" into rd.route=
+    local _xform='s/\([^ ]*\)\( via \([^ ]*\)\)\?.*/rd.route=[\1]:[\3]/'
+    # remove gateway if empty
+    local _rmgw='s/\[\]$//'
+    # add interface name and print
+    local _addintf="s/\$/:${_bootif}/p"
+
+    # get configured routes using wicked if possible
+    if [ -n "$(type -P wicked)" ]
+    then
+       wicked show-config | \
+           wicked xpath \
+                  --reference "/interface[name='$_iface']/ipv6:static/route" \
+                  "rd.route=[%{destination}]:[%{?nexthop/gateway}]" \
+                  2>/dev/null | \
+           sed -ne "$_rmgw;$_addintf"
+    else
+        ip -6 route show dev "$_iface" proto boot | \
+           sed -ne "$_rmdefault;$_xform;$_rmgw;$_addintf"
+        ip -6 route show dev "$_iface" proto static | \
+           sed -ne "$_rmdefault;$_xform;$_rmgw;$_addintf"
+    fi
 }                                                                         # }}}
 
 #
@@ -604,10 +675,7 @@ function kdump_ip6_config()                                
                   # {{
        echo "ip=$ipaddr:$peeraddr:$gwaddr:$netmask:$hostname:$bootif:none"
     done < <(ip -6 address show dev "$iface" permanent scope global)
 
-    routes=$(ip -6 route show dev "$iface" | sed -n 's/\([0-9a-fA-F:].*\) via 
\([^ ]*\).*/[\1]:[\2]/p')
-    for r in $routes ; do
-        echo "rd.route=$r:$bootif"
-    done
+    kdump_ip6_routes "$iface" "$bootif"
 }                                                                         # }}}
 
 #
++++++ kdump-fallback-re-register-fadump-from-userspace.patch ++++++
>From 4084339bb6e7c605dab7a48a98b97510f555d343 Mon Sep 17 00:00:00 2001
From: Hari Bathini <[email protected]>
Date: Thu, 27 Sep 2018 17:11:58 +0200
Subject: Re-register FADUMP from userspace if the kernel cannot do it
Reference: bsc#1108170, LTC#171288, bsc#1094016, LTC#168050
Upstream: merged
Git-commit: 4084339bb6e7c605dab7a48a98b97510f555d343

If the kernel does not allow writing a "1" to fadump_registered,
unregister and register again from userspace.

Signed-off-by: Hari Bathini <[email protected]>
Acked-by: Petr Tesarik <[email protected]>
---
 init/load.sh | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

--- a/init/load.sh
+++ b/init/load.sh
@@ -251,15 +251,20 @@ function load_kdump_fadump()
     if [ $? -eq 0 ] ; then
         msg="Registered fadump"
     else
-        # For backward compatibility on older kernel that
-        # returns -EEXIST/-EINVAL
+        msg="FAILED to register fadump: $output"
+        result=1
+
+        # For re-registering on an older kernel that returns -EEXIST/-EINVAL,
+        # if fadump was already registered.
         if [ "$(cat $FADUMP_REGISTERED)" == "1" ] ; then
-            # TODO: unregiser/register OR warn user to stop/start?
-            # Best bet is to update to latest kernel.
-            msg="fadump is already registered"
-        else
-            msg="FAILED to register fadump: $output"
-            result=1
+            echo 0 > "$FADUMP_REGISTERED"
+            output=$( (echo 1 > "$FADUMP_REGISTERED") 2>&1)
+            if [ $? -eq 0 ] ; then
+                msg="Registered fadump"
+                result=0
+            else
+                msg="FAILED to register fadump: $output"
+            fi
         fi
     fi
 
++++++ kdump-fix-multipath-user_friendly_names.patch ++++++
From: Petr Tesarik <[email protected]>
Date: Thu, 25 Oct 2018 10:02:43 +0200
Subject: Fix multipath configuration with user_friendly_names and/or aliases
References: bsc#1111207, LTC#171953, bsc#1125218, LTC#175465
Upstream: merged
Git-commit: 4b4dacfddd456a51c04a878e31d4544223ea9701

The setup script incorrectly uses the name of the multipath device
instead of its WWID (which can be retrieved from the device mapper
UUID simply by removing the "mpath-" prefix).

Signed-off-by: Petr Tesarik <[email protected]>
---
 init/setup-kdump.functions |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/init/setup-kdump.functions
+++ b/init/setup-kdump.functions
@@ -962,9 +962,9 @@ function kdump_map_mpath_wwid()
     local f _dir _uuid _wwid _dev
     for f in /sys/block/*/dm/uuid ; do
        eval "_uuid=\$(<$f)" 2>/dev/null
-       [[ "$_uuid" = mpath-* ]] || continue
+       _wwid="${_uuid#mpath-}"
+       [ "$_wwid" != "$_uuid" ] || continue
        _dir="${f%/dm/uuid}"
-       _wwid=$(<"$_dir"/dm/name)
        _dev=$(<"$_dir"/dev)
        eval kdump_mpath_wwid_${_dev/:/_}=\$_wwid
     done
++++++ kdump-on-error-option-yesno.patch ++++++
From: Lance Wang <[email protected]>
Subject: Support yes/no style for KDUMP_CONTINUE_ON_ERROR
References: bsc#1083155
Upstream: tbd

The /etc/sysconfig/kdump in latest kdump initrd is generated by
kdumptool. So the value of KDUMP_CONTINUE_ON_ERROR is yes instead
of true. This patch make save_dump.sh support this value.

Signed-off-by: Lance Wang <[email protected]>
Acked-by: Petr Tesarik <[email protected]>

---
 init/save_dump.sh |   22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

--- a/init/save_dump.sh
+++ b/init/save_dump.sh
@@ -101,16 +101,20 @@ function continue_error()
 
     echo "Last command failed ($status)."
 
-    if ! [ "$KDUMP_CONTINUE_ON_ERROR" = "true" -o \
-                "$KDUMP_CONTINUE_ON_ERROR" = "TRUE" ] ; then
-        echo
-        echo "Something failed. You can try to debug that here."
-        echo "Type 'reboot -f' to reboot the system or 'exit' to"
-        echo "boot in a normal system that still is running in the"
-        echo "kdump environment with restricted memory!"
-        bash
-       return 1
+    if [ "$KDUMP_CONTINUE_ON_ERROR" = "yes" -o \
+         "$KDUMP_CONTINUE_ON_ERROR" = "YES" -o \
+         "$KDUMP_CONTINUE_ON_ERROR" = "true" -o \
+         "$KDUMP_CONTINUE_ON_ERROR" = "TRUE" ]; then
+        return 0
     fi
+
+    echo
+    echo "Something failed. You can try to debug that here."
+    echo "Type 'reboot -f' to reboot the system or 'exit' to"
+    echo "boot in a normal system that still is running in the"
+    echo "kdump environment with restricted memory!"
+    bash
+    return 1
 }
 
 function rw_fixup()
++++++ kdump-recover-from-missing-CRASHTIME.patch ++++++
From: Petr Tesarik <[email protected]>
Subject: Recover from missing CRASHTIME= in VMCOREINFO
References: bsc#1112387
Upstream: merged
Git-commit: 0bc94943a1df4d923aa20b9bd1ff01ed2e49d70c

CRASHTIME= may be missing in Xen Dom0 dumps.
Vmcoreinfo::getLLongValue throws an exception in that case, but then
OSRELEASE will not even be attempted. Consequently, kernel and
system map files are not copied, producing the following message:

INFO: Don't copy the kernel and System.map because of missing crash kernel 
release.

Signed-off-by: Petr Tesarik <[email protected]>
---
 kdumptool/savedump.cc |   20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

--- a/kdumptool/savedump.cc
+++ b/kdumptool/savedump.cc
@@ -469,13 +469,23 @@ void SaveDump::fillVmcoreinfo()
 {
     Vmcoreinfo vm;
     vm.readFromELF(m_dump.c_str());
-    unsigned long long time = vm.getLLongValue("CRASHTIME");
+    unsigned long long crashtime;
 
-    m_crashtime = Stringutil::formatUnixTime("%Y-%m-%d %H:%M (%z)", time);
+    try {
+       crashtime = vm.getLLongValue("CRASHTIME");
+    } catch (const KError &error) {
+        Debug::debug()->dbg("Error getting CRASHTIME: %s", error.what());
+        crashtime = time(NULL);
+    }
+    m_crashtime = Stringutil::formatUnixTime("%Y-%m-%d %H:%M (%z)", crashtime);
 
-    // don't overwrite m_crashrelease from command line
-    if (m_crashrelease.size() == 0)
-        m_crashrelease = vm.getStringValue("OSRELEASE");
+    try {
+       // don't overwrite m_crashrelease from command line
+       if (m_crashrelease.size() == 0)
+           m_crashrelease = vm.getStringValue("OSRELEASE");
+    } catch (const KError &error) {
+        Debug::debug()->dbg("Error getting OSRELEASE: %s", error.what());
+    }
 
     Debug::debug()->dbg("Using crashtime: %s, crashrelease: %s",
         m_crashtime.c_str(), m_crashrelease.c_str());
++++++ kdump-use-pbl.patch ++++++
Date: Mon Jul 2 18:12:34 2018 +0200
From: Michal Koutný <[email protected]>
Subject: Replace obsolete perl-Bootloader library with a simpler script
References: bsc#1050349
Upstream: tbd

Signed-off-by: Michal Koutný <[email protected]>
Acked-by: Petr Tesarik <[email protected]>

---
 init/CMakeLists.txt      |    1 
 init/kdump-bootloader.pl |   48 -----------------------------------------------
 init/load.sh             |   14 ++-----------
 3 files changed, 3 insertions(+), 60 deletions(-)

--- a/init/CMakeLists.txt
+++ b/init/CMakeLists.txt
@@ -65,7 +65,6 @@ INSTALL(
 INSTALL(
     FILES
         ${CMAKE_CURRENT_SOURCE_DIR}/mkdumprd
-        ${CMAKE_CURRENT_SOURCE_DIR}/kdump-bootloader.pl
     DESTINATION
         /usr/sbin
     PERMISSIONS
--- a/init/load.sh
+++ b/init/load.sh
@@ -214,18 +214,10 @@ function fadump_bootloader()
     local newstate="$1"
 
     # check if the old configuration is still valid
-    boot_opts=$(kdump-bootloader.pl --get)
-    nofadump_opts=$(echo "$boot_opts" | remove_from_commandline 'fadump')
-    old_opts=$($KDUMPTOOL -F /dev/null -C <(echo "$boot_opts") \
-               dump_config --usage dump --format kernel --nodefault)
     if [ "$newstate" = on ] ; then
-       curr_opts=$($KDUMPTOOL dump_config --usage dump --format kernel 
--nodefault)
-       if [ "$old_opts" != "$curr_opts" -o \
-            "$boot_opts" = "$nofadump_opts" ] ; then
-           kdump-bootloader.pl --update fadump=on "$curr_opts"
-       fi
-    elif [ "$boot_opts" != "$nofadump_opts" ] ; then
-       kdump-bootloader.pl --update
+        pbl --add-option fadump=on --config
+    else
+        pbl --del-option fadump=on --config
     fi
 }
 
--- a/init/kdump-bootloader.pl
+++ /dev/null
@@ -1,48 +0,0 @@
-#! /usr/bin/perl
-
-use Bootloader::Tools;
-
-Bootloader::Tools::InitLibrary();
-
-my $grub2;
-my $section;
-if (Bootloader::Tools::GetBootloader() =~ /^(grub2|grub2-efi)$/) {
-    $grub2 = true;
-    $section = Bootloader::Tools::GetGlobals();
-} else {
-    $grub2 = false;
-    $section = Bootloader::Tools::GetDefaultSection();
-}
-
-if ($ARGV[0] eq "--get") {
-    print $section->{"append"};
-} elsif ($ARGV[0] eq "--update") {
-    my $input = $section->{"append"};
-    my $result;
-    while (length($input)) {
-       $input =~ s/^[[:space:]]+//;
-       if ($input =~ s/^("[^"]*"?|[^"[:space:]]+)+//) {
-           my $rawparam = $&;
-           my $param = $rawparam;
-           $param =~ s/"//g;
-           $param =~ s/=(.*)//;
-           if (! ($param =~ /^KDUMP(TOOL)?_|^MAKEDUMPFILE_|^fadump$/)) {
-               $result .= " " if length($result);
-               $result .= $rawparam;
-           }
-       }
-    }
-
-    shift @ARGV;
-    $result .= " " if length($result);
-    $result .= join(" ", @ARGV);
-    if ($grub2) {
-       Bootloader::Tools::SetGlobals("append" => $result);
-    } else {
-       $section->{"append"} = $result;
-       $section->{"__modified"} = 1;
-       Bootloader::Tools::SetGlobals();
-    }
-} else {
-    die "Need an action (--get or --update)";
-}

Reply via email to