Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package linuxrc for openSUSE:Factory checked 
in at 2021-04-15 16:56:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/linuxrc (Old)
 and      /work/SRC/openSUSE:Factory/.linuxrc.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "linuxrc"

Thu Apr 15 16:56:54 2021 rev:296 rq:884572 version:7.0.32

Changes:
--------
--- /work/SRC/openSUSE:Factory/linuxrc/linuxrc.changes  2021-04-08 
21:03:25.745982522 +0200
+++ /work/SRC/openSUSE:Factory/.linuxrc.new.12324/linuxrc.changes       
2021-04-15 16:57:05.302643070 +0200
@@ -1,0 +2,7 @@
+Mon Apr 12 08:14:20 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/linuxrc#253
+- fix handling of modules in driver updates (bsc#1184550)
+- 7.0.32
+
+--------------------------------------------------------------------

Old:
----
  linuxrc-7.0.31.tar.xz

New:
----
  linuxrc-7.0.32.tar.xz

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

Other differences:
------------------
++++++ linuxrc.spec ++++++
--- /var/tmp/diff_new_pack.yKIFd8/_old  2021-04-15 16:57:05.838643918 +0200
+++ /var/tmp/diff_new_pack.yKIFd8/_new  2021-04-15 16:57:05.842643925 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           linuxrc
-Version:        7.0.31
+Version:        7.0.32
 Release:        0
 Summary:        SUSE Installation Program
 License:        GPL-3.0+

++++++ linuxrc-7.0.31.tar.xz -> linuxrc-7.0.32.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linuxrc-7.0.31/VERSION new/linuxrc-7.0.32/VERSION
--- old/linuxrc-7.0.31/VERSION  2021-04-01 10:48:43.000000000 +0200
+++ new/linuxrc-7.0.32/VERSION  2021-04-12 10:14:20.000000000 +0200
@@ -1 +1 @@
-7.0.31
+7.0.32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linuxrc-7.0.31/changelog new/linuxrc-7.0.32/changelog
--- old/linuxrc-7.0.31/changelog        2021-04-01 10:48:43.000000000 +0200
+++ new/linuxrc-7.0.32/changelog        2021-04-12 10:14:20.000000000 +0200
@@ -1,3 +1,7 @@
+2021-04-12:    7.0.32
+       - merge gh#openSUSE/linuxrc#253
+       - fix handling of modules in driver updates (bsc#1184550)
+
 2021-04-01:    7.0.31
        - merge gh#openSUSE/linuxrc#251
        - fix rescue image in usrmerge case (boo#1029961)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linuxrc-7.0.31/module.c new/linuxrc-7.0.32/module.c
--- old/linuxrc-7.0.31/module.c 2021-04-01 10:48:43.000000000 +0200
+++ new/linuxrc-7.0.32/module.c 2021-04-12 10:14:20.000000000 +0200
@@ -42,13 +42,9 @@
 
 #define MOD_EXT(mod)   { .ext = (mod), .len = sizeof(mod) - 1 }
 
-typedef struct {
-  char *ext;
-  size_t len;
-} mod_extensions_t;
-
 // list of recognized module file name extensions
-static const mod_extensions_t mod_extensions[] = {
+// list ends with an empty entry
+const mod_extensions_t mod_extensions[] = {
   MOD_EXT(".ko.xz"),
   MOD_EXT(".ko"),
   { }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linuxrc-7.0.31/module.h new/linuxrc-7.0.32/module.h
--- old/linuxrc-7.0.31/module.h 2021-04-01 10:48:43.000000000 +0200
+++ new/linuxrc-7.0.32/module.h 2021-04-12 10:14:20.000000000 +0200
@@ -6,6 +6,14 @@
  *
  */
 
+typedef struct {
+  char *ext;
+  size_t len;
+} mod_extensions_t;
+
+// array of possible module extensions
+extern const mod_extensions_t mod_extensions[];
+
 int        mod_get_type(char *type_name);
 int        mod_check_modules(char *type_name);
 void       mod_init(int autoload);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linuxrc-7.0.31/util.c new/linuxrc-7.0.32/util.c
--- old/linuxrc-7.0.31/util.c   2021-04-01 10:48:43.000000000 +0200
+++ new/linuxrc-7.0.32/util.c   2021-04-12 10:14:20.000000000 +0200
@@ -942,7 +942,7 @@
 
 void util_do_driver_update(unsigned idx)
 {
-  char *s, *buf1 = NULL, *buf2 = NULL, *dst = NULL;
+  char *buf1 = NULL, *buf2 = NULL, *dst = NULL;
   file_t *f0, *f;
   slist_t *sl;
 
@@ -982,10 +982,19 @@
   strprintf(&buf1, "%s/modules/module.order", dst);
   f0 = file_read_file(buf1, kf_none);
   for(f = f0; f; f = f->next) {
+    char *mod_name = mod_basename(f->key_str);
+
+    // remove existing module, with any extension
+    for(const mod_extensions_t *mod_ext = mod_extensions; mod_ext->ext; 
mod_ext++) {
+      strprintf(&buf2, "/modules/%s%s", mod_name, mod_ext->ext);
+      unlink(buf2);
+    }
+
     strprintf(&buf1, "%s/modules/%s", dst, f->key_str);
     strprintf(&buf2, "/modules/%s", f->key_str);
-    unlink(buf2);
     symlink(buf1, buf2);
+
+    free(mod_name);
   }
 
   /* load new modules */
@@ -997,15 +1006,17 @@
   }
   else {
     str_copy(&buf1, "");
+    // build list of modules to unload
     for(f = f0; f; f = f->next) {
-      if((s = strrchr(f->key_str, '.'))) *s = 0;
-      strprintf(&buf1, "%s %s", buf1, f->key_str);
+      char *mod_name = mod_basename(f->key_str);
+      strprintf(&buf1, "%s %s", buf1, mod_name);
+      free(mod_name);
     }
     if(*buf1) mod_unload_modules(buf1);
     for(f = f0; f; f = f->next) {
-      char *basename = mod_basename(f->key_str);
-      mod_modprobe(basename, NULL);
-      free(basename);
+      char *mod_name = mod_basename(f->key_str);
+      mod_modprobe(mod_name, NULL);
+      free(mod_name);
     }
   }
 
@@ -1013,7 +1024,6 @@
   free(dst);
   free(buf1);
   free(buf2);
-
 }
 
 

Reply via email to