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-08-30 10:17:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdump (Old)
 and      /work/SRC/openSUSE:Factory/.kdump.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdump"

Wed Aug 30 10:17:34 2023 rev:139 rq:1105935 version:1.9.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdump/kdump.changes      2023-08-17 
19:43:53.590828393 +0200
+++ /work/SRC/openSUSE:Factory/.kdump.new.1766/kdump.changes    2023-08-30 
10:17:36.461990501 +0200
@@ -1,0 +2,9 @@
+Fri Aug 25 16:08:41 UTC 2023 - Jiri Bohac <jbo...@suse.com>
+
+- upgrade to version 1.9.6
+  * use newer /sys/kernel/fadump/ instead of /sys/kernel/fadump_
+  * use kexec -a which falls back to kexec_load(2) automatically
+  * update s390 udev rules
+  * drop systemd device timeout generator
+
+-------------------------------------------------------------------

Old:
----
  kdump-1.9.5.tar.xz

New:
----
  kdump-1.9.6.tar.xz

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

Other differences:
------------------
++++++ kdump.spec ++++++
--- /var/tmp/diff_new_pack.ABiYcT/_old  2023-08-30 10:17:41.822181790 +0200
+++ /var/tmp/diff_new_pack.ABiYcT/_new  2023-08-30 10:17:41.826181933 +0200
@@ -53,7 +53,7 @@
 %define dracutlibdir %{_prefix}/lib/dracut
 
 Name:           kdump
-Version:        1.9.5
+Version:        1.9.6
 Release:        0
 Summary:        Kernel crash dump scripts and utilities
 License:        GPL-2.0-or-later
@@ -64,7 +64,6 @@
 BuildRequires:  asciidoc
 BuildRequires:  cmake >= 3.7
 BuildRequires:  gcc-c++
-BuildRequires:  libblkid-devel
 BuildRequires:  pkgconfig
 BuildRequires:  systemd-sysvinit
 BuildRequires:  util-linux-systemd

++++++ kdump-1.9.5.tar.xz -> kdump-1.9.6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/.gitignore new/kdump-1.9.6/.gitignore
--- old/kdump-1.9.5/.gitignore  2023-07-28 16:37:45.000000000 +0200
+++ new/kdump-1.9.6/.gitignore  2023-08-25 17:54:25.000000000 +0200
@@ -22,7 +22,6 @@
 # resulting binaries
 calibrate/mkelfcorehdr
 calibrate/trackrss
-dracut/device-timeout-generator
 dracut/init-fadump
 kdumptool/calibrate
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/70-kdump.rules.in 
new/kdump-1.9.6/70-kdump.rules.in
--- old/kdump-1.9.5/70-kdump.rules.in   2023-07-28 16:37:45.000000000 +0200
+++ new/kdump-1.9.6/70-kdump.rules.in   2023-08-25 17:54:25.000000000 +0200
@@ -22,7 +22,7 @@
 LABEL="kdump_try_restart"
 PROGRAM="/bin/cat /sys/kernel/kexec_crash_loaded", RESULT!="0", 
RUN+="/usr/lib/kdump/load-once.sh"
 @if @ARCH@ ppc64 ppc64le
-SUBSYSTEM=="memory", TEST=="/sys/kernel/fadump_registered", PROGRAM="/bin/cat 
/sys/kernel/fadump_registered", RESULT!="0", RUN+="/usr/lib/kdump/load-once.sh"
+SUBSYSTEM=="memory", TEST=="/sys/kernel/fadump/registered", PROGRAM="/bin/cat 
/sys/kernel/fadump/registered", RESULT!="0", RUN+="/usr/lib/kdump/load-once.sh"
 @endif
 
 LABEL="kdump_end"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/CMakeLists.txt 
new/kdump-1.9.6/CMakeLists.txt
--- old/kdump-1.9.5/CMakeLists.txt      2023-07-28 16:37:45.000000000 +0200
+++ new/kdump-1.9.6/CMakeLists.txt      2023-08-25 17:54:25.000000000 +0200
@@ -72,11 +72,6 @@
 #
 set (CMAKE_LIBRARY_PATH /usr/lib64 ${CMAKE_LIBRARY_PATH})
 
-
-# libblkid
-pkg_check_modules(BLKID REQUIRED blkid)
-
-
 #
 # Check for FADUMP
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/NEWS new/kdump-1.9.6/NEWS
--- old/kdump-1.9.5/NEWS        2023-07-28 16:37:45.000000000 +0200
+++ new/kdump-1.9.6/NEWS        2023-08-25 17:54:25.000000000 +0200
@@ -1,3 +1,10 @@
+1.9.6
+-----
+  * use newer /sys/kernel/fadump/ instead of /sys/kernel/fadump_
+  * use kexec -a which falls back to kexec_load(2) automatically
+  * update s390 udev rules
+  * drop systemd device timeout generator
+
 1.9.5
 -----
   * SELinux: temporary hack for bsc#1213721
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/README new/kdump-1.9.6/README
--- old/kdump-1.9.5/README      2023-07-28 16:37:45.000000000 +0200
+++ new/kdump-1.9.6/README      2023-08-25 17:54:25.000000000 +0200
@@ -15,7 +15,6 @@
 
   - asciidoc (http://www.methods.co.nz/asciidoc/),
   - cmake (http://www.cmake.org/).
-  - libblkid (libblkid-devel)
 
 It's maintained in a git tree at https://github.com/opensuse/kdump/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/calibrate/mkelfcorehdr.c 
new/kdump-1.9.6/calibrate/mkelfcorehdr.c
--- old/kdump-1.9.5/calibrate/mkelfcorehdr.c    2023-07-28 16:37:45.000000000 
+0200
+++ new/kdump-1.9.6/calibrate/mkelfcorehdr.c    2023-08-25 17:54:25.000000000 
+0200
@@ -40,8 +40,6 @@
 # define ELF_MACHINE   EM_PPC
 #elif defined(__s390x__) || defined(__s390__)
 # define ELF_MACHINE   EM_S390
-#elif defined(__ia64__)
-# define ELF_MACHINE   EM_IA_64
 #elif defined(__aarch64__)
 # define ELF_MACHINE   EM_AARCH64
 #elif defined(__arm__)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/doc/man/kdump.5.txt.in 
new/kdump-1.9.6/doc/man/kdump.5.txt.in
--- old/kdump-1.9.5/doc/man/kdump.5.txt.in      2023-07-28 16:37:45.000000000 
+0200
+++ new/kdump-1.9.6/doc/man/kdump.5.txt.in      2023-08-25 17:54:25.000000000 
+0200
@@ -179,7 +179,7 @@
 
 Additional options for *kexec*(8).
 
-Default is "" except on IA64 where it is "--noio".
+Default is "".
 
 
 MAKEDUMPFILE_OPTIONS
@@ -279,14 +279,13 @@
 several options, you have to add their value. The options are:
 
 1::
-  kdump command line is written to system log when executing /etc/init.d/kdump.
+  Print details when loading the dump kernel.
 
 2::
   Progress is written to stdout while dumping.
 
 4::
-  kdump command line is written so standard output when executing
-  /etc/init.d/kdump.
+  (same as 1)
 
 8::
   Debugging. The kdump-save script and most of the programs it runs 
@@ -294,15 +293,6 @@
   Generates lots of output. However, it's very useful if something does not
   work.
 
-16::
-  Debugging when loading the kdump kernel. That creates lots of output to
-  stdout, so only use if you really want to debug that. It is useful if
-  kdump reports that it cannot find a suitable kernel but you think kdump
-  is wrong.
-
-So, for example, if you want to have the command line on stdout when loading 
the
-kernel and also in the system log, just use KDUMP_VERBOSE = 5 (i.e. 1 + 4).
-
 Default: "0".
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/dracut/CMakeLists.txt 
new/kdump-1.9.6/dracut/CMakeLists.txt
--- old/kdump-1.9.5/dracut/CMakeLists.txt       2023-07-28 16:37:45.000000000 
+0200
+++ new/kdump-1.9.6/dracut/CMakeLists.txt       2023-08-25 17:54:25.000000000 
+0200
@@ -15,21 +15,6 @@
 # along with this program; if not, see <https://www.gnu.org/licenses>.
 #
 
-ADD_EXECUTABLE(device-timeout-generator
-    device-timeout-generator.c
-)
-TARGET_INCLUDE_DIRECTORIES(device-timeout-generator
-    PUBLIC ${BLKID_INCLUDE_DIRS})
-TARGET_LINK_LIBRARIES(device-timeout-generator
-    ${BLKID_LIBRARIES})
-
-INSTALL(
-    TARGETS
-        device-timeout-generator
-    DESTINATION
-        /usr/lib/dracut/modules.d/99kdump
-)
-
 INSTALL (
     FILES
         ${CMAKE_CURRENT_SOURCE_DIR}/kdump-save
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/dracut/device-timeout-generator.c 
new/kdump-1.9.6/dracut/device-timeout-generator.c
--- old/kdump-1.9.5/dracut/device-timeout-generator.c   2023-07-28 
16:37:45.000000000 +0200
+++ new/kdump-1.9.6/dracut/device-timeout-generator.c   1970-01-01 
01:00:00.000000000 +0100
@@ -1,501 +0,0 @@
-#define _GNU_SOURCE
-#include <string.h>
-#include <ctype.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <dirent.h>
-#include <syslog.h>
-#include <fstab.h>
-
-#include <blkid.h>
-
-#define DEV_KMSG       "/dev/kmsg"
-#define PROC_CMDLINE   "/proc/cmdline"
-#define ETC_CMDLINE    "/etc/cmdline"
-#define ETC_CMDLINE_D  "/etc/cmdline.d"
-#define CONF_SUFFIX    ".conf"
-#define CONF_SUFFIX_LEN        (sizeof(CONF_SUFFIX)-1)
-
-#define KDUMP_DIR      "/kdump/"
-#define KDUMP_DIR_LEN  (sizeof(KDUMP_DIR)-1)
-
-#define DEV_PREFIX     "/dev/disk/by-"
-#define DEV_PREFIX_LEN (sizeof(DEV_PREFIX)-1)
-
-#define READ_CHUNK_ADD 1024
-#define READ_CHUNK_MIN 256
-
-typedef int parser_fn(const char *key, const char *val);
-static parser_fn get_timeout;
-
-static const char program_name[] = "device-timeout-generator";
-
-/* Variables that do not change can be global */
-static const char *unitdir;
-static size_t unitdirlen;
-
-static unsigned long timeout;
-
-static int
-error(const char *fmt, ...)
-{
-       static int fd = -1;
-       char *msg, *kmsg;
-       int len;
-       va_list ap;
-
-       va_start(ap, fmt);
-       len = vasprintf(&msg, fmt, ap);
-       if (len < 0)
-               return len;
-       fprintf(stderr, "%s\n", msg);
-       va_end(ap);
-
-       if (fd < 0) {
-               fd = open(DEV_KMSG, O_WRONLY|O_NOCTTY|O_CLOEXEC);
-               if (fd < 0) {
-                       free(msg);
-                       return -1;
-               }
-       }
-
-       len = asprintf(&kmsg, "<%d> %s [%lu]: %s\n",
-                      LOG_ERR, program_name, (unsigned long)getpid(), msg);
-       free(msg);
-       if (len < 0)
-               return len;
-
-       len = write(fd, kmsg, len);
-       free(kmsg);
-       return len;
-}
-
-static inline int
-isoctal(char c)
-{
-       return c >= '0' && c <= '7';
-}
-
-static char *
-skipws(char *s)
-{
-       while (isspace(*s))
-               ++s;
-       return s;
-}
-
-static void
-unescape_fstab(char *spec)
-{
-       char *p, *q;
-
-       p = q = spec;
-       while (*p) {
-               if (p[0] == '\\' &&
-                   isoctal(p[1]) && isoctal(p[2]) && isoctal(p[3])) {
-                       *q++ = ((p[1] - '0') << 6) |
-                               ((p[2] - '0') << 3) |
-                               (p[3] - '0');
-                       p += 3;
-               } else
-                       *q++ = *p++;
-       }
-}
-
-static void
-unquote(char **p, char *endp)
-{
-       if (*p && **p == '"') {
-               ++(*p);
-               if (endp[-1] == '"')
-                       endp[-1] = '\0';
-       }
-}
-
-static char *
-get_arg(char *args, char **key, char **val)
-{
-       int inquote;
-
-       *key = args;
-       *val = NULL;
-       inquote = 0;
-       while (*args && (inquote || !isspace(*args))) {
-               if (*args == '"')
-                       inquote = !inquote;
-               else if (*args == '=' && !*val) {
-                       *args = '\0';
-                       *val = args + 1;
-               }
-               ++args;
-       }
-       unquote(key, args);
-       unquote(val, args);
-
-       if (*args)
-               *args++ = '\0';
-       return skipws(args);
-}
-
-static int
-parse_args(char *args, parser_fn *parse)
-{
-       char *key, *val, *p;
-
-       p = skipws(args);
-       while (*p) {
-               p = get_arg(p, &key, &val);
-               if (parse(key, val))
-                       break;
-       }
-       return 0;
-}
-
-static char *
-slurp_fd(int fd)
-{
-       char *buf, *bufp;
-       size_t len, remain;
-       ssize_t rdlen;
-
-       buf = bufp = NULL;
-       len = remain = 0;
-       do {
-               if (remain < READ_CHUNK_MIN) {
-                       char *newbuf = realloc(buf, len + READ_CHUNK_ADD + 1);
-                       if (!newbuf) {
-                               free(buf);
-                               return NULL;
-                       }
-                       len += READ_CHUNK_ADD;
-                       remain += READ_CHUNK_ADD;
-                       bufp = newbuf + (bufp - buf);
-                       buf = newbuf;
-               }
-
-               rdlen = read(fd, bufp, remain);
-               remain -= rdlen;
-       } while (rdlen > 0);
-
-       if (rdlen < 0) {
-               free(buf);
-               return NULL;
-       }
-
-       buf[len - remain] = '\0';
-       return buf;
-}
-
-static char *
-slurp_file(const char *path)
-{
-       int fd;
-       char *ret;
-
-       fd = open(path, O_RDONLY);
-       if (fd < 0) {
-               error("Cannot open '%s': %s", path, strerror(errno));
-               return NULL;
-       }
-
-       ret = slurp_fd(fd);
-       if (!ret)
-               error("Cannot read '%s': %s", path, strerror(errno));
-       return ret;
-}
-
-static int
-parse_file(const char *fname, parser_fn *parse)
-{
-       char *args;
-       int ret;
-
-       args = slurp_file(fname);
-       if (!args)
-               return -1;
-
-       ret = parse_args(args, parse);
-       free(args);
-       return ret;
-}
-
-static int
-parse_dir(const char *dname, parser_fn *parse)
-{
-       DIR *dir;
-       struct dirent *e;
-
-       dir = opendir(dname);
-       if (!dir) {
-               if (errno != ENOENT)
-                       error("Cannot open '%s': %s", dname, strerror(errno));
-               return -1;
-       }
-
-       while ( (e = readdir(dir)) ) {
-               size_t len = strlen(e->d_name);
-               char *endp = e->d_name + len;
-               int fd;
-               char *args;
-
-               if (len < CONF_SUFFIX_LEN ||
-                   strcmp(endp - CONF_SUFFIX_LEN, CONF_SUFFIX))
-                       continue;
-               fd = openat(dirfd(dir), e->d_name, O_RDONLY);
-               if (fd < 0) {
-                       error("Cannot open '%s': %s",
-                             e->d_name, strerror(errno));
-                       continue;
-               }
-
-               args = slurp_fd(fd);
-               if (!args) {
-                       error("Cannot read '%s': %s",
-                             e->d_name, strerror(errno));
-                       continue;
-               }
-
-               parse_args(args, parse);
-               free(args);
-       }
-       closedir(dir);
-       return 0;
-}
-
-static int
-parse_cmdline_files(parser_fn *parse)
-{
-       parse_dir(ETC_CMDLINE_D, parse);
-
-       if (!access(ETC_CMDLINE, R_OK))
-               parse_file(ETC_CMDLINE, parse);
-
-       return parse_file(PROC_CMDLINE, parse);
-};
-
-static int
-get_timeout(const char *key, const char *val)
-{
-       if (!strcmp(key, "rd.timeout") && val && *val) {
-               char *end;
-               unsigned long num = strtoul(val, &end, 0);
-               if (*end == '\0')
-                       timeout = num;
-               else
-                       error("Invalid rd.timeout format: %s", val);
-       }
-       return 0;
-}
-
-static char *
-evaluate_spec(const char *spec)
-{
-       char *tag, *value;
-       size_t len;
-       char *p;
-       char *ret, *retp;
-
-       tag = strdup(spec);
-       if (!tag)
-               return NULL;
-
-       value = strchr(tag, '=');
-       if (!value)
-               return tag;
-
-       *value++ = '\0';
-       if (*value == '"' || *value == '\'') {
-               char c = *value++;
-
-               p = strrchr(value, c);
-               if (!p) {
-                       errno = -EINVAL;
-                       return NULL;
-               }
-               *p = '\0';
-       }
-
-       len = 4 * strlen(value);
-       ret = malloc(DEV_PREFIX_LEN + strlen(tag) + 1 + len + 1);
-       retp = stpcpy(ret, DEV_PREFIX);
-       for (p = tag; *p; ++p)
-               *retp++ = tolower(*p);
-
-       *retp++ = '/';
-       blkid_encode_string(value, retp, len + 1);
-
-       free(tag);
-       return ret;
-}
-
-static inline char
-hex_digit(unsigned d)
-{
-       return d < 10 ? d + '0' : d - 10 + 'a';
-}
-
-static char *
-hex_escape(char *s, char c)
-{
-       *s++ = '\\';
-       *s++ = 'x';
-       *s++ = hex_digit((unsigned)c >> 4);
-       *s++ = hex_digit((unsigned)c & 0x0f);
-       return s;
-}
-
-static inline int
-safe_unit_char(char c)
-{
-       return isalnum(c) || c == ':' || c == '_' || c == '.';
-}
-
-static char *
-path_escape(char *path)
-{
-       size_t pathlen = strlen(path);
-       char *dedup, *ret;
-       char *src, *dst;
-
-       ret = malloc(pathlen * 4 + 1);
-       if (!ret)
-               return ret;
-
-       /* remove duplicate slashes */
-       dst = dedup = ret + pathlen * 3;
-       for (src = path; *src; ++src) {
-               if (src[0] != '/' || (src[1] && src[1] != '/'))
-                       *dst++ = *src;
-       }
-       *dst = '\0';
-
-       /* root directory special case */
-       if (*dedup == '\0')
-               return strcpy(ret, "-");
-
-       dst = ret;
-       src = dedup;
-       if (*src == '/')
-               ++src;
-       if (*src == '.')
-               dst = hex_escape(dst, *src++);
-
-       while (*src) {
-                if (*src == '/')
-                        *dst++ = '-';
-                else if (!safe_unit_char(*src))
-                        dst = hex_escape(dst, *src);
-                else
-                        *dst++ = *src;
-               ++src;
-        }
-       *dst = '\0';
-
-        return ret;
-}
-
-static int
-write_conf(const char *path)
-{
-       FILE *f;
-
-       f = fopen(path, "w");
-       if (!f) {
-               error("Cannot open file '%s': %s", path, strerror(errno));
-               return -1;
-       }
-
-       if (fprintf(f, "[Unit]\nJobTimeoutSec=%lu\n", timeout) < 0) {
-               error("Cannot write to '%s': %s", path, strerror(errno));
-               return -1;
-       }
-
-       if (fclose(f)) {
-               error("Cannot close '%s': %s", path, strerror(errno));
-               return -1;
-       }
-
-       return 0;
-}
-
-static int
-create_conf(const char *spec)
-{
-       char *devname, *unitname, *confpath, *p;
-       int ret;
-
-       devname = evaluate_spec(spec);
-       if (!devname) {
-               error("Cannot convert '%s' to device name: %s",
-                     spec, strerror(errno));
-               return -1;
-       }
-
-       unitname = path_escape(devname);
-       if (!unitname) {
-               error("Cannot convert '%s' to systemd unit name: %s",
-                     devname, strerror(errno));
-               free(devname);
-               return -1;
-       }
-       free(devname);
-
-       confpath = malloc(unitdirlen + 1 + strlen(unitname) +
-                         sizeof(".device.d/timeout.conf"));
-       if (!confpath) {
-               error("Cannot allocate path for '%s': %s",
-                     unitname, strerror(errno));
-               free(unitname);
-               return -1;
-       }
-       p = stpcpy(confpath, unitdir);
-       *p++ = '/';
-       p = stpcpy(p, unitname);
-       p = stpcpy(p, ".device.d");
-       free(unitname);
-
-       if (mkdir(confpath, S_IRWXU | S_IRWXG | S_IRWXO) && errno != EEXIST) {
-               error("Cannot create directory '%s': %s",
-                     confpath, strerror(errno));
-               free(confpath);
-               return -1;
-       }
-
-       p = stpcpy(p, "/timeout.conf");
-       ret = write_conf(confpath);
-       free(confpath);
-       return ret;
-}
-
-int
-main(int argc, char **argv)
-{
-       struct fstab *fs;
-
-       umask(S_IWGRP | S_IWOTH);
-
-       if (argc != 4) {
-               error("Wrong number of arguments: %d", argc);
-               return EXIT_FAILURE;
-       }
-       unitdir = argv[1];
-       unitdirlen = strlen(argv[1]);
-
-       parse_cmdline_files(get_timeout);
-
-       while ((fs = getfsent()) != NULL) {
-               if (strncmp(fs->fs_file, KDUMP_DIR, KDUMP_DIR_LEN))
-                       continue;
-
-               unescape_fstab(fs->fs_spec);
-               create_conf(fs->fs_spec);
-       }
-
-       return EXIT_SUCCESS;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/dracut/module-setup.sh 
new/kdump-1.9.6/dracut/module-setup.sh
--- old/kdump-1.9.5/dracut/module-setup.sh      2023-07-28 16:37:45.000000000 
+0200
+++ new/kdump-1.9.6/dracut/module-setup.sh      2023-08-25 17:54:25.000000000 
+0200
@@ -130,28 +130,15 @@
        esac
 }
 
-# Output variables:
-#      kdump_kmods  additional kernel modules updated
-#      kdump_ifmap  hardware network interface map updated
-cmdline_net() {
-       kdump_cmdline_ip
-}
-
 installkernel() {
        [ -n "$kdump_kmods" ] || return 0
        hostonly='' instmods $kdump_kmods
 }
 
 install() {
-       if [[ $hostonly_cmdline == "yes" ]] ; then
-               # don't call cmdline_net in a subshell, it sets global variables
-               _cmdline_f=$(mktemp) || return 1
-               cmdline_net > $_cmdline_f
-               local _cmdline=$(< $_cmdline_f)
-               rm $_cmdline_f
-
-               [ -n "$_cmdline" ] && printf "%s\n" "$_cmdline" >> 
"${initdir}/etc/cmdline.d/99kdump-net.conf"
-       fi
+       # 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"
 
        # parse the configuration, check values and initialize defaults 
        "$KDUMP_LIBDIR"/kdump-read-config.sh --print > ${initdir}/etc/kdump.conf
@@ -162,19 +149,11 @@
 
        inst_hook cmdline 50 "$moddir/kdump-root.sh"
        inst_script "$moddir"/kdump-save /kdump/kdump-save
-       if dracut_module_included "systemd" ; then
-               inst_binary "$moddir/device-timeout-generator" \
-                       
"$systemdutildir"/system-generators/kdump-device-timeout-generator
-
-               inst_simple "$moddir/kdump-save.service" 
"$systemdsystemunitdir/kdump-save.service"
+       inst_simple "$moddir/kdump-save.service" 
"$systemdsystemunitdir/kdump-save.service"
 
-               mkdir -p "$initdir/$systemdsystemunitdir"/initrd.target.wants
-               ln_r "$systemdsystemunitdir"/kdump-save.service \
-                       
"$systemdsystemunitdir"/initrd.target.wants/kdump-save.service
-       else
-               inst_hook mount 30 "$moddir/mount-kdump.sh"
-               inst_hook pre-pivot 90 "$KDUMP_LIBDIR"/kdump-save
-       fi
+       mkdir -p "$initdir/$systemdsystemunitdir"/initrd.target.wants
+       ln_r "$systemdsystemunitdir"/kdump-save.service \
+               "$systemdsystemunitdir"/initrd.target.wants/kdump-save.service
        
        # per-protocol config
        case ${KDUMP_PROTO} in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/dracut/setup-kdump.functions 
new/kdump-1.9.6/dracut/setup-kdump.functions
--- old/kdump-1.9.5/dracut/setup-kdump.functions        2023-07-28 
16:37:45.000000000 +0200
+++ new/kdump-1.9.6/dracut/setup-kdump.functions        2023-08-25 
17:54:25.000000000 +0200
@@ -751,22 +751,29 @@
        _dev_id_match=", ATTR{dev_id}==\"$_dev_id\""
     fi
 
-    cat >"${_root}/etc/udev/rules.d/51-qeth-${_dev}.rules" <<EOF
-ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="qeth", IMPORT{program}="collect 
$_dev %k $_cdev0 $_cdev1 $_cdev2 qeth"
-ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$_cdev0", IMPORT{program}="collect 
$_dev %k $_cdev0 $_cdev1 $_cdev2 qeth"
-ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$_cdev1", IMPORT{program}="collect 
$_dev %k $_cdev0 $_cdev1 $_cdev2 qeth"
-ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="$_cdev2", IMPORT{program}="collect 
$_dev %k $_cdev0 $_cdev1 $_cdev2 qeth"
-ACTION=="remove", SUBSYSTEM=="drivers", KERNEL=="qeth", 
IMPORT{program}="collect --remove $_dev %k $_cdev0 $_cdev1 $_cdev2 qeth"
-ACTION=="remove", SUBSYSTEM=="ccw", KERNEL=="$_cdev0", 
IMPORT{program}="collect --remove $_dev %k $_cdev0 $_cdev1 $_cdev2 qeth"
-ACTION=="remove", SUBSYSTEM=="ccw", KERNEL=="$_cdev1", 
IMPORT{program}="collect --remove $_dev %k $_cdev0 $_cdev1 $_cdev2 qeth"
-ACTION=="remove", SUBSYSTEM=="ccw", KERNEL=="$_cdev2", 
IMPORT{program}="collect --remove $_dev %k $_cdev0 $_cdev1 $_cdev2 qeth"
-TEST=="[ccwgroup/$_dev]", GOTO="qeth-${_dev}-end"
-ACTION=="add", SUBSYSTEM=="ccw", ENV{COLLECT_$_dev}=="0", 
ATTR{[drivers/ccwgroup:qeth]group}="$_cdev0,$_cdev1,$_cdev2"
-ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="qeth", ENV{COLLECT_$_dev}=="0", 
ATTR{[drivers/ccwgroup:qeth]group}="$_cdev0,$_cdev1,$_cdev2"
-LABEL="qeth-$_dev-end"
-ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="$_dev", ATTR{portno}="$_portno"
-ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="$_dev", ATTR{layer2}="$_layer2"
-ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="$_dev", ATTR{online}="1"
+    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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/init/load.sh new/kdump-1.9.6/init/load.sh
--- old/kdump-1.9.5/init/load.sh        2023-07-28 16:37:45.000000000 +0200
+++ new/kdump-1.9.6/init/load.sh        2023-08-25 17:54:25.000000000 +0200
@@ -4,8 +4,8 @@
 #  Load the kdump kernel 
 
 KEXEC=/sbin/kexec
-FADUMP_ENABLED=/sys/kernel/fadump_enabled
-FADUMP_REGISTERED=/sys/kernel/fadump_registered
+FADUMP_ENABLED=/sys/kernel/fadump/enabled
+FADUMP_REGISTERED=/sys/kernel/fadump/registered
 UDEV_RULES_DIR=/run/udev/rules.d
 kdump_initrd=/var/lib/kdump/initrd
 kdump_kernel=/var/lib/kdump/kernel
@@ -82,9 +82,8 @@
 
     echo "${kdump_console}"
 }
-#
+
 # Get the name of kernel parameter to limit CPUs
-# Linux 2.6.34+ has nr_cpus, older versions must use maxcpus
 function cpus_param()
 {
     # nr_cpus does not work properly on ppc/ppc64/ppc64le
@@ -95,14 +94,7 @@
            ;;
     esac
 
-    local version=$(get_kernel_version "$1")
-    version="${version%%-*}"
-    local verhex=$(IFS=. ; set -- $version ; printf "0x%02x%02x%02x" $1 $2 $3)
-    if [ $(( $verhex )) -ge $(( 0x020622 )) ] ; then
-       echo nr_cpus
-    else
-       echo maxcpus
-    fi
+    echo nr_cpus
 }
 
 #
@@ -162,22 +154,6 @@
 }
 
 #
-# Builds the kexec options from KEXEC_OPTIONS
-# Parameters: 1) kernel
-function build_kexec_options()
-{
-    local kdump_kernel="$1"
-    local options="$KEXEC_OPTIONS"
-
-    # add --noio on ia64
-    if [ $(uname -i) = "ia64" ] ; then
-        options="$options --noio"
-    fi
-
-    echo "$options"
-}
-
-#
 # Load kdump using kexec
 function load_kdump_kexec()
 {
@@ -190,41 +166,19 @@
     fi
 
     local kdump_commandline=$(build_kdump_commandline "$kdump_kernel")
-    local kexec_options=$(build_kexec_options "$kdump_kernel")
-
-    KEXEC_CALL="$KEXEC -p $kdump_kernel --append=\"$kdump_commandline\""
-    KEXEC_CALL="$KEXEC_CALL --initrd=$kdump_initrd $kexec_options"
 
-    kdump_echo "Starting load kdump kernel with kexec_file_load(2)"
-    kdump_echo "kexec cmdline: $KEXEC_CALL -s"
+    KEXEC_CALL="$KEXEC -p $kdump_kernel --append=\"$kdump_commandline\" 
--initrd=$kdump_initrd $KEXEC_OPTIONS -a"
 
-    output=$(eval "$KEXEC_CALL -s" 2>&1)
+    $VERBOSE && echo "Starting kdump kernel load; kexec cmdline: $KEXEC_CALL"
+    eval "$KEXEC_CALL"
     result=$?
 
-    # print stderr in any case to show warnings that normally
-    # would be supressed (bnc#374185)
-    echo "$output"
-
     if [ $result -eq 0 ] ; then
-        kdump_logger "Loaded kdump kernel: $KEXEC_CALL -s, Result: $output"
+        $VERBOSE && echo "Loaded kdump kernel."
         return 0
     fi
 
-    # kexec_file_load(2) failed
-    kdump_echo "kexec_file_load(2) failed"
-    kdump_echo "Starting load kdump kernel with kexec_load(2)"
-    kdump_echo "kexec cmdline: $KEXEC_CALL"
-
-    output=$(eval "$KEXEC_CALL" 2>&1)
-    result=$?
-    echo "$output"
-
-    if [ $result -eq 0 ] ; then
-        kdump_logger "Loaded kdump kernel: $KEXEC_CALL, Result: $output"
-    else
-        kdump_logger "FAILED to load kdump kernel: $KEXEC_CALL, Result: 
$output"
-    fi
-
+    echo "kexec failed." >&2
     return $result
 }
 
@@ -299,9 +253,6 @@
     fi
 
     echo "$msg"
-    if [ $((${KDUMP_VERBOSE:-0} & 1)) -gt 0 ] ; then
-       logger -t kdump "$msg"
-    fi
 
     return $result
 }
@@ -326,23 +277,8 @@
 
 . /usr/lib/kdump/kdump-read-config.sh
 
-if [ $((${KDUMP_VERBOSE:-0} & 4)) -gt 0 ] ; then
-    function kdump_echo()
-    {
-        echo "$@"
-    }
-else
-    function kdump_echo(){ :; }
-fi
-
-if [ $((${KDUMP_VERBOSE:-0} & 1)) -gt 0 ] ; then
-    function kdump_logger()
-    {
-        logger -t kdump "$@"
-    }
-else
-    function kdump_logger(){ :; }
-fi
+VERBOSE=false
+[[ $((${KDUMP_VERBOSE:-0} & 5)) -gt 0 ]] && VERBOSE=true
 
 update=
 shrink=
@@ -377,8 +313,8 @@
 # see bsc#1213721
 #[[ -f "${kdump_initrd}" ]] || exit 6
 #[[ -f "${kdump_kernel}" ]] || exit 6
-/bin/test -f "${kdump_initrd}" || exit 6
-/bin/test -f "${kdump_kernel}" || exit 6
+/usr/bin/test -f "${kdump_initrd}" || exit 6
+/usr/bin/test -f "${kdump_kernel}" || exit 6
 
 if [ "$shrink" = yes ] ; then
     kdumptool calibrate --shrink > /dev/null
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/init/mkdumprd 
new/kdump-1.9.6/init/mkdumprd
--- old/kdump-1.9.5/init/mkdumprd       2023-07-28 16:37:45.000000000 +0200
+++ new/kdump-1.9.6/init/mkdumprd       2023-08-25 17:54:25.000000000 +0200
@@ -273,6 +273,7 @@
 DRACUT_ARGS=(
         "--force"
         "--hostonly"
+       "--hostonly-cmdline"
        "--no-hostonly-default-device" 
         "--add" "kdump"
         "--omit" "plymouth resume usrmount zz-fadumpinit"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/init/unload.sh 
new/kdump-1.9.6/init/unload.sh
--- old/kdump-1.9.5/init/unload.sh      2023-07-28 16:37:45.000000000 +0200
+++ new/kdump-1.9.6/init/unload.sh      2023-08-25 17:54:25.000000000 +0200
@@ -4,7 +4,7 @@
 #  Unload the kdump kernel
 
 KEXEC=/sbin/kexec
-FADUMP_REGISTERED=/sys/kernel/fadump_registered
+FADUMP_REGISTERED=/sys/kernel/fadump/registered
 UDEV_RULES_DIR=/run/udev/rules.d
 
 . /usr/lib/kdump/kdump-read-config.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/kdumptool/calibrate.cc 
new/kdump-1.9.6/kdumptool/calibrate.cc
--- old/kdump-1.9.5/kdumptool/calibrate.cc      2023-07-28 16:37:45.000000000 
+0200
+++ new/kdump-1.9.6/kdumptool/calibrate.cc      2023-08-25 17:54:25.000000000 
+0200
@@ -98,10 +98,6 @@
 
 # define align_memmap          s390_align_memmap
 
-#elif defined(__ia64__)
-# define DEF_RESERVE_KB                MB(768)
-# define CAN_REDUCE_CPUS       1
-
 #elif defined(__aarch64__)
 # define DEF_RESERVE_KB                MB(192)
 # define CAN_REDUCE_CPUS       1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdump-1.9.5/packaging/suse/kdump.spec 
new/kdump-1.9.6/packaging/suse/kdump.spec
--- old/kdump-1.9.5/packaging/suse/kdump.spec   2023-07-28 16:37:45.000000000 
+0200
+++ new/kdump-1.9.6/packaging/suse/kdump.spec   2023-08-25 17:54:25.000000000 
+0200
@@ -63,7 +63,6 @@
 BuildRequires:  asciidoc
 BuildRequires:  cmake >= 3.7
 BuildRequires:  gcc-c++
-BuildRequires:  libblkid-devel
 BuildRequires:  pkgconfig
 BuildRequires:  systemd-sysvinit
 BuildRequires:  util-linux-systemd

Reply via email to