Hello community,

here is the log from the commit of package yast2-packager for 
openSUSE:Leap:15.2 checked in at 2020-02-27 06:41:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/yast2-packager (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.yast2-packager.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-packager"

Thu Feb 27 06:41:37 2020 rev:138 rq:779165 version:4.2.51

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/yast2-packager/yast2-packager.changes  
2020-02-10 16:41:24.875701686 +0100
+++ 
/work/SRC/openSUSE:Leap:15.2/.yast2-packager.new.26092/yast2-packager.changes   
    2020-02-27 06:41:38.821627562 +0100
@@ -1,0 +2,15 @@
+Wed Feb 19 15:34:23 UTC 2020 - José Iván López González <[email protected]>
+
+- Media checker does not complain because sha checksums
+  (bsc#1158432).
+- Media checker shows information about the signature.
+- 4.2.51
+
+-------------------------------------------------------------------
+Tue Feb 18 15:47:45 UTC 2020 - David Diaz <[email protected]>
+
+- Avoid crashing when changing a language and keyboard layout
+  (bsc#1161842).
+- 4.2.50
+
+-------------------------------------------------------------------

Old:
----
  yast2-packager-4.2.49.tar.bz2

New:
----
  yast2-packager-4.2.51.tar.bz2

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

Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.bSyPRf/_old  2020-02-27 06:41:39.245628445 +0100
+++ /var/tmp/diff_new_pack.bSyPRf/_new  2020-02-27 06:41:39.245628445 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.2.49
+Version:        4.2.51
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later

++++++ yast2-packager-4.2.49.tar.bz2 -> yast2-packager-4.2.51.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.49/package/yast2-packager.changes 
new/yast2-packager-4.2.51/package/yast2-packager.changes
--- old/yast2-packager-4.2.49/package/yast2-packager.changes    2020-02-05 
17:54:51.000000000 +0100
+++ new/yast2-packager-4.2.51/package/yast2-packager.changes    2020-02-19 
18:10:47.000000000 +0100
@@ -1,4 +1,19 @@
 -------------------------------------------------------------------
+Wed Feb 19 15:34:23 UTC 2020 - José Iván López González <[email protected]>
+
+- Media checker does not complain because sha checksums
+  (bsc#1158432).
+- Media checker shows information about the signature.
+- 4.2.51
+
+-------------------------------------------------------------------
+Tue Feb 18 15:47:45 UTC 2020 - David Diaz <[email protected]>
+
+- Avoid crashing when changing a language and keyboard layout
+  (bsc#1161842).
+- 4.2.50
+
+-------------------------------------------------------------------
 Wed Feb  5 15:36:54 UTC 2020 - Imobach Gonzalez Sosa <[email protected]>
 
 - Enable the "Search Online" menu entry for those systems that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.49/package/yast2-packager.spec 
new/yast2-packager-4.2.51/package/yast2-packager.spec
--- old/yast2-packager-4.2.49/package/yast2-packager.spec       2020-02-05 
17:54:51.000000000 +0100
+++ new/yast2-packager-4.2.51/package/yast2-packager.spec       2020-02-19 
18:10:47.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.2.49
+Version:        4.2.51
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.49/src/include/checkmedia/ui.rb 
new/yast2-packager-4.2.51/src/include/checkmedia/ui.rb
--- old/yast2-packager-4.2.49/src/include/checkmedia/ui.rb      2020-02-05 
17:54:51.000000000 +0100
+++ new/yast2-packager-4.2.51/src/include/checkmedia/ui.rb      2020-02-19 
18:10:47.000000000 +0100
@@ -1,3 +1,22 @@
+# Copyright (c) [2013-2020] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, contact SUSE LLC.
+#
+# To contact SUSE LLC about this file by physical or electronic mail, you may
+# find current contact information at www.suse.com.
+
 require "shellwords"
 
 # encoding: utf-8
@@ -71,10 +90,11 @@
 
       ret = []
 
-      Builtins.foreach(info) do |i|
-        parts = Builtins.splitstring(i, ":")
-        key = String.CutBlanks(Ops.get(parts, 0, ""))
-        val = String.CutBlanks(Ops.get(parts, 1, ""))
+      info.each do |i|
+        key, val = i.split(":").map(&:strip)
+
+        next unless key
+
         trasmap = {
           # rich text message, %1 = CD identification
           "app"        => Ops.add(
@@ -86,23 +106,27 @@
             "<UL><LI>Medium: %1</LI></UL>"
           ),
           # rich text message, %1 = size of the medium
-          "size"       => _(
+          "iso size"   => _(
             "<UL><LI>Size: %1</LI></UL>"
           ),
           # rich text message, %1 = result of the check
-          "check"      => _(
+          "result"     => _(
             "<UL><LI>Result: %1</LI></UL>"
           ),
+          # rich text message, %1 = signature check
+          "signature"  => _(
+            "<UL><LI>Signature: %1</LI></UL>"
+          ),
           # rich text -  error message
           "not an iso" => "<FONT COLOR=red>" +
             _(
               "The drive does not contain a medium or the ISO file system is 
broken."
             ) + "</FONT>"
         }
-        if key == "check"
+
+        if key == "result"
           # try to translate result string
-          # correct MD5
-          if val == "md5sum ok"
+          if val.match?(/ok/)
             # result of the check - success
             val = "<FONT COLOR=\"darkGreen\">" +
               _("<B>OK</B> -- The medium has been successfully verified.") + 
"</FONT>"
@@ -117,49 +141,24 @@
             val = _(
               "<B>Unknown</B> -- The correct MD5 sum of the medium is unknown."
             )
-          # progress output
-          elsif Builtins.issubstring(val, "%\b\b\b\b")
-            key = ""
-            Builtins.y2milestone(
-              "Ignoring progress output: %1",
-              Builtins.mergestring(Builtins.splitstring(val, "\b"), "\\b")
-            )
           end
-        # don't print MD5 sum (it doesn't help user)
-        elsif key == "md5"
-          Builtins.y2milestone("Expected MD5 of the medium: %1", val)
-          key = ""
         end
-        newstr = Ops.get(trasmap, key, "")
-        if !newstr.nil? && newstr != ""
-          newstr = Builtins.sformat(newstr, val)
 
-          ret = Builtins.add(ret, newstr)
-        end
-      end
+        # don't print checksum (it doesn't help user)
+        Builtins.y2milestone("Expected checksum of the medium: %1", val) if 
key.match?(/md5|sha.*/)
 
-      Builtins.y2milestone("Translated info: %1", ret)
+        newstr = Ops.get(trasmap, key, "")
 
-      deep_copy(ret)
-    end
+        next if newstr.nil? || newstr.empty?
+
+        newstr = Builtins.sformat(newstr, val)
 
-    # does the medium contain MD5 checksum in the application area?
-    def md5sumTagPresent(input)
-      command = "/usr/bin/dd if=#{input.shellescape} bs=1 skip=33651 count=512"
-
-      res = SCR.Execute(path(".target.bash_output"), command)
-
-      if Ops.get_integer(res, "exit", -1).nonzero?
-        Builtins.y2warning("command failed: %1", command)
-        return nil
+        ret = Builtins.add(ret, newstr)
       end
 
-      Builtins.y2milestone(
-        "Read application area: %1",
-        Ops.get_string(res, "stdout", "")
-      )
+      Builtins.y2milestone("Translated info: %1", ret)
 
-      Builtins.regexpmatch(Ops.get_string(res, "stdout", ""), "md5sum=")
+      deep_copy(ret)
     end
 
     # mount CD drive and check whether there is directory 'media.1' (the first 
medium)
@@ -447,17 +446,15 @@
                 )
               )
             else
-              if md5sumTagPresent(selecteddrive) == false
-                if !Popup.ContinueCancel(
-                  _(
-                    "The medium does not contain a MD5 checksum.\n" \
-                      "The content of the medium cannot be verified.\n" \
-                      "\n" \
-                      "Only readability of the medium will be checked.\n"
-                  )
+              if !CheckMedia.valid_checksum?(selecteddrive)
+                continue_checking = Popup.ContinueCancel(
+                  _("The medium does not contain a valid checksum.\n" \
+                    "The content of the medium cannot be verified.\n" \
+                    "\n" \
+                    "Only readability of the medium will be checked.\n")
                 )
-                  next
-                end
+
+                next unless continue_checking
               end
 
               CheckMedia.Start(selecteddrive)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.49/src/modules/CheckMedia.rb 
new/yast2-packager-4.2.51/src/modules/CheckMedia.rb
--- old/yast2-packager-4.2.49/src/modules/CheckMedia.rb 2020-02-05 
17:54:51.000000000 +0100
+++ new/yast2-packager-4.2.51/src/modules/CheckMedia.rb 2020-02-19 
18:10:47.000000000 +0100
@@ -1,4 +1,25 @@
+# Copyright (c) [2013-2020] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, contact SUSE LLC.
+#
+# To contact SUSE LLC about this file by physical or electronic mail, you may
+# find current contact information at www.suse.com.
+
 require "yast"
+require "yast2/execute"
+require "shellwords"
 
 # Yast namespace
 module Yast
@@ -82,9 +103,11 @@
 
       # try to read whole lines
       out = Convert.to_string(SCR.Read(path(".process.read_line"), @process))
+
       if @inprogress
         # read progress status
         buffer = Convert.to_string(SCR.Read(path(".process.read"), @process))
+
         if !out.nil?
           @output = Builtins.add(@output, out)
 
@@ -96,9 +119,11 @@
             )
           end
 
-          # finished
-          @progress = 100
-          @inprogress = false
+          # finishing if there is no out and the progress was already started
+          if @progress > 0
+            @progress = 100
+            @inprogress = false
+          end
         elsif !buffer.nil?
           Builtins.y2debug("buffer: %1", buffer)
 
@@ -111,12 +136,10 @@
         end
       elsif !out.nil?
         @output = Builtins.add(@output, out)
-
-        # check whether we need to switch to progress mode
-        if Builtins.regexpmatch(out, "^ *pad: ")
-          @inprogress = true
-          Builtins.y2milestone("Switching into progress mode")
-        end
+      else
+        Builtins.y2milestone("Switching into progress mode")
+        @inprogress = true
+        @progress = 0
       end
 
       nil
@@ -194,6 +217,15 @@
       nil
     end
 
+    # Whether the medium inside the drive contains a checksum in the 
application area
+    #
+    # @return [Boolean]
+    def valid_checksum?(drive)
+      tagmedia = Execute.locally.stdout("tagmedia", drive.shellescape)
+
+      tagmedia.match?(/^(md5|sha.*)sum =/)
+    end
+
     publish variable: :checkmedia, type: "const string"
     publish variable: :preferred_drive, type: "string"
     publish variable: :forced_start, type: "boolean"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.2.49/src/modules/PackageSlideShow.rb 
new/yast2-packager-4.2.51/src/modules/PackageSlideShow.rb
--- old/yast2-packager-4.2.49/src/modules/PackageSlideShow.rb   2020-02-05 
17:54:51.000000000 +0100
+++ new/yast2-packager-4.2.51/src/modules/PackageSlideShow.rb   2020-02-19 
18:10:47.000000000 +0100
@@ -417,6 +417,8 @@
       while @next_src_no < @remaining_sizes_per_cd_per_src.size
         remaining_sizes = @remaining_sizes_per_cd_per_src[@next_src_no]
 
+        break if remaining_sizes.nil?
+
         while @next_cd_no < remaining_sizes.size
           return if remaining_sizes[@next_cd_no] > 0
 


Reply via email to