Hello community,

here is the log from the commit of package installation-images-openSUSE for 
openSUSE:Factory checked in at 2014-11-26 10:35:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/installation-images-openSUSE (Old)
 and      /work/SRC/openSUSE:Factory/.installation-images-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "installation-images-openSUSE"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/installation-images-openSUSE/installation-images-openSUSE.changes
        2014-11-11 01:10:57.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.installation-images-openSUSE.new/installation-images-openSUSE.changes
   2014-11-26 10:35:41.000000000 +0100
@@ -1,0 +2,6 @@
+Tue Nov 25 13:10:50 CET 2014 - [email protected]
+
+- auto-add kernel modules needed due to module dependencies
+- 14.150
+
+-------------------------------------------------------------------

Old:
----
  installation-images-14.149.tar.xz

New:
----
  installation-images-14.150.tar.xz

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

Other differences:
------------------
++++++ installation-images-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.P5jj9y/_old  2014-11-26 10:35:42.000000000 +0100
+++ /var/tmp/diff_new_pack.P5jj9y/_new  2014-11-26 10:35:42.000000000 +0100
@@ -361,7 +361,7 @@
 Summary:        Installation Image Files for %theme
 License:        GPL-2.0+
 Group:          Metapackages
-Version:        14.149
+Version:        14.150
 Release:        0
 Provides:       installation-images = %version-%release
 Source:         installation-images-%{version}.tar.xz

++++++ installation-images-14.149.tar.xz -> installation-images-14.150.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-14.149/VERSION 
new/installation-images-14.150/VERSION
--- old/installation-images-14.149/VERSION      2014-11-07 08:24:22.000000000 
+0100
+++ new/installation-images-14.150/VERSION      2014-11-25 13:04:33.000000000 
+0100
@@ -1 +1 @@
-14.149
+14.150
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-14.149/bin/mlist1 
new/installation-images-14.150/bin/mlist1
--- old/installation-images-14.149/bin/mlist1   2014-11-07 08:24:22.000000000 
+0100
+++ new/installation-images-14.150/bin/mlist1   2014-11-25 13:04:33.000000000 
+0100
@@ -9,69 +9,92 @@
 use AddFiles;
 use Conv2Image;
 
+use strict;
+
+use Data::Dumper;
+$Data::Dumper::Sortkeys = 1;
+$Data::Dumper::Terse = 1;
+$Data::Dumper::Indent = 1;
+
 sub check_deps;
-sub sort_deps;
+sub add_deps;
 
 die "usage: $Script\n" if @ARGV;
 
-$md = "${BasePath}tmp/modules-config/modules.dep";
-$ex = "${CfgPath}module.list";
-$deps = "${BasePath}tmp/modules-config/module_deps";
-$list = "${BasePath}tmp/modules-config/module_list";
-$mod_type = $ConfigData{module_type};
+my $md = "${BasePath}tmp/modules-config/modules.dep";
+my $ex = "${CfgPath}module.list";
+my $deps = "${BasePath}tmp/modules-config/module_deps";
+my $list = "${BasePath}tmp/modules-config/module_list";
+my $added = "${BasePath}tmp/modules-config/module_added";
+my $mod_type = $ConfigData{module_type};
+
+my @ml_all;
+my $ml;
+my $ex_yes;
+my $ex_no;
 
-$arch = `uname -m`; chomp $arch; $arch = "i386" if $arch =~ /^i\d86$/;
 
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 print STDERR "checking module list...\n";
 
-die "$0: $md: $!\n" unless open F, $md;
-
-while(<F>) {
-  chomp;
-  next if /^\s*$/;
-  $cnt_next = s/\\$/ / ? 1 : 0;
-  if($cnt) {
-    @ml[-1] .= $_;
-  }
-  else {
-    push @ml, $_;
+if(open my $f, $md) {
+  my ($cnt, $cnt_next);
+  while(<$f>) {
+    chomp;
+    next if /^\s*$/;
+    $cnt_next = s/\\$/ / ? 1 : 0;
+    if($cnt) {
+      @ml_all[-1] .= $_;
+    }
+    else {
+      push @ml_all, $_;
+    }
+    $cnt = $cnt_next;
   }
-  $cnt = $cnt_next;
-}
 
-close F;
+  close $f;
+}
+else {
+  die "$0: $md: $!\n";
+}
 
-die "$0: $ex: $!\n" unless open(F, "$ex.$arch") || open(F, $ex);
 
-while(<F>) {
-  s/\s*$//;
-  next if /^\s*(#|$)/;
+if(open my $f, $ex) {
+  while(<$f>) {
+    s/\s*$//;
+    next if /^\s*(#|$)/;
 
-  if(s/^\-//) {
-    push @ex_no, $_;
-  }
-  else {
-    push @ex_yes, $_;
+    if(s/^\-//) {
+      $ex_no .= "|$_";
+    }
+    else {
+      $ex_yes .= "|$_";
+    }
   }
-}
 
-close F;
-
-if(@ex_no != 0) {
- $ex_no = join '|', @ex_no;
+  close $f;
 }
-
-if(@ex_yes != 0) {
- $ex_yes = join '|', @ex_yes;
+else {
+  die "$0: $ex: $!\n";
 }
 
-for (@ml) {
+substr($ex_no, 0, 1, "");
+substr($ex_yes, 0, 1, "");
+
+for (@ml_all) {
+  my ($m, $p);
+  my $y = 1;
+
   s#^/lib/modules/[^/]+/##;
   if(/^(\S+):/) {
     $m = $1;
-    $_ = "" if $ex_yes && $m !~ /($ex_yes)/;
-    $_ = "" if $ex_no && $m =~ /($ex_no)/;
   }
+  else {
+    next;
+  }
+
+  $y = 0 if $ex_yes && $m !~ /($ex_yes)/;
+  $y = 0 if $ex_no && $m =~ /($ex_no)/;
 
   s#^(\S+)/##;
   $p = $1;
@@ -80,58 +103,58 @@
   s/\s+/ /g;
   s/\s+$//;
 
-  if(/^(\S+):/) {
-    $path{$1} = $p unless exists $path{$1}
-  }
-
-  $_ = "$p $_" if $_;
-}
-@ml = grep $_ ne "", @ml;
-
-for (@ml) {
-  if(/^(\S+)\s+(\S+):\s*(.*?)$/) {
-    $p = $1;
-    if(exists $ml{$2}) {
-      print STDERR "  duplicate module: $p/$2, $path{$2}/$2\n"
+  if(s/^(\S+):\s*//) {
+    if($ml->{$1}) {
+      print STDERR "  duplicate modules: $p/$1, $ml->{$1}{path}/$1\n";
     }
-    $ml{$2} = $3;
-  }
-  else {
-    die "$0: oops: invalid line: \"$_\"\n"
+    $ml->{$1}{path} = $p;
+    $ml->{$1}{config} = $y;
+    $ml->{$1}{deps} = [ (split ' ') ];
   }
 }
 
-while(check_deps) {}
+while(add_deps) {}
 
-sort_deps;
+while(check_deps) {}
 
-open W1, ">$deps";
-open W2, ">$list";
-for (sort { "$path{$a} $a" cmp "$path{$b} $b" } keys %ml) {
-  print W2 "$path{$_}: $_\n";
-  if($ml{$_}) {
-    print W1 "$_: ", $ml{$_}, "\n"
+open my $w1, ">", $deps;
+open my $w2, ">", $list;
+open my $w3, ">", $added;
+
+print $w3 "[other]\n";
+
+for (sort { "$ml->{$a}{path} $a" cmp "$ml->{$b}{path} $b" } keys %$ml) {
+  next if !$ml->{$_}{config};
+  print $w3 "$_\n" if $ml->{$_}{added};
+  print $w2 "$ml->{$_}{path}: $_\n";
+  if(@{$ml->{$_}{deps}}) {
+    print $w1 "$_: ", join(" ", @{$ml->{$_}{deps}}), "\n"
   }
   else {
-    print W1 "$_:\n"
+    print $w1 "$_:\n"
   }
 }
-close W2;
-close W1;
 
+close $w3;
+close $w2;
+close $w1;
+
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# check module dependencies and remove modules with unfulfilled deps
+#
 sub check_deps
 {
-  local $_;
-  my ($i, $cnt);
+  my $cnt;
 
-  for (keys %ml) {
-    if($ml{$_}) {
-      for $i (split ' ', $ml{$_}) {
-        if(!exists $ml{$i}) {
-          print STDERR "  unresolved deps in $_: $i, dropped\n";
-          delete $ml{$_};
-          $cnt++;
-        }
+  for my $m (sort keys %$ml) {
+    next if !$ml->{$m}{config};
+    for (@{$ml->{$m}{deps}}) {
+      if(!$ml->{$_} || !$ml->{$_}{config}) {
+        print STDERR "  unresolved deps in $m: $_, dropped\n";
+        $ml->{$m}{config} = 0;
+        $cnt++;
+        last;
       }
     }
   }
@@ -140,17 +163,26 @@
 }
 
 
-sub sort_deps
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# add required modules to fulfill deps
+#
+sub add_deps
 {
-  local $_;
-  my ($m);
+  my $cnt;
 
-  for $m (keys %ml) {
-    $ml2{$m}{$_} = 10 for split ' ', $ml{$m};
+  for my $m (sort keys %$ml) {
+    next if !$ml->{$m}{config};
+    for (@{$ml->{$m}{deps}}) {
+      if($ml->{$_} && !$ml->{$_}{config}) {
+        print "  auto-added $_\n";
+        $ml->{$_}{config} = 1;
+        $ml->{$_}{added} = 1;
+        $cnt++;
+        last;
+      }
+    }
   }
 
-  for $m (keys %ml) {
-    $ml{$m} = join(' ', (sort { ($ml2{$a}{$b} - $ml2{$b}{$a}) + ($a cmp $b) }  
split(' ', $ml{$m})));
-  }
+  return $cnt;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-14.149/bin/mlist2 
new/installation-images-14.150/bin/mlist2
--- old/installation-images-14.149/bin/mlist2   2014-11-07 08:24:22.000000000 
+0100
+++ new/installation-images-14.150/bin/mlist2   2014-11-25 13:04:33.000000000 
+0100
@@ -30,6 +30,7 @@
 $dst = "${DataPath}initrd/gen/module.";
 $all_mods = "${DataPath}initrd/all_modules";
 $mod_type = $ConfigData{module_type};
+$added_mods = "${BasePath}tmp/modules-config/module_added";
 
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 # now we really start...
@@ -85,12 +86,27 @@
   close F;
 }
 
-die "$Script: $cfg: $!\n" unless open(F, "$cfg.$arch") || open(F, $cfg);
+if(open my $f, $cfg) {
+  while(<$f>) {
+    push @cfg_file, $_;
+  }
+  close $f;
+}
+else {
+  die "$Script: $cfg: $!\n";
+}
+
+if(open my $f, $added_mods) {
+  while(<$f>) {
+    push @cfg_file, $_;
+  }
+  close $f;
+}
 
 open NO_MOD, ">$mod_no";
 open NO_MOD_ALL, ">$mod_no_all";
 
-while(<F>) {
+for (@cfg_file) {
   chomp;
   s/^\s*([#;].*)?//;
   next if $_ eq "";
@@ -178,7 +194,6 @@
     $mod_warned{$l[0]} = 1;
   }
 }
-close F;
 
 close NO_MOD;
 
@@ -297,12 +312,14 @@
   print W "\n\n";
   close W;
 
+=head
   open W, ">${dst}shortconfig.$s";
   print W "[${\real_name($_)}]\n";
   print W "MoreModules=${\real_name($sect{$_}{MoreModulesLxrc})}\n" if exists 
$sect{$_}{MoreModulesLxrc};
   print W "ModDisk=$sect{$_}{ModDiskNext}\n" if exists $sect{$_}{ModDiskNext};
   print W "\n\n";
   close W;
+=cut
 
   open W, ">${dst}files.$s";
   for $f (sort { $fname{$a} cmp $fname{$b} } keys %{$sect{$_}{'a'}}) {
@@ -324,6 +341,7 @@
     close W;
   }
 
+=head
   open W, ">${dst}list.$s";
   print W ";\n; ${\real_name($_)} modules\n;\n";
   for $m (@{$sect{$_}{'m'}}) {
@@ -336,9 +354,11 @@
   }
   print W "\n";
   close W;
+=cut
 }
 
 
+=head
 open W, ">$mdisk_c";
 for (sort keys %moddisk_c) {
   print W "$_:$moddisk_c{$_}\n"
@@ -356,6 +376,7 @@
   print W "$_:$moddisk_i{$_}\n"
 }
 close W;
+=cut
 
 $err = 0 if $ENV{debug} =~ /\bignore\b/;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-14.149/changelog 
new/installation-images-14.150/changelog
--- old/installation-images-14.149/changelog    2014-11-07 08:24:22.000000000 
+0100
+++ new/installation-images-14.150/changelog    2014-11-25 13:04:33.000000000 
+0100
@@ -1,3 +1,6 @@
+2014-11-25:    14.150
+       - auto-add kernel modules needed due to module dependencies
+
 2014-11-05:    14.149
        - aarch64: move kernel and initrd to boot/aarch64/loader
 

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to