Hello community,

here is the log from the commit of package yast2 for openSUSE:Factory checked 
in at 2014-01-24 21:42:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-01-23 
15:58:58.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2014-01-24 
21:42:49.000000000 +0100
@@ -1,0 +2,15 @@
+Tue Jan 21 14:57:14 UTC 2014 - [email protected]
+
+- remove from wizard icons for title as proposed by Ken
+  (fate#314695)
+- 3.1.16
+
+-------------------------------------------------------------------
+Tue Jan 21 08:26:38 UTC 2014 - [email protected]
+
+- fate#316768
+  - use wicked tools for network service restart / reload when 
+    running in installation mode
+- 3.1.15
+
+-------------------------------------------------------------------

Old:
----
  yast2-3.1.14.tar.bz2

New:
----
  yast2-3.1.16.tar.bz2

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

Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.2ILJC4/_old  2014-01-24 21:42:50.000000000 +0100
+++ /var/tmp/diff_new_pack.2ILJC4/_new  2014-01-24 21:42:50.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2
-Version:        3.1.14
+Version:        3.1.16
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-3.1.14.tar.bz2 -> yast2-3.1.16.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.14/library/control/src/modules/ProductFeatures.rb 
new/yast2-3.1.16/library/control/src/modules/ProductFeatures.rb
--- old/yast2-3.1.14/library/control/src/modules/ProductFeatures.rb     
2014-01-14 11:06:31.000000000 +0100
+++ new/yast2-3.1.16/library/control/src/modules/ProductFeatures.rb     
2014-01-22 12:26:53.000000000 +0100
@@ -2,7 +2,7 @@
 
 # ***************************************************************************
 #
-# Copyright (c) 2002 - 2012 Novell, Inc.
+# Copyright (c) 2002 - 2014 Novell, Inc.
 # All Rights Reserved.
 #
 # This program is free software; you can redistribute it and/or
@@ -206,10 +206,8 @@
     # @return [String] the feature value
     def GetStringFeature(section, feature)
       value = GetFeature(section, feature)
-      if value == nil
-        return nil
-      elsif Ops.is_string?(value)
-        return Convert.to_string(value)
+      if Ops.is_string?(value)
+        return value
       elsif Ops.is_boolean?(value)
         return Convert.to_boolean(value) ? "yes" : "no"
       else
@@ -218,16 +216,16 @@
     end
 
     # Get value of a feature
+    # If the feature is missing false is returned. So it is not possible to
+    # distingush between a missing value and a false value.
     # @note This is a stable API function
     # @param [String] section string section of the feature
     # @param features string feature name
     # @return [Boolean] the feature value
     def GetBooleanFeature(section, feature)
       value = GetFeature(section, feature)
-      if value == nil
-        return nil
-      elsif Ops.is_boolean?(value)
-        return Convert.to_boolean(value)
+      if Ops.is_boolean?(value)
+        return value
       elsif Ops.is_string?(value) &&
           Builtins.tolower(Convert.to_string(value)) == "yes"
         return true
@@ -243,10 +241,8 @@
     # @return [Fixnum] the feature value
     def GetIntegerFeature(section, feature)
       value = GetFeature(section, feature)
-      if value == nil
-        return nil
-      elsif Ops.is_integer?(value)
-        return Convert.to_integer(value)
+      if Ops.is_integer?(value)
+        return value
       elsif Ops.is_string?(value)
         return Builtins.tointeger(Convert.to_string(value))
       else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.14/library/general/doc/Hooks.md 
new/yast2-3.1.16/library/general/doc/Hooks.md
--- old/yast2-3.1.14/library/general/doc/Hooks.md       2014-01-14 
11:06:31.000000000 +0100
+++ new/yast2-3.1.16/library/general/doc/Hooks.md       2014-01-22 
12:26:53.000000000 +0100
@@ -6,9 +6,12 @@
 
 ## What is a hook
 
-Hook is an action which will be triggered at some predefined checkpoint during
-some workflow. The action includes searching for files located in a specific 
-directory matching some patterns and executing them sequentially.
+Hook is an action which will be triggered at some predefined 
[checkpoint](#checkpoints)
+during a running workflow. The action includes: 
+
+* searching for files matching [pre-defined patterns](#file-name-format) in a 
specific 
+  directory 
+* executing those files sequentially.
 
 The results of the scripts do not affect the workflow, failed script are 
registered
 and logged as well as the succeeded ones. The author of the hook scripts should
@@ -73,8 +76,8 @@
 
 The hooks are executed with **root** privileges so it is possible to
 perform any maintenance tasks. However, some workflows might you discourage to 
perform
-any such actions as they can corrupt the specific workflow and the results
-of the whole process, even if they might not visible instantly.
+any such actions as they can corrupt the specific workflow or the results
+of the whole process, even if they might not be visible instantly.
 
 ### Installation environment
 
@@ -108,7 +111,146 @@
 
 ## Checkpoints
 
-The hooks are created and triggered at some specific events - checkpoints -
-usually considered important for the workflow. If the hook finds no files in 
the
-search path, the worfkflow process continues its job until the next checkpoint 
has 
-been reached. This will repeat for all checkpoints.
+Hooks are created and triggered at some specific events - **checkpoints** -
+considered important for the workflow. If a hook finds no files to be executed 
in the
+search path, the worfkflow process continues to the next checkpoint. This will 
repeat
+for all checkpoints until the worflow has finished.
+
+The checkpoints are specified separately for every workflow, even within a 
workflow the
+checkpoints may vary, e.g. checkpoints within installation workflow are defined
+special for every type of installation (e.g. autoinstallation, manual 
installation).
+Some of the checkpoints are fixed, other may depend on some external 
definition of
+the workflow (for installation the checkpoints depends on the control file 
definition).
+
+
+## Installation checkpoints
+
+Installation makes the broadest use of hooks due to its possible customization 
and
+system setup importance. There are at least 4 types of installation workflows 
which
+partly share some of their hook checkpoints:
+
+* manual installation using GUI
+* autoinstallation using a configuration file written in xml
+* upgrade using GUI
+* autoupgrade using a configuration file
+
+Workflows like upgrade, autoupgrade and others are not (yet) in scope of this 
document.
+
+### Main installation checkpoints
+
+There are four main checkpoints used commonly by all installation workflows. 
Their
+names are:
+
+* installation_start
+* installation_finish
+* installation_aborted
+* installation_failure
+
+Hook files referencing these checkpoints must not have any prefix in their 
names
+(there are no **before_** nor **after_** prefixes).
+
+Examples of general installation hook scripts:
+
+* installation_start_[0-9][0-9]_custom_script_name
+* installation_finish_[0-9][0-9]_custom_script_name
+* installation_aborted_[0-9][0-9]_custom_script_name
+* installation_failure_[0-9][0-9]_custom_script_name
+
+### Manual installation checkpoints
+
+These checkpoints trigger hooks during manual installation of the system using
+the GUI. Their list may vary according to the control file entries (for more
+information see this repository: 
https://github.com/yast/yast-installation-control)
+
+Hook scripts defined for these checkpoints are being run **before** or 
**after** the
+checkpoint. Thus, the author of the hook files must pick the suitable prefix 
and
+adapt the hook file name.
+
+This is a list of checkpoints which a manual installation might go
+through including the main checkpoints in brackets just for completness 
+( **Notice:** The list below takes into consideration the basic user workflow 
for
+installing a system. Doing a highly customized installation or adding some
+add-ons during the installation will result in a modified list.)
+
+  1. [ installation_start ]
+  2. setup_dhcp
+  3. complex_welcome
+  4. system_analysis
+  5. installation_options
+  6. disk_proposal
+  7. timezone
+  8. new_desktop
+  9. user_first
+  10. initial_installation_proposal
+  11. prepareprogress
+  12. prepdisk
+  13. deploy_image
+  14. kickoff
+  15. rpmcopy
+  16. addon_update_sources
+  17. extraxources
+  18. save_hardware_status
+  19. copy_files_finish
+  20. copy_systemfiles_finish
+  21. switch_scr_finish
+  22. ldconfig_finish
+  23. save_config_finish
+  24. default_target_finish
+  25. desktop_finish
+  26. storage_finish
+  27. iscsi-client_finish
+  28. kernel_finish
+  29. x11_finish
+  30. proxy_finish
+  31. pkg_finish
+  32. driver_update1_finish
+  33. random_finish
+  34. system_settings_finish
+  35. bootloader_finish
+  36. kdump_finish
+  37. yast_inf_finish
+  38. network_finish
+  39. firewall_stage1_finish
+  40. ntp-client_finish
+  41. ssh_settings_finish
+  42. ssh_service_finish
+  43. save_hw_status_finish
+  44. users_finish
+  45. installation_settings_finish
+  46. driver_update2_finish
+  47. pre_umount_finish
+  48. copy_logs_finish
+  49. umount_finish
+  50. [ installation_finish ]
+
+If for example the author of a hook file was looking for the point after the 
partitioning schema
+of the disk has been done by the user in order to run some task, he would 
create a hook file
+named ```after_disk_proposal_00_do_something_important``` .
+
+
+### Autoinstallation checkpoints
+
+Checkpoints for installation via autoyast profile differ from those above by 
the fact
+that there is no graphical guide through the configuration, hence no 
checkpoints like
+those above from 2 to 13. Instead there are these:
+
+* autoinit
+* autosetup
+* initial_autoinstallation_proposal
+* autoimage
+
+Those entries might vary due to different entries in you xml profile which 
drives
+the autoinstallation workflow. The rest of the checkpoints listed above should 
not much differ.
+
+
+## Report an issue
+
+In case you followed the notes above and you are still having an issue with 
executing your
+script, please create a bug at http://bugzilla.novell.com.
+
+If you are missing something important in this documentation or you have a 
question,
+please send your query to yast-devel mailing list [email protected].
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-3.1.14/library/network/src/modules/NetworkService.rb 
new/yast2-3.1.16/library/network/src/modules/NetworkService.rb
--- old/yast2-3.1.14/library/network/src/modules/NetworkService.rb      
2014-01-14 11:06:31.000000000 +0100
+++ new/yast2-3.1.16/library/network/src/modules/NetworkService.rb      
2014-01-22 12:26:53.000000000 +0100
@@ -67,6 +67,10 @@
       :wicked           => "wicked"
     }
 
+    SYSTEMCTL = "/bin/systemctl"
+
+    WICKED = "/usr/sbin/wicked"
+
     def main
       Yast.import "Service"
       Yast.import "NetworkConfig"
@@ -79,9 +83,6 @@
       # if false, read needs to do work
       @initialized = false
 
-      # Path to the systemctl command
-      @systemctl = "/bin/systemctl"
-
       # Variable remembers that the question has been asked during this run 
already.
       # It avoids useless questions over and over again.
       @already_asked_for_NetworkManager = false
@@ -90,7 +91,7 @@
     # Helper to run systemctl actions
     # @return exit code
     def RunSystemCtl(service, action)
-      cmd = Builtins.sformat("%1 %2 %3.service", @systemctl, action, service)
+      cmd = Builtins.sformat("%1 %2 %3.service", SYSTEMCTL, action, service)
       ret = Convert.convert(
         SCR.Execute(path(".target.bash_output"), cmd, { "TERM" => "raw" }),
         :from => "any",
@@ -100,6 +101,16 @@
       Ops.get_integer(ret, "exit", -1)
     end
 
+    def run_wicked(*params)
+      cmd = "#{WICKED} #{params.join(" ")}" 
+      ret = SCR.Execute(
+        path(".target.bash"),
+        cmd
+      )
+
+      Builtins.y2milestone("run_wicked: #{cmd} -> #{ret}")
+    end
+
     # Whether a network service change were requested
     # @return true when service change were requested
     def Modified
@@ -228,31 +239,22 @@
 
     # Reload or restars the network service.
     def ReloadOrRestart
-      if IsActive()
-        if Modified()
-          # reload is not sufficient
-          RunSystemCtl("network", "stop")
-          EnableDisableNow()
-          RunSystemCtl("network", "start")
-        else
-          # reload may be unsupported
-          RunSystemCtl("network", "reload-or-try-restart")
-        end
+      if Mode.installation
+        # inst-sys is not running systemd nor sysV init, so systemctl call
+        # is not available and service has to be restarted directly
+        wicked_restart
       else
-        # always stop, it does not hurt if the net was stopped.
-        RunSystemCtl("network", "stop")
-        EnableDisableNow()
-        RunSystemCtl("network", "start")
+        systemctl_reload_restart
       end
-
-      nil
     end
 
     # Restarts the network service
     def Restart
-      RunSystemCtl("network", "stop")
-      EnableDisableNow()
-      RunSystemCtl("network", "start")
+      if Mode.installation
+        wicked_restart
+      else
+        systemctl_restart
+      end
 
       nil
     end
@@ -366,6 +368,38 @@
       return @cached_name
     end
 
+    # Restarts wicked backend directly
+    def wicked_restart
+      run_wicked( "ifdown", "all")
+      run_wicked( "ifup", "all")
+    end
+
+    # Restarts network backend using systemctl call
+    def systemctl_restart
+      RunSystemCtl("network", "stop")
+      EnableDisableNow()
+      RunSystemCtl("network", "start")
+    end
+
+    # Restarts or reloads configuration for network backend when
+    # systemctl is available
+    def systemctl_reload_restart
+      if IsActive()
+        if Modified()
+          # reload is not sufficient
+          systemctl_restart
+        else
+          # reload may be unsupported
+          RunSystemCtl("network", "reload-or-try-restart")
+        end
+      else
+        # always stop, it does not hurt if the net was stopped.
+        systemctl_restart
+      end
+
+      nil
+    end
+
     publish :function => :Read, :type => "void ()"
     publish :function => :Modified, :type => "boolean ()"
     publish :function => :is_backend_available, :type => "boolean (symbol)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.14/library/wizard/src/modules/Wizard.rb 
new/yast2-3.1.16/library/wizard/src/modules/Wizard.rb
--- old/yast2-3.1.14/library/wizard/src/modules/Wizard.rb       2014-01-14 
11:06:32.000000000 +0100
+++ new/yast2-3.1.16/library/wizard/src/modules/Wizard.rb       2014-01-22 
12:26:53.000000000 +0100
@@ -42,11 +42,6 @@
       Yast.import "Directory"
       Yast.import "OSRelease"
 
-      # keep trailing "/" !!
-      @theme_path = Ops.add(Directory.themedir, "/current")
-      @icon_path = Ops.add(@theme_path, "/icons/22x22/apps")
-      @default_icon = Ops.add(@icon_path, "/yast.png")
-
       @have_fancy_ui_cache = nil
 
       # this variable is set from Product:: constructor
@@ -455,8 +450,6 @@
             Label.NextButton
           )
         )
-
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenDialog(NextBackDialog())
         UI.SetFocus(Id(:next))
@@ -484,7 +477,6 @@
 
         # Don't let sloppy calls to Wizard::SetContents() disable this button 
by accident
         UI.WizardCommand(term(:ProtectNextButton, true))
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenDialog(AcceptDialog())
         UI.SetFocus(Id(:accept))
@@ -513,7 +505,6 @@
 
         # Don't let sloppy calls to Wizard::SetContents() disable this button 
by accident
         UI.WizardCommand(term(:ProtectNextButton, true))
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenDialog(OKDialog())
         UI.SetFocus(Id(:ok))
@@ -539,8 +530,6 @@
             Label.FinishButton
           )
         )
-
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenDialog(GenericDialog(AbortApplyFinishButtonBox()))
         UI.SetFocus(Id(:finish))
@@ -569,7 +558,6 @@
 
         # Don't let sloppy calls to Wizard::SetContents() disable this button 
by accident
         UI.WizardCommand(term(:ProtectNextButton, true))
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenAcceptDialog()
       end
@@ -597,7 +585,6 @@
 
         # Don't let sloppy calls to Wizard::SetContents() disable this button 
by accident
         UI.WizardCommand(term(:ProtectNextButton, true))
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenDialog(GenericDialog(AbortAcceptButtonBox()))
       end
@@ -622,8 +609,6 @@
             Label.NextButton
           )
         )
-
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenNextBackDialog()
       end
@@ -1039,7 +1024,6 @@
           )
         )
         HideBackButton()
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenDialog(NextBackDialog())
         UI.SetFocus(Id(:next))
@@ -1168,7 +1152,7 @@
     # Sets the wizard 'title' icon to the specified icon from the standard icon
     # directory.
     #
-    # @note This is a stable API function
+    # @note Deprecated. Do nothing.
     #
     # @param [String] icon_name name (without path) of the new icon
     # @see #ClearTitleIcon
@@ -1177,24 +1161,16 @@
     #  SetTitleIcon ("yast-dns-server");
     #
     def SetTitleIcon(icon_name)
-      icon = icon_name == "" ?
-        "" :
-        Ops.add(Ops.add(Ops.add(@icon_path, "/"), icon_name), ".png")
-
-      UI.WizardCommand(term(:SetDialogIcon, icon))
-
       nil
     end
 
 
     # Clear the wizard 'title' icon, i.e. replace it with nothing
     #
-    # @note This is a stable API function
+    # @note Deprecated. Do nothing.
     # @see #SetTitleIcon
     #
     def ClearTitleIcon
-      UI.WizardCommand(term(:SetDialogIcon, ""))
-
       nil
     end
 
@@ -1228,6 +1204,8 @@
     # Desktop file is placed in a special directory 
(/usr/share/applications/YaST2).
     # Parameter file is realative to that directory without ".desktop" suffix.
     # Warning: There are no desktop files in inst-sys. Use "SetTitleIcon" 
instead.
+    # @note do nothing. Title icon do not provide additional value
+    # and is distracting
     #
     # @param [String] file Icon name
     # @return [Boolean] true on success
@@ -1238,17 +1216,6 @@
     #  // Sets the icon.
     #  SetDesktopIcon ("lan")
     def SetDesktopIcon(file)
-      description = Desktop.ParseSingleDesktopFile(file)
-
-      # fallback name for the dialog title
-      icon = Ops.get(description, "Icon")
-
-      Builtins.y2debug("icon: %1", icon)
-
-      return false if icon == nil
-
-      SetTitleIcon(icon)
-
       true
     end
 
@@ -1258,6 +1225,7 @@
     # Desktop file is placed in a special directory 
(/usr/share/applications/YaST2).
     # Parameter file is realative to that directory without ".desktop" suffix.
     # Warning: There are no desktop files in inst-sys.
+    # @deprecated Use SetDesktopTitle only as icon setting is removed
     #
     # @param [String] file desktop file name
     # @return [Boolean] true on success
@@ -1273,17 +1241,6 @@
       description = Desktop.ParseSingleDesktopFile(file)
 
       # fallback name for the dialog title
-      icon = Ops.get(description, "Icon")
-
-      Builtins.y2debug("icon: %1", icon)
-
-      if icon != nil
-        SetTitleIcon(icon)
-      else
-        result = false
-      end
-
-      # fallback name for the dialog title
       name = Ops.get(description, "Name", _("Module"))
 
       Builtins.y2debug("Set dialog title: %1", name)
@@ -1597,8 +1554,6 @@
             Label.NextButton
           )
         )
-
-        UI.WizardCommand(term(:SetDialogIcon, @default_icon))
       else
         OpenDialog(GenericTreeDialog(BackAbortNextButtonBox()))
         UI.SetFocus(Id(:next))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.14/package/yast2.changes 
new/yast2-3.1.16/package/yast2.changes
--- old/yast2-3.1.14/package/yast2.changes      2014-01-16 18:17:04.000000000 
+0100
+++ new/yast2-3.1.16/package/yast2.changes      2014-01-22 12:26:53.000000000 
+0100
@@ -1,4 +1,19 @@
 -------------------------------------------------------------------
+Tue Jan 21 14:57:14 UTC 2014 - [email protected]
+
+- remove from wizard icons for title as proposed by Ken
+  (fate#314695)
+- 3.1.16
+
+-------------------------------------------------------------------
+Tue Jan 21 08:26:38 UTC 2014 - [email protected]
+
+- fate#316768
+  - use wicked tools for network service restart / reload when 
+    running in installation mode
+- 3.1.15
+
+-------------------------------------------------------------------
 Thu Jan 16 15:56:21 UTC 2014 - [email protected]
 
 - make the package owner of /usr/share/YaST2/lib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-3.1.14/package/yast2.spec 
new/yast2-3.1.16/package/yast2.spec
--- old/yast2-3.1.14/package/yast2.spec 2014-01-16 18:17:04.000000000 +0100
+++ new/yast2-3.1.16/package/yast2.spec 2014-01-22 12:26:53.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2
-Version:        3.1.14
+Version:        3.1.16
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to