Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mksusecd for openSUSE:Factory 
checked in at 2022-12-16 17:51:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mksusecd (Old)
 and      /work/SRC/openSUSE:Factory/.mksusecd.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mksusecd"

Fri Dec 16 17:51:39 2022 rev:73 rq:1043204 version:2.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes        2022-12-07 
19:31:35.414175669 +0100
+++ /work/SRC/openSUSE:Factory/.mksusecd.new.1835/mksusecd.changes      
2022-12-16 17:51:47.640064652 +0100
@@ -1,0 +2,7 @@
+Thu Dec 15 19:22:07 UTC 2022 - wfe...@opensuse.org
+
+- merge gh#openSUSE/mksusecd#64
+- much improved usrmerge kernel support (bsc#1206181)
+- 2.9
+
+--------------------------------------------------------------------

Old:
----
  mksusecd-2.8.tar.xz

New:
----
  mksusecd-2.9.tar.xz

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

Other differences:
------------------
++++++ mksusecd.spec ++++++
--- /var/tmp/diff_new_pack.PzDjF4/_old  2022-12-16 17:51:48.084067096 +0100
+++ /var/tmp/diff_new_pack.PzDjF4/_new  2022-12-16 17:51:48.088067118 +0100
@@ -18,7 +18,7 @@
 
 
 Name:           mksusecd
-Version:        2.8
+Version:        2.9
 Release:        0
 Summary:        Tool to create SUSE Linux installation ISOs
 License:        GPL-3.0+

++++++ mksusecd-2.8.tar.xz -> mksusecd-2.9.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mksusecd-2.8/VERSION new/mksusecd-2.9/VERSION
--- old/mksusecd-2.8/VERSION    2022-12-07 17:03:59.000000000 +0100
+++ new/mksusecd-2.9/VERSION    2022-12-15 20:22:07.000000000 +0100
@@ -1 +1 @@
-2.8
+2.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mksusecd-2.8/changelog new/mksusecd-2.9/changelog
--- old/mksusecd-2.8/changelog  2022-12-07 17:03:59.000000000 +0100
+++ new/mksusecd-2.9/changelog  2022-12-15 20:22:07.000000000 +0100
@@ -1,3 +1,7 @@
+2022-12-15:    2.9
+       - merge gh#openSUSE/mksusecd#64
+       - much improved usrmerge kernel support (bsc#1206181)
+
 2022-12-07:    2.8
        - merge gh#openSUSE/mksusecd#63
        - fix handling of usrmerge kernels
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mksusecd-2.8/mksusecd new/mksusecd-2.9/mksusecd
--- old/mksusecd-2.8/mksusecd   2022-12-07 17:03:59.000000000 +0100
+++ new/mksusecd-2.9/mksusecd   2022-12-15 20:22:07.000000000 +0100
@@ -4128,17 +4128,35 @@
 {
   $kernel->{dir} = $tmp->dir();
 
-  # add compat links for usrmerge
-  symlink "usr/lib", "$kernel->{dir}/lib";
-  mkdir "$kernel->{dir}/usr", 0755;
-  mkdir "$kernel->{dir}/usr/lib", 0755;
-
   for (@opt_kernel_rpms) {
     my $type = get_archive_type $_;
     die "$_: don't know how to unpack this\n" if !$type;
     unpack_archive $type, $_, $kernel->{dir};
   }
 
+  # kernel package layout expected in initrd
+  if(-d "$orig_initrd/usr/lib/modules") {
+    $kernel->{target_usrmerge} = 1;
+    $kernel->{target_lib_dir} = "usr/lib";
+  }
+  else {
+    $kernel->{target_usrmerge} = 0;
+    $kernel->{target_lib_dir} = "lib";
+  }
+
+  # kernel package layout in new kernel rpms
+  if(-d "$kernel->{dir}/usr/lib/modules") {
+    $kernel->{usrmerge} = 1;
+    $kernel->{lib_dir} = "usr/lib";
+  }
+  else {
+    $kernel->{usrmerge} = 0;
+    $kernel->{lib_dir} = "lib";
+  }
+
+  my $lib_dir = $kernel->{lib_dir};
+  my $target_lib_dir = $kernel->{target_lib_dir};
+
   my $kernel_location;
   my $kernel_name_suffix;
 
@@ -4151,10 +4169,10 @@
     }
   }
   else {
-    my $version = (glob "$kernel->{dir}/lib/modules/*/System.map")[-1];
-    if($version =~ m#/lib/modules/([^/]+)/#) {
+    my $version = (glob "$kernel->{dir}/$lib_dir/modules/*/System.map")[-1];
+    if($version =~ m#/$lib_dir/modules/([^/]+)/#) {
       $kernel->{version} = $1;
-      $kernel_location = "lib/modules/$1";
+      $kernel_location = "$lib_dir/modules/$1";
       $kernel_name_suffix = "";
     }
   }
@@ -4181,24 +4199,34 @@
   die "no module dir?\n" if $kernel->{version} eq "";
   die "no kernel?\n" if !$kernel->{image};
 
-  for (glob "$kernel->{dir}/lib/modules/*") {
+  for (glob "$kernel->{dir}/$lib_dir/modules/*") {
     s#.*/##;
     next if $_ eq $kernel->{version};
     print "warning: kmp version mismatch, adjusting: $_ --> 
$kernel->{version}\n";
-    system "tar -C '$kernel->{dir}/lib/modules/$_' -cf - . | tar -C 
'$kernel->{dir}/lib/modules/$kernel->{version}' -xf -";
+    system "tar -C '$kernel->{dir}/$lib_dir/modules/$_' -cf - . | tar -C 
'$kernel->{dir}/$lib_dir/modules/$kernel->{version}' -xf -";
   }
 
+  # compat symlink needed for depmod
+  symlink("$lib_dir", "$kernel->{dir}/lib") if $kernel->{usrmerge};
   system "depmod -a -b $kernel->{dir} $kernel->{version}";
+  unlink "$kernel->{dir}/lib" if $kernel->{usrmerge};
 
-  if(! -s "$kernel->{dir}/lib/modules/$kernel->{version}/modules.dep") {
+  if(! -s "$kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.dep") {
     # squashfs is randomly picked, assuming it will always exist
-    my $fmt = (glob 
"$kernel->{dir}/lib/modules/$kernel->{version}/kernel/fs/squashfs/squashfs.*")[0];
+    my $fmt = (glob 
"$kernel->{dir}/$lib_dir/modules/$kernel->{version}/kernel/fs/squashfs/squashfs.*")[0];
     $fmt =~ s#.*/squashfs##;
     $fmt .= " " if $fmt;
 
     die "failed to generate modules.dep - maybe kmod package too old to handle 
${fmt}module format?\n";
   }
 
+  if($opt_verbose >= 1) {
+    my $u = $kernel->{target_usrmerge} ? " (usrmerge)" : "";
+    print "original kernel: $kernel->{orig_version}$u\n";
+    $u = $kernel->{usrmerge} ? " (usrmerge)" : "";
+    print "new kernel: $kernel->{version}$u\n";
+  }
+
   # print Dumper($kernel);
 }
 
@@ -4227,7 +4255,10 @@
     }
   }
 
-  die "no modules.dep\n" if !open my $f, 
"$kernel->{dir}/lib/modules/$kernel->{version}/modules.dep";
+  my $lib_dir = $kernel->{lib_dir};
+  my $target_lib_dir = $kernel->{target_lib_dir};
+
+  die "no modules.dep\n" if !open my $f, 
"$kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.dep";
 
   # get module paths
   for (<$f>) {
@@ -4254,14 +4285,11 @@
 
   $kernel->{new_dir} = $tmp->dir();
 
-  mkdir "$kernel->{new_dir}/lib", 0755;
-  mkdir "$kernel->{new_dir}/lib/modules", 0755;
-  mkdir "$kernel->{new_dir}/lib/modules/$kernel->{version}", 0755;
-  mkdir "$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd", 0755;
+  File::Path::make_path 
"$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd";
 
   for (sort keys %{$kernel->{initrd_modules}}) {
     if($kernel->{modules}{$_} && !$mods_remove{$_}) {
-      system "cp 
$kernel->{dir}/lib/modules/$kernel->{version}/$kernel->{modules}{$_} 
$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd";
+      system "cp 
$kernel->{dir}/$lib_dir/modules/$kernel->{version}/$kernel->{modules}{$_} 
$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd";
       push @{$kernel->{added}}, $_ if $kernel->{initrd_modules}{$_} > 1;
     }
     else {
@@ -4271,29 +4299,32 @@
 
   # copy modules.order & modules.builtin
 
-  if(-f "$kernel->{dir}/lib/modules/$kernel->{version}/modules.builtin") {
-    system "cp -f 
$kernel->{dir}/lib/modules/$kernel->{version}/modules.builtin{,.modinfo} 
$kernel->{new_dir}/lib/modules/$kernel->{version}/";
+  if(-f "$kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.builtin") {
+    system "cp -f 
$kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.builtin{,.modinfo} 
$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/";
   }
 
-  if(open my $f, 
"$kernel->{dir}/lib/modules/$kernel->{version}/modules.order") {
-    if(open my $w, 
">$kernel->{new_dir}/lib/modules/$kernel->{version}/modules.order") {
+  if(open my $f, 
"$kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.order") {
+    if(open my $w, 
">$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/modules.order") 
{
       while(<$f>) {
         chomp;
         s#.*/#initrd/#;
-        print $w "$_\n" if -f 
"$kernel->{new_dir}/lib/modules/$kernel->{version}/$_";
+        print $w "$_\n" if -f 
"$kernel->{new_dir}/$lib_dir/modules/$kernel->{version}/$_";
       }
       close $w;
     }
     close $f;
   }
 
+  # compat symlink needed for depmod
+  symlink("$target_lib_dir", "$kernel->{new_dir}/lib") if 
$kernel->{target_usrmerge};
   system "depmod -a -b $kernel->{new_dir} $kernel->{version}";
+  unlink "$kernel->{new_dir}/lib" if $kernel->{target_usrmerge};
 
   # now get firmware files
 
   my %fw;
 
-  for my $m 
(glob("$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd/*${kext_glob}"))
 {
+  for my $m 
(glob("$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd/*${kext_glob}"))
 {
     chomp $m;
 
     next unless -f $m;
@@ -4310,11 +4341,11 @@
   for my $m (sort keys %fw) {
     for (@{$fw{$m}}) {
       my $f;
-      $f = "$_" if -f "$kernel->{dir}/lib/firmware/$_";
-      $f = "$kernel->{version}/$_" if -f 
"$kernel->{dir}/lib/firmware/$kernel->{version}/$_";
+      $f = "$_" if -f "$kernel->{dir}/$lib_dir/firmware/$_";
+      $f = "$kernel->{version}/$_" if -f 
"$kernel->{dir}/$lib_dir/firmware/$kernel->{version}/$_";
 
       if($f) {
-        system "install -m 644 -D $kernel->{dir}/lib/firmware/$f 
$kernel->{new_dir}/lib/firmware/$f";
+        system "install -m 644 -D $kernel->{dir}/$lib_dir/firmware/$f 
$kernel->{new_dir}/$target_lib_dir/firmware/$f";
       }
     }
   }
@@ -4330,7 +4361,7 @@
     # print "got it\n";
     # FIXME: adjust config
 
-    open my $f, 
">$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd/module.config";
+    open my $f, 
">$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd/module.config";
     print $f @{$kernel->{module_config}};
     close $f;
   }
@@ -4346,6 +4377,9 @@
 {
   my $tmp_dir;
 
+  my $lib_dir = $kernel->{lib_dir};
+  my $target_lib_dir = $kernel->{target_lib_dir};
+
   if($initrd_has_parts) {
     $tmp_dir = $tmp->dir();
 
@@ -4356,10 +4390,7 @@
     # going to rebuild the initrd anyway
     $p = "00_lib" if $opt_rebuild_initrd;
 
-    mkdir "$tmp_dir/lib", 0755;
-    mkdir "$tmp_dir/lib/modules", 0755;
-    mkdir "$tmp_dir/lib/modules/$kernel->{version}", 0755;
-    mkdir "$tmp_dir/lib/modules/$kernel->{version}/initrd", 0755;
+    File::Path::make_path 
"$tmp_dir/$target_lib_dir/modules/$kernel->{version}/initrd";
 
     my @base_modules = qw (loop squashfs lz4_decompress xxhash 
zstd_decompress);
 
@@ -4372,8 +4403,8 @@
 
     for (@base_modules) {
       for my $ext (@kext_list) {
-        if(-f 
"$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd/$_$ext") {
-          rename 
"$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd/$_$ext", 
"$tmp_dir/lib/modules/$kernel->{version}/initrd/$_$ext";
+        if(-f 
"$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd/$_$ext") {
+          rename 
"$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd/$_$ext", 
"$tmp_dir/$target_lib_dir/modules/$kernel->{version}/initrd/$_$ext";
         }
       }
     }
@@ -4389,9 +4420,9 @@
 
   # add module symlink
 
-  symlink "lib/modules/$kernel->{version}/initrd", "$tmp_dir/modules";
+  symlink "$target_lib_dir/modules/$kernel->{version}/initrd", 
"$tmp_dir/modules";
 
-  my $cmd = "Exec:\t\tln -snf lib/modules/`uname -r`/initrd /modules\n";
+  my $cmd = "Exec:\t\tln -snf $lib_dir/modules/`uname -r`/initrd /modules\n";
 
   if(open my $f, "$orig_initrd/linuxrc.config") {
     my $cmd_found;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mksusecd-2.8/mksusecd_man.adoc 
new/mksusecd-2.9/mksusecd_man.adoc
--- old/mksusecd-2.8/mksusecd_man.adoc  2022-12-07 17:03:59.000000000 +0100
+++ new/mksusecd-2.9/mksusecd_man.adoc  2022-12-15 20:22:07.000000000 +0100
@@ -17,6 +17,7 @@
 
 mksusecd can modify or create bootable installation media. They can be
 either ISO images or disk images (to be used on USB sticks, for example).
+Note that Live media are not supported.
 
 mksusecd supports media in both openSUSE/SLES and Fedora/RHEL layout.
 See Fedora/RHEL notes for details.

Reply via email to