Hello community,
here is the log from the commit of package yast2-installation
checked in at Wed Feb 20 16:29:09 CET 2008.
--------
--- yast2-installation/yast2-installation.changes 2008-02-07 19:01:12.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yast2-installation/yast2-installation.changes 2008-02-20 11:00:52.000000000 +0100
@@ -1,0 +2,57 @@
+Wed Feb 20 10:35:04 CET 2008 - locilka@suse.cz
+
+- Showing release notes in tabs only if more than one product is
+ installed (bnc #359137).
+- Added better text for the complex welcome dialog (bnc #359528).
+- Adjusted RPM dependencies (new Language API, see below).
+- 2.16.19
+
+-------------------------------------------------------------------
+Wed Feb 20 10:24:26 CET 2008 - jsuchome@suse.cz
+
+- inst_complex_welcome: save keyboard settings (bnc #360559),
+ use the API from Language.ycp for generating items
+
+-------------------------------------------------------------------
+Fri Feb 15 14:28:45 CET 2008 - jsrain@suse.cz
+
+- updated image-based installatoin not to use any hardcoded
+ image names
+
+-------------------------------------------------------------------
+Thu Feb 14 11:20:04 CET 2008 - locilka@suse.cz
+
+- Function FileSystemCopy from live-installer has been moved
+ to ImageInstallation module (installation).
+- Adjusted RPM dependencies (Installation module in yast2).
+
+-------------------------------------------------------------------
+Wed Feb 13 14:18:16 CET 2008 - jsrain@suse.cz
+
+- added handling of update initiated from running system
+
+-------------------------------------------------------------------
+Tue Feb 12 10:26:15 CET 2008 - locilka@suse.cz
+
+- Added new update_wizard_steps YCP client for easy updating or
+ redrawing installation wizard steps from other modules.
+
+-------------------------------------------------------------------
+Mon Feb 11 18:28:00 CET 2008 - locilka@suse.cz
+
+- Installation clients 'auth', 'user', and 'root' have been
+ disabled by default. First-stage users will enable them only
+ if needed.
+
+-------------------------------------------------------------------
+Fri Feb 08 13:06:19 CET 2008 - aschnell@suse.de
+
+- during installation allow yast to be started from gdb with
+ Y2GDB=1 on kernel command line (fate #302346)
+
+-------------------------------------------------------------------
+Fri Feb 8 10:37:02 CET 2008 - locilka@suse.cz
+
+- Umount(s) used with -l and -f params.
+
+-------------------------------------------------------------------
Old:
----
yast2-installation-2.16.18.tar.bz2
New:
----
yast2-installation-2.16.19.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-installation.spec ++++++
--- /var/tmp/diff_new_pack.QU9783/_old 2008-02-20 16:28:56.000000000 +0100
+++ /var/tmp/diff_new_pack.QU9783/_new 2008-02-20 16:28:56.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-installation (Version 2.16.18)
+# spec file for package yast2-installation (Version 2.16.19)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -10,25 +10,26 @@
# norootforbuild
+
Name: yast2-installation
-Version: 2.16.18
+Version: 2.16.19
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-installation-2.16.18.tar.bz2
+Source0: yast2-installation-2.16.19.tar.bz2
Prefix: /usr
BuildRequires: docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer sgml-skel update-desktop-files yast2-core-devel yast2-devtools yast2-testsuite
# URL::MakeParamsFromMap and URL::MakeMapFromParams
BuildRequires: yast2 >= 2.16.25
Requires: autoyast2-installation
-# InstExtensionImage module moved to installation
-Requires: yast2 >= 2.16.26
+# Installation::run_update_file
+Requires: yast2 >= 2.16.27
# Required in in the first stage, after
# switching to the installed system, bugzilla #249679
Requires: yast2-bootloader
-# Newly created RPM
-Requires: yast2-country-data >= 2.16.3
+# Language::GetLanguageItems and other API
+Requires: yast2-country-data >= 2.16.9
# New System-selection data and API DefaultDesktop module
# New API in ProductLicense
Requires: yast2-packager >= 2.16.18
@@ -70,12 +71,14 @@
Summary: YaST2 - Installation Parts
%package devel-doc
-Version: 2.16.18
+
+Name: yast2-installation
+Version: 2.16.19
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-installation-2.16.18.tar.bz2
+Source0: yast2-installation-2.16.19.tar.bz2
Prefix: /usr
Requires: yast2-installation >= 2.15.34
PreReq: %fillup_prereq
@@ -108,7 +111,7 @@
Lukas Ocilka
%prep
-%setup -n yast2-installation-2.16.18
+%setup -n yast2-installation-2.16.19
%build
%{prefix}/bin/y2tool y2autoconf
@@ -173,7 +176,38 @@
%doc %{prefix}/share/doc/packages/yast2-installation
%exclude %{prefix}/share/doc/packages/yast2-installation/COPYING
%exclude %{prefix}/share/doc/packages/yast2-installation/README
+
%changelog
+* Wed Feb 20 2008 locilka@suse.cz
+- Showing release notes in tabs only if more than one product is
+ installed (bnc #359137).
+- Added better text for the complex welcome dialog (bnc #359528).
+- Adjusted RPM dependencies (new Language API, see below).
+- 2.16.19
+* Wed Feb 20 2008 jsuchome@suse.cz
+- inst_complex_welcome: save keyboard settings (bnc #360559),
+ use the API from Language.ycp for generating items
+* Fri Feb 15 2008 jsrain@suse.cz
+- updated image-based installatoin not to use any hardcoded
+ image names
+* Thu Feb 14 2008 locilka@suse.cz
+- Function FileSystemCopy from live-installer has been moved
+ to ImageInstallation module (installation).
+- Adjusted RPM dependencies (Installation module in yast2).
+* Wed Feb 13 2008 jsrain@suse.cz
+- added handling of update initiated from running system
+* Tue Feb 12 2008 locilka@suse.cz
+- Added new update_wizard_steps YCP client for easy updating or
+ redrawing installation wizard steps from other modules.
+* Mon Feb 11 2008 locilka@suse.cz
+- Installation clients 'auth', 'user', and 'root' have been
+ disabled by default. First-stage users will enable them only
+ if needed.
+* Fri Feb 08 2008 aschnell@suse.de
+- during installation allow yast to be started from gdb with
+ Y2GDB=1 on kernel command line (fate #302346)
+* Fri Feb 08 2008 locilka@suse.cz
+- Umount(s) used with -l and -f params.
* Thu Feb 07 2008 locilka@suse.cz
- Functionality that integrates the just-selected language
translation has been moved to integrate_translation_extension
++++++ yast2-installation-2.16.18.tar.bz2 -> yast2-installation-2.16.19.tar.bz2 ++++++
++++ 3557 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/desktop_finish.ycp new/yast2-installation-2.16.19/src/clients/desktop_finish.ycp
--- old/yast2-installation-2.16.18/src/clients/desktop_finish.ycp 2007-05-18 10:44:04.000000000 +0200
+++ new/yast2-installation-2.16.19/src/clients/desktop_finish.ycp 2008-02-18 12:18:14.000000000 +0100
@@ -8,7 +8,7 @@
* Authors:
* Jiri Srain
*
- * $Id: desktop_finish.ycp 37863 2007-05-09 08:26:05Z locilka $
+ * $Id: desktop_finish.ycp 44576 2008-02-18 10:50:34Z coolo $
*
*/
@@ -69,25 +69,25 @@
"package" : "gdm",
"wm" : "gnome",
"dm" : "gdm",
- "cursor" : "Industrial",
+ "cursor" : "DMZ",
],
"kde" : $[
- "package" : "kdebase3-kdm",
+ "package" : "kde4-kdm",
"wm" : "kde",
"dm" : "kdm",
- "cursor" : "crystalwhite",
+ "cursor" : "DMZ",
],
"twm" : $[
"package" : "xorg-x11",
"wm" : "",
"dm" : "xdm",
- "cursor" : "crystalwhite",
+ "cursor" : "DMZ",
],
];
string default_wm = "gnome";
string default_dm = "gdm";
- string default_cursor = "Industrial";
+ string default_cursor = "DMZ";
string selected_desktop = DefaultDesktop::Desktop ();
if (selected_desktop != "" && selected_desktop != nil)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/inst_complex_welcome.ycp new/yast2-installation-2.16.19/src/clients/inst_complex_welcome.ycp
--- old/yast2-installation-2.16.18/src/clients/inst_complex_welcome.ycp 2008-02-07 14:17:13.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/inst_complex_welcome.ycp 2008-02-20 10:54:43.000000000 +0100
@@ -42,137 +42,39 @@
import "InstData";
import "ProductLicense";
- string language = Language::language;
-
- /**
- * check if selected language has support on media (F301238)
- * show a warning when not
- */
- define void check_languages_support (string selected_language) {
-
- string linguas = (string) SCR::Read (.content.LINGUAS);
-
- if (linguas == nil) {
- y2warning ("No LINGUAS tag defined in content file");
- return;
- }
-
- y2milestone ("content LINGUAS %1", linguas);
- list <string> all_linguas = splitstring (linguas, " ");
- string language_short = substring (selected_language, 0, 2);
-
- if (!contains (all_linguas, selected_language) && !contains (all_linguas, language_short)) {
- y2milestone ("Language %1 is not fully supported", selected_language);
- // popup message
- Popup::Message (_("Only minimal support for the selected language is included on the media.
-Add the Language Add-On CD as an additional repository to get better support
-for this language."));
- }
- }
-
// ------------------------------------- main part of the client -----------
map argmap = GetInstArgs::argmap();
- // Check if the current call should be treated as the first run (3rd param).
- // In this case if the user exits with next the the current setting
- // will be made the default that is restored with "Reset to defaults".
- //
- boolean set_default = argmap["first_run"]:"no" == "yes";
- y2milestone("set_default: %1", set_default );
+ string language = Language::language;
+ // language preselected in /etc/install.inf
string preselected = Language::preselected;
- list<string>languages = splitstring (Language::languages, ",");
-
- // filter the primary language from the list of secondary ones:
- languages = filter (string l, languages, ``(l != language));
-
-
- // Build the contents of the dialog.
-
- // build up language selection box
- // with the default selection according to Language::language
-
- // set up selection list with default item
-
boolean text_mode = Language::GetTextMode ();
/* ----------------------------------------------------------------------
* Build dialog
* ----------------------------------------------------------------------*/
// heading text
- string heading_text = _("Languages");
-
- // sort language by ASCII with help of a map
- // $[ "ascii-name" : [ "user-readable-string", "code" ], ...]
- // the "user-readable-string" is either ascii or utf8, depending
- // on textmode probed above (workaround because there isn't any
- // usable console font for all languages).
-
- map languageselsort = mapmap (
- string lang_code, list lang_info, Language::Selection(), {
- string key = lang_info [1]:lang_code;
- return $[
- key : [
- lang_info[text_mode ? 1 : 0]:"",
- lang_code,
- lang_info[2]:key
- ]
- ];
- }
- );
-
- // mapping of language name (translated) to language code
- map lang2code = $[];
- // list of language names (translated)
- list<string> lang_list = [];
- foreach (any name, list codelist, languageselsort, {
- lang2code [codelist[2]:""] = codelist[1]:"";
- lang_list = add (lang_list, codelist[2]:"");
- });
+ string heading_text = _("Welcome");
term languagesel = `ComboBox (
`id (`language),
`opt (`notify),
- _("&Language"),
- maplist (any name, list codelist, languageselsort, {
- return `item (
- `id (codelist[1]:""),
- codelist[0]:""//,
- //(language == codelist[1]:"")
- );
- })
+ _("&Language"), Language::GetLanguageItems (`first_screen)
);
- map keyb_selection = Keyboard::Selection();
- string keyb = "";
-
- list <term> keyb_items = maplist (any name, list codelist, languageselsort, {
- keyb = Keyboard::GetKeyboardForLanguage (codelist[1]:"", "english-us");
-
- return `item (
- `id (keyb),
- keyb_selection[keyb]:""
- );
- });
- keyb_items = toset (keyb_items);
-
-
term keyboardsel = `ComboBox (
`id (`keyboard),
`opt (`notify),
_("&Keyboard Layout"),
- keyb_items
+ // all keyboard layouts should be available
+ maplist (string id, string label, Keyboard::Selection (),
+ ``(`item (`id (id), label))
+ )
);
- if (Stage::firstboot ())
- languagesel = `ComboBox (`id(`language), `opt(`notify), _("&Language"),
- maplist (string trans_lang, lsort (lang_list), {
- string code = lang2code [trans_lang]:"";
- return `item (`id (code), trans_lang, language == code);
- })
- );
// this type of contents will be shown only for initial installation dialog
term contents = `VBox (
@@ -202,8 +104,9 @@
`VSpacing (text_mode ? 0.1 : 0.5),
`MinHeight (1, `HBox (
`Left (`CheckBox (
+ // bnc #359456
// TRANSLATORS: check-box
- `id (`license_agreement), `opt (`notify), _("I Do &Agree to the License Terms."), InstData::product_license_accepted
+ `id (`license_agreement), `opt (`notify), _("I &Agree to the License Terms."), InstData::product_license_accepted
)),
`VStretch (),
// TRANSLATORS: button label
@@ -228,51 +131,38 @@
));
}
- string help_text = "";
- // help text (language dependent packages) - at the end of help
- string packages_help = _("<p>
-Additional packages with support for the selected primary and secondary languages will be installed. Packages no longer needed will be removed.
-</p>");
-
- if (Stage::initial ())
- {
- // help text for initial (first time) language screen
- help_text = _("<p>
-Choose the <b>Language</b> to use during installation and for
-the installed system.
+ // help text for initial (first time) language screen
+ string help_text = _("<p>
+Choose the <b>Language</b> and the <b>Keyborad layout</b> to be used during
+installation and for the installed system.
</p>
-");
+") +
- // help text, continued
- help_text = help_text + _("<p>
+ // help text, continued
+ _("<p>
+License has to be accepted before continuing the installation.
+Use <b>Show License</b> to show the license in all available translations.
+</p>") +
+
+ // help text, continued
+ _("<p>
Click <b>Next</b> to proceed to the next dialog.
</p>
-");
+") +
- // help text, continued
- help_text = help_text + _("<p>
+ // help text, continued
+ _("<p>
Nothing will happen to your computer until you confirm
all your settings in the last installation dialog.
</p>
-");
- if (set_default)
- {
- // help text, continued
- help_text = help_text + _("<p>
-You can select <b>Abort Installation</b> at any time to abort the
+") +
+
+ // help text, continued
+ _("<p>
+You can select <b>Abort</b> installation at any time to abort the
installation process.
</p>
");
- }
- }
- else
- {
- // different help text when called after installation
- // in an installed system
- help_text = _("<p>
-Choose the new <b>Language</b> for your system.
-</p>\n");
- }
// Screen title for the first interactive dialog
@@ -297,11 +187,6 @@
UI::SetFocus(`id(`language));
- // adapt keyboard for language?
- boolean kbd_adapt = (set_default && !Mode::config ());
- // adapt timezone for language?
- boolean tmz_adapt = (set_default && !Mode::config ());
-
string keyboard = "";
boolean license_acc = nil;
@@ -315,16 +200,6 @@
}
}
- boolean CheckIncompleteTranslation () {
- if (Language::IncompleteTranslation (language)) {
- // continue/cancel message
- return Popup::ContinueCancel (_("Translation of the primary language is not complete.
-Some texts may be displayed in English.
-"));
- } else {
- return true;
- }
- }
void ReadCurrentUIState () {
language = (string) UI::QueryWidget (`id (`language), `Value);
@@ -346,10 +221,7 @@
if (language != Language::language) {
y2milestone ("Language changed from %1 to %2", Language::language, language);
-
- if (set_default) {
- Timezone::ResetZonemap ();
- }
+ Timezone::ResetZonemap ();
// Set it in the Language module.
Language::Set (language);
@@ -357,8 +229,7 @@
// Check and set CJK languages
if (Stage::initial () || Stage::firstboot ()) {
- if ((set_default && ret == `language ||
- (!set_default && ret == `next)) &&
+ if (ret == `language &&
Language::CJKLanguage (language) &&
!Language::CJKLanguage (preselected) &&
Language::GetTextMode ()) {
@@ -367,44 +238,36 @@
installation, but the selected language will be used for the new system."));
Language::WfmSetGivenLanguage ("en_US");
- } else if (ret == `next || (set_default && ret == `language)) {
+ } else if (ret == `language) {
Console::SelectFont (language);
Language::WfmSetLanguage ();
}
}
- if (ret == `language && set_default) {
+ if (ret == `language) {
// Display newly translated dialog.
Wizard::SetFocusToNextButton();
return true;
}
if (ret == `next) {
- Keyboard::SetLanguage (keyboard);
+ Keyboard::Set (keyboard);
// Language has been set already.
// On first run store users decision as default.
- if (set_default) {
- y2milestone("Resetting to default language");
- Language::SetDefault();
- }
+ y2milestone("Resetting to default language");
+ Language::SetDefault();
- if (tmz_adapt) {
- Timezone::SetTimezoneForLanguage (language);
- } else {
- Timezone::user_decision = true;
- }
+ Timezone::SetTimezoneForLanguage (language);
if (!Stage::initial () && !Mode::update ()) {
// save settings (rest is saved in LanguageWrite)
- if (kbd_adapt)
- Keyboard::Save (true);
- if (tmz_adapt)
- Timezone::Save ();
+ Keyboard::Save (true);
+ Timezone::Save ();
}
// Bugzilla #354133
- y2milestone ("Adjustign package and text locale to %1", language);
+ y2milestone ("Adjusting package and text locale to %1", language);
Pkg::SetPackageLocale (language);
Pkg::SetTextLocale (language);
@@ -451,11 +314,11 @@
if (! LicenseAccepted ())
continue;
- if (! CheckIncompleteTranslation())
+ if (!Language::CheckIncompleteTranslation (language))
continue;
if (Stage::initial())
- check_languages_support (language);
+ Language::CheckLanguagesSupport (language);
}
if (SetLanguageIfChanged (ret)) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/inst_deploy_image.ycp new/yast2-installation-2.16.19/src/clients/inst_deploy_image.ycp
--- old/yast2-installation-2.16.18/src/clients/inst_deploy_image.ycp 2008-01-09 10:04:46.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/inst_deploy_image.ycp 2008-02-18 09:35:49.000000000 +0100
@@ -8,8 +8,7 @@
y2milestone ("Deploying image");
-// TODO non-static list of images
-list<string> images = ["root", "zypp", "opt", "home"];
+list<string> images = ImageInstallation::ImageOrder ();
integer last_image = nil;
@@ -30,15 +29,37 @@
Progress::Step (image);
}
+if (! Installation::image_installation)
+ return `auto;
+
Wizard::SetContents (_("Deploying Installation Images"), `Empty (), "", false, false);
Wizard::SetTitleIcon ("yast-inst-mode");
// TODO help
Progress::Simple (_("Deploying Installation Images"), _("Deploying Installation Images"), size (images), "help");
-Pkg::TargetFinish ();
+// finish target if it was initialized
+if (! Installation::image_only)
+{
+// TODO save the status of all packages
+ Pkg::TargetFinish ();
+}
+
+/*
+// FIXME the images usually do not fit in RAMDISK
+// move download area to hard disk (for HTTP/FTP media)
+// TODO select according to partitioning
+string download_dir = "/img_tmp";
+download_dir = Installation::destdir + download_dir;
+SCR::Execute (.target.bash, sformat ("test -d %1 || mkdir -p %1", download_dir));
+Pkg::SourceMoveDownloadArea (download_dir);
+// don't know why it didn't work :-(
+*/
+
ImageInstallation::DeployImages (images, Installation::destdir, SetProgress);
+//SCR::Execute (.target.bash, sformat ("rmdir %1", download_dir));
+
y2milestone ("Target image for package selector prepared");
return `next;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/inst_prepare_image.ycp new/yast2-installation-2.16.19/src/clients/inst_prepare_image.ycp
--- old/yast2-installation-2.16.18/src/clients/inst_prepare_image.ycp 2008-01-09 10:04:46.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/inst_prepare_image.ycp 2008-02-18 09:35:49.000000000 +0100
@@ -11,6 +11,7 @@
import "ImageInstallation";
import "GetInstArgs";
import "Wizard";
+import "Installation";
textdomain "installation";
@@ -23,23 +24,31 @@
Wizard::SetContents (_("Analyzing Installation Images"), `Empty (), "", false, false);
Wizard::SetTitleIcon ("yast-inst-mode");
+// set repo to get images from
ImageInstallation::SetRepo (Packages::theSources[0]:0);
-// TODO: read the list of images from the media
-ImageInstallation::AddImage ("root", "base.tgz", "tar");
-ImageInstallation::AddImage ("home", "home.tgz", "tar");
-ImageInstallation::AddImage ("zypp", "zypp.tgz", "tar");
-ImageInstallation::AddImage ("opt", "opt.tgz", "tar");
-
-string sw_db_root = (string)SCR::Read (.target.tmpdir) + "/sw_db_root";
-ImageInstallation::DeployImageTemporarily ("zypp", sw_db_root);
-
-// TODO: redefine pkg callbacks for RPM database reading, which is the most time-consuming part
-Pkg::TargetInitialize (sw_db_root);
-Pkg::TargetLoad ();
-ImageInstallation::CleanTemporaryImage ("zypp", sw_db_root);
+// list images for currently selected patterns
+// TODO: Pass selected pattern(s)
+ImageInstallation::FindImageSet ([]);
+
+// also set an RPM database
+if (! Installation::image_only)
+{
+ string sw_db_root = (string)SCR::Read (.target.tmpdir) + "/sw_db_root";
+ ImageInstallation::DeployImageTemporarily (ImageInstallation::SwMgmtImage (), sw_db_root);
+
+ // TODO: redefine pkg callbacks for RPM database reading, which is the most time-consuming part
+ Pkg::TargetInitialize (sw_db_root);
+ Pkg::TargetLoad ();
-y2milestone ("Target image for package selector prepared");
+ ImageInstallation::CleanTemporaryImage (ImageInstallation::SwMgmtImage (), sw_db_root);
+
+ y2milestone ("Target image for package selector prepared");
+}
+else
+{
+ y2milestone ("Skipping preparing image for package selector");
+}
return `next;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/inst_proposal.ycp new/yast2-installation-2.16.19/src/clients/inst_proposal.ycp
--- old/yast2-installation-2.16.18/src/clients/inst_proposal.ycp 2008-02-07 18:55:36.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/inst_proposal.ycp 2008-02-14 11:20:29.000000000 +0100
@@ -7,7 +7,7 @@
* Jiri Srain
* Lukas Ocilka
*
- * $Id: inst_proposal.ycp 44236 2008-02-07 12:49:39Z visnov $
+ * $Id: inst_proposal.ycp 44438 2008-02-14 10:20:28Z locilka $
*
* Create and display reasonable proposal for basic
* installation and call sub-workflows as required
@@ -83,6 +83,15 @@
}
};
+ void CheckAndCloseWindowsLeft () {
+ while (! UI::WidgetExists (`id(`proposal))) {
+ y2error (-1, "Widget `proposal is not active!!! Closing one UI layer...");
+ y2milestone ("--- Current widget tree ---");
+ UI::DumpWidgetTree();
+ y2milestone ("--- Current widget tree ---");
+ UI::CloseDialog();
+ }
+ }
/**
* Call a submodule's MakeProposal() function.
@@ -101,6 +110,10 @@
"language_changed" : language_changed ] ] );
y2debug( "%1 MakeProposal() returns %2", submodule, proposal );
+ // There might be some UI layers left
+ // we need to close them
+ CheckAndCloseWindowsLeft();
+
return proposal;
};
@@ -158,6 +171,10 @@
make_proposal( false, language_changed );
}
+ // There might be some UI layers left
+ // we need to close them
+ CheckAndCloseWindowsLeft();
+
return workflow_sequence;
};
@@ -173,6 +190,10 @@
``{
map description = (map) WFM::CallFunction( submodule, [ "Description", $[] ] );
+ // There might be some UI layers left
+ // we need to close them
+ CheckAndCloseWindowsLeft();
+
return description;
};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/inst_release_notes.ycp new/yast2-installation-2.16.19/src/clients/inst_release_notes.ycp
--- old/yast2-installation-2.16.18/src/clients/inst_release_notes.ycp 2008-01-21 10:57:46.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/inst_release_notes.ycp 2008-02-20 10:35:23.000000000 +0100
@@ -8,7 +8,7 @@
*
* Display release notes.
*
- * $Id: inst_release_notes.ycp 43760 2008-01-21 09:57:20Z locilka $
+ * $Id: inst_release_notes.ycp 44669 2008-02-20 09:35:22Z locilka $
*/
{
@@ -87,7 +87,7 @@
list <string> preferred_langs = [
Language::language,
- substring (Language::language, 0, 2),
+ splitstring (Language::language, "_")[0]:"",
"en_US",
"en_GB",
"en"
@@ -170,24 +170,24 @@
`RichText (`id (`relnotescontent), "")
);
- // use DumpTab or ComboBox layout
- if ( UI::HasSpecialWidget(`DumbTab ) && (
- ( size(relnotesproducts)<4 && prodnamelen<90 ) ||
- ( size(relnotesproducts)>3 && prodnamelen<70 ) )
- )
- {
- relnoteslayout = `DumbTab (relnotesproducts, relnotesscreen);
- }
- else
- {
- relnoteslayout = `VBox (
- `Left (
- `MinWidth (
- // +2 thingies on the right
- minwidtprodsel + 2,
- `ComboBox (`id(`productsel), `opt(`notify), _("&Product"), relnotesproducts)
- )
- ),
+ // if there are more products installed, show them in tabs or with
+ // combo box, bnc #359137 (do not show tab for one product)
+ if (size (relnotesproducts) <= 1) {
+ relnoteslayout = relnotesscreen;
+ // use DumpTab or ComboBox layout
+ } else if (UI::HasSpecialWidget(`DumbTab) && (
+ (size(relnotesproducts)<4 && prodnamelen<90) ||
+ (size(relnotesproducts)>3 && prodnamelen<70)
+ )) {
+ relnoteslayout = `DumbTab (relnotesproducts, relnotesscreen);
+ // doesn't have DumpTab or too many products
+ } else {
+ relnoteslayout = `VBox (
+ `Left (`MinWidth (
+ // +2 thingies on the right
+ minwidtprodsel + 2,
+ `ComboBox (`id(`productsel), `opt(`notify), _("&Product"), relnotesproducts)
+ )),
relnotesscreen
);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/inst_worker_initial.ycp new/yast2-installation-2.16.19/src/clients/inst_worker_initial.ycp
--- old/yast2-installation-2.16.18/src/clients/inst_worker_initial.ycp 2008-01-28 16:58:20.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/inst_worker_initial.ycp 2008-02-14 11:19:35.000000000 +0100
@@ -48,6 +48,9 @@
// Initial stage
SetInitialInstallation ();
+ // Update initiated from running system
+ SetSystemUpdate ();
+
// All stages
SetUIContent();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/integrate_translation_extension.ycp new/yast2-installation-2.16.19/src/clients/integrate_translation_extension.ycp
--- old/yast2-installation-2.16.18/src/clients/integrate_translation_extension.ycp 2008-02-07 15:21:43.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/integrate_translation_extension.ycp 2008-02-15 13:14:48.000000000 +0100
@@ -82,7 +82,7 @@
// 'en_US' ? add also 'en'
if (size (language) > 2) {
- check_for_languages = add (check_for_languages, substring (language, 0, 2));
+ check_for_languages = add (check_for_languages, splitstring (language, "_")[0]:"");
}
// Default fallback
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/release_notes_popup.ycp new/yast2-installation-2.16.19/src/clients/release_notes_popup.ycp
--- old/yast2-installation-2.16.18/src/clients/release_notes_popup.ycp 2008-01-16 15:31:14.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/release_notes_popup.ycp 2008-02-15 13:19:49.000000000 +0100
@@ -6,7 +6,7 @@
*
* Display release notes.
*
- * $Id: release_notes_popup.ycp 43666 2008-01-16 14:31:14Z locilka $
+ * $Id: release_notes_popup.ycp 44505 2008-02-15 12:19:49Z locilka $
*/
{
@@ -49,7 +49,7 @@
tmp = Pkg::SourceProvideOptionalFile (source_id, 1, tmp);
if (tmp == nil)
{
- tmp = sformat (path_templ, substring (Language::language, 0, 2));
+ tmp = sformat (path_templ, splitstring (Language::language, "_")[0]:"");
y2debug ("Trying to get %1", tmp);
tmp = Pkg::SourceProvideOptionalFile (source_id, 1, tmp);
}
@@ -80,7 +80,7 @@
y2debug ("Trying to get %1", tmp);
if (0 >= (integer)SCR::Read (.target.size, tmp))
{
- tmp = sformat (path_templ, substring (Language::language, 0, 2));
+ tmp = sformat (path_templ, splitstring (Language::language, "_")[0]:"");
y2debug ("Trying to get %1", tmp);
}
if (0 >= (integer)SCR::Read (.target.size, tmp))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/umount_finish.ycp new/yast2-installation-2.16.19/src/clients/umount_finish.ycp
--- old/yast2-installation-2.16.18/src/clients/umount_finish.ycp 2007-11-20 11:12:28.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/umount_finish.ycp 2008-02-08 10:37:51.000000000 +0100
@@ -8,7 +8,7 @@
* Authors:
* Jiri Srain
*
- * $Id: umount_finish.ycp 42202 2007-11-20 10:12:27Z locilka $
+ * $Id: umount_finish.ycp 44265 2008-02-08 09:37:51Z locilka $
*
*/
@@ -91,7 +91,7 @@
if (umount_result != true) {
y2warning ("Umount failed, trying to remount read only...");
- string cmd = sformat ("sync; mount -o remount,ro '%1'; umount --force '%1';", String::Quote (umount_this));
+ string cmd = sformat ("sync; mount -o remount,ro '%1'; umount -l -f '%1';", String::Quote (umount_this));
y2milestone ("Cmd: '%1' Ret: %2", cmd, WFM::Execute (.local.bash_output, cmd));
}
});
@@ -136,7 +136,7 @@
// bugzilla #326478
if (umount_status != true) {
y2warning ("Umount failed, trying to remount read only...");
- string cmd = sformat ("mount -o remount,ro '%1'; umount --force '%1';", String::Quote (tmp));
+ string cmd = sformat ("mount -o remount,ro '%1'; umount -l -f '%1';", String::Quote (tmp));
y2milestone ("Cmd: '%1' Ret: %2", cmd, WFM::Execute (.local.bash_output, cmd));
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/clients/update_wizard_steps.ycp new/yast2-installation-2.16.19/src/clients/update_wizard_steps.ycp
--- old/yast2-installation-2.16.18/src/clients/update_wizard_steps.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-installation-2.16.19/src/clients/update_wizard_steps.ycp 2008-02-12 10:25:51.000000000 +0100
@@ -0,0 +1,29 @@
+/**
+ * File:
+ * update_wizard_steps.ycp
+ *
+ * Module:
+ * Installation
+ *
+ * Authors:
+ * Lukas Ocilka
+ *
+ * Summary:
+ * Script can be called from another installation modules.
+ * It has been designed just to redraw the installation
+ * steps. Call it only if needed.
+ * WFM::call ("update_wizard_steps")
+ *
+ * $Id:$
+ *
+ */
+{
+ textdomain "installation";
+
+ include "installation/misc.ycp";
+
+ y2milestone ("Updating/redrawing wizard steps...");
+ UpdateWizardSteps();
+
+ return `auto;
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/include/inst_inc_first.ycp new/yast2-installation-2.16.19/src/include/inst_inc_first.ycp
--- old/yast2-installation-2.16.18/src/include/inst_inc_first.ycp 2007-06-13 16:13:12.000000000 +0200
+++ new/yast2-installation-2.16.19/src/include/inst_inc_first.ycp 2008-02-14 11:19:35.000000000 +0100
@@ -42,6 +42,11 @@
ProductControl::DisabledModules = add (ProductControl::DisabledModules, "add-on");
ProductControl::DisabledModules = add (ProductControl::DisabledModules, "productsources");
+ // First-stage users module will enable them again only if needed
+ ProductControl::DisabledModules = add (ProductControl::DisabledModules, "root");
+ ProductControl::DisabledModules = add (ProductControl::DisabledModules, "user");
+ ProductControl::DisabledModules = add (ProductControl::DisabledModules, "auth");
+
UI::SetLanguage (Language::language, Installation::encoding);
WFM::SetLanguage (Language::language, "UTF-8");
UI::RecordMacro (Directory::logdir + "/macro_inst_initial.ycp");
@@ -64,4 +69,23 @@
}
}
+ /**
+ * Handle starting distro upgrade from running system
+ */
+ void SetSystemUpdate () {
+ if (FileUtils::Exists (Installation::run_update_file)) {
+ Mode::SetMode ("update");
+ foreach (string m, [
+ "language", // language already selected
+ "disks_activate", // disks activated before running upgrade
+ "mode", // always doing update, is already preselected
+ "update_partition", // no mounting
+ "do_resize", // why is this included in upgrade at all? it is empty anyway
+ "prepdisk", // disks already mounted, it is dummy in update anyway
+ ], {
+ ProductControl::DisabledModules = add (ProductControl::DisabledModules, m);
+ });
+ }
+ }
+
} //end of include
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-installation-2.16.18/src/modules/ImageInstallation.ycp new/yast2-installation-2.16.19/src/modules/ImageInstallation.ycp
--- old/yast2-installation-2.16.18/src/modules/ImageInstallation.ycp 2008-01-09 10:04:46.000000000 +0100
+++ new/yast2-installation-2.16.19/src/modules/ImageInstallation.ycp 2008-02-18 09:35:49.000000000 +0100
@@ -16,6 +16,13 @@
module "ImageInstallation";
+import "Installation";
+import "XML";
+import "Progress";
+import "Report";
+
+textdomain "installation";
+
/**
* Repository holding all images
*/
@@ -27,6 +34,16 @@
map > _images = $[];
/**
+ * Order of images
+ */
+list<string> _image_order = [];
+
+/**
+ * Image with software management metadata
+ */
+string _metadata_image = "";
+
+/**
* Template for the path for an image on the media
*/
string _image_path = "/images/%1";
@@ -44,6 +61,21 @@
_repo = repo;
}
+/**
+ * Name of image containing software management metadata (if exists)
+ * @return string image with sw mgmt metadata
+ */
+global string SwMgmtImage () {
+ return _metadata_image;
+}
+
+/**
+ * Order of images to be deployed
+ * @return a list of images definint the order
+ */
+global list<string> ImageOrder () {
+ return _image_order;
+}
/**
* Add information about new image
@@ -51,7 +83,7 @@
* @param file string the file name of the image
* @param type string the type of the image, one of "tar" and "fs"
*/
-global void AddImage (string id, string file, string type) {
+void AddImage (string id, string file, string type) {
_images[id] = $[
"file" : file,
"type" : type,
@@ -248,4 +280,153 @@
// TODO error checking
}
+/**
+ * Find a set of images which suites selected patterns
+ * @param patterns a list of patterns which are selected
+ * @return boolean true on success or when media does not contain any images
+ */
+global boolean FindImageSet (list<string> patterns) {
+ // reset all data
+ _images = $[];
+ _image_order = [];
+ _metadata_image = "";
+
+ string filename = Pkg::SourceProvideOptionalFile (_repo, 1, "/images/images.xml");
+ if (filename == nil)
+ {
+ Installation::image_installation = false;
+ Installation::image_only= false;
+ y2milestone ("Image list for installation not found");
+ return true;
+ }
+ map image_descr = XML::XMLToYCPFile (filename);
+ if (image_descr == nil)
+ {
+ Installation::image_installation = false;
+ Installation::image_only= false;
+ Report::Error (_("Failed to read information about installation images"));
+ return false;
+ }
+ list