Script 'mail_helper' called by ro
Hello packager,
This is just FYI. Your package was checked in in distribution "sle12"
by autobuild-member: ro.
Here comes the log...
---------------------------%<------------------------------
Hi,
here is the log from ci_new_pac /mounts/work_src_done/SLE12/yast2-services-manager -> sle12
## BNC# 869656 : "Do not allow risky targets to be set in services-manager UI" (RESOLVED/FIXED)
## BNC# 867759 : "Cannot switch between Multi-User and Graphical Interface default targets with yast services-manager" (RESOLVED/FIXED)
## BNC# 875098 : "Yast Services Manager does not list proper targets for "default system target" dropdown" (RESOLVED/FIXED)
Changes:
--------
--- /work/SRC/SUSE:SLE-12:GA/yast2-services-manager/yast2-services-manager.changes 2014-06-10 10:05:39.000000000 +0200
+++ /mounts/work_src_done/SLE12/yast2-services-manager/yast2-services-manager.changes 2014-07-02 15:23:31.000000000 +0200
@@ -1,0 +2,13 @@
+Wed Jul 2 12:15:17 UTC 2014 - vmoravec@suse.com
+
+- Fix failing tests
+- 3.1.16
+
+-------------------------------------------------------------------
+Tue Jul 1 09:19:08 UTC 2014 - vmoravec@suse.com
+
+- Fix issues with ServicesManagerTarget (bnc#869656, bnc#867759,
+ bnc#875098)
+- 3.1.15
+
+-------------------------------------------------------------------
calling whatdependson for sle12-i586
Packages directly triggered for rebuild:
- yast2-services-manager
- at least 19 other packages
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/SUSE:SLE-12:GA/yast2-services-manager (Old)
and /mounts/work_src_done/SLE12/yast2-services-manager (BS:build ID:40336 MAIL:yast-commit@opensuse.org) (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-services-manager", Maintainer is "yast-commit@opensuse.org"
Old:
----
yast2-services-manager-3.1.14.tar.bz2
New:
----
yast2-services-manager-3.1.16.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-services-manager.spec ++++++
--- /var/tmp/diff_new_pack.HprQP7/_old 2014-07-03 18:03:54.000000000 +0200
+++ /var/tmp/diff_new_pack.HprQP7/_new 2014-07-03 18:03:54.000000000 +0200
@@ -24,7 +24,7 @@
######################################################################
Name: yast2-services-manager
-Version: 3.1.14
+Version: 3.1.16
Release: 0
BuildArch: noarch
@@ -33,7 +33,7 @@
Source0: %{name}-%{version}.tar.bz2
Requires: ruby
-Requires: yast2 >= 3.0.5
+Requires: yast2 >= 3.1.82
Requires: yast2-ruby-bindings >= 1.2.0
# need new enough installation for its inst clients
Conflicts: yast2-installation < 3.1.32
@@ -44,7 +44,7 @@
BuildRequires: ruby
BuildRequires: update-desktop-files
BuildRequires: yast2-ruby-bindings >= 1.2.0
-BuildRequires: yast2 >= 3.0.5
+BuildRequires: yast2 >= 3.1.82
# Support for 'data' directory in rake install task
BuildRequires: rubygem-yast-rake >= 0.1.7
BuildRequires: rubygem-rspec
++++++ yast2-services-manager-3.1.14.tar.bz2 -> yast2-services-manager-3.1.16.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-3.1.14/package/yast2-services-manager.changes new/yast2-services-manager-3.1.16/package/yast2-services-manager.changes
--- old/yast2-services-manager-3.1.14/package/yast2-services-manager.changes 2014-06-09 17:22:19.000000000 +0200
+++ new/yast2-services-manager-3.1.16/package/yast2-services-manager.changes 2014-07-02 15:20:46.000000000 +0200
@@ -1,4 +1,17 @@
-------------------------------------------------------------------
+Wed Jul 2 12:15:17 UTC 2014 - vmoravec@suse.com
+
+- Fix failing tests
+- 3.1.16
+
+-------------------------------------------------------------------
+Tue Jul 1 09:19:08 UTC 2014 - vmoravec@suse.com
+
+- Fix issues with ServicesManagerTarget (bnc#869656, bnc#867759,
+ bnc#875098)
+- 3.1.15
+
+-------------------------------------------------------------------
Fri Jun 6 10:52:11 CEST 2014 - locilka@suse.com
- AutoYast summary - hard-coded ERB moved to separate file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-3.1.14/package/yast2-services-manager.spec new/yast2-services-manager-3.1.16/package/yast2-services-manager.spec
--- old/yast2-services-manager-3.1.14/package/yast2-services-manager.spec 2014-06-09 17:22:19.000000000 +0200
+++ new/yast2-services-manager-3.1.16/package/yast2-services-manager.spec 2014-07-02 15:20:46.000000000 +0200
@@ -24,7 +24,7 @@
######################################################################
Name: yast2-services-manager
-Version: 3.1.14
+Version: 3.1.16
Release: 0
BuildArch: noarch
@@ -33,7 +33,7 @@
Source0: %{name}-%{version}.tar.bz2
Requires: ruby
-Requires: yast2 >= 3.0.5
+Requires: yast2 >= 3.1.82
Requires: yast2-ruby-bindings >= 1.2.0
# need new enough installation for its inst clients
Conflicts: yast2-installation < 3.1.32
@@ -44,7 +44,7 @@
BuildRequires: ruby
BuildRequires: update-desktop-files
BuildRequires: yast2-ruby-bindings >= 1.2.0
-BuildRequires: yast2 >= 3.0.5
+BuildRequires: yast2 >= 3.1.82
# Support for 'data' directory in rake install task
BuildRequires: rubygem-yast-rake >= 0.1.7
BuildRequires: rubygem-rspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-3.1.14/src/modules/services_manager.rb new/yast2-services-manager-3.1.16/src/modules/services_manager.rb
--- old/yast2-services-manager-3.1.14/src/modules/services_manager.rb 2014-06-09 17:22:19.000000000 +0200
+++ new/yast2-services-manager-3.1.16/src/modules/services_manager.rb 2014-07-02 15:20:46.000000000 +0200
@@ -52,7 +52,6 @@
# @return Boolean if successful
def save
target_saved = ServicesManagerTarget.save
- errors << ServicesManagerTarget.errors
services_saved = ServicesManagerService.save
errors << ServicesManagerService.errors
!!(target_saved && services_saved)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-3.1.14/src/modules/services_manager_target.rb new/yast2-services-manager-3.1.16/src/modules/services_manager_target.rb
--- old/yast2-services-manager-3.1.14/src/modules/services_manager_target.rb 2014-06-09 17:22:19.000000000 +0200
+++ new/yast2-services-manager-3.1.16/src/modules/services_manager_target.rb 2014-07-02 15:20:46.000000000 +0200
@@ -2,62 +2,87 @@
module Yast
import 'Mode'
+ import 'SystemdTarget'
class ServicesManagerTargetClass < Module
- LIST_UNITS_COMMAND = 'systemctl list-unit-files --type target'
- LIST_TARGETS_COMMAND = 'systemctl --all --type target'
- COMMAND_OPTIONS = ' --no-legend --no-pager --no-ask-password '
- TERM_OPTIONS = ' LANG=C TERM=dumb COLUMNS=1024 '
- TARGET_SUFFIX = '.target'
- DEFAULT_TARGET = 'default'
- SYSTEMD_TARGETS_DIR = '/usr/lib/systemd/system'
- DEFAULT_TARGET_SYMLINK = "/etc/systemd/system/#{DEFAULT_TARGET}#{TARGET_SUFFIX}"
-
- module Status
- ENABLED = 'enabled'
- DISABLED = 'disabled'
- SUPPORTED = [ENABLED, DISABLED]
- ACTIVE = 'active'
- LOADED = 'loaded'
- end
+ include Yast::Logger
module BaseTargets
GRAPHICAL = 'graphical'
MULTIUSER = 'multi-user'
end
- attr_accessor :modified, :targets, :force, :proposal_reason
- attr_reader :errors, :default_target
+ # The targets listed below should not be displayed to the users in the drop down
+ # menu on the services-manager UI.
+ # More info at:
+ # * https://bugzilla.novell.com/show_bug.cgi?id=869656
+ # * http://www.freedesktop.org/software/systemd/man/bootup.html
+ # * http://www.freedesktop.org/wiki/Software/systemd/SystemUpdates/
+ BLACKLISTED_TARGETS = %w(
+ halt
+ kexec
+ poweroff
+ reboot
+ system-update
+ )
+
+ # @return [Boolean] True if properties of the ServicesManagerTarget has been modified
+ attr_accessor :modified
+
+ # Used during installation workflow
+ # @return [Boolean] Used by client default_target_proposal to override the default settings
+ attr_accessor :force
+
+ # Shown in client default_target_proposal during installation workflow
+ # @return [String] Shows a reason why the default target has been selected;
+ attr_accessor :proposal_reason
+
+ # @return [String] Name of the default systemd target unit
+ attr_reader :default_target
+
+ # @return [Hash] Collection of available targets
+ # @example {'rescue' => {:enabled=>false, :loaded=>true, :active=>false, :description=>'Rescue'}}
+ attr_reader :targets
alias_method :all, :targets
def initialize
textdomain 'services-manager'
- @errors = []
@targets = {}
+ @modified = false
@default_target = ''
- read_targets if Mode.normal
+ read_targets
end
def read_targets
- find_default_target
- load_supported_targets
- load_target_details
- end
+ return unless Mode.normal
- alias_method :read, :read_targets
+ default_target = SystemdTarget.get_default
+ @default_target = default_target ? default_target.name : ''
- def valid?
- errors.empty?
+ SystemdTarget.all.each do |target|
+ next unless target.allow_isolate?
+ next if BLACKLISTED_TARGETS.member?(target.name)
+
+ targets[target.name] = {
+ :enabled => target.enabled?,
+ :loaded => target.loaded?,
+ :active => target.active?,
+ :description => target.description
+ }
+ end
end
+ alias_method :read, :read_targets
+
def default_target= new_default
- if Mode.normal
- errors << _("Target #{new_default} not found") unless targets.keys.include?(new_default)
+ if Mode.normal && !targets.keys.include?(new_default)
+ raise "Target #{new_default} not found, available only #{targets.keys.join(', ')}"
end
+
@default_target = new_default
self.modified = true
- Builtins.y2milestone "New default target set: #{new_default}"
+ log.info "New default target has been set: #{new_default}"
new_default
end
@@ -76,119 +101,17 @@
end
def save
- Builtins.y2milestone('Saving default target...')
- if !modified
- Builtins.y2milestone("Nothing to do, current default target already set to '#{default_target}'")
- return true
- end
-
- if !valid?
- errors.each {|e| Builtins.y2error(e) }
- Builtins.y2error("Invalid default target '#{default_target}'; aborting saving")
- return false
- end
- removed = remove_default_target_symlink
- created = create_default_target_symlink
- removed && created
+ return true if !modified
+ log.info('Saving default target...')
+ SystemdTarget.set_default(default_target)
end
def reset
- errors.clear
+ targets.clear
read_targets
self.modified = false
end
- private
-
- def find_default_target
- @default_target = get_default_target_filename.chomp(TARGET_SUFFIX)
- end
-
- def remove_default_target_symlink
- Builtins.y2milestone("Removing default target symlink..")
- removed = SCR.Execute(path('.target.remove'), DEFAULT_TARGET_SYMLINK)
- if removed
- Builtins.y2milestone "#{DEFAULT_TARGET_SYMLINK} has been removed"
- else
- Builtins.y2error "Removing of #{DEFAULT_TARGET_SYMLINK} has failed"
- end
- removed
- end
-
- def create_default_target_symlink
- Builtins.y2milestone("Creating new default target symlink for #{default_target_file}")
- SCR.Execute(path('.target.symlink'), default_target_file, DEFAULT_TARGET_SYMLINK)
- created = SCR.Read(path('.target.size'), DEFAULT_TARGET_SYMLINK) > 0
- if created
- Builtins.y2milestone("Symlink has been created")
- else
- Builtins.y2error("Default target unit file '#{default_target}' is empty")
- end
- created
- end
-
- def get_default_target_filename
- File.basename(SCR.Read(path('.target.symlink'), DEFAULT_TARGET_SYMLINK).to_s)
- end
-
- def default_target_file
- File.join(SYSTEMD_TARGETS_DIR, "#{default_target}#{TARGET_SUFFIX}")
- end
-
- def list_target_units
- command = TERM_OPTIONS + LIST_UNITS_COMMAND + COMMAND_OPTIONS
- SCR.Execute(path('.target.bash_output'), command)
- end
-
- def list_targets_details
- command = TERM_OPTIONS + LIST_TARGETS_COMMAND + COMMAND_OPTIONS
- SCR.Execute(path('.target.bash_output'), command)
- end
-
- def load_supported_targets
- self.targets = {}
- output = list_target_units
- stdout = output.fetch 'stdout'
- stderr = output.fetch 'stderr'
- exit_code = output.fetch 'exit'
- errors << stderr if exit_code.to_i != 0 && !stderr.to_s.empty?
- stdout.each_line do |line|
- target, status = line.split(/[\s]+/)
- if Status::SUPPORTED.include?(status)
- target.chomp! TARGET_SUFFIX
- next if target == DEFAULT_TARGET
- self.targets[target] = { :enabled => status == Status::ENABLED }
- end
- end
- Builtins.y2milestone "Loaded supported target units: %1", targets.keys
- end
-
- def load_target_details
- output = list_targets_details
- stdout = output.fetch 'stdout'
- stderr = output.fetch 'stderr'
- exit_code = output.fetch 'exit'
- errors << stderr if exit_code.to_i != 0 && !stderr.to_s.empty?
- unknown_targets = []
- stdout.each_line do |line|
- target, loaded, active, _, *description = line.split(/[\s]+/)
- target.chomp! TARGET_SUFFIX
- if targets[target]
- targets[target][:loaded] = loaded == Status::LOADED
- targets[target][:active] = active == Status::ACTIVE
- targets[target][:description] = description.join(' ')
- else
- unknown_targets << target
- end
- end
-
- Builtins.y2milestone 'Loaded target details: %1', targets
-
- if !unknown_targets.empty?
- Builtins.y2warning "No details loaded for these targets: #{unknown_targets.join(', ')} "
- end
- end
-
publish({:function => :all, :type => "map