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); - }