Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2021-02-26 21:58:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2 (Old) and /work/SRC/openSUSE:Factory/.yast2.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2" Fri Feb 26 21:58:09 2021 rev:504 rq:872352 version:4.3.55 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2021-02-01 14:41:23.876641493 +0100 +++ /work/SRC/openSUSE:Factory/.yast2.new.2378/yast2.changes 2021-02-26 21:58:14.307756903 +0100 @@ -1,0 +2,30 @@ +Fri Feb 12 13:46:19 UTC 2021 - Ancor Gonzalez Sosa <[email protected]> + +- Fixed bug introduced while adding auto wrapping (bsc#1179893) +- 4.3.55 + +------------------------------------------------------------------- +Wed Feb 10 15:56:52 UTC 2021 - Josef Reidinger <[email protected]> + +- Use Auto Wrapping of long lines for Yast2::Popup and Yast::Report + (bsc#1179893) +- 4.3.54 + +------------------------------------------------------------------- +Wed Feb 10 07:51:10 UTC 2021 - Imobach Gonzalez Sosa <[email protected]> + +- Do not use the 'installation-helper' binary to create snapshots + during installation or offline upgrade (bsc#1180142). +- Add a new exception to properly handle exceptions + when reading/writing snapshots numbers (related to bsc#1180142). +- 4.3.53 + +------------------------------------------------------------------- +Thu Feb 4 09:16:10 UTC 2021 - Ladislav Slez??k <[email protected]> + +- Added supported migration "openSUSE Leap 15.3" -> SLES + (in 15.3 the product has been renamed from "openSUSE" to "Leap") + (bsc#1181773) +- 4.3.52 + +------------------------------------------------------------------- Old: ---- yast2-4.3.51.tar.bz2 New: ---- yast2-4.3.55.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2.spec ++++++ --- /var/tmp/diff_new_pack.PN0IxH/_old 2021-02-26 21:58:14.903757426 +0100 +++ /var/tmp/diff_new_pack.PN0IxH/_new 2021-02-26 21:58:14.903757426 +0100 @@ -17,7 +17,7 @@ Name: yast2 -Version: 4.3.51 +Version: 4.3.55 Release: 0 Summary: YaST2 Main Package License: GPL-2.0-only ++++++ yast2-4.3.51.tar.bz2 -> yast2-4.3.55.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/commandline/test/commandline_test.rb new/yast2-4.3.55/library/commandline/test/commandline_test.rb --- old/yast2-4.3.51/library/commandline/test/commandline_test.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/commandline/test/commandline_test.rb 2021-02-12 15:32:30.000000000 +0100 @@ -67,6 +67,10 @@ end describe ".UniqueOption" do + before do + allow(Yast::Report).to receive(:Error) + end + context "in options is only one of the options mentioned in unique_options" do it "returns string" do expect(subject.UniqueOption({ "c" => "v" }, ["c", "d", "e"])).to eq "c" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/general/example/popup_serie.rb new/yast2-4.3.55/library/general/example/popup_serie.rb --- old/yast2-4.3.51/library/general/example/popup_serie.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/general/example/popup_serie.rb 2021-02-12 15:32:30.000000000 +0100 @@ -4,6 +4,10 @@ Yast2::Popup.show("Simple text") +Yast2::Popup.show("First paragraph.\n\n" + "Long text without newlines. " * 50) + +Yast2::Popup.show("First paragraph.", details: "Long text without newlines. " * 50) + Yast2::Popup.show("Long text\n" * 50) Yast2::Popup.show("Simple text with details", details: "More details here") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/general/src/lib/yast2/popup.rb new/yast2-4.3.55/library/general/src/lib/yast2/popup.rb --- old/yast2-4.3.51/library/general/src/lib/yast2/popup.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/general/src/lib/yast2/popup.rb 2021-02-12 15:32:30.000000000 +0100 @@ -23,6 +23,10 @@ RICHTEXT_WIDTH = 60 RICHTEXT_HEIGHT = 10 + # Minimum width for auto wrapped labels. This value is used when + # the label has longer lines. + LABEL_MINWIDTH = 60 + # Show a popup, wait for a button press (or a timeout), return the button ID. # @param message [String] message to show. The only mandatory argument. # @param details [String] details that will be shown in another popup @@ -175,7 +179,8 @@ elsif message.lines.size >= LINES_THRESHOLD message_widget(plain_to_richtext(message), true) else - Left(Label(message)) + width = [LABEL_MINWIDTH, message.lines.map(&:size).max].min + MinWidth(width, Left(Label(Opt(:autoWrap), message))) end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/general/src/modules/Report.rb new/yast2-4.3.55/library/general/src/modules/Report.rb --- old/yast2-4.3.51/library/general/src/modules/Report.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/general/src/modules/Report.rb 2021-02-12 15:32:30.000000000 +0100 @@ -37,6 +37,8 @@ # warnings and errors. Collected messages can be displayed later. # @TODO not all methods respect all environment, feel free to open issue with # method that doesn't respect it. + # Disable unused method check as we cannot rename keyword parameter for backward compatibility + # rubocop:disable Lint/UnusedMethodArgument class ReportClass < Module include Yast::Logger @@ -44,7 +46,6 @@ textdomain "base" Yast.import "Mode" - Yast.import "Popup" Yast.import "Summary" Yast.import "CommandLine" @@ -363,31 +364,18 @@ ret = false if @display_yesno_messages - ret = if Ops.greater_than(@timeout_yesno_messages, 0) - Popup.TimedAnyQuestion( - headline, - message, - yes_button_message, - no_button_message, - focus, - @timeout_yesno_messages - ) - else - Popup.AnyQuestion( - headline, - message, - yes_button_message, - no_button_message, - focus - ) - end + timeout = (@timeout_yesno_messages.to_s.to_i > 0) ? @timeout_yesno_messages : 0 + ret = Yast2::Popup.show(message, headline: headline, + buttons: { yes: yes_button_message, no: no_button_message }, + focus: focus, timeout: timeout) end @yesno_messages = Builtins.add(@yesno_messages, message) - ret + ret == :yes end # Question with headline and Yes/No Buttons + # @deprecated same as AnyQuestion # @param [String] headline Popup Headline # @param [String] message Popup Message # @param [String] yes_button_message Yes Button Message @@ -395,32 +383,8 @@ # @param [Symbol] focus Which Button has the focus # @return [Boolean] True if Yes is pressed, otherwise false def ErrorAnyQuestion(headline, message, yes_button_message, no_button_message, focus) - Builtins.y2milestone(1, "%1", message) if @log_yesno_messages - - ret = false - if @display_yesno_messages - ret = if Ops.greater_than(@timeout_yesno_messages, 0) - Popup.TimedErrorAnyQuestion( - headline, - message, - yes_button_message, - no_button_message, - focus, - @timeout_yesno_messages - ) - else - Popup.ErrorAnyQuestion( - headline, - message, - yes_button_message, - no_button_message, - focus - ) - end - end - - @yesno_messages = Builtins.add(@yesno_messages, message) - ret + AnyQuestion(headline, message, yes_button_message, + no_button_message, focus) end # Question presented via the Yast2::Popup class @@ -476,10 +440,9 @@ if @display_messages if Mode.commandline CommandLine.Print(message_string) - elsif Ops.greater_than(@timeout_messages, 0) - Popup.TimedMessage(message_string, @timeout_messages) else - Popup.Message(message_string) + timeout = (@timeout_messages.to_s.to_i > 0) ? @timeout_messages : 0 + Yast2::Popup.show(message_string, timeout: timeout) end end @@ -499,10 +462,9 @@ if @display_messages if Mode.commandline CommandLine.Print(message_string) - elsif Ops.greater_than(@timeout_messages, 0) - Popup.TimedLongMessageGeometry(message_string, @timeout_messages, width, height) else - Popup.LongMessageGeometry(message_string, width, height) + timeout = (@timeout_messages.to_s.to_i > 0) ? @timeout_messages : 0 + Yast2::Popup.show(message_string, richtext: true, timeout: timeout) end end @@ -523,10 +485,11 @@ CommandLine.Print(headline_string) CommandLine.Print("\n\n") CommandLine.Print(message_string) - elsif Ops.greater_than(@timeout_errors, 0) - Popup.ShowTextTimed(headline_string, message_string, @timeout_errors) else - Popup.ShowText(headline_string, message_string) + timeout = (@timeout_errors.to_s.to_i > 0) ? @timeout_errors : 0 + # this works even for big file due to show feature that switch to richtextbox + # if text is too long, but do not interpret richtext tags. + Yast2::Popup.show(message_string, headline: headline_string, timeout: timeout) end end @@ -544,10 +507,9 @@ if @display_warnings if Mode.commandline CommandLine.Print "Warning: #{warning_string}" - elsif Ops.greater_than(@timeout_warnings, 0) - Popup.TimedWarning(warning_string, @timeout_warnings) else - Popup.Warning(warning_string) + timeout = (@timeout_warnings.to_s.to_i > 0) ? @timeout_warnings : 0 + Yast2::Popup.show(warning_string, headline: :warning, timeout: timeout) end end @@ -567,10 +529,9 @@ if @display_warnings if Mode.commandline CommandLine.Print("Warning: #{warning_string}") - elsif Ops.greater_than(@timeout_warnings, 0) - Popup.TimedLongWarningGeometry(warning_string, @timeout_warnings, width, height) else - Popup.LongWarningGeometry(warning_string, width, height) + timeout = (@timeout_warnings.to_s.to_i > 0) ? @timeout_warnings : 0 + Yast2::Popup.show(warning_string, headline: :warning, richtext: true, timeout: timeout) end end @@ -590,10 +551,9 @@ if @display_errors if Mode.commandline CommandLine.Print "Error: #{error_string}" - elsif Ops.greater_than(@timeout_errors, 0) - Popup.TimedError(error_string, @timeout_errors) else - Popup.Error(error_string) + timeout = (@timeout_errors.to_s.to_i > 0) ? @timeout_errors : 0 + Yast2::Popup.show(error_string, headline: :error, timeout: timeout) end end @@ -613,10 +573,9 @@ if @display_errors if Mode.commandline CommandLine.Print "Error: #{error_string}" - elsif Ops.greater_than(@timeout_errors, 0) - Popup.TimedLongErrorGeometry(error_string, @timeout_errors, width, height) else - Popup.LongErrorGeometry(error_string, width, height) + timeout = (@timeout_errors.to_s.to_i > 0) ? @timeout_errors : 0 + Yast2::Popup.show(error_string, headline: :error, richtext: true, timeout: timeout) end end @@ -796,6 +755,7 @@ end richtext end + # rubocop:enable Lint/UnusedMethodArgument publish variable: :message_settings, type: "map" publish variable: :error_settings, type: "map" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/general/test/cfa/sysctl_config_test.rb new/yast2-4.3.55/library/general/test/cfa/sysctl_config_test.rb --- old/yast2-4.3.51/library/general/test/cfa/sysctl_config_test.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/general/test/cfa/sysctl_config_test.rb 2021-02-12 15:32:30.000000000 +0100 @@ -23,6 +23,8 @@ require "cfa/sysctl_config" require "cfa/sysctl" +Yast.import "Report" + describe CFA::SysctlConfig do subject(:config) { described_class.new } @@ -30,6 +32,11 @@ change_scr_root(File.join(GENERAL_DATA_PATH, "sysctl-full"), &example) end + before do + allow(Yast::Report).to receive(:Error) # many chroot calls via Yast2::Execute failed on non-root run + allow(Yast::Report).to receive(:LongWarning) # not fail due to missing UI + end + describe "#load" do let(:execute_object) { Yast::Execute.new } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/general/test/report_test.rb new/yast2-4.3.55/library/general/test/report_test.rb --- old/yast2-4.3.51/library/general/test/report_test.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/general/test/report_test.rb 2021-02-12 15:32:30.000000000 +0100 @@ -14,11 +14,7 @@ # shared_examples "logging" do |meth, level| before do - if meth == :yesno_popup - allow(Yast2::Popup).to receive(:show) - else - allow(Yast::Popup).to receive(meth) - end + allow(Yast2::Popup).to receive(:show) end context "when logging is enabled" do @@ -44,15 +40,17 @@ let(:show) { false } it "does not show a popup" do - expect(Yast::Popup).to_not receive("#{meth}Geometry") + expect(Yast2::Popup).to_not receive(:show) subject.send(meth, "Message") end end context "when display of messages is enabled" do it "shows a popup" do - expect(Yast::Popup).to receive("#{meth}Geometry") - .with("Message", instance_of(Integer), instance_of(Integer)) + expect(Yast2::Popup).to receive(:show) do |msg, args| + expect(msg).to eq "Message" + expect(args[:richtext]).to eq true + end subject.send(meth, "Message") end end @@ -62,8 +60,11 @@ let(:timeout) { 1 } it "shows a timed popup" do - expect(Yast::Popup).to receive("Timed#{meth}Geometry") - .with("Message", 1, instance_of(Integer), instance_of(Integer)) + expect(Yast2::Popup).to receive(:show) do |msg, args| + expect(msg).to eq "Message" + expect(args[:richtext]).to eq true + expect(args[:timeout]).to eq 1 + end subject.send(meth, "Message") end end @@ -213,8 +214,7 @@ it "prints the message only on console" do expect(Yast::CommandLine).to receive(:Print) .with(/#{message}/) - expect(Yast::Popup).to_not receive(:Warning) - expect(Yast::Popup).to_not receive(:TimedWarning) + expect(Yast2::Popup).to_not receive(:show) subject.Warning(message) end end @@ -228,7 +228,7 @@ end it "shows a popup" do - expect(Yast::Popup).to receive(:Warning).with(/#{message}/) + expect(Yast2::Popup).to receive(:show).with(message, headline: :warning, timeout: 0) subject.Warning(message) end end @@ -242,7 +242,7 @@ end it "shows timed popup" do - expect(Yast::Popup).to receive(:TimedWarning).with(/#{message}/, timeout) + expect(Yast2::Popup).to receive(:show).with(message, headline: :warning, timeout: timeout) subject.Warning(message) end end @@ -262,8 +262,7 @@ it "prints the message only on console" do expect(Yast::CommandLine).to receive(:Print) .with(/#{message}/) - expect(Yast::Popup).to_not receive(:Error) - expect(Yast::Popup).to_not receive(:TimedError) + expect(Yast2::Popup).to_not receive(:show) subject.Error(message) end end @@ -277,7 +276,7 @@ end it "shows a popup" do - expect(Yast::Popup).to receive(:Error).with(/#{message}/) + expect(Yast2::Popup).to receive(:show).with(message, headline: :error, timeout: 0) subject.Error(message) end end @@ -291,7 +290,7 @@ end it "shows a timed popup" do - expect(Yast::Popup).to receive(:TimedError).with(/#{message}/, timeout) + expect(Yast2::Popup).to receive(:show).with(message, headline: :error, timeout: timeout) subject.Error(message) end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/packages/src/lib/y2packager/product_upgrade.rb new/yast2-4.3.55/library/packages/src/lib/y2packager/product_upgrade.rb --- old/yast2-4.3.51/library/packages/src/lib/y2packager/product_upgrade.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/packages/src/lib/y2packager/product_upgrade.rb 2021-02-12 15:32:30.000000000 +0100 @@ -41,7 +41,10 @@ # this one is used when openSUSE is not available, e.g. booting SLE medium # (moreover the openSUSE medium should contain only one product so that # product should be used unconditionally) - ["openSUSE"] => "SLES" + ["openSUSE"] => "SLES", + # (installed) openSUSE Leap => (available) SLES, + # same as above, in 15.3+ the product has been renamed from "openSUSE" to "Leap" + ["Leap"] => "SLES" }.freeze # This maps uses a list of installed products as the key and the removed products as a value. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/system/src/lib/yast2/fs_snapshot.rb new/yast2-4.3.55/library/system/src/lib/yast2/fs_snapshot.rb --- old/yast2-4.3.51/library/system/src/lib/yast2/fs_snapshot.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/system/src/lib/yast2/fs_snapshot.rb 2021-02-12 15:32:30.000000000 +0100 @@ -75,8 +75,8 @@ "/usr/bin/snapper --no-dbus --root=%{root} --csvout list-configs " \ "--columns config,subvolume | /usr/bin/grep \"^root,\" >/dev/null".freeze - CREATE_SNAPSHOT_CMD = "/usr/lib/snapper/installation-helper --step 5 --root-prefix=%{root} " \ - "--snapshot-type %{snapshot_type} --description %{description}".freeze + CREATE_SNAPSHOT_CMD = "/usr/bin/snapper --no-dbus --root=%{root} create "\ + "--type %{snapshot_type} --description %{description}".freeze LIST_SNAPSHOTS_CMD = "/usr/bin/snapper --no-dbus --root=%{root} --utc --csvout list --disable-used-space " \ @@ -256,6 +256,10 @@ # # It raises an exception if Snapper is not configured. # + # @note Unlike other class methods which inspect the underlying system, + # this method does not cache any result. It always queries snapper + # about existing snapshots. + # # @return [Array<FsSnapshot>] All snapshots that exist in the system. def all raise SnapperNotConfigured unless configured? @@ -331,7 +335,7 @@ out = Yast::SCR.Execute(Yast::Path.new(".target.bash_output"), cmd) if out["exit"] == 0 - find(out["stdout"].to_i) # The CREATE_SNAPSHOT_CMD returns the number of the new snapshot. + all.last else log.error "Snapshot could not be created: #{cmd} returned: #{out}" raise SnapshotCreationFailed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/system/src/lib/yast2/fs_snapshot_store.rb new/yast2-4.3.55/library/system/src/lib/yast2/fs_snapshot_store.rb --- old/yast2-4.3.51/library/system/src/lib/yast2/fs_snapshot_store.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/system/src/lib/yast2/fs_snapshot_store.rb 2021-02-12 15:32:30.000000000 +0100 @@ -26,6 +26,8 @@ # Goal of this module is to provide easy to use api to store id of pre # snapshots, so post snapshots can be then easy to make. module FsSnapshotStore + class IOError < StandardError; end + # Stores pre snapshot with given id and purpose # @param[String] purpose of snapshot like "upgrade" # @raise[RuntimeError] if writing to file failed @@ -42,7 +44,7 @@ snapshot_id.to_s ) - raise "Failed to write Pre Snapshot id for #{purpose} to store. See logs." unless result + raise IOError, "Failed to write Pre Snapshot id for #{purpose} to store. See logs." unless result end # Loads id of pre snapshot for given purpose @@ -55,7 +57,7 @@ snapshot_path(purpose) ) - raise "Failed to read Pre Snapshot id for #{purpose} from store. See logs." if !content || content !~ /^\d+$/ + raise IOError, "Failed to read Pre Snapshot id for #{purpose} from store. See logs." if !content || content !~ /^\d+$/ content.to_i end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/system/test/execute_test.rb new/yast2-4.3.55/library/system/test/execute_test.rb --- old/yast2-4.3.51/library/system/test/execute_test.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/system/test/execute_test.rb 2021-02-12 15:32:30.000000000 +0100 @@ -6,6 +6,10 @@ Yast.import "Report" describe Yast::Execute do + before do + allow(Yast::Report).to receive(:Error) + end + it "sets yast logger as cheetah logger" do expect(Cheetah.default_options[:logger]).to eq Yast::Y2Logger.instance end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/system/test/fs_snapshot_store_test.rb new/yast2-4.3.55/library/system/test/fs_snapshot_store_test.rb --- old/yast2-4.3.51/library/system/test/fs_snapshot_store_test.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/system/test/fs_snapshot_store_test.rb 2021-02-12 15:32:30.000000000 +0100 @@ -29,7 +29,7 @@ "42" ).and_return(nil) - expect { described_class.save("test", 42) }.to raise_error(/Failed to write/) + expect { described_class.save("test", 42) }.to raise_error(Yast2::FsSnapshotStore::IOError) end end @@ -49,7 +49,7 @@ "/var/lib/YaST2/pre_snapshot_test.id" ).and_return(nil) - expect { described_class.load("test") }.to raise_error(/Failed to read/) + expect { described_class.load("test") }.to raise_error(Yast2::FsSnapshotStore::IOError) end it "raises exception if file content is not number" do @@ -58,7 +58,7 @@ "/var/lib/YaST2/pre_snapshot_test.id" ).and_return("blabla\n") - expect { described_class.load("test") }.to raise_error(/Failed to read/) + expect { described_class.load("test") }.to raise_error(Yast2::FsSnapshotStore::IOError) end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/library/system/test/fs_snapshot_test.rb new/yast2-4.3.55/library/system/test/fs_snapshot_test.rb --- old/yast2-4.3.51/library/system/test/fs_snapshot_test.rb 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/library/system/test/fs_snapshot_test.rb 2021-02-12 15:32:30.000000000 +0100 @@ -27,7 +27,7 @@ described_class.log end - let(:dummy_snapshot) { double("snapshot") } + let(:dummy_snapshot) { double("snapshot", number: 2) } before do # reset configured cache @@ -168,14 +168,15 @@ end describe ".create_single" do - CREATE_SINGLE_SNAPSHOT = "/usr/lib/snapper/installation-helper --step 5 "\ - "--root-prefix=/ --snapshot-type single --description some-description".freeze + CREATE_SINGLE_SNAPSHOT = "/usr/bin/snapper --no-dbus "\ + "--root=/ create --type single --description some-description".freeze OPTION_CLEANUP_NUMBER = " --cleanup number".freeze OPTION_IMPORTANT = " --userdata \"important=yes\"".freeze before do allow(Yast2::FsSnapshot).to receive(:configured?).and_return(configured) allow(Yast2::FsSnapshot).to receive(:create_snapshot?).with(:single).and_return(create_snapshot) + allow(Yast2::FsSnapshot).to receive(:all).and_return([dummy_snapshot]) end context "when snapper is configured" do @@ -190,7 +191,7 @@ end context "when snapshot creation fails" do - let(:output) { { "stdout" => "", "exit" => 1 } } + let(:output) { { "exit" => 1 } } it "logs the error and returns nil" do expect(logger).to receive(:error).with(/Snapshot could not be created/) @@ -200,23 +201,19 @@ end context "when snapshot creation is successful" do - let(:output) { { "stdout" => "2", "exit" => 0 } } + let(:output) { { "exit" => 0 } } it "returns the created snapshot" do - expect(described_class).to receive(:find).with(2) - .and_return(dummy_snapshot) snapshot = described_class.create_single("some-description") expect(snapshot).to be(dummy_snapshot) end end context "when a cleanup strategy is set" do - let(:output) { { "stdout" => "2", "exit" => 0 } } + let(:output) { { "exit" => 0 } } let(:snapshot_command) { CREATE_SINGLE_SNAPSHOT + OPTION_CLEANUP_NUMBER } it "creates a snapshot with that strategy" do - expect(described_class).to receive(:find).with(2) - .and_return(dummy_snapshot) snapshot = described_class.create_single("some-description", cleanup: :number) expect(snapshot).to be(dummy_snapshot) end @@ -227,8 +224,6 @@ let(:snapshot_command) { CREATE_SINGLE_SNAPSHOT + OPTION_IMPORTANT } it "creates a snapshot marked as important" do - expect(described_class).to receive(:find).with(2) - .and_return(dummy_snapshot) snapshot = described_class.create_single("some-description", important: true) expect(snapshot).to be(dummy_snapshot) end @@ -239,8 +234,6 @@ let(:snapshot_command) { CREATE_SINGLE_SNAPSHOT + OPTION_IMPORTANT + OPTION_CLEANUP_NUMBER } it "creates a snapshot with that strategy that is marked as important" do - expect(described_class).to receive(:find).with(2) - .and_return(dummy_snapshot) snapshot = described_class.create_single("some-description", cleanup: :number, important: true) expect(snapshot).to be(dummy_snapshot) end @@ -268,12 +261,13 @@ end describe ".create_pre" do - CREATE_PRE_SNAPSHOT = "/usr/lib/snapper/installation-helper --step 5 "\ - "--root-prefix=/ --snapshot-type pre --description some-description".freeze + CREATE_PRE_SNAPSHOT = "/usr/bin/snapper --no-dbus "\ + "--root=/ create --type pre --description some-description".freeze before do allow(Yast2::FsSnapshot).to receive(:configured?).and_return(configured) allow(Yast2::FsSnapshot).to receive(:create_snapshot?).with(:around).and_return(create_snapshot) + allow(Yast2::FsSnapshot).to receive(:all).and_return([dummy_snapshot]) end context "when snapper is configured" do @@ -288,7 +282,7 @@ end context "when snapshot creation fails" do - let(:output) { { "stdout" => "", "exit" => 1 } } + let(:output) { { "exit" => 1 } } it "logs the error and returns nil" do expect(logger).to receive(:error).with(/Snapshot could not be created/) @@ -301,8 +295,6 @@ let(:output) { { "stdout" => "2", "exit" => 0 } } it "returns the created snapshot" do - expect(described_class).to receive(:find).with(2) - .and_return(dummy_snapshot) snapshot = described_class.create_pre("some-description") expect(snapshot).to be(dummy_snapshot) end @@ -313,8 +305,6 @@ let(:snapshot_command) { CREATE_PRE_SNAPSHOT + OPTION_CLEANUP_NUMBER } it "creates a pre snapshot with that strategy" do - expect(described_class).to receive(:find).with(2) - .and_return(dummy_snapshot) snapshot = described_class.create_pre("some-description", cleanup: :number) expect(snapshot).to be(dummy_snapshot) end @@ -325,8 +315,6 @@ let(:snapshot_command) { CREATE_PRE_SNAPSHOT + OPTION_IMPORTANT } it "creates a pre snapshot marked as important" do - expect(described_class).to receive(:find).with(2) - .and_return(dummy_snapshot) snapshot = described_class.create_pre("some-description", important: true) expect(snapshot).to be(dummy_snapshot) end @@ -337,8 +325,6 @@ let(:snapshot_command) { CREATE_PRE_SNAPSHOT + OPTION_IMPORTANT + OPTION_CLEANUP_NUMBER } it "creates a pre snapshot with that strategy that is marked as important" do - expect(described_class).to receive(:find).with(2) - .and_return(dummy_snapshot) snapshot = described_class.create_pre("some-description", important: true, cleanup: :number) expect(snapshot).to be(dummy_snapshot) end @@ -366,9 +352,9 @@ end describe ".create_post" do - CREATE_POST_SNAPSHOT = "/usr/lib/snapper/installation-helper --step 5 "\ - "--root-prefix=/ --snapshot-type post --description some-description "\ - "--pre-num 2".freeze + CREATE_POST_SNAPSHOT = "/usr/bin/snapper --no-dbus "\ + "--root=/ create --type post --description some-description "\ + "--pre-num 1".freeze before do allow(Yast2::FsSnapshot).to receive(:configured?).and_return(configured) @@ -379,16 +365,18 @@ let(:configured) { true } let(:create_snapshot) { true } - let(:pre_snapshot) { double("snapshot", snapshot_type: :pre, number: 2) } + let(:pre_snapshot) { double("snapshot", snapshot_type: :pre, number: 1) } let(:snapshots) { [pre_snapshot] } - let(:output) { { "stdout" => "3", "exit" => 0 } } + let(:output) { { "exit" => 0 } } before do allow(Yast::SCR).to receive(:Execute) .with(path(".target.bash_output"), CREATE_POST_SNAPSHOT) .and_return(output) allow(Yast2::FsSnapshot).to receive(:all) - .and_return(snapshots) + .and_return([pre_snapshot]) + allow(Yast2::FsSnapshot).to receive(:all) + .and_return([pre_snapshot, dummy_snapshot]) end context "when previous snapshot exists" do @@ -396,12 +384,8 @@ context "when snapshot creation is successful" do it "returns the created snapshot" do - allow(Yast2::FsSnapshot).to receive(:find).with(pre_snapshot.number) - .and_return(pre_snapshot) - expect(Yast2::FsSnapshot).to receive(:find).with(3) - .and_return(dummy_snapshot) expect(described_class.create_post("some-description", pre_snapshot.number)) - .to be(dummy_snapshot) + .to eq(dummy_snapshot) end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/package/yast2.changes new/yast2-4.3.55/package/yast2.changes --- old/yast2-4.3.51/package/yast2.changes 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/package/yast2.changes 2021-02-12 15:32:30.000000000 +0100 @@ -1,4 +1,34 @@ ------------------------------------------------------------------- +Fri Feb 12 13:46:19 UTC 2021 - Ancor Gonzalez Sosa <[email protected]> + +- Fixed bug introduced while adding auto wrapping (bsc#1179893) +- 4.3.55 + +------------------------------------------------------------------- +Wed Feb 10 15:56:52 UTC 2021 - Josef Reidinger <[email protected]> + +- Use Auto Wrapping of long lines for Yast2::Popup and Yast::Report + (bsc#1179893) +- 4.3.54 + +------------------------------------------------------------------- +Wed Feb 10 07:51:10 UTC 2021 - Imobach Gonzalez Sosa <[email protected]> + +- Do not use the 'installation-helper' binary to create snapshots + during installation or offline upgrade (bsc#1180142). +- Add a new exception to properly handle exceptions + when reading/writing snapshots numbers (related to bsc#1180142). +- 4.3.53 + +------------------------------------------------------------------- +Thu Feb 4 09:16:10 UTC 2021 - Ladislav Slez??k <[email protected]> + +- Added supported migration "openSUSE Leap 15.3" -> SLES + (in 15.3 the product has been renamed from "openSUSE" to "Leap") + (bsc#1181773) +- 4.3.52 + +------------------------------------------------------------------- Wed Jan 27 09:22:50 UTC 2021 - Jos?? Iv??n L??pez Gonz??lez <[email protected]> - Do not propose hibernation when running over a virtualized setup @@ -39,7 +69,7 @@ - Removed SCR agent .etc.inittab which is obsolete because SysVinit is no longer supported (bsc#1175494). -- 4.3.46 +- 4.3.46 ------------------------------------------------------------------- Mon Nov 30 15:00:28 UTC 2020 - David Diaz <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.3.51/package/yast2.spec new/yast2-4.3.55/package/yast2.spec --- old/yast2-4.3.51/package/yast2.spec 2021-01-27 13:48:13.000000000 +0100 +++ new/yast2-4.3.55/package/yast2.spec 2021-02-12 15:32:30.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2 -Version: 4.3.51 +Version: 4.3.55 Release: 0 Summary: YaST2 Main Package License: GPL-2.0-only
