Hello community, here is the log from the commit of package yast2-wagon checked in at Mon Oct 27 17:34:26 CET 2008. -------- --- yast2-wagon/yast2-wagon.changes 2008-10-17 13:17:34.000000000 +0200 +++ /mounts/work_src_done/STABLE/yast2-wagon/yast2-wagon.changes 2008-10-27 17:11:17.000000000 +0100 @@ -1,0 +2,17 @@ +Mon Oct 27 12:52:02 CET 2008 - locilka@suse.cz + +- Calling inst_prepareprogress before inst_kickoff (bnc #438848). +- 2.17.3 + +------------------------------------------------------------------- +Wed Oct 22 19:15:47 CEST 2008 - locilka@suse.cz + +- Enhanced self-update mechanism to use packages as fallback when + no patches (for package management) are installable. + +------------------------------------------------------------------- +Fri Oct 17 14:18:43 CEST 2008 - locilka@suse.cz + +- PatchCD control file moved here from yast2-online-update. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- yast2-wagon-2.17.2.tar.bz2 New: ---- yast2-wagon-2.17.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-wagon.spec ++++++ --- /var/tmp/diff_new_pack.d29294/_old 2008-10-27 17:33:15.000000000 +0100 +++ /var/tmp/diff_new_pack.d29294/_new 2008-10-27 17:33:15.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package yast2-wagon (Version 2.17.2) +# spec file for package yast2-wagon (Version 2.17.3) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,17 +19,18 @@ Name: yast2-wagon -Version: 2.17.2 +Version: 2.17.3 Release: 1 License: GPL v2 or later Group: System/YaST BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-wagon-2.17.2.tar.bz2 +Source0: yast2-wagon-2.17.3.tar.bz2 Prefix: /usr # Possibility to restart YaST Requires: yast2 >= 2.17.33 -Requires: yast2-online-update +Requires: yast2-online-update >= 2.17.9 BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite yast2-update +Provides: yast2-online-update:/usr/share/applications/YaST2/cd_update.desktop BuildArch: noarch Summary: YaST2 - Migration Tool for Service Packs @@ -45,7 +46,7 @@ Lukas Ocilka <locilka@suse.cz> %prep -%setup -n yast2-wagon-2.17.2 +%setup -n yast2-wagon-2.17.3 %build %{prefix}/bin/y2tool y2autoconf @@ -75,10 +76,18 @@ /usr/share/YaST2/modules/*.ycp /usr/share/YaST2/modules/*.ybc %dir /usr/share/YaST2/control +%{prefix}/share/applications/YaST2/*.desktop /usr/share/YaST2/control/online_migration.xml %doc %{prefix}/share/doc/packages/yast2-wagon - %changelog +* Mon Oct 27 2008 locilka@suse.cz +- Calling inst_prepareprogress before inst_kickoff (bnc #438848). +- 2.17.3 +* Wed Oct 22 2008 locilka@suse.cz +- Enhanced self-update mechanism to use packages as fallback when + no patches (for package management) are installable. +* Fri Oct 17 2008 locilka@suse.cz +- PatchCD control file moved here from yast2-online-update. * Fri Oct 17 2008 locilka@suse.cz - Added wagon_update_proposal client and DUP proposal functions in Wagon module. ++++++ yast2-wagon-2.17.2.tar.bz2 -> yast2-wagon-2.17.3.tar.bz2 ++++++ ++++ 3326 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-wagon-2.17.2/src/clients/wagon_selfupdate.ycp new/yast2-wagon-2.17.3/src/clients/wagon_selfupdate.ycp --- old/yast2-wagon-2.17.2/src/clients/wagon_selfupdate.ycp 2008-10-14 15:47:19.000000000 +0200 +++ new/yast2-wagon-2.17.3/src/clients/wagon_selfupdate.ycp 2008-10-22 19:13:55.000000000 +0200 @@ -22,6 +22,7 @@ import "Wagon"; import "FileUtils"; import "ProductControl"; + import "ProductFeatures"; import "Internet"; import "OnlineUpdateCallbacks"; import "Popup"; @@ -32,6 +33,112 @@ return `back; } + boolean SolverRunWithFeedback () { + UI::OpenDialog (`Label (_("Solving the package dependencies..."))); + boolean ret = Pkg::PkgSolve (false); + UI::CloseDialog(); + + return ret; + } + + /** + * Tries to upgrade packages got as parameter. + * + * @param list <string> of packages + */ + integer UpgradePackages (list <string> & packages) { + // Check the input + packages = filter (string one_package, packages, { + return (one_package != nil && one_package != ""); + }); + + integer pkgs_affected = 0; + + map <string, list <string> > installed_versions = $[]; + + boolean some_packages_selected = false; + + foreach (string one_package, packages, { + // All packages of the given name + list <map <string, any> > respros = Pkg::ResolvableProperties (one_package, `package, ""); + + // All installed packages of the given name + list <map <string, any> > installed = filter (map <string, any> one_respro, respros, { + return (one_respro["status"]:`unknown == `installed); + }); + + // All available packages of the given name + list <map <string, any> > available = filter (map <string, any> one_respro, respros, { + return (one_respro["status"]:`unknown == `available); + }); + + // Such package is not installed + if (size (installed) < 1) { + y2milestone ("Package %1 is not installed", one_package); + return; + } + + // Er, installed but not available + if (size (available) < 1) { + y2warning ("Package %1 is installed but not available", one_package); + return; + } + + // Remember the installed version(s) + installed_versions[one_package] = maplist (map <string,any> one_installed, installed, { + return one_installed["version"]:"unknown"; + }); + + // Force upgrade/install + y2milestone ("Selecting package %1 for installation", one_package); + if (Pkg::ResolvableInstall (one_package, `package) == true) { + some_packages_selected = true; + } else { + y2error ("Cannot install package %1", one_package); + } + }); + + if (some_packages_selected != true) { + y2milestone ("No packages have been selected for upgrade"); + return pkgs_affected; + } + + // Calling solver to select the best version + SolverRunWithFeedback(); + + y2milestone ("Some packages have been selected, checking..."); + + // Check whether the selected version is different to the already installed one + foreach (string one_package, list <string> previously_installed_versions, installed_versions, { + list <map <string, any> > respros = Pkg::ResolvableProperties (one_package, `package, ""); + + // All selected packages of the given name + list <map <string, any> > selected = filter (map <string, any> one_respro, respros, { + return (one_respro["status"]:`unknown == `selected); + }); + + // The package of a given name is selected + if (size (selected) > 0) { + boolean selection_differs = false; + + foreach (map <string, any> one_selected, selected, { + if (! contains (previously_installed_versions, one_selected["version"]:"some-version")) { + pkgs_affected = pkgs_affected + 1; + selection_differs = true; + break; + } + }); + + if (selection_differs != true) { + y2milestone ("Selection of packages doesn't differ, neutralizing package: %1", one_package); + Pkg::ResolvableNeutral (one_package, `package, false); + } + } + }); + + return pkgs_affected; + } + Wagon::InitPkg(); list <map <string, any> > products = Pkg::ResolvableProperties ("", `product, ""); @@ -42,8 +149,23 @@ // Here the update stack updates itself integer selected = Pkg::ResolvablePreselectPatches (`affects_pkg_manager); + // No patches selected + if (selected < 1) { + y2milestone ("There are no patches that would affect the package manager, trying packages..."); + + any pkgs = ProductFeatures::GetFeature ("software", "packages_affecting_pkg_manager"); + + if (pkgs == nil || pkgs == "" || pkgs == []) { + y2warning ("No packages_affecting_pkg_manager provided"); + } else { + list <string> packages = (list <string>) pkgs; + y2milestone ("Packages to upgrade: %1", packages); + selected = UpgradePackages (packages); + } + } + if (selected < 1) { - y2milestone ("There are no patches that would affect the package manager"); + y2milestone ("Neither patches nor packages for self-update have been selected"); return ret; } @@ -51,7 +173,7 @@ while (solved != true) { // Trying to solve automatically - solved = Pkg::PkgSolve (false); + solved = SolverRunWithFeedback(); symbol ret_sel = nil; // PkgSolve didn't report any problem @@ -60,9 +182,9 @@ ret = `restart_same_step; // There are some issues in selecting the patches } else { - repeat { + while (true) { // Try to solve them manually - UI::OpenDialog(`opt(`defaultsize), `PackageSelector (`id(`selector), `opt(`youMode))); + UI::OpenDialog(`opt(`defaultsize), `PackageSelector (`id(`selector), `opt(`summaryMode))); ret_sel = (symbol) UI::RunPkgSelection (`id(`selector)); UI::CloseDialog(); @@ -80,6 +202,7 @@ `yes_button )) { ret = `abort; + break; // Try again } else { continue; @@ -87,8 +210,15 @@ // Solved manually } else if (ret_sel == `accept) { ret = `restart_same_step; + break; } - } until (ret_sel == `cancel || ret_sel == `accept); + } + } + + if (ret == `abort) { + solved = nil; + y2warning ("Aborting..."); + break; } if (! Wagon::AcceptLicenses()) { @@ -97,8 +227,12 @@ } } - OnlineUpdateCallbacks::RegisterOnlineUpdateCallbacks(); - WFM::call ("online_update_install"); + if (solved == true) { + y2milestone ("Calling update..."); + OnlineUpdateCallbacks::RegisterOnlineUpdateCallbacks(); + any ret = WFM::call ("online_update_install"); + y2milestone ("Update returned: %1", ret); + } return 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-wagon-2.17.2/src/config/cd_update.desktop new/yast2-wagon-2.17.3/src/config/cd_update.desktop --- old/yast2-wagon-2.17.2/src/config/cd_update.desktop 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-wagon-2.17.3/src/config/cd_update.desktop 2008-10-17 14:12:07.000000000 +0200 @@ -0,0 +1,25 @@ +[Desktop Entry] +Type=Application +Categories=Settings;System;Qt;X-SuSE-YaST;X-SuSE-YaST-Software; + +X-KDE-ModuleType=Library +X-KDE-RootOnly=true +X-KDE-HasReadOnlyMode=true +X-KDE-Library=yast2 +X-SuSE-YaST-Call=wagon + +X-SuSE-YaST-Group=Software +X-SuSE-YaST-Argument=PatchCD +X-SuSE-YaST-RootOnly=true +X-SuSE-YaST-AutoInst= +X-SuSE-YaST-Geometry= +X-SuSE-YaST-SortKey= +X-SuSE-YaST-AutoInstResource= + +Icon=yast-cd_update +Exec=/sbin/yast2 wagon PatchCD + +Name=Patch CD Update +GenericName=Install patches from CD to correct and improve your existing installation +X-KDE-SubstituteUID=true +StartupNotify=true 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-wagon-2.17.2/src/config/Makefile.am new/yast2-wagon-2.17.3/src/config/Makefile.am --- old/yast2-wagon-2.17.2/src/config/Makefile.am 2008-09-25 16:07:25.000000000 +0200 +++ new/yast2-wagon-2.17.3/src/config/Makefile.am 2008-10-17 14:09:23.000000000 +0200 @@ -6,6 +6,6 @@ control_DATA = $(wildcard *.xml) -desktop_DATA = +desktop_DATA = $(wildcard *.desktop) EXTRA_DIST = $(desktop_DATA) $(control_DATA) 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-wagon-2.17.2/src/config/online_migration.xml new/yast2-wagon-2.17.3/src/config/online_migration.xml --- old/yast2-wagon-2.17.2/src/config/online_migration.xml 2008-10-17 13:18:42.000000000 +0200 +++ new/yast2-wagon-2.17.3/src/config/online_migration.xml 2008-10-27 12:58:08.000000000 +0100 @@ -11,8 +11,8 @@ <textdomain>online-migration</textdomain> <globals> - <!-- Change to 'false' in production --> - <debug_workflow config:type="boolean">true</debug_workflow> + <!-- Change to 'true' to debug the workflow steps --> + <debug_workflow config:type="boolean">false</debug_workflow> <default_subworkflow>manual</default_subworkflow> @@ -26,6 +26,7 @@ <module>welcome</module> <module>update_online_mechanism</module> <module>suse_register_workflow</module> + <module>prepare_progress</module> <module>wagon_kickoff</module> <module>wagon_rpmcopy</module> <module>suseconfig_after_update</module> @@ -52,6 +53,7 @@ <module>suse_register_workflow</module> <module>wagon_custom_url</module> <module>wagon_selfupdate_from_url</module> + <module>prepare_progress</module> <module>wagon_kickoff</module> <module>wagon_rpmcopy</module> <module>suseconfig_after_update</module> @@ -74,6 +76,7 @@ <!-- Workflow is switched after this module --> <module>update_url_dialog</module> <module>suse_register_workflow</module> + <module>prepare_progress</module> <module>wagon_kickoff</module> <module>wagon_rpmcopy</module> <module>suseconfig_after_update</module> @@ -97,6 +100,7 @@ <module>update_url_dialog</module> <module>wagon_custom_url</module> <module>wagon_selfupdate_from_url</module> + <module>prepare_progress</module> <module>wagon_kickoff</module> <module>wagon_rpmcopy</module> <module>suseconfig_after_update</module> @@ -117,6 +121,7 @@ <module>welcome</module> <module>wagon_custom_url</module> <module>wagon_selfupdate_from_url</module> + <module>prepare_progress</module> <module>wagon_kickoff</module> <module>wagon_rpmcopy</module> <module>suseconfig_after_update</module> @@ -130,6 +135,20 @@ </subworkflows> </globals> + <software> + <!-- + Packages that affect the package manager. + If no patches are selected in the wagon self-update + packages are used as a fallback. + --> + <packages_affecting_pkg_manager config:type="list"> + <package>yast2-wagon</package> + <package>yast2-online-update</package> + <package>yast2-pkg-bindings</package> + <package>libzypp</package> + </packages_affecting_pkg_manager> + </software> + <proposals config:type="list"> <proposal> <label>Distribution Upgrade Settings</label> @@ -236,6 +255,12 @@ <proposal>wagon_proposal</proposal> </module> + <!-- Download slideshow, count download sizes, ... --> + <module> + <name>prepare_progress</name> + <execute>inst_prepareprogress</execute> + </module> + <module> <name>wagon_kickoff</name> <execute>inst_kickoff</execute> 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-wagon-2.17.2/src/modules/Wagon.ycp new/yast2-wagon-2.17.3/src/modules/Wagon.ycp --- old/yast2-wagon-2.17.2/src/modules/Wagon.ycp 2008-10-17 13:06:45.000000000 +0200 +++ new/yast2-wagon-2.17.3/src/modules/Wagon.ycp 2008-10-17 14:09:58.000000000 +0200 @@ -118,6 +118,11 @@ */ global void Init (map <string, any> commands) { if (haskey (commands, "command")) { + if (commands["command"]:"" == "cd_update") { + // Backward compatibility + commands["command"] = "PatchCD"; + } + y2milestone ("Starting workflow defined: %1", commands["command"]:""); SetUpdateWorkflow (commands["command"]:""); } else { 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-wagon-2.17.2/VERSION new/yast2-wagon-2.17.3/VERSION --- old/yast2-wagon-2.17.2/VERSION 2008-10-17 13:17:38.000000000 +0200 +++ new/yast2-wagon-2.17.3/VERSION 2008-10-27 17:17:46.000000000 +0100 @@ -1 +1 @@ -2.17.2 +2.17.3 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de