Hello community,

here is the log from the commit of package yast2 for openSUSE:Factory checked 
in at 2014-03-06 19:29:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2 (Old)
 and      /work/SRC/openSUSE:Factory/.yast2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2/yast2.changes      2014-03-01 
14:38:15.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2014-03-06 
19:29:43.000000000 +0100
@@ -1,0 +2,13 @@
+Thu Mar  6 07:48:29 UTC 2014 - vmora...@suse.com
+
+- Add systemd service support; needed by fate#314946
+- 3.1.22
+
+-------------------------------------------------------------------
+Tue Mar  4 12:20:41 UTC 2014 - vmora...@suse.com
+
+- Allow the Service module to configure services witout
+  systemd unit files (bnc#864934)
+- 3.1.21
+
+-------------------------------------------------------------------

Old:
----
  yast2-3.1.20.tar.bz2

New:
----
  yast2-3.1.22.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.sMlKf5/_old  2014-03-06 19:29:44.000000000 +0100
+++ /var/tmp/diff_new_pack.sMlKf5/_new  2014-03-06 19:29:44.000000000 +0100
@@ -17,8 +17,9 @@
 
 
 Name:           yast2
-Version:        3.1.20
+Version:        3.1.22
 Release:        0
+Url:            https://github.com/yast/yast-yast2
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source0:        %{name}-%{version}.tar.bz2
@@ -225,10 +226,12 @@
 %{yast_scrconfdir}/*
 %{yast_ybindir}/*
 %{yast_agentdir}/ag_*
-%{_sysconfdir}/bash_completion.d/yast2*.sh
-%{_sysconfdir}/YaST2/XVersion
 /var/adm/fillup-templates/sysconfig.yast2
 
+# configuration files
+%config %{_sysconfdir}/bash_completion.d/yast2*.sh
+%config %{_sysconfdir}/YaST2/XVersion
+
 # documentation (not included in devel subpackage)
 %doc %dir %{yast_docdir}
 %doc %{yast_docdir}/COPYING

++++++ yast2-3.1.20.tar.bz2 -> yast2-3.1.22.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.20/library/runlevel/src/modules/Service.rb 
new/yast2-3.1.22/library/runlevel/src/modules/Service.rb
--- old/yast2-3.1.20/library/runlevel/src/modules/Service.rb    2014-02-27 
10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/runlevel/src/modules/Service.rb    2014-03-06 
09:38:04.000000000 +0100
@@ -108,8 +108,6 @@
         return false
       end
 
-      service_exists = false
-
       possible_service_locations = Builtins.add(
         # all known $service.service locations
         Builtins.maplist(@systemd_dirs) do |directory|
@@ -202,8 +200,6 @@
     # @param [String] name service name
     # @return true if service is set to run in any runlevel
     def Enabled(name)
-      return false if !checkExists(name)
-
       SCR.Execute(
         path(".target.bash"),
         Builtins.sformat("%1 is-enabled %2.service", @invoker, name)
@@ -234,7 +230,6 @@
     # @param [String] name name of the service
     # @return init script exit status or -1 if it does not exist
     def Status(name)
-      return -1 if !checkExists(name)
       Convert.to_integer(
         SCR.Execute(
           path(".target.bash"),
@@ -295,11 +290,6 @@
     #    defaults.
     # @return [Boolean] success state
     def Adjust(name, action)
-      if !checkExists(name)
-        Builtins.y2error("Service %1 does not exist.", name)
-        return false
-      end
-
       is_enabled = Enabled(name)
 
       if action == "disable"
@@ -509,7 +499,6 @@
     # @param [String] service service to be enabled
     # @return true if operation is  successful
     def Enable(service)
-      return false if !checkExists(service)
       Builtins.y2milestone("Enabling service %1", service)
       Adjust(service, "enable")
     end
@@ -518,7 +507,6 @@
     # @param [String] service service to be disabled
     # @return true if operation is  successful
     def Disable(service)
-      return false if !checkExists(service)
       Builtins.y2milestone("Disabling service %1", service)
       Adjust(service, "disable")
     end
@@ -527,8 +515,6 @@
     # @param [String] service service to be started
     # @return true if operation is  successful
     def Start(service)
-      return false if !checkExists(service)
-      ret = nil
       Builtins.y2milestone("Starting service %1", service)
       ret = RunInitScript(service, "start")
       Builtins.y2debug("ret=%1", ret)
@@ -539,8 +525,6 @@
     # @param [String] service service to be restarted
     # @return true if operation is  successful
     def Restart(service)
-      return false if !checkExists(service)
-      ret = nil
       Builtins.y2milestone("Restarting service %1", service)
       ret = RunInitScript(service, "restart")
       Builtins.y2debug("ret=%1", ret)
@@ -551,8 +535,6 @@
     # @param [String] service service to be reloaded
     # @return true if operation is  successful
     def Reload(service)
-      return false if !checkExists(service)
-      ret = nil
       Builtins.y2milestone("Reloading service %1", service)
       ret = RunInitScript(service, "reload")
       Builtins.y2debug("ret=%1", ret)
@@ -563,8 +545,6 @@
     # @param [String] service service to be stopped
     # @return true if operation is  successful
     def Stop(service)
-      return false if !checkExists(service)
-      ret = nil
       Builtins.y2milestone("Stopping service %1", service)
       ret = RunInitScript(service, "stop")
       Builtins.y2debug("ret=%1", ret)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/runlevel/testsuite/tests/GetSetServiceStatus.out 
new/yast2-3.1.22/library/runlevel/testsuite/tests/GetSetServiceStatus.out
--- old/yast2-3.1.20/library/runlevel/testsuite/tests/GetSetServiceStatus.out   
2014-02-27 10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/runlevel/testsuite/tests/GetSetServiceStatus.out   
2014-03-06 09:38:04.000000000 +0100
@@ -1,14 +1,7 @@
 Read   .target.tmpdir "/tmp"
-Read   .target.stat "/usr/lib/systemd/system/iscsid.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled iscsid.service" 0
 Return true
-Read   .target.stat "/usr/lib/systemd/system/boot.iscsid-early.service" 
$["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/boot.iscsid-early.service" 
$["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/boot.iscsid-early.service" 
$["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled 
boot.iscsid-early.service" 0
 Return true
-Read   .target.stat "/usr/lib/systemd/system/iscsid.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/iscsid.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/iscsid.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled iscsid.service" 0
 Return true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/runlevel/testsuite/tests/ServiceAdjust.out 
new/yast2-3.1.22/library/runlevel/testsuite/tests/ServiceAdjust.out
--- old/yast2-3.1.20/library/runlevel/testsuite/tests/ServiceAdjust.out 
2014-02-27 10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/runlevel/testsuite/tests/ServiceAdjust.out 
2014-03-06 09:38:04.000000000 +0100
@@ -1,35 +1,20 @@
 Read   .target.tmpdir "/tmp"
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $[]
-Read   .target.stat "/run/systemd/system/aaa.service" $[]
-Read   .target.stat "/etc/systemd/system/aaa.service" $[]
-Read   .target.stat "/etc/init.d/aaa" $[]
-Log    Service aaa does not exist.
-Return false
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled aaa.service" 0
 Execute        .target.bash_output "/bin/systemctl  disable aaa.service" 
$["exit":0, "stderr":"", "stdout":""]
 Return true
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled aaa.service" 0
 Execute        .target.bash_output "/bin/systemctl  disable aaa.service" 
$["exit":0, "stderr":"", "stdout":""]
 Return true
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
+Execute        .target.bash "/bin/systemctl is-enabled aaa.service" 0
+Execute        .target.bash_output "/bin/systemctl  disable aaa.service" 
$["exit":0, "stderr":"", "stdout":""]
+Return true
 Execute        .target.bash "/bin/systemctl is-enabled aaa.service" 0
 Return true
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled aaa.service" 0
 Return true
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled aaa.service" 0
 Execute        .target.bash_output "/bin/systemctl enable aaa.service" 
$["exit":0, "stderr":"", "stdout":""]
 Return true
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled aaa.service" 0
 Execute        .target.bash_output "/bin/systemctl enable aaa.service" 
$["exit":0, "stderr":"", "stdout":""]
 Return true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/runlevel/testsuite/tests/ServiceFinetune.out 
new/yast2-3.1.22/library/runlevel/testsuite/tests/ServiceFinetune.out
--- old/yast2-3.1.20/library/runlevel/testsuite/tests/ServiceFinetune.out       
2014-02-27 10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/runlevel/testsuite/tests/ServiceFinetune.out       
2014-03-06 09:38:04.000000000 +0100
@@ -1,8 +1,6 @@
 Read   .target.tmpdir "/tmp"
 Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Log    Cannot enable service aaa (just) in selected runlevels, enabling in all 
default ones
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl is-enabled aaa.service" 0
 Return true
 Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/runlevel/testsuite/tests/ServiceFullInfo.out 
new/yast2-3.1.22/library/runlevel/testsuite/tests/ServiceFullInfo.out
--- old/yast2-3.1.20/library/runlevel/testsuite/tests/ServiceFullInfo.out       
2014-02-27 10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/runlevel/testsuite/tests/ServiceFullInfo.out       
2014-03-06 09:38:04.000000000 +0100
@@ -4,6 +4,5 @@
 Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Read   .init.scripts.runlevel "aaa" $["aaa":$["start":["0", "1", "3"], 
"stop":["4", "5", "6"]]]
 Read   .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], 
"defstop":["4", "5", "6"]]]
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl status aaa.service" 
$["TERM":"raw"] 3
 Return $["defstart":["0", "1", "3"], "defstop":["4", "5", "6"], "start":["0", 
"1", "3"], "started":3, "stop":["4", "5", "6"]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/runlevel/testsuite/tests/ServiceStatus.out 
new/yast2-3.1.22/library/runlevel/testsuite/tests/ServiceStatus.out
--- old/yast2-3.1.20/library/runlevel/testsuite/tests/ServiceStatus.out 
2014-02-27 10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/runlevel/testsuite/tests/ServiceStatus.out 
2014-03-06 09:38:04.000000000 +0100
@@ -1,4 +1,3 @@
 Read   .target.tmpdir "/tmp"
-Read   .target.stat "/usr/lib/systemd/system/aaa.service" $["isreg":true]
 Execute        .target.bash "/bin/systemctl status aaa.service" 
$["TERM":"raw"] 3
 Return 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/systemd/src/lib/yast2/systemctl.rb 
new/yast2-3.1.22/library/systemd/src/lib/yast2/systemctl.rb
--- old/yast2-3.1.20/library/systemd/src/lib/yast2/systemctl.rb 2014-02-27 
10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/src/lib/yast2/systemctl.rb 2014-03-06 
09:38:04.000000000 +0100
@@ -15,16 +15,28 @@
 
       def socket_units
         sockets_from_files = list_unit_files(:type=>:socket).lines.map do 
|line|
-          line[/\S+/]
+          first_column(line)
         end
 
         sockets_from_units = list_units(:type=>:socket).lines.map do |line|
-          line[/\S+/]
+          first_column(line)
         end
 
         ( sockets_from_files | sockets_from_units ).compact
       end
 
+      def service_units
+        services_from_files = list_unit_files(:type=>:service).lines.map do 
|line|
+          first_column(line)
+        end
+
+        services_from_units = list_units(:type=>:service).lines.map do |line|
+          first_column(line)
+        end
+
+        ( services_from_files | services_from_units ).compact
+      end
+
       private
 
       def list_unit_files type: nil
@@ -39,6 +51,10 @@
         command << " --type=#{type} " if type
         execute(command).stdout
       end
+
+      def first_column line
+        line[/\S+/]
+      end
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/systemd/src/lib/yast2/systemd_unit.rb 
new/yast2-3.1.22/library/systemd/src/lib/yast2/systemd_unit.rb
--- old/yast2-3.1.20/library/systemd/src/lib/yast2/systemd_unit.rb      
2014-02-27 10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/src/lib/yast2/systemd_unit.rb      
2014-03-06 09:38:04.000000000 +0100
@@ -51,8 +51,7 @@
 
     extend Forwardable
 
-    def_delegators :@properties, :id, :path,
-                   :active?, :enabled?, :running?, :loaded?
+    def_delegators :@properties, :id, :path, :description, :active?, 
:enabled?, :loaded?
 
     attr_reader   :unit_name, :unit_type, :input_properties, :errors, 
:properties
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/systemd/src/modules/systemd_service.rb 
new/yast2-3.1.22/library/systemd/src/modules/systemd_service.rb
--- old/yast2-3.1.20/library/systemd/src/modules/systemd_service.rb     
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/src/modules/systemd_service.rb     
2014-03-06 09:38:04.000000000 +0100
@@ -0,0 +1,86 @@
+require 'yast2/systemd_unit'
+
+module Yast
+  ###
+  #  Systemd.service unit control API
+  #
+  #  @example How to use it in other yast libraries
+  #
+  #    require 'yast'
+  #
+  #    Yast.import 'SystemdService'
+  #
+  #    ## Get a service unit by its name
+  #
+  #    service = Yast::SystemdService.find('sshd')
+  #    # or using the full unit id 'sshd.service'
+  #    service = Yast::SystemdService.find('sshd.service')
+  #
+  #    ## Get basic unit properties
+  #
+  #    service.unit_name   # 'sshd'
+  #    service.unit_type   # 'service'
+  #    service.id          # 'sshd.service'
+  #    service.description # 'OpenSSH Daemon'
+  #    service.path        # '/usr/lib/systemd/system/sshd.service'
+  #    service.loaded?     # true if it's loaded, false otherwise
+  #    service.running?    # true if it's active and running
+  #    service.enabled?    # true if enabled, false otherwise
+  #    service.disabled?   # true if disabled, false otherwise
+  #    service.status      # the same text output you get with `systemctl 
status sshd.service`
+  #    service.show        # equivalent of calling `systemctl show 
sshd.service`
+  #
+  #    ## Service unit file commands
+  #
+  #    # Unit file commands do modifications on the service unit. Calling them 
triggers
+  #    # service properties reloading. If a command fails, the error message 
is available
+  #    # through the method #errors as a string.
+  #
+  #    service.start       # true if unit has been activated successfully
+  #    service.stop        # true if unit has been deactivated successfully
+  #    service.enable      # true if unit has been enabled successfully
+  #    service.disable     # true if unit has been disabled successfully
+  #    service.errors      # error string available if some of the actions 
above fails
+  #
+  #    ## Extended service properties
+  #
+  #    # In case you need more details about the service unit than the default 
ones,
+  #    # you can extend the parameters for .find method. Those properties are
+  #    # then available on the service unit object under the #properties 
instance method.
+  #    # An extended property is always a string, you must convert it manually,
+  #    # no automatical casting is done by yast.
+  #    # To get an overview of available service properties, try e.g., 
`systemctl show sshd.service`
+  #
+  #    service = Yast::SystemdService.find('sshd', :type=>'Type')
+  #    service.properties.type  # 'simple'
+  #
+  ##
+
+  class SystemdServiceClass < Module
+    UNIT_SUFFIX = ".service"
+
+    def find service_name, properties={}
+      service_name << UNIT_SUFFIX unless service_name.end_with?(UNIT_SUFFIX)
+      service = Service.new(service_name, properties)
+      return nil if service.properties.not_found?
+      service
+    end
+
+    def all properties={}
+      services = Systemctl.service_units.map do |service_unit|
+        Service.new(service_unit, properties)
+      end
+    end
+
+    class Service < SystemdUnit
+      def pid
+        properties.pid
+      end
+
+      def running?
+        properties.running?
+      end
+    end
+  end
+  SystemdService = SystemdServiceClass.new
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/systemd/test/data/sshd_service_properties 
new/yast2-3.1.22/library/systemd/test/data/sshd_service_properties
--- old/yast2-3.1.20/library/systemd/test/data/sshd_service_properties  
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/test/data/sshd_service_properties  
2014-03-06 09:38:04.000000000 +0100
@@ -0,0 +1,120 @@
+Id=sshd.service
+Names=sshd.service
+Requires=basic.target
+Wants=system.slice
+WantedBy=multi-user.target
+Conflicts=shutdown.target
+Before=shutdown.target multi-user.target
+After=network.target systemd-journald.socket basic.target system.slice
+Description=OpenSSH Daemon
+LoadState=loaded
+ActiveState=active
+SubState=running
+FragmentPath=/usr/lib/systemd/system/sshd.service
+UnitFileState=enabled
+InactiveExitTimestamp=St 2014-02-12 15:22:46 CET
+InactiveExitTimestampMonotonic=22172625
+ActiveEnterTimestamp=St 2014-02-12 15:22:46 CET
+ActiveEnterTimestampMonotonic=22184649
+ActiveExitTimestampMonotonic=0
+InactiveEnterTimestampMonotonic=0
+CanStart=yes
+CanStop=yes
+CanReload=yes
+CanIsolate=no
+StopWhenUnneeded=no
+RefuseManualStart=no
+RefuseManualStop=no
+AllowIsolate=no
+DefaultDependencies=yes
+OnFailureIsolate=no
+IgnoreOnIsolate=no
+IgnoreOnSnapshot=no
+NeedDaemonReload=no
+JobTimeoutUSec=0
+ConditionTimestamp=St 2014-02-12 15:22:46 CET
+ConditionTimestampMonotonic=22169870
+ConditionResult=yes
+Transient=no
+Slice=system.slice
+ControlGroup=/system.slice/sshd.service
+Type=simple
+Restart=always
+NotifyAccess=none
+RestartUSec=100ms
+TimeoutStartUSec=1min 30s
+TimeoutStopUSec=1min 30s
+WatchdogUSec=0
+WatchdogTimestampMonotonic=0
+StartLimitInterval=10000000
+StartLimitBurst=5
+StartLimitAction=none
+ExecStartPre={ path=/usr/sbin/sshd-gen-keys-start ; 
argv[]=/usr/sbin/sshd-gen-keys-start ; ignore_errors=no ; start_time=[n/a] ; 
stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }
+ExecStart={ path=/usr/sbin/sshd ; argv[]=/usr/sbin/sshd -D $SSHD_OPTS ; 
ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; 
status=0/0 }
+ExecReload={ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; 
ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; 
status=0/0 }
+PermissionsStartOnly=no
+RootDirectoryStartOnly=no
+RemainAfterExit=no
+GuessMainPID=yes
+MainPID=2708
+ControlPID=0
+Result=success
+EnvironmentFile=/etc/sysconfig/ssh (ignore_errors=no)
+UMask=0022
+LimitCPU=18446744073709551615
+LimitFSIZE=18446744073709551615
+LimitDATA=18446744073709551615
+LimitSTACK=18446744073709551615
+LimitCORE=18446744073709551615
+LimitRSS=18446744073709551615
+LimitNOFILE=4096
+LimitAS=18446744073709551615
+LimitNPROC=7770
+LimitMEMLOCK=65536
+LimitLOCKS=18446744073709551615
+LimitSIGPENDING=7770
+LimitMSGQUEUE=819200
+LimitNICE=0
+LimitRTPRIO=0
+LimitRTTIME=18446744073709551615
+OOMScoreAdjust=0
+Nice=0
+IOScheduling=0
+CPUSchedulingPolicy=0
+CPUSchedulingPriority=0
+TimerSlackNSec=50000
+CPUSchedulingResetOnFork=no
+NonBlocking=no
+StandardInput=null
+StandardOutput=journal
+StandardError=inherit
+TTYReset=no
+TTYVHangup=no
+TTYVTDisallocate=no
+SyslogPriority=30
+SyslogLevelPrefix=yes
+SecureBits=0
+CapabilityBoundingSet=18446744073709551615
+MountFlags=0
+PrivateTmp=no
+PrivateNetwork=no
+SameProcessGroup=no
+IgnoreSIGPIPE=yes
+NoNewPrivileges=no
+KillMode=process
+KillSignal=15
+SendSIGKILL=yes
+SendSIGHUP=no
+CPUAccounting=no
+CPUShares=1024
+BlockIOAccounting=no
+BlockIOWeight=1000
+MemoryAccounting=no
+MemoryLimit=18446744073709551615
+DevicePolicy=auto
+ExecMainStartTimestamp=St 2014-02-12 15:22:46 CET
+ExecMainStartTimestampMonotonic=22184611
+ExecMainExitTimestampMonotonic=0
+ExecMainPID=2708
+ExecMainCode=0
+ExecMainStatus=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/systemd/test/data/unknown_service_properties 
new/yast2-3.1.22/library/systemd/test/data/unknown_service_properties
--- old/yast2-3.1.20/library/systemd/test/data/unknown_service_properties       
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/test/data/unknown_service_properties       
2014-03-06 09:38:04.000000000 +0100
@@ -0,0 +1,102 @@
+Id=unknown.service
+Names=unknown.service
+Description=unknown.service
+LoadState=not-found
+ActiveState=inactive
+SubState=dead
+InactiveExitTimestampMonotonic=0
+ActiveEnterTimestampMonotonic=0
+ActiveExitTimestampMonotonic=0
+InactiveEnterTimestampMonotonic=0
+CanStart=yes
+CanStop=yes
+CanReload=no
+CanIsolate=no
+StopWhenUnneeded=no
+RefuseManualStart=no
+RefuseManualStop=no
+AllowIsolate=no
+DefaultDependencies=yes
+OnFailureIsolate=no
+IgnoreOnIsolate=no
+IgnoreOnSnapshot=no
+NeedDaemonReload=no
+JobTimeoutUSec=0
+ConditionTimestampMonotonic=0
+ConditionResult=no
+LoadError=org.freedesktop.DBus.Error.FileNotFound "No such file or directory"
+Transient=no
+Restart=no
+NotifyAccess=none
+RestartUSec=100ms
+TimeoutStartUSec=1min 30s
+TimeoutStopUSec=1min 30s
+WatchdogUSec=0
+WatchdogTimestampMonotonic=0
+StartLimitInterval=10000000
+StartLimitBurst=5
+StartLimitAction=none
+PermissionsStartOnly=no
+RootDirectoryStartOnly=no
+RemainAfterExit=no
+GuessMainPID=yes
+MainPID=0
+ControlPID=0
+Result=success
+UMask=0022
+LimitCPU=18446744073709551615
+LimitFSIZE=18446744073709551615
+LimitDATA=18446744073709551615
+LimitSTACK=18446744073709551615
+LimitCORE=18446744073709551615
+LimitRSS=18446744073709551615
+LimitNOFILE=65536
+LimitAS=18446744073709551615
+LimitNPROC=7770
+LimitMEMLOCK=65536
+LimitLOCKS=18446744073709551615
+LimitSIGPENDING=7770
+LimitMSGQUEUE=819200
+LimitNICE=0
+LimitRTPRIO=0
+LimitRTTIME=18446744073709551615
+OOMScoreAdjust=0
+Nice=0
+IOScheduling=0
+CPUSchedulingPolicy=0
+CPUSchedulingPriority=0
+TimerSlackNSec=50000
+CPUSchedulingResetOnFork=no
+NonBlocking=no
+StandardInput=null
+StandardOutput=inherit
+StandardError=inherit
+TTYReset=no
+TTYVHangup=no
+TTYVTDisallocate=no
+SyslogPriority=30
+SyslogLevelPrefix=yes
+SecureBits=0
+CapabilityBoundingSet=18446744073709551615
+MountFlags=0
+PrivateTmp=no
+PrivateNetwork=no
+SameProcessGroup=no
+IgnoreSIGPIPE=yes
+NoNewPrivileges=no
+KillMode=control-group
+KillSignal=15
+SendSIGKILL=yes
+SendSIGHUP=no
+CPUAccounting=no
+CPUShares=1024
+BlockIOAccounting=no
+BlockIOWeight=1000
+MemoryAccounting=no
+MemoryLimit=18446744073709551615
+DevicePolicy=auto
+ExecMainStartTimestampMonotonic=0
+ExecMainExitTimestampMonotonic=0
+ExecMainPID=0
+ExecMainCode=0
+ExecMainStatus=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.20/library/systemd/test/systemctl_test.rb 
new/yast2-3.1.22/library/systemd/test/systemctl_test.rb
--- old/yast2-3.1.20/library/systemd/test/systemctl_test.rb     2014-02-27 
10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/test/systemctl_test.rb     2014-03-06 
09:38:04.000000000 +0100
@@ -7,11 +7,8 @@
   describe Systemctl do
     include SystemctlStubs
 
-    before do
-      stub_systemctl
-    end
-
     describe ".socket_units" do
+      before { stub_systemctl(:socket) }
       it "returns a list of socket unit ids registered with systemd" do
         socket_units = Systemctl.socket_units
         expect(socket_units).to be_a(Array)
@@ -19,5 +16,15 @@
         socket_units.each {|u| expect(u).to match(/.socket$/) }
       end
     end
+
+    describe ".service_units" do
+      before { stub_systemctl(:service) }
+      it "returns a list of service units" do
+        service_units = Systemctl.service_units
+        expect(service_units).to be_a(Array)
+        expect(service_units).not_to be_empty
+        service_units.each {|u| expect(u).to match(/.service$/) }
+      end
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/systemd/test/systemd_service_test.rb 
new/yast2-3.1.22/library/systemd/test/systemd_service_test.rb
--- old/yast2-3.1.20/library/systemd/test/systemd_service_test.rb       
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/test/systemd_service_test.rb       
2014-03-06 09:38:04.000000000 +0100
@@ -0,0 +1,57 @@
+#!/usr/bin/env rspec
+
+require_relative "test_helper"
+
+module Yast
+  import 'SystemdService'
+
+  describe SystemdService do
+    include SystemdServiceStubs
+
+    before do
+      stub_services
+    end
+
+    describe ".find" do
+      it "returns the service unit object specified in parameter" do
+        ["sshd", "sshd.service"].each do |service_name|
+          service = SystemdService.find(service_name)
+          expect(service).to be_a(SystemdUnit)
+          expect(service.unit_type).to eq("service")
+          expect(service.unit_name).to eq("sshd")
+        end
+      end
+
+      it "returns nil if the service unit does not exist" do
+        stub_services(:service=>'unknown')
+        service = SystemdService.find('unknown')
+        expect(service).to be_nil
+      end
+    end
+
+    describe ".all" do
+      it "returns all supported services found" do
+        services = SystemdService.all
+        expect(services).to be_a(Array)
+        expect(services).not_to be_empty
+        services.each {|s| expect(s.unit_type).to eq('service')}
+      end
+    end
+
+    describe "#running?" do
+      it "returns true if the service is running" do
+        service = SystemdService.find "sshd"
+        expect(service).to respond_to(:running?)
+        expect(service.running?).to be_true
+      end
+    end
+
+    describe "#pid" do
+      it "returns the pid of the running service" do
+        service = SystemdService.find("sshd")
+        expect(service).to respond_to(:pid)
+        expect(service.pid).not_to be_empty
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.20/library/systemd/test/systemd_unit_test.rb 
new/yast2-3.1.22/library/systemd/test/systemd_unit_test.rb
--- old/yast2-3.1.20/library/systemd/test/systemd_unit_test.rb  2014-02-27 
10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/test/systemd_unit_test.rb  2014-03-06 
09:38:04.000000000 +0100
@@ -28,7 +28,6 @@
         unit = SystemdUnit.new("iscsid.socket")
         expect(unit.properties[:enabled?]).not_to be_nil
         expect(unit.properties[:active?]).not_to be_nil
-        expect(unit.properties[:running?]).not_to be_nil
         expect(unit.properties[:loaded?]).not_to be_nil
         expect(unit.properties[:supported?]).not_to be_nil
         expect(unit.properties[:not_found?]).not_to be_nil
@@ -41,7 +40,6 @@
         unit = SystemdUnit.new("iscsid.socket")
         expect(unit).to respond_to(:enabled?)
         expect(unit).to respond_to(:active?)
-        expect(unit).to respond_to(:running?)
         expect(unit).to respond_to(:loaded?)
         expect(unit).to respond_to(:path)
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.20/library/systemd/test/test_helper.rb 
new/yast2-3.1.22/library/systemd/test/test_helper.rb
--- old/yast2-3.1.20/library/systemd/test/test_helper.rb        2014-02-27 
10:56:49.000000000 +0100
+++ new/yast2-3.1.22/library/systemd/test/test_helper.rb        2014-03-06 
09:38:04.000000000 +0100
@@ -6,9 +6,15 @@
 
 module SystemctlStubs
 
-  def stub_systemctl
-    stub_socket_unit_files
-    stub_socket_units
+  def stub_systemctl unit
+    case unit
+    when :socket
+      stub_socket_unit_files
+      stub_socket_units
+    when :service
+      stub_service_unit_files
+      stub_service_units
+    end
     stub_execute
   end
 
@@ -33,6 +39,30 @@
     )
   end
 
+  def stub_service_unit_files
+    Yast::Systemctl.stub(:list_unit_files).and_return(<<LIST
+single.service                             masked
+smartd.service                             disabled
+smb.service                                disabled
+sshd.service                               enabled
+sssd.service                               enabled
+startpreload.service                       masked
+LIST
+    )
+  end
+
+  def stub_service_units
+    Yast::Systemctl.stub(:list_units).and_return(<<LIST
+rsyslog.service                       loaded active   running System Logging 
Service
+scsidev.service                       not-found inactive dead    
scsidev.service
+sendmail.service                      not-found inactive dead    
sendmail.service
+sshd.service                          loaded active   running OpenSSH Daemon
+sssd.service                          loaded active   running System Security 
Services Daemon
+SuSEfirewall2.service                 loaded inactive dead    SuSEfirewall2 
phase 2
+LIST
+    )
+  end
+
   def stub_socket_units
     Yast::Systemctl.stub(:list_units).and_return(<<LIST
 iscsid.socket                loaded active   listening Open-iSCSI iscsid Socket
@@ -76,7 +106,7 @@
 
   def stub_sockets
     stub_unit_command
-    stub_systemctl
+    stub_systemctl(:socket)
     stub_socket_properties
   end
 
@@ -86,6 +116,28 @@
       .stub(:load_systemd_properties)
       .and_return(socket_properties)
   end
+end
+
+module SystemdServiceStubs
+  include SystemctlStubs
+  include SystemdUnitStubs
+
+  def stub_services service: 'sshd'
+    stub_unit_command
+    stub_systemctl(:service)
+    properties = load_service_properties(service)
+    Yast::SystemdUnit::Properties
+      .any_instance
+      .stub(:load_systemd_properties)
+      .and_return(properties)
+  end
 
+  def load_service_properties service_name
+    OpenStruct.new(
+      :stdout => File.read(File.join(__dir__, 'data', 
"#{service_name}_service_properties")),
+      :stderr => '',
+      :exit   => 0
+      )
+  end
 end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.20/package/yast2.changes 
new/yast2-3.1.22/package/yast2.changes
--- old/yast2-3.1.20/package/yast2.changes      2014-02-27 11:06:54.000000000 
+0100
+++ new/yast2-3.1.22/package/yast2.changes      2014-03-06 09:38:04.000000000 
+0100
@@ -1,4 +1,17 @@
 -------------------------------------------------------------------
+Thu Mar  6 07:48:29 UTC 2014 - vmora...@suse.com
+
+- Add systemd service support; needed by fate#314946
+- 3.1.22
+
+-------------------------------------------------------------------
+Tue Mar  4 12:20:41 UTC 2014 - vmora...@suse.com
+
+- Allow the Service module to configure services witout
+  systemd unit files (bnc#864934)
+- 3.1.21
+
+-------------------------------------------------------------------
 Thu Feb 27 09:56:16 UTC 2014 - vmora...@suse.com
 
 - Add systemd socket support (bnc#853300)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.20/package/yast2.spec 
new/yast2-3.1.22/package/yast2.spec
--- old/yast2-3.1.20/package/yast2.spec 2014-02-27 11:06:54.000000000 +0100
+++ new/yast2-3.1.22/package/yast2.spec 2014-03-06 09:38:04.000000000 +0100
@@ -17,8 +17,9 @@
 
 
 Name:           yast2
-Version:        3.1.20
+Version:        3.1.22
 Release:        0
+URL:            https://github.com/yast/yast-yast2
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source0:        %{name}-%{version}.tar.bz2
@@ -212,10 +213,12 @@
 %{yast_scrconfdir}/*
 %{yast_ybindir}/*
 %{yast_agentdir}/ag_*
-%{_sysconfdir}/bash_completion.d/yast2*.sh
-%{_sysconfdir}/YaST2/XVersion
 /var/adm/fillup-templates/sysconfig.yast2
 
+# configuration files
+%config %{_sysconfdir}/bash_completion.d/yast2*.sh
+%config %{_sysconfdir}/YaST2/XVersion
+
 # documentation (not included in devel subpackage)
 %doc %dir %{yast_docdir}
 %doc %{yast_docdir}/COPYING

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to