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