Hello community, here is the log from the commit of package yast2-installation for openSUSE:Factory checked in at 2016-11-16 13:44:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old) and /work/SRC/openSUSE:Factory/.yast2-installation.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yast2-installation" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes 2016-11-12 12:59:38.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-installation.new/yast2-installation.changes 2016-11-16 13:44:27.000000000 +0100 @@ -1,0 +2,15 @@ +Mon Nov 14 14:30:12 UTC 2016 - jreidinger@suse.com + +- The user has to confirm when the configuration proposal contains + a non-blocking error (generic fix for bsc#1003682) +- 3.2.9 + +------------------------------------------------------------------- +Fri Nov 11 16:41:25 CET 2016 - schubi@suse.de + +- Fixed bug: AutoYaST hangs while running second stage. + Removed network.service in the Before section of + YaST2-Firstboot.service. (bnc#1007752) +- 3.2.8 + +------------------------------------------------------------------- Old: ---- yast2-installation-3.2.7.tar.bz2 New: ---- yast2-installation-3.2.9.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-installation.spec ++++++ --- /var/tmp/diff_new_pack.gIyOTg/_old 2016-11-16 13:44:29.000000000 +0100 +++ /var/tmp/diff_new_pack.gIyOTg/_new 2016-11-16 13:44:29.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 3.2.7 +Version: 3.2.9 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ YaST2-Firstboot.service ++++++ --- /var/tmp/diff_new_pack.gIyOTg/_old 2016-11-16 13:44:29.000000000 +0100 +++ /var/tmp/diff_new_pack.gIyOTg/_new 2016-11-16 13:44:29.000000000 +0100 @@ -2,7 +2,7 @@ Description=YaST2 Firstboot After=apparmor.service local-fs.target plymouth-start.service YaST2-Second-Stage.service Before=getty@tty1.service serial-getty@ttyS0.service serial-getty@ttyS1.service serial-getty@ttyS2.service -Before=display-manager.service network.service +Before=display-manager.service ConditionPathExists=/var/lib/YaST2/reconfig_system [Service] ++++++ yast2-installation-3.2.7.tar.bz2 -> yast2-installation-3.2.9.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.2.7/package/YaST2-Firstboot.service new/yast2-installation-3.2.9/package/YaST2-Firstboot.service --- old/yast2-installation-3.2.7/package/YaST2-Firstboot.service 2016-11-11 15:06:14.000000000 +0100 +++ new/yast2-installation-3.2.9/package/YaST2-Firstboot.service 2016-11-15 10:04:04.000000000 +0100 @@ -2,7 +2,7 @@ Description=YaST2 Firstboot After=apparmor.service local-fs.target plymouth-start.service YaST2-Second-Stage.service Before=getty@tty1.service serial-getty@ttyS0.service serial-getty@ttyS1.service serial-getty@ttyS2.service -Before=display-manager.service network.service +Before=display-manager.service ConditionPathExists=/var/lib/YaST2/reconfig_system [Service] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.2.7/package/yast2-installation.changes new/yast2-installation-3.2.9/package/yast2-installation.changes --- old/yast2-installation-3.2.7/package/yast2-installation.changes 2016-11-11 15:06:14.000000000 +0100 +++ new/yast2-installation-3.2.9/package/yast2-installation.changes 2016-11-15 10:04:04.000000000 +0100 @@ -1,4 +1,19 @@ ------------------------------------------------------------------- +Mon Nov 14 14:30:12 UTC 2016 - jreidinger@suse.com + +- The user has to confirm when the configuration proposal contains + a non-blocking error (generic fix for bsc#1003682) +- 3.2.9 + +------------------------------------------------------------------- +Fri Nov 11 16:41:25 CET 2016 - schubi@suse.de + +- Fixed bug: AutoYaST hangs while running second stage. + Removed network.service in the Before section of + YaST2-Firstboot.service. (bnc#1007752) +- 3.2.8 + +------------------------------------------------------------------- Fri Nov 11 13:50:06 UTC 2016 - jreidinger@suse.com - Do not crash if importing ssh config from system which diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.2.7/package/yast2-installation.spec new/yast2-installation-3.2.9/package/yast2-installation.spec --- old/yast2-installation-3.2.7/package/yast2-installation.spec 2016-11-11 15:06:14.000000000 +0100 +++ new/yast2-installation-3.2.9/package/yast2-installation.spec 2016-11-15 10:04:04.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 3.2.7 +Version: 3.2.9 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.2.7/src/lib/installation/proposal_errors.rb new/yast2-installation-3.2.9/src/lib/installation/proposal_errors.rb --- old/yast2-installation-3.2.7/src/lib/installation/proposal_errors.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-installation-3.2.9/src/lib/installation/proposal_errors.rb 2016-11-15 10:04:04.000000000 +0100 @@ -0,0 +1,51 @@ +require "yast" + +Yast.import "UI" +Yast.import "Label" +Yast.import "Mode" +Yast.import "Popup" + +module Installation + class ProposalErrors + include Yast::I18n + include Yast::Logger + + ERROR_PROPOSAL_TIMEOUT = 60 + + def initialize + textdomain "installation" + @errors = [] + end + + # clears previously stored errros + def clear + @errors = [] + end + + # appends new error with given message + def append(message) + @errors << message + end + + # returns true if there is no error or user approved stored errors + def approved? + return true if @errors.empty? + + headline = _("Error Found in Installation Settings") + text = _("The following errors were found in the configuration proposal.\n" \ + "If you continue with the installation it may not be successful.\n" \ + "Errors:\n") + sep = Yast::UI.TextMode ? "-" : "•" + text += "#{sep} " + @errors.join("\n#{sep} ") + + if Yast::Mode.auto + !Yast::Popup.TimedErrorAnyQuestion(headline, text, + Yast::Label.BackButton, Yast::Label.ContinueButton, :focus_yes, + ERROR_PROPOSAL_TIMEOUT) + else + !Yast::Popup.ErrorAnyQuestion(headline, text, + Yast::Label.BackButton, Yast::Label.ContinueButton, :focus_yes) + end + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.2.7/src/lib/installation/proposal_runner.rb new/yast2-installation-3.2.9/src/lib/installation/proposal_runner.rb --- old/yast2-installation-3.2.7/src/lib/installation/proposal_runner.rb 2016-11-11 15:06:15.000000000 +0100 +++ new/yast2-installation-3.2.9/src/lib/installation/proposal_runner.rb 2016-11-15 10:04:04.000000000 +0100 @@ -22,6 +22,7 @@ require "yast" require "installation/proposal_store" +require "installation/proposal_errors" module Installation # Create and display reasonable proposal for basic @@ -66,6 +67,7 @@ # BNC #463567 @submods_already_called = [] @store_class = store + @errors = ProposalErrors.new end def run @@ -278,6 +280,8 @@ return nil end + return nil unless @errors.approved? + if Yast::Stage.stage == "initial" input = Yast::WFM.CallFunction("inst_doit", []) # bugzilla #219097, #221571, yast2-update on running system @@ -441,6 +445,7 @@ end end + @errors.clear @store.make_proposals( force_reset: force_reset, language_changed: language_changed, @@ -469,6 +474,7 @@ if !warning.empty? level = prop["warning_level"] || :warning + log.info "proposal returns warning with level #{level} and msg #{warning}" case level when :notice @@ -476,6 +482,7 @@ when :warning warning = Yast::HTML.Colorize(warning, "red") when :error + @errors.append(warning) warning = Yast::HTML.Colorize(warning, "red") when :blocker, :fatal @have_blocker = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.2.7/test/proposal_errors_test.rb new/yast2-installation-3.2.9/test/proposal_errors_test.rb --- old/yast2-installation-3.2.7/test/proposal_errors_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-installation-3.2.9/test/proposal_errors_test.rb 2016-11-15 10:04:04.000000000 +0100 @@ -0,0 +1,33 @@ +#! /usr/bin/env rspec + +require_relative "./test_helper" + +require "installation/proposal_errors" + +describe ::Installation::ProposalErrors do + describe "#approved?" do + it "returns true if there is no error stored" do + expect(Yast::Popup).to_not receive(:ErrorAnyQuestion) + expect(subject.approved?).to eq true + end + + it "asks user to approve errors and returns true if approved" do + subject.append("test") + + expect(Yast::Popup).to receive(:ErrorAnyQuestion).and_return(false) + expect(subject.approved?).to eq true + + expect(Yast::Popup).to receive(:ErrorAnyQuestion).and_return(true) + expect(subject.approved?).to eq false + end + + it "in autoyast ask with timeout and return true if timeout exceed" do + subject.append("test") + allow(Yast::Mode).to receive(:auto).and_return(true) + + # timed error return false when timeout exceed + expect(Yast::Popup).to receive(:TimedErrorAnyQuestion).and_return(false) + expect(subject.approved?).to eq true + end + end +end