Hello community,

here is the log from the commit of package mkdud for openSUSE:Factory checked 
in at 2016-01-21 23:45:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mkdud (Old)
 and      /work/SRC/openSUSE:Factory/.mkdud.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mkdud"

Changes:
--------
--- /work/SRC/openSUSE:Factory/mkdud/mkdud.changes      2016-01-20 
09:55:21.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mkdud.new/mkdud.changes 2016-01-22 
01:10:46.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Jan 21 08:51:11 UTC 2016 - [email protected]
+
+- Remove warning on yast replacement for versions supporting it.
+- 1.24
+
+-------------------------------------------------------------------

Old:
----
  mkdud-1.23.tar.xz

New:
----
  mkdud-1.24.tar.xz

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

Other differences:
------------------
++++++ mkdud.spec ++++++
--- /var/tmp/diff_new_pack.OZZMLD/_old  2016-01-22 01:10:48.000000000 +0100
+++ /var/tmp/diff_new_pack.OZZMLD/_new  2016-01-22 01:10:48.000000000 +0100
@@ -23,7 +23,7 @@
 Summary:        Create driver update from rpms
 License:        GPL-3.0+
 Group:          Hardware/Other
-Version:        1.23
+Version:        1.24
 Release:        0
 Source:         %{name}-%{version}.tar.xz
 Url:            https://github.com/wfeldt/mkdud

++++++ mkdud-1.23.tar.xz -> mkdud-1.24.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mkdud-1.23/VERSION new/mkdud-1.24/VERSION
--- old/mkdud-1.23/VERSION      2016-01-19 14:45:13.000000000 +0100
+++ new/mkdud-1.24/VERSION      2016-01-21 09:46:54.000000000 +0100
@@ -1 +1 @@
-1.23
+1.24
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mkdud-1.23/changelog new/mkdud-1.24/changelog
--- old/mkdud-1.23/changelog    2016-01-19 14:45:13.000000000 +0100
+++ new/mkdud-1.24/changelog    2016-01-21 09:46:54.000000000 +0100
@@ -1,3 +1,6 @@
+2016-01-20:    1.24
+       - Remove warning on yast replacement for versions supporting it.
+
 2016-01-19:    1.23
        - better public key file detection
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mkdud-1.23/mkdud new/mkdud-1.24/mkdud
--- old/mkdud-1.23/mkdud        2016-01-19 14:45:13.000000000 +0100
+++ new/mkdud-1.24/mkdud        2016-01-21 09:46:54.000000000 +0100
@@ -95,6 +95,7 @@
 our $VERSION = "0.0";
 
 my @all_archs = qw ( x86_64 aarch64 armv7l i386 ia64 ppc ppc64 ppc64le s390 
s390x );
+my $REPLACEABLE_YAST = '3.1.135';
 
 sub usage;
 sub get_file_arch;
@@ -155,6 +156,7 @@
 my $sign_key_ok;
 my $obs;
 my $pubkey_info;
+my $yast_version = 0;
 
 # linuxrc versions in service packs
 my $servicepack;
@@ -571,7 +573,7 @@
   if(/^RPM/) {
     my $ft = { type => 'rpm', file => $_[0] };
 
-    my $f = `rpm --nosignature -qp --qf 
'%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}' $_[0] 2>$tmp_err`;
+    my $f = `rpm --nosignature -qp --qf 
'%{NAME}\t%{VERSION}\t%{RELEASE}.%{ARCH}' $_[0] 2>$tmp_err`;
     if($f eq "") {
       print STDERR "failed to read rpm: $_[0]\n";
       my $x;
@@ -581,7 +583,13 @@
       exit 1;
     }
 
-    $ft->{canonical_name} = $f;
+    # Check if yast base package is to be replaced and remember its version:
+    if($f =~ /^yast2\t(.+)\t/) {
+      $yast_version = $1;
+      # print STDERR "yast version: $yast_version\n";
+    }
+
+    ($ft->{canonical_name} = $f) =~ s/\t/-/g;
 
     my $ar = $f =~ /\.([^.]+)$/ ? $1 : undef;
     $ar = "i386" if $ar =~ /^i.86$/;
@@ -1048,10 +1056,13 @@
 
     if(!$opt_force) {
       if(lstat "$base/inst-sys/sbin/yast") {
-        print STDERR
-          "Warning: prevented driver update from replacing /sbin/yast.\n" .
-          "If you really need to do this, use --force.\n";
-        unlink "$base/inst-sys/sbin/yast";
+        if(vercmp($yast_version, $REPLACEABLE_YAST) < 0 ) {
+          print STDERR
+            "Warning: prevented driver update from replacing /sbin/yast.\n" .
+            "yast2 >=$REPLACEABLE_YAST is considered safely replacable.\n" .
+            "If you really need to do this, use --force.\n";
+          unlink "$base/inst-sys/sbin/yast";
+        }
       }
 
       if(-e "$base/inst-sys/usr/src/packages") {
@@ -2223,3 +2234,11 @@
   return undef;
 }
 
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+sub vercmp {
+  my ($s1, $s2) = @_; 
+  $s1 =~ s/(\d+)/sprintf("%010d", $1)/ge;
+  $s2 =~ s/(\d+)/sprintf("%010d", $1)/ge;
+  return $s1 cmp $s2;
+}


Reply via email to