Hello community, here is the log from the commit of package yast2-services-manager for openSUSE:Factory checked in at 2019-02-15 09:54:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-services-manager (Old) and /work/SRC/openSUSE:Factory/.yast2-services-manager.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-services-manager" Fri Feb 15 09:54:01 2019 rev:46 rq:674646 version:4.1.14 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-services-manager/yast2-services-manager.changes 2019-02-04 16:09:06.730021687 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-services-manager.new.28833/yast2-services-manager.changes 2019-02-15 09:54:03.123785568 +0100 @@ -1,0 +2,14 @@ +Wed Feb 13 16:38:31 CET 2019 - sch...@suse.de + +- Upgrade: Do not write default target if it has not been set. + (bsc#1125144) +- 4.1.14 + +------------------------------------------------------------------- +Fri Feb 8 11:15:38 CET 2019 - sch...@suse.de + +- Reporting a warning if a none existing default target will be + written (bsc#1046083). +- 4.1.13 + +------------------------------------------------------------------- Old: ---- yast2-services-manager-4.1.12.tar.bz2 New: ---- yast2-services-manager-4.1.14.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-services-manager.spec ++++++ --- /var/tmp/diff_new_pack.TXzEcD/_old 2019-02-15 09:54:03.499785449 +0100 +++ /var/tmp/diff_new_pack.TXzEcD/_new 2019-02-15 09:54:03.499785449 +0100 @@ -24,7 +24,7 @@ ###################################################################### Name: yast2-services-manager -Version: 4.1.12 +Version: 4.1.14 Release: 0 BuildArch: noarch ++++++ yast2-services-manager-4.1.12.tar.bz2 -> yast2-services-manager-4.1.14.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-4.1.12/package/yast2-services-manager.changes new/yast2-services-manager-4.1.14/package/yast2-services-manager.changes --- old/yast2-services-manager-4.1.12/package/yast2-services-manager.changes 2019-01-29 14:29:40.000000000 +0100 +++ new/yast2-services-manager-4.1.14/package/yast2-services-manager.changes 2019-02-13 16:59:26.000000000 +0100 @@ -1,4 +1,18 @@ ------------------------------------------------------------------- +Wed Feb 13 16:38:31 CET 2019 - sch...@suse.de + +- Upgrade: Do not write default target if it has not been set. + (bsc#1125144) +- 4.1.14 + +------------------------------------------------------------------- +Fri Feb 8 11:15:38 CET 2019 - sch...@suse.de + +- Reporting a warning if a none existing default target will be + written (bsc#1046083). +- 4.1.13 + +------------------------------------------------------------------- Tue Jan 29 07:52:57 UTC 2019 - dgonza...@suse.com - Includes the associated socket status, if applicable, as part of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-4.1.12/package/yast2-services-manager.spec new/yast2-services-manager-4.1.14/package/yast2-services-manager.spec --- old/yast2-services-manager-4.1.12/package/yast2-services-manager.spec 2019-01-29 14:29:40.000000000 +0100 +++ new/yast2-services-manager-4.1.14/package/yast2-services-manager.spec 2019-02-13 16:59:26.000000000 +0100 @@ -24,7 +24,7 @@ ###################################################################### Name: yast2-services-manager -Version: 4.1.12 +Version: 4.1.14 Release: 0 BuildArch: noarch diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-4.1.12/src/modules/services_manager_target.rb new/yast2-services-manager-4.1.14/src/modules/services_manager_target.rb --- old/yast2-services-manager-4.1.12/src/modules/services_manager_target.rb 2019-01-29 14:29:40.000000000 +0100 +++ new/yast2-services-manager-4.1.14/src/modules/services_manager_target.rb 2019-02-13 16:59:26.000000000 +0100 @@ -3,6 +3,7 @@ module Yast import 'Stage' + import "Report" class ServicesManagerTargetClass < Module include Yast::Logger @@ -84,6 +85,7 @@ def read @targets = {} @default_target = "" + @initial_default_target = "" # Reads the data on a running system only return true if Stage.initial @@ -138,9 +140,15 @@ end def save - return true unless modified? + if !modified? + log.info('Default target has not been changed.') + return true + end + log.info('Saving default target...') - Yast2::Systemd::Target.set_default(default_target) + + ensure_target + Yast2::Systemd::Target.set_default(self.default_target) end def reset @@ -172,6 +180,16 @@ private + def ensure_target + return if Yast2::Systemd::Target.find(self.default_target) + + # TRANSLATORS: error popup, %s is the default target e.g. graphical + Report.Warning(_("Target '%s' is not available." \ + " Using text mode as default target.") % default_target) + self.default_target = BaseTargets::MULTIUSER + end + + attr_reader :initial_default_target publish({:function => :all, :type => "map <string, map> ()" }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-4.1.12/test/services_manager_target_test.rb new/yast2-services-manager-4.1.14/test/services_manager_target_test.rb --- old/yast2-services-manager-4.1.12/test/services_manager_target_test.rb 2019-01-29 14:29:40.000000000 +0100 +++ new/yast2-services-manager-4.1.14/test/services_manager_target_test.rb 2019-02-13 16:59:26.000000000 +0100 @@ -36,8 +36,9 @@ MULTI_USER = Template.new("multi-user", true) POWEROFF = Template.new("poweroff", true) SLEEP = Template.new("sleep", false) + MDMONITOR = Template.new("mdmonitor", true) - ALL = [ GRAPHICAL, MULTI_USER, POWEROFF, SLEEP ] + ALL = [ GRAPHICAL, MULTI_USER, POWEROFF, SLEEP, MDMONITOR ] end extend Yast::I18n @@ -50,13 +51,13 @@ allow(Yast::Mode).to receive(:mode).and_return("normal") allow(Yast2::Systemd::Target).to receive(:all).and_return(TestTarget::ALL) - allow(Yast2::Systemd::Target).to receive(:get_default).and_return(TestTarget::GRAPHICAL) + allow(Yast2::Systemd::Target).to receive(:get_default).and_return(TestTarget::MULTI_USER) end describe "#default_target" do context "when the default target has not been set yet" do it "returns the default target in the system" do - expect(subject.default_target).to eq("graphical") + expect(subject.default_target).to eq("multi-user") end end @@ -73,7 +74,7 @@ describe "#targets" do it "returns the list of all possible targets" do - expect(subject.targets.keys).to contain_exactly("multi-user", "graphical") + expect(subject.targets.keys).to contain_exactly("multi-user", "graphical", "mdmonitor") end it "does not include targets that does not allow isolate" do @@ -100,34 +101,69 @@ subject.default_target = target end - context "when the default target has not been changed" do - let(:target) { "graphical" } + context "default target is available" do + before do + allow(Yast2::Systemd::Target).to receive(:find).and_return(TestTarget::GRAPHICAL) + end - it "does not perform changes in the underlying system" do - expect(Yast2::Systemd::Target).to_not receive(:set_default) + context "when the default target has not been changed" do + let(:target) { "multi-user" } - subject.save + it "does not perform changes in the underlying system" do + expect(Yast2::Systemd::Target).to_not receive(:set_default) + + subject.save + end + end + + context "when the default target has been changed" do + let(:target) { "graphical" } + + it "saves the changes in the underlying system" do + expect(Yast2::Systemd::Target).to receive(:set_default).with("graphical") + + subject.save + end end end - context "when the default target has been changed" do - let(:target) { "multi-user" } + context "when default target is not available" do + let(:target) { "graphical" } - it "saves the changes in the underlying system" do + it "reports a warning and sets to multi-user" do + expect(Yast2::Systemd::Target).to receive(:find).and_return(nil) + expect(Yast::Report).to receive(:Warning) expect(Yast2::Systemd::Target).to receive(:set_default).with("multi-user") - subject.save end end end + describe "#read" do + context "when an installation/update will be done" do + before do + allow(Yast::Stage).to receive(:initial).and_return(true) + end + + it "does not read from the system" do + expect(Yast2::Systemd::Target).not_to receive(:get_default) + subject.read + end + + it "reports that no data has been changed if it has not been set explicit" do + subject.read + expect(subject.modified?).to eq(false) + end + end + end + describe "#reset" do it "sets the default target according to value in the system" do - subject.default_target = "multi-user" + subject.default_target = "mdmonitor" subject.reset - expect(subject.default_target).to eq("graphical") + expect(subject.default_target).to eq("multi-user") end end @@ -136,19 +172,19 @@ subject.default_target = target end - context "when the default target has not been changed" do + context "when the default target has been changed" do let(:target) { "graphical" } - it "returns false" do - expect(subject.modified?).to eq(false) + it "returns true" do + expect(subject.modified?).to eq(true) end end - context "when the default target has been changed" do + context "when the default target has not been changed" do let(:target) { "multi-user" } - it "returns true" do - expect(subject.modified?).to eq(true) + it "returns false" do + expect(subject.modified?).to eq(false) end end end @@ -171,7 +207,7 @@ let(:target) { "multi-user" } before do - subject.default_target = "multi-user" + subject.default_target = "graphical" end it "does not set the module as 'not modified'" do @@ -191,7 +227,7 @@ context "when the default target has been changed" do before do - subject.default_target = "multi-user" + subject.default_target = "graphical" end it "returns a summary describing the change" do