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# 885800 : "Services manager generated incorrect XML for AytoYast Export" (RESOLVED/FIXED)
Changes:
--------
--- /work/SRC/SUSE:SLE-12:GA/yast2-services-manager/yast2-services-manager.changes 2014-07-08 13:22:50.000000000 +0200
+++ /mounts/work_src_done/SLE12/yast2-services-manager/yast2-services-manager.changes 2014-07-14 15:17:54.000000000 +0200
@@ -1,0 +2,11 @@
+Mon Jul 14 10:20:39 CEST 2014 - locilka@suse.com
+
+- ServicesManagerServiceClass and ServicesManagerTargetClass
+ switched to using lazy loading of system(ctl) data
+- Fixed Export AutoYast functionality to return the currently
+ supported and documented format
+- Added tests for all the other AutoYast formats supported
+ for Import (all bnc#885800)
+- 3.1.21
+
+-------------------------------------------------------------------
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:41135 MAIL:yast-commit@opensuse.org) (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-services-manager", Maintainer is "yast-commit@opensuse.org"
Old:
----
yast2-services-manager-3.1.20.tar.bz2
New:
----
yast2-services-manager-3.1.21.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-services-manager.spec ++++++
--- /var/tmp/diff_new_pack.G9WYNL/_old 2014-07-16 15:37:51.000000000 +0200
+++ /var/tmp/diff_new_pack.G9WYNL/_new 2014-07-16 15:37:51.000000000 +0200
@@ -24,7 +24,7 @@
######################################################################
Name: yast2-services-manager
-Version: 3.1.20
+Version: 3.1.21
Release: 0
BuildArch: noarch
++++++ yast2-services-manager-3.1.20.tar.bz2 -> yast2-services-manager-3.1.21.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-3.1.20/package/yast2-services-manager.changes new/yast2-services-manager-3.1.21/package/yast2-services-manager.changes
--- old/yast2-services-manager-3.1.20/package/yast2-services-manager.changes 2014-07-08 11:49:11.000000000 +0200
+++ new/yast2-services-manager-3.1.21/package/yast2-services-manager.changes 2014-07-14 15:15:22.000000000 +0200
@@ -1,4 +1,15 @@
-------------------------------------------------------------------
+Mon Jul 14 10:20:39 CEST 2014 - locilka@suse.com
+
+- ServicesManagerServiceClass and ServicesManagerTargetClass
+ switched to using lazy loading of system(ctl) data
+- Fixed Export AutoYast functionality to return the currently
+ supported and documented format
+- Added tests for all the other AutoYast formats supported
+ for Import (all bnc#885800)
+- 3.1.21
+
+-------------------------------------------------------------------
Tue Jul 8 09:34:32 CEST 2014 - locilka@suse.com
- Function 'localize' moved to ServicesManagerTarget library and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-3.1.20/package/yast2-services-manager.spec new/yast2-services-manager-3.1.21/package/yast2-services-manager.spec
--- old/yast2-services-manager-3.1.20/package/yast2-services-manager.spec 2014-07-08 11:49:11.000000000 +0200
+++ new/yast2-services-manager-3.1.21/package/yast2-services-manager.spec 2014-07-14 15:15:22.000000000 +0200
@@ -24,7 +24,7 @@
######################################################################
Name: yast2-services-manager
-Version: 3.1.20
+Version: 3.1.21
Release: 0
BuildArch: noarch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-3.1.20/src/modules/services_manager_service.rb new/yast2-services-manager-3.1.21/src/modules/services_manager_service.rb
--- old/yast2-services-manager-3.1.20/src/modules/services_manager_service.rb 2014-07-08 11:49:11.000000000 +0200
+++ new/yast2-services-manager-3.1.21/src/modules/services_manager_service.rb 2014-07-14 15:15:22.000000000 +0200
@@ -5,6 +5,8 @@
import "Mode"
class ServicesManagerServiceClass < Module
+ include Yast::Logger
+
LIST_UNIT_FILES_COMMAND = 'systemctl list-unit-files --type service'
LIST_UNITS_COMMAND = 'systemctl list-units --all --type service'
STATUS_COMMAND = 'systemctl status'
@@ -33,22 +35,23 @@
attr_reader :unit_files, :units, :services
attr_reader :supported_unit_files, :supported_units
- def initialize
+ def read
@services = {}
@unit_files = {}
@units = {}
+
load_unit_files
load_units
+
@supported_unit_files = unit_files.select do |_, status|
Status::SUPPORTED_STATES.member?(status)
end
+
@supported_units = units.reject do |name, _|
unit_files[name] && !Status::SUPPORTED_STATES.member?(unit_files[name])
end
supported_units.select! { |_, attributes| attributes[:status] == Status::LOADED }
- end
- def read
extract_services_from_units
extract_services_from_unit_files
services
@@ -110,17 +113,21 @@
end
end
- attr_reader :services, :modified
+ attr_reader :modified
attr_accessor :errors, :services
- alias_method :all, :services
alias_method :modified?, :modified
+ def services
+ @services ||= read
+ end
+
+ alias_method :all, :services
+
def initialize
textdomain 'services-manager'
@errors = []
@modified = false
- @services = read
end
# Sets whether service should be running after writing the configuration
@@ -228,16 +235,28 @@
# Returns only enabled services, the rest is expected to be disabled
def export
- exported_services = services.select do |service_name, properties|
+ enabled_services = services.select do |service_name, properties|
enabled(service_name) && properties[:loaded]
end
- Builtins.y2milestone("Exported services: #{exported_services.keys}")
- exported_services.keys
+
+ # Only services modifed by the user to be disabled are exported
+ # to AutoYast profile, untouched services are not exported
+ disabled_services = services.select do |service_name, properties|
+ !enabled(service_name) && properties[:modified]
+ end
+
+ log.info "Export: enabled services: #{enabled_services.keys}, disabled services: #{disabled_services.keys}"
+
+ {
+ 'enable' => enabled_services.keys,
+ 'disable' => disabled_services.keys,
+ }
end
def import profile
- Builtins.y2milestone("List of services from autoyast profile: #{profile.services.map(&:name)}")
+ log.info "List of services from autoyast profile: #{profile.services.map(&:name)}"
non_existent_services = []
+
profile.services.each do |service|
case service.status
when 'enable'
@@ -248,6 +267,7 @@
Builtins.y2error("Unknown status '#{service.status}' for service '#{service.name}'")
end
end
+
return true if non_existent_services.empty?
Builtins.y2error("Services #{non_existent_services.inspect} don't exist on this system")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-services-manager-3.1.20/src/modules/services_manager_target.rb new/yast2-services-manager-3.1.21/src/modules/services_manager_target.rb
--- old/yast2-services-manager-3.1.20/src/modules/services_manager_target.rb 2014-07-08 11:49:11.000000000 +0200
+++ new/yast2-services-manager-3.1.21/src/modules/services_manager_target.rb 2014-07-14 15:15:22.000000000 +0200
@@ -54,25 +54,32 @@
# @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
+ def initialize
+ textdomain 'services-manager'
+ @modified = false
+ end
# @return [Hash] Collection of available targets
# @example {'rescue' => {:enabled=>false, :loaded=>true, :active=>false, :description=>'Rescue'}}
- attr_reader :targets
+ def targets
+ read if @targets.nil?
+ @targets
+ end
+
+ # @return [String] Name of the default systemd target unit
+ def default_target
+ read if @default_target.nil?
+ @default_target
+ end
alias_method :all, :targets
- def initialize
- textdomain 'services-manager'
+ def read
@targets = {}
- @modified = false
@default_target = ''
- read_targets
- end
- def read_targets
- return unless Mode.normal
+ # Reads the data on a running system only
+ return true unless Mode.normal
default_target = SystemdTarget.get_default
@default_target = default_target ? default_target.name : ''
@@ -81,16 +88,16 @@
next unless target.allow_isolate?
next if BLACKLISTED_TARGETS.member?(target.name)
- targets[target.name] = {
+ @targets[target.name] = {
:enabled => target.enabled?,
:loaded => target.loaded?,
:active => target.active?,
:description => target.description
}
end
- end
- alias_method :read, :read_targets
+ !@targets.empty?
+ end
def default_target= new_default
if Mode.normal && !targets.keys.include?(new_default)
@@ -124,9 +131,8 @@
end
def reset
- targets.clear
- read_targets
self.modified = false
+ read
end
publish({:function => :all, :type => "map