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-installation -> sle12 ## BNC# 854500 : "NetworkManager isn't configured to be used for network handling" (RESOLVED/FIXED) Changes: -------- --- /work/SRC/SUSE:SLE-12:GA/yast2-installation/yast2-installation.changes 2014-01-17 14:16:29.000000000 +0100 +++ /mounts/work_src_done/SLE12/yast2-installation/yast2-installation.changes 2014-01-27 11:06:29.000000000 +0100 @@ -1,0 +2,42 @@ +Mon Jan 27 09:56:26 UTC 2014 - mfilka@suse.com + +- fate#316768, bnc#854500 + - enable network service according product feature +- 3.1.24 + +------------------------------------------------------------------- +Fri Jan 24 12:01:29 UTC 2014 - lslezak@suse.cz + +- removed inst_scc.rb client (moved to yast2-registration) +- 3.1.23 + +------------------------------------------------------------------- +Tue Jan 21 14:18:08 UTC 2014 - jreidinger@suse.com + +- Remove icons from system analysis according to Ken's comments + (fate#314695) +- 3.1.22 + +------------------------------------------------------------------- +Tue Jan 21 12:15:21 UTC 2014 - jreidinger@suse.com + +- Remove "Change..." button in non-textual installation +- Add "Export Configuration" button in non-textual installation + (FATE#308539) +- Add "Export Configuration" menu item in textual installation + (FATE#308539) +- 3.1.21 + +------------------------------------------------------------------- +Tue Jan 21 08:48:17 UTC 2014 - jsrain@suse.cz + +- adjusted UI according to Ken's comments (fate#314695) +- 3.1.20 + +------------------------------------------------------------------- +Mon Jan 13 09:58:46 UTC 2014 - jreidinger@suse.com + +- add clone proposal and finish client (FATE#308539) +- 3.1.19 + +------------------------------------------------------------------- calling whatdependson for sle12-i586 Packages directly triggered for rebuild: - yast2-installation - at least 19 other packages ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/SUSE:SLE-12:GA/yast2-installation (Old) and /mounts/work_src_done/SLE12/yast2-installation (BS:build ID:31186 MAIL:yast-devel@opensuse.org) (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yast2-installation", Maintainer is "yast-devel@opensuse.org" Old: ---- yast2-installation-3.1.18.tar.bz2 New: ---- yast2-installation-3.1.24.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-installation.spec ++++++ --- /var/tmp/diff_new_pack.chfCJZ/_old 2014-01-27 12:27:13.000000000 +0100 +++ /var/tmp/diff_new_pack.chfCJZ/_new 2014-01-27 12:27:13.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package yast2-installation # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,33 +17,31 @@ Name: yast2-installation -Version: 3.1.18 +Version: 3.1.24 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: %{name}-%{version}.tar.bz2 +Group: System/YaST +License: GPL-2.0 +Url: http://github.com/yast/yast-installation Requires: yast2-ruby-bindings >= 1.0.0 Summary: YaST2 - Installation Parts -License: GPL-2.0 -Group: System/YaST Source1: YaST2-Second-Stage.service Source2: YaST2-Firstboot.service -BuildRequires: docbook-xsl-stylesheets -BuildRequires: libxslt -BuildRequires: rubygem-rspec -BuildRequires: update-desktop-files -BuildRequires: yast2-core-devel +BuildRequires: docbook-xsl-stylesheets libxslt update-desktop-files yast2-core-devel BuildRequires: yast2-devtools >= 3.1.10 +BuildRequires: rubygem-rspec # Linuxrc.keys BuildRequires: yast2 >= 3.1.9 -# AutoinstConfig::getProposalList -Requires: autoyast2-installation >= 2.17.1 +# clone_system client +Requires: autoyast2-installation >= 3.1.5 # ProductProfile Requires: yast2 >= 3.1.9 @@ -95,9 +93,8 @@ Conflicts: yast2-ycp-ui-bindings < 2.17.3 # tar-gzip some system files and untar-ungzip them after the installation (FATE #300421, #120103) +Requires: tar gzip Requires: coreutils -Requires: gzip -Requires: tar %if 0%{?suse_version} >= 1210 BuildRequires: systemd-devel @@ -127,12 +124,12 @@ BuildArch: noarch %package devel-doc +Group: Documentation/HTML Requires: yast2-installation >= 2.15.34 PreReq: %fillup_prereq Summary: YaST2 - Installation Parts -Group: Documentation/HTML %description System installation code as present on installation media. @@ -159,6 +156,7 @@ install -m 644 %{SOURCE1} %{buildroot}%{_unitdir} install -m 644 %{SOURCE2} %{buildroot}%{_unitdir} + %post %{fillup_only -ns security checksig} @@ -193,6 +191,7 @@ %dir /usr/share/autoinstall/modules %dir %{yast_yncludedir}/installation %{yast_yncludedir}/installation/* +%{yast_libdir}/installation # agents %{yast_scrconfdir}/etc_passwd.scr @@ -221,5 +220,3 @@ %defattr(-,root,root) %doc %{yast_docdir} %exclude %{yast_docdir}/COPYING - -%changelog ++++++ yast2-installation-3.1.18.tar.bz2 -> yast2-installation-3.1.24.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/doc/installation_clients.md new/yast2-installation-3.1.24/doc/installation_clients.md --- old/yast2-installation-3.1.18/doc/installation_clients.md 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-installation-3.1.24/doc/installation_clients.md 2014-01-27 11:05:46.000000000 +0100 @@ -0,0 +1,61 @@ +Installation Clients +====================== + +Installation uses some special clients for inst modules. The goal of this +article is to describe which one is needed for each task. + + +Wizard Plug-in (`inst_` client) +----------------------------------------- + +When a new dialog needs to be added into the installation work-flow then a new +client with `inst_` prefix needs to be created. (In general it can be any +client, this is a convention. The work-flow manager can find also the clients +without the prefix.) + +The new client needs to be added to the installation control file to (the work-flow +section)[TODO link], and the file must be present in the inst-sys during +installation. (It can be part of the inst-sys or it can be added dynamically +from an add-on media or via (Driver Update)[http://en.opensuse.org/SDB:Linuxrc#p_dud]) + + +Installation Summary Plug-in (`_proposal` client) +----------------------------------------------------------- + +When a new module should be seen only in the installation summary page or in a +different proposal screen, then a client with suffix `_proposal` is used. Such +client must accept string as the first parameter which specifies the action +which is being performed and a `Hash` as the second parameter with optional +arguments. + +The proposals are defined in the installation control file in (the proposal +section)[TODO link]. + +The actions can be: + +- `"MakeProposal"` that creates a proposal for the module. It can have parameter `"force_reset"` + that can force reset and create a new one from scratch. Response is a `Hash` with proposal text, + optional link definitions and a help text. **TODO specify exactly format.** +- `"AskUser"` for automatic or manual user request to change the proposed configuration. Parameter is + `"chosen_id"` which specify action. It can be `"id"` from `"Description"` action + which should open dialog to modify values or links specified in `"MakeProposal"` + which should do action depending on link like disable service. Returns if proposal changed. **TODO exact structure** +- `"Description"` to get the description of the proposal in rich text, menu item and its `"id"`. + **TODO describe here exact structure and examples** +- `"Write"` to write the settings. Called only if the proposal is not skipped. **TODO looks like now all proposals are skipped** + + +Write Plug-in at the End of Installation (`_finish` client ) +-------------------------------------------- + +When a module needs to write its settings at the end of installation then a +client with suffix `_finish` is used. Such client must accept string as the +first parameter which specifies the action that is being performed. + +The list finish clients is specified in `inst_finish.rb` client. + +Actions can be: + +- `"Info"` that gets the information about client (like number of steps, its title + and in which mode it should be used). **TODO exact structure and example** +- `"Write"` to write the settings. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/package/yast2-installation.changes new/yast2-installation-3.1.24/package/yast2-installation.changes --- old/yast2-installation-3.1.18/package/yast2-installation.changes 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/package/yast2-installation.changes 2014-01-27 11:05:46.000000000 +0100 @@ -1,4 +1,46 @@ ------------------------------------------------------------------- +Mon Jan 27 09:56:26 UTC 2014 - mfilka@suse.com + +- fate#316768, bnc#854500 + - enable network service according product feature +- 3.1.24 + +------------------------------------------------------------------- +Fri Jan 24 12:01:29 UTC 2014 - lslezak@suse.cz + +- removed inst_scc.rb client (moved to yast2-registration) +- 3.1.23 + +------------------------------------------------------------------- +Tue Jan 21 14:18:08 UTC 2014 - jreidinger@suse.com + +- Remove icons from system analysis according to Ken's comments + (fate#314695) +- 3.1.22 + +------------------------------------------------------------------- +Tue Jan 21 12:15:21 UTC 2014 - jreidinger@suse.com + +- Remove "Change..." button in non-textual installation +- Add "Export Configuration" button in non-textual installation + (FATE#308539) +- Add "Export Configuration" menu item in textual installation + (FATE#308539) +- 3.1.21 + +------------------------------------------------------------------- +Tue Jan 21 08:48:17 UTC 2014 - jsrain@suse.cz + +- adjusted UI according to Ken's comments (fate#314695) +- 3.1.20 + +------------------------------------------------------------------- +Mon Jan 13 09:58:46 UTC 2014 - jreidinger@suse.com + +- add clone proposal and finish client (FATE#308539) +- 3.1.19 + +------------------------------------------------------------------- Wed Jan 8 12:46:34 UTC 2014 - jsrain@suse.cz - added capability to install OEM images (fate#316326) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/package/yast2-installation.spec new/yast2-installation-3.1.24/package/yast2-installation.spec --- old/yast2-installation-3.1.18/package/yast2-installation.spec 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/package/yast2-installation.spec 2014-01-27 11:05:46.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 3.1.18 +Version: 3.1.24 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -25,6 +25,7 @@ Group: System/YaST License: GPL-2.0 +Url: http://github.com/yast/yast-installation Requires: yast2-ruby-bindings >= 1.0.0 Summary: YaST2 - Installation Parts @@ -39,8 +40,8 @@ # Linuxrc.keys BuildRequires: yast2 >= 3.1.9 -# AutoinstConfig::getProposalList -Requires: autoyast2-installation >= 2.17.1 +# clone_system client +Requires: autoyast2-installation >= 3.1.5 # ProductProfile Requires: yast2 >= 3.1.9 @@ -190,6 +191,7 @@ %dir /usr/share/autoinstall/modules %dir %{yast_yncludedir}/installation %{yast_yncludedir}/installation/* +%{yast_libdir}/installation # agents %{yast_scrconfdir}/etc_passwd.scr diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/Makefile.am new/yast2-installation-3.1.24/src/Makefile.am --- old/yast2-installation-3.1.18/src/Makefile.am 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/src/Makefile.am 2014-01-27 11:05:46.000000000 +0100 @@ -8,6 +8,8 @@ modules/SystemFilesCopy.rb client_DATA = \ + clients/clone_proposal.rb \ + clients/clone_finish.rb \ clients/copy_files_finish.rb \ clients/copy_logs_finish.rb \ clients/copy_systemfiles_finish.rb \ @@ -45,7 +47,6 @@ clients/inst_restore_settings.rb \ clients/inst_rpmcopy_secondstage.rb \ clients/inst_save_hardware_status.rb \ - clients/inst_scc.rb \ clients/inst_scenarios.rb \ clients/inst_system_analysis.rb \ clients/inst_upgrade_urls.rb \ @@ -100,6 +101,11 @@ fillup_DATA = \ fillup/sysconfig.security-checksig -EXTRA_DIST = $(module_DATA) $(client_DATA) $(ynclude_DATA) $(scrconf_DATA) $(schemafiles_DATA) $(desktop_DATA) $(fillup_DATA) +ylibdir = "${yast2dir}/lib/installation" +ylib_DATA = \ + lib/installation/clone_settings.rb + + +EXTRA_DIST = $(module_DATA) $(client_DATA) $(ynclude_DATA) $(scrconf_DATA) $(schemafiles_DATA) $(desktop_DATA) $(fillup_DATA) $(ylib_DATA) include $(top_srcdir)/Makefile.am.common diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/clients/clone_finish.rb new/yast2-installation-3.1.24/src/clients/clone_finish.rb --- old/yast2-installation-3.1.18/src/clients/clone_finish.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-installation-3.1.24/src/clients/clone_finish.rb 2014-01-27 11:05:46.000000000 +0100 @@ -0,0 +1,70 @@ +# encoding: utf-8 + +# ------------------------------------------------------------------------------ +# Copyright (c) 2014 Novell, Inc. All Rights Reserved. +# +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of version 2 of the GNU General Public License as published by the +# Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, contact Novell, Inc. +# +# To contact Novell about this file by physical or electronic mail, you may find +# current contact information at www.novell.com. +# ------------------------------------------------------------------------------ + + +module Yast + import "Installation" + + class CloneFinishClient < Client + def main + + textdomain "installation" + + func = "" + + # Check arguments + args = WFM.Args + if args.size > 0 && args[0].is_a?(::String) + func = args[0] + end + + Builtins.y2milestone("starting clone_finish") + Builtins.y2debug("func=%1", func) + + case func + when "Info" + return { + "steps" => 1, + # progress step title + "title" => _( + "Generating AutoYaST profile if needed..." + ), + "when" => [:installation] + } + when "Write" + WFM.call("clone_proposal", ["Write"]) + + # copy from insts_sys to target system + if File.exists? "/root/autoinst.xml" + WFM.Execute(path(".local.bash"), "cp /root/autoinst.xml #{Installation.destdir}/root/autoinst.xml") + end + + Builtins.y2milestone("clone_finish Write finished") + else + raise ("unknown function: #{func}") + end + + return nil + end + end +end + +Yast::CloneFinishClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/clients/clone_proposal.rb new/yast2-installation-3.1.24/src/clients/clone_proposal.rb --- old/yast2-installation-3.1.18/src/clients/clone_proposal.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-installation-3.1.24/src/clients/clone_proposal.rb 2014-01-27 11:05:46.000000000 +0100 @@ -0,0 +1,125 @@ +require "installation/clone_settings" + +module Yast + import "UI" + import "Label" + + class CloneProposalClient < Client + CLONE_ENABLE_LINK = "clone_enable" + CLONE_DISABLE_LINK = "clone_disable" + CLONE_ACTION_ID = "clone" + + def main + textdomain "installation" + + @clone_settings = ::Installation::CloneSettings.instance + Yast.import "Installation" + Yast.import "ProductFeatures" + + func = WFM.Args(0) + param = WFM.Args(1) + + product_clone_active = ProductFeatures.GetBooleanFeature( + "globals", + "enable_clone" + ) + if @clone_settings.enabled.nil? + y2milestone("Set default value for cloning") + @clone_settings.enabled = product_clone_active + end + + case func + when "MakeProposal" + @clone_settings.enabled = product_clone_active if param["force_reset"] + + ret = { + "preformatted_proposal" => proposal_text, + "links" => [CLONE_ENABLE_LINK, CLONE_DISABLE_LINK], + # TRANSLATORS: help text + "help" => _( + "<p>Use <b>Clone System Settings</b> if you want to create an AutoYaST profile.\n" + + "AutoYaST is a way to do a complete SUSE Linux installation without user interaction. AutoYaST\n" + + "needs a profile to know what the installed system should look like. If this option is\n" + + "selected, a profile of the current system is stored in <tt>/root/autoinst.xml</tt>.</p>" + ) + } + when "AskUser" + chosen_id = Ops.get(param, "chosen_id") + Builtins.y2milestone( + "Clone proposal change requested, id %1", + chosen_id + ) + + case chosen_id + when CLONE_DISABLE_LINK + @clone_settings.enabled = false + when CLONE_ENABLE_LINK + @clone_settings.enabled = true + when CLONE_ACTION_ID + clone_dialog + else + raise "Unexpected value #{chosen_id}" + end + + ret = { "workflow_sequence" => :next } + when "Description" + ret = { + # this is a heading + "rich_text_title" => _("Clone System Configuration"), + # this is a menu entry + "menu_title" => _("&Clone System Configuration"), + "id" => CLONE_ACTION_ID + } + when "Write" + WFM.call "clone_system" if @clone_settings.enabled? + ret = true + else + raise "Unsuported action #{func}" + end + + return ret + end + + def proposal_text + ret = "<ul><li>\n" + + if @clone_settings.enabled? + ret << Builtins.sformat( + # TRANSLATORS: Installation overview + # IMPORTANT: Please, do not change the HTML link <a href="...">...</a>, only visible text + _( + "The AutoYaST profile will be written under /root/autoinst.xml (do not write it</a>)." + ), + CLONE_DISABLE_LINK + ) + else + ret << Builtins.sformat( + # TRANSLATORS: Installation overview + # IMPORTANT: Please, do not change the HTML link <a href="...">...</a>, only visible text + _( + "The AutoYaST profile will not be saved (write it</a>)." + ), + CLONE_ENABLE_LINK + ) + end + + ret << "</li></ul>\n" + end + + def clone_dialog + dialog = VBox( + CheckBox(Id(:value_holder), _("Write AutoYaST profile to /root/autoinst.xml"), + @clone_settings.enabled? + ), + PushButton(Id(:ok), Label.OKButton) + ) + + UI.OpenDialog dialog + UI.UserInput + @clone_settings.enabled = UI.QueryWidget(:value_holder, :Value) + UI.CloseDialog + end + end +end + +Yast::CloneProposalClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/clients/inst_complex_welcome.rb new/yast2-installation-3.1.24/src/clients/inst_complex_welcome.rb --- old/yast2-installation-3.1.18/src/clients/inst_complex_welcome.rb 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/src/clients/inst_complex_welcome.rb 2014-01-27 11:05:46.000000000 +0100 @@ -120,21 +120,16 @@ Left( HSquash( HBox( - HSquash(Icon.Simple("yast-language")), - @text_mode ? Empty() : HSpacing(2), - Left(@languagesel), - HSpacing(1), - HSquash(Icon.Simple("yast-keyboard")), - @text_mode ? Empty() : HSpacing(2), - Left(@keyboardsel), - HSpacing(10) + HWeight(1, Left(@languagesel)), + HSpacing(3), + HWeight(1, Left(@keyboardsel)) ) ) ), VSpacing(1), VWeight(1, VStretch()), VWeight( - 20, + 30, Left( HSquash( VBox( @@ -229,8 +224,6 @@ UI.ChangeWidget(Id(:keyboard), :Value, @kbd) end - Wizard.SetTitleIcon("suse") - # Get the user input. # @ret = nil diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/clients/inst_finish.rb new/yast2-installation-3.1.24/src/clients/inst_finish.rb --- old/yast2-installation-3.1.18/src/clients/inst_finish.rb 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/src/clients/inst_finish.rb 2014-01-27 11:05:46.000000000 +0100 @@ -129,6 +129,7 @@ "autoinst_scripts1", "copy_files", "copy_systemfiles", + "clone", # For live installer only Mode.live_installation ? "live_copy_files" : "", "switch_scr" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/clients/inst_proposal.rb new/yast2-installation-3.1.24/src/clients/inst_proposal.rb --- old/yast2-installation-3.1.18/src/clients/inst_proposal.rb 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/src/clients/inst_proposal.rb 2014-01-27 11:05:46.000000000 +0100 @@ -50,6 +50,7 @@ Yast.import "Popup" Yast.import "Language" Yast.import "GetInstArgs" + Yast.import "String" Yast.include self, "installation/misc.rb" @@ -175,9 +176,8 @@ get_submod_descriptions_and_build_menu end - # check for hyperlink id - - if Ops.is_string?(@input) + case @input + when ::String #hyperlink # get module for hyperlink id @submod = Ops.get_string(@id2submod, @input, "") @@ -200,25 +200,33 @@ # so we have to do this special case here. Kind of broken. return :finish if @input == :finish end - elsif @input == "rel_notes" - WFM.CallFunction("release_notes_popup", []) - elsif @input == :finish + when :finish return :finish - elsif @input == :abort + when :abort if Stage.initial return :abort if Popup.ConfirmAbort(:painless) else return :abort if Popup.ConfirmAbort(:incomplete) end - elsif @input == :reset_to_defaults && - Popup.ContinueCancel( + when :reset_to_defaults + next unless Popup.ContinueCancel( # question in a popup box _("Really reset everything to default values?") + "\n" + # explain consequences of a decision _("You will lose all changes.") ) make_proposal(true, false) # force_reset - elsif @input == :skip || @input == :dontskip + when :export_config + path = UI.AskForSaveFileName("/", "*.xml", _("Location of Stored Configuration")) + next unless path + + WFM.CallFunction("clone_proposal", ["Write"]) + if !File.exists?("/root/autoinst.xml") + raise _("Failed to store configuration. Details can be found in log.") + end + + WFM.Execute(path(".local.bash"), "mv -- /root/autoinst.xml '#{String.Quote(path)}'") + when :skip, :dontskip if Convert.to_boolean(UI.QueryWidget(Id(:skip), :Value)) # User doesn't want to use any of the settings UI.ChangeWidget( @@ -236,7 +244,7 @@ make_proposal(false, false) UI.ChangeWidget(Id(:menu), :Enabled, true) end - elsif @input == :next + when :next @skip = UI.WidgetExists(Id(:skip)) ? Convert.to_boolean(UI.QueryWidget(Id(:skip), :Value)) : true @@ -270,18 +278,13 @@ Wizard.HideReleaseNotesButton return :next end - elsif @input == :back + when :back Wizard.HideReleaseNotesButton Wizard.SetNextButton(:next, Label.NextButton) if Stage.initial return :back end end # while input loop - - # NOTREACHED - - # EOF - nil end @@ -984,15 +987,25 @@ ) ) + if UI.TextMode() + change_point = ReplacePoint( + Id(:rep_menu), + # menu button + MenuButton(Id(:menu_dummy), _("&Change..."), [Item(Id(:dummy), "")]) + ) + else + change_point = PushButton( + Id(:export_config), + # menu button + _("&Export Configuration") + ) + end + # change menu menu_box = VBox( HBox( HStretch(), - ReplacePoint( - Id(:rep_menu), - # menu button - MenuButton(Id(:menu_dummy), _("&Change..."), [Item(Id(:dummy), "")]) - ), + change_point, HStretch() ), ReplacePoint(Id("inst_proposal_progress"), Empty()) @@ -1054,9 +1067,15 @@ # May contain newlines, but don't make it very much longer than the original. Left( Label( - _( - "Click a headline to make changes or use the \"Change...\" menu below." - ) + if UI.TextMode() + _( + "Click a headline to make changes or use the \"Change...\" menu below." + ) + else + _( + "Click a headline to make changes." + ) + end ) ), rt, @@ -1084,6 +1103,7 @@ nil end + def get_submod_descriptions_and_build_menu menu_list = [] new_submodules = [] @@ -1091,34 +1111,29 @@ @titles = [] descriptions = {} - Builtins.foreach(@submodules) do |submod| + @submodules.each do |submod| description = submod_description(submod) - if description == nil + if description.nil? Builtins.y2milestone( "Submodule %1 not available (not installed?)", submod ) else if description != {} - Ops.set(description, "no", no) - Ops.set(descriptions, submod, description) - new_submodules = Builtins.add(new_submodules, submod) - title = Ops.get_string( - description, - "rich_text_title", - Ops.get_string(description, "rich_text_raw_title", submod) - ) - id = Ops.get_string( - description, - "id", - Builtins.sformat("module_%1", no) - ) + description["no"] = no + descriptions[submod] = description + new_submodules << submod + title = description["rich_text_title"] || + description["rich_text_raw_title"] || + submod + + id = description["id"] || Builtins.sformat("module_%1", no) + + @titles << title + @submod2id[submod] = id + @id2submod[id] = submod - @titles = Builtins.add(@titles, title) - Ops.set(@submod2id, submod, id) - Ops.set(@id2submod, id, submod) - - no = Ops.add(no, 1) + no += 1 end end end @@ -1126,52 +1141,47 @@ @submodules = deep_copy(new_submodules) # maybe some submodules are not installed Builtins.y2milestone("Execution order after rewrite: %1", @submodules) - # now build the menu button - Builtins.foreach(@submodules_presentation) do |submod| - descr = Ops.get_map(descriptions, submod, {}) - if descr != {} - no2 = Ops.get_integer(descr, "no", 0) - id = Ops.get_string(descr, "id", Builtins.sformat("module_%1", no2)) - if Builtins.haskey(descr, "menu_titles") - Builtins.foreach(Ops.get_list(descr, "menu_titles", [])) do |i| - id2 = Ops.get(i, "id", "") - title = Ops.get(i, "title", "") - if id2 != "" && title != "" - menu_list = Builtins.add( - menu_list, - Item(Id(id2), Ops.add(title, "...")) - ) + if UI.TextMode + # now build the menu button + Builtins.foreach(@submodules_presentation) do |submod| + descr = descriptions[submod] || {} + next if descr.empty? + + no2 = descr["no"] || 0 + id = descr["id"] || Builtins.sformat("module_%1", no2) + if descr.has_key? "menu_titles" + descr["menu_titles"].each do |i| + id2 = i["id"] + title = i["title"] + if id2 && title + menu_list << Item(Id(id2), Ops.add(title, "...")) else Builtins.y2error("Invalid menu item: %1", i) end end else - menu_title = Ops.get_string( - descr, - "menu_title", - Ops.get_string(descr, "rich_text_title", submod) - ) - menu_list = Builtins.add( - menu_list, - Item(Id(id), Ops.add(menu_title, "...")) - ) + menu_title = descr["menu_title"] || + descr["rich_text_title"] || + submod + + menu_list << Item(Id(id), Ops.add(menu_title, "...")) end end - end - # menu button item - menu_list = Builtins.add( - menu_list, - Item(Id(:reset_to_defaults), _("&Reset to defaults")) - ) - # menu button - UI.ReplaceWidget( - Id(:rep_menu), - MenuButton(Id(:menu), _("&Change..."), menu_list) - ) + # menu button item + menu_list << Item(Id(:reset_to_defaults), _("&Reset to defaults")) << + Item(Id(:export_config), _("&Export Configuration")) + + # menu button + UI.ReplaceWidget( + Id(:rep_menu), + MenuButton(Id(:menu), _("&Change..."), menu_list) + ) + end - Ops.greater_than(no, 1) + return no > 1 end + def set_icon icon = "yast-software" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/clients/inst_scc.rb new/yast2-installation-3.1.24/src/clients/inst_scc.rb --- old/yast2-installation-3.1.18/src/clients/inst_scc.rb 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/src/clients/inst_scc.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,109 +0,0 @@ -# encoding: utf-8 - -# ------------------------------------------------------------------------------ -# Copyright (c) 2013 Novell, Inc. All Rights Reserved. -# -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of version 2 of the GNU General Public License as published by the -# Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, contact Novell, Inc. -# -# To contact Novell about this file by physical or electronic mail, you may find -# current contact information at www.novell.com. -# ------------------------------------------------------------------------------ -# -# Summary: Ask user for the SCC credentials -# - -module Yast - class InstSccClient < Client - def main - Yast.import "UI" - - textdomain "installation" - - Yast.import "Popup" - Yast.import "GetInstArgs" - Yast.import "Wizard" - Yast.import "Report" - - @test_mode = WFM.Args.include?("test") - - Wizard.CreateDialog if @test_mode - - show_scc_credentials_dialog - - ret = nil - email = nil - reg_code = nil - - continue_buttons = [:next, :back, :close, :abort] - while !continue_buttons.include?(ret) do - ret = UI.UserInput - - if ret == :next - email = UI.QueryWidget(Id(:email), :Value) - reg_code = UI.QueryWidget(Id(:reg_code), :Value) - - # TODO: validate the email and the reg_key ?? How to skip registration then? - #if email.empty? - # Popup.Error(_("The email address cannot be empty.")) - # ret = nil - #end - end - end - - if ret == :next && email && reg_code - Popup.ShowFeedback(_("Sending Data"), _("Contacting the SUSE Customer Center server...")) - - # TODO: connect to the SCC server here - sleep(7) - - Popup.ClearFeedback - end - - Wizard.CloseDialog if @test_mode - - return ret - end - - - private - - def scc_credentials_dialog - Frame(_("SUSE Customer Center Credentials"), - MarginBox(1, 0.5, - VBox( - InputField(Id(:email), _("&Email")), - VSpacing(0.5), - InputField(Id(:reg_code), _("Registration &Code")) - ) - ) - ) - end - - def scc_help_text - # TODO: improve the help text - _("Enter SUSE Customer Center credentials here to register the system to get updates and add-on products.") - end - - def show_scc_credentials_dialog - Wizard.SetContents( - _("SUSE Customer Center Registration"), - scc_credentials_dialog, - scc_help_text, - GetInstArgs.enable_back || @test_mode, - GetInstArgs.enable_next || @test_mode - ) - end - end -end - -Yast::InstSccClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/clients/inst_system_analysis.rb new/yast2-installation-3.1.24/src/clients/inst_system_analysis.rb --- old/yast2-installation-3.1.18/src/clients/inst_system_analysis.rb 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/src/clients/inst_system_analysis.rb 2014-01-27 11:05:46.000000000 +0100 @@ -91,7 +91,6 @@ @actions_todo = [] @actions_doing = [] @actions_functions = [] - @visible_icons = [] Builtins.y2milestone("Probing done: %1", Installation.probing_done) if !Installation.probing_done @@ -107,10 +106,6 @@ @actions_functions, fun_ref(method(:ActionUSB), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-usb.png" - ) # TRANSLATORS: progress step @actions_todo = Builtins.add( @@ -126,10 +121,6 @@ @actions_functions, fun_ref(method(:ActionFireWire), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-firewire.png" - ) # TRANSLATORS: progress step @actions_todo = Builtins.add( @@ -145,10 +136,6 @@ @actions_functions, fun_ref(method(:ActionFloppyDisks), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-floppy.png" - ) end # TRANSLATORS: progress step @@ -165,10 +152,6 @@ @actions_functions, fun_ref(method(:ActionHHDControllers), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-hdd-controller.png" - ) # TRANSLATORS: progress step @actions_todo = Builtins.add( @@ -184,10 +167,6 @@ @actions_functions, fun_ref(method(:ActionLoadModules), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-hdd-controller-kernel-module.png" - ) # TRANSLATORS: progress step @actions_todo = Builtins.add(@actions_todo, _("Probe hard disks")) @@ -200,7 +179,6 @@ @actions_functions, fun_ref(method(:ActionHDDProbe), "boolean ()") ) - @visible_icons = Builtins.add(@visible_icons, "32x32/apps/yast-hdd.png") WFM.CallFunction("inst_features", []) end @@ -219,10 +197,6 @@ @actions_functions, fun_ref(method(:SearchForLinuxPartitions), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-search-linux-partition.png" - ) # TRANSLATORS: progress step @actions_todo = Builtins.add(@actions_todo, _("Search for system files")) @@ -236,10 +210,6 @@ @actions_functions, fun_ref(method(:FilesFromOlderSystems), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-system-files.png" - ) # TRANSLATORS: progress step @actions_todo = Builtins.add( @@ -255,10 +225,6 @@ @actions_functions, fun_ref(method(:EvaluateUpdatePossibilities), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-update-possibility.png" - ) # TRANSLATORS: progress step @actions_todo = Builtins.add( @@ -274,12 +240,8 @@ @actions_functions, fun_ref(method(:InitInstallationRepositories), "boolean ()") ) - @visible_icons = Builtins.add( - @visible_icons, - "32x32/apps/yast-package-manager.png" - ) - Progress.NewProgressIcons( + Progress.New( # TRANSLATORS: dialog caption _("System Probing"), " ", @@ -287,8 +249,7 @@ @actions_todo, @actions_doing, # TRANSLATORS: dialog help - _("YaST is probing computer hardware and installed systems now."), - [@visible_icons] + _("YaST is probing computer hardware and installed systems now.") ) Builtins.foreach(@actions_functions) do |run_function| diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/clients/network_finish.rb new/yast2-installation-3.1.24/src/clients/network_finish.rb --- old/yast2-installation-3.1.18/src/clients/network_finish.rb 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/src/clients/network_finish.rb 2014-01-27 11:05:46.000000000 +0100 @@ -42,6 +42,7 @@ Yast.import "Linuxrc" Yast.import "String" Yast.import "NetworkService" + Yast.import "Lan" @ret = nil @func = "" @@ -69,6 +70,15 @@ "when" => [:installation, :update, :autoinst] } elsif @func == "Write" + + if Lan.UseNetworkManager + NetworkService.use_network_manager + else + NetworkService.use_wicked + end + + NetworkService.EnableDisableNow + # if network running, write network configuration # also in case of IPv6 (bnc#477917) if NetworkService.isNetworkRunning || NetworkService.isNetworkv6Running diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/src/lib/installation/clone_settings.rb new/yast2-installation-3.1.24/src/lib/installation/clone_settings.rb --- old/yast2-installation-3.1.18/src/lib/installation/clone_settings.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-installation-3.1.24/src/lib/installation/clone_settings.rb 2014-01-27 11:05:46.000000000 +0100 @@ -0,0 +1,11 @@ +require "singleton" + +module Installation + # helper module to make proposal value persistent + class CloneSettings + include Singleton + + attr_accessor :enabled + alias_method :enabled?, :enabled + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-3.1.18/startup/Makefile.am new/yast2-installation-3.1.24/startup/Makefile.am --- old/yast2-installation-3.1.18/startup/Makefile.am 2014-01-08 15:45:47.000000000 +0100 +++ new/yast2-installation-3.1.24/startup/Makefile.am 2014-01-27 11:05:46.000000000 +0100 @@ -4,7 +4,6 @@ ystartupbindir=$(ystartupdir)/startup ystartupbin_SCRIPTS = \ - AUTHOR \ YaST2.First-Stage \ YaST2.Second-Stage \ YaST2.call \ continue with "q"... Checked in at Mon Jan 27 12:28:27 CET 2014 by ro Remember to have fun... -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org