Hello community, here is the log from the commit of package yast2-wagon for openSUSE:11.4 checked in at Sun Feb 20 19:33:31 CET 2011. -------- --- old-versions/11.4/all/yast2-wagon/yast2-wagon.changes 2011-01-05 11:04:29.000000000 +0100 +++ /mounts/work_src_done/11.4/yast2-wagon/yast2-wagon.changes 2011-02-18 14:39:36.000000000 +0100 @@ -1,0 +2,7 @@ +Fri Feb 18 14:22:27 CET 2011 - locilka@suse.cz + +- yast2-wagon control files have been moved to separate packages + yast2-wagon-control-SLE and yast2-wagon-control-openSUSE. +- 2.20.3 + +------------------------------------------------------------------- calling whatdependson for 11.4-i586 Old: ---- yast2-wagon-2.20.2.tar.bz2 New: ---- yast2-wagon-2.20.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-wagon.spec ++++++ --- /var/tmp/diff_new_pack.bYJum9/_old 2011-02-20 19:33:23.000000000 +0100 +++ /var/tmp/diff_new_pack.bYJum9/_new 2011-02-20 19:33:23.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package yast2-wagon (Version 2.20.2) +# spec file for package yast2-wagon # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,11 +19,11 @@ Name: yast2-wagon -Version: 2.20.2 -Release: 1 +Version: 2.20.3 +Release: 0.<RELEASE2> BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-wagon-2.20.2.tar.bz2 +Source0: yast2-wagon-2.20.3.tar.bz2 Prefix: /usr @@ -41,9 +41,6 @@ # Counting packages directly in packages proposal (BNC #573482) Requires: yast2-update >= 2.18.7 -# Prevent from crashes (BNC #551613) -Requires: yast2-registration >= 2.18.0 - BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite yast2-update # xmllint @@ -52,12 +49,15 @@ # control.rng BuildRequires: yast2-installation >= 2.17.44 -Provides: yast2-online-update-frontend:/usr/share/applications/YaST2/cd_update.desktop +Provides: yast2-online-update-frontend:%{_datadir}/applications/YaST2/cd_update.desktop # See BNC #613820, Comment #22 Conflicts: yast2-perl-bindings < 2.19.0 Conflicts: yast2-storage < 2.19.0 +# Requires a control file +Requires: wagon-control-file + BuildArch: noarch Summary: YaST2 - Migration Tool for Service Packs @@ -68,7 +68,7 @@ through command line tools. %prep -%setup -n yast2-wagon-2.20.2 +%setup -n yast2-wagon-2.20.3 %build %{prefix}/bin/y2tool y2autoconf @@ -92,8 +92,13 @@ %suse_update_desktop_file -d ycc_${d%.desktop} ${d%.desktop} done +xmllint --noout --relaxng %{_datadir}/YaST2/control/control.rng %{buildroot}%{_datadir}/YaST2/control/*.xml +# ghost file +touch %{buildroot}%{_datadir}/YaST2/control/online_migration.xml + %clean rm -rf "$RPM_BUILD_ROOT" +rm -rf %{buildroot}%%{_datadir}/YaST2/control/online_migration.xml %files %defattr(-,root,root) @@ -101,8 +106,71 @@ /usr/share/YaST2/clients/*.ycp /usr/share/YaST2/modules/*.ycp /usr/share/YaST2/modules/*.ybc -%dir /usr/share/YaST2/control %{prefix}/share/applications/YaST2/*.desktop -/usr/share/YaST2/control/*.xml %doc %{prefix}/share/doc/packages/yast2-wagon +%dir /usr/share/YaST2/include/wagon +/usr/share/YaST2/include/wagon/*.ycp +%exclude %{_datadir}/YaST2/control +%exclude %{_datadir}/YaST2/control/*.xml + +# +# yast2-wagon-control-openSUSE +# + +%package control-openSUSE + +# Generic 'provides' +Provides: wagon-control-file + +Group: System/YaST +License: GPLv2+ + +Conflicts: otherproviders(wagon-control-file) +Supplements: packageand(yast2-wagon:branding-openSUSE) + +Summary: YaST Wagon control file for openSUSE + +%description control-openSUSE +YaST Wagon control file for openSUSE + +%post control-openSUSE +ln -sf online_migration-SLE.xml %{_datadir}/YaST2/control/online_migration.xml + +%files control-openSUSE +%defattr(-,root,root) +%dir %{_datadir}/YaST2/control +%{_datadir}/YaST2/control/online_migration-openSUSE.xml +%ghost %{_datadir}/YaST2/control/online_migration.xml + +# +# yast2-wagon-control-SLE +# + +%package control-SLE + +# Generic 'provides' +Provides: wagon-control-file + +Group: System/YaST +License: GPLv2+ + +# Prevent from crashes (BNC #551613) +Requires: yast2-registration >= 2.18.0 + +Conflicts: otherproviders(wagon-control-file) +Supplements: packageand(yast2-wagon:branding-SLE) + +Summary: YaST Wagon control file for SLE + +%description control-SLE +YaST Wagon control file for SLE + +%post control-SLE +ln -sf online_migration-SLE.xml %{_datadir}/YaST2/control/online_migration.xml + +%files control-SLE +%defattr(-,root,root) +%dir %{_datadir}/YaST2/control +%{_datadir}/YaST2/control/online_migration-SLE.xml +%ghost %{_datadir}/YaST2/control/online_migration.xml %changelog ++++++ yast2-wagon-2.20.2.tar.bz2 -> yast2-wagon-2.20.3.tar.bz2 ++++++ ++++ 1854 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.20.2/VERSION new/yast2-wagon-2.20.3/VERSION --- old/yast2-wagon-2.20.2/VERSION 2011-01-05 10:59:53.000000000 +0100 +++ new/yast2-wagon-2.20.3/VERSION 2011-02-18 14:37:28.000000000 +0100 @@ -1 +1 @@ -2.20.2 +2.20.3 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.20.2/configure.in new/yast2-wagon-2.20.3/configure.in --- old/yast2-wagon-2.20.2/configure.in 2011-01-05 11:01:31.000000000 +0100 +++ new/yast2-wagon-2.20.3/configure.in 2011-02-18 16:26:58.000000000 +0100 @@ -3,7 +3,7 @@ dnl -- This file is generated by y2autoconf 2.18.11 - DO NOT EDIT! -- dnl (edit configure.in.in instead) -AC_INIT(yast2-wagon, 2.20.2, http://bugs.opensuse.org/, yast2-wagon) +AC_INIT(yast2-wagon, 2.20.3, http://bugs.opensuse.org/, yast2-wagon) dnl Check for presence of file 'RPMNAME' AC_CONFIG_SRCDIR([RPMNAME]) @@ -18,7 +18,7 @@ AM_INIT_AUTOMAKE(tar-ustar -Wno-portability) dnl Important YaST2 variables -VERSION="2.20.2" +VERSION="2.20.3" RPMNAME="yast2-wagon" MAINTAINER="Lukas Ocilka <locilka@suse.cz>" @@ -163,6 +163,7 @@ src/modules/Makefile src/clients/Makefile src/config/Makefile +src/include/Makefile src/Makefile testsuite/Makefile) AC_OUTPUT 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.20.2/src/Makefile.am new/yast2-wagon-2.20.3/src/Makefile.am --- old/yast2-wagon-2.20.2/src/Makefile.am 2010-03-18 14:57:59.000000000 +0100 +++ new/yast2-wagon-2.20.3/src/Makefile.am 2011-02-18 16:26:53.000000000 +0100 @@ -2,5 +2,5 @@ # Makefile.am for wagon/src # -SUBDIRS = modules clients config +SUBDIRS = modules clients config 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-wagon-2.20.2/src/clients/wagon.ycp new/yast2-wagon-2.20.3/src/clients/wagon.ycp --- old/yast2-wagon-2.20.2/src/clients/wagon.ycp 2011-01-03 15:54:38.000000000 +0100 +++ new/yast2-wagon-2.20.3/src/clients/wagon.ycp 2011-02-18 16:19:28.000000000 +0100 @@ -28,6 +28,7 @@ import "PackageCallbacks"; import "Report"; import "FileUtils"; + import "Popup"; include "wagon/common_func.ycp"; 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.20.2/src/config/online_migration-SLE.xml new/yast2-wagon-2.20.3/src/config/online_migration-SLE.xml --- old/yast2-wagon-2.20.2/src/config/online_migration-SLE.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-wagon-2.20.3/src/config/online_migration-SLE.xml 2011-02-18 13:30:13.000000000 +0100 @@ -0,0 +1,329 @@ +<?xml version="1.0"?> +<!-- + Use /usr/share/YaST2/control/control.rng for control file validation, + e.g., xmllint -noout -relaxng /usr/share/YaST2/control/control.rng ${XML_FILE} +--> +<productDefines xmlns="http://www.suse.com/1.0/yast2ns" + xmlns:config="http://www.suse.com/1.0/configns"> + +<!-- This workflow is part of the yast2-wagon package --> + +<!-- +Work around for the text domain +textdomain="online-migration" +--> + <textdomain>online-migration</textdomain> + + <globals> + <!-- Change to 'true' to debug the workflow steps --> + <debug_workflow config:type="boolean">false</debug_workflow> + + <default_subworkflow>manual</default_subworkflow> + + <subworkflows config:type="list"> + <!-- + Simple workflow: Used when WAGON is called from applet + --> + <subworkflow> + <name>running_by_applet</name> + <modules config:type="list"> + <module>welcome</module> + <module>update_online_mechanism</module> + <module>install_migration_products</module> + <module>suse_register_workflow</module> + <module>wagon_modify_repositories</module> + <module>prepare_progress</module> + <module>point_of_no_return</module> + <module>wagon_kickoff</module> + <module>wagon_rpmcopy</module> + <module>suseconfig_after_update</module> + <module>restart_yast_before_registration</module> + <module>suse_register_after_update</module> + <module>finished</module> + </modules> + <proposals config:type="list"> + <proposal>wagon_proposal</proposal> + </proposals> + </subworkflow> + + <!-- + Manual workflow: Used when calling WAGON manually (Control center, ...) + without params. It's later switched to one of 'custom_url' or 'suse_register' + workflows, so it actually contains both. + --> + <subworkflow> + <name>manual</name> + <modules config:type="list"> + <module>welcome</module> + <module>update_online_mechanism</module> + <module>install_migration_products</module> + <!-- Workflow is tuned after this module --> + <module>update_url_dialog</module> + <module>suse_register_workflow</module> + <module>wagon_manual_url_repositories</module> + <module>wagon_modify_repositories</module> + <module>wagon_check_repositories</module> + <module>prepare_progress</module> + <module>point_of_no_return</module> + <module>wagon_kickoff</module> + <module>wagon_rpmcopy</module> + <module>suseconfig_after_update</module> + <module>restart_yast_before_registration</module> + <module>suse_register_after_update</module> + <module>finished</module> + </modules> + <proposals config:type="list"> + <proposal>wagon_proposal</proposal> + </proposals> + </subworkflow> + + <!-- + PatchCD workflow: 'Custom URL' used directly + --> + <subworkflow> + <name>PatchCD</name> + <modules config:type="list"> + <module>welcome</module> + <module>wagon_custom_url</module> + <module>wagon_selfupdate_from_url</module> + <module>prepare_progress</module> + <module>point_of_no_return</module> + <module>wagon_kickoff</module> + <module>wagon_rpmcopy</module> + <module>suseconfig_after_update</module> + <module>restart_yast_before_registration</module> + <module>suse_register_after_update</module> + <module>finished</module> + </modules> + <proposals config:type="list"> + <proposal>wagon_proposal</proposal> + </proposals> + </subworkflow> + </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>yast2-update</package> + <package>libzypp</package> + </packages_affecting_pkg_manager> + </software> + + <proposals config:type="list"> + <proposal> + <label>Distribution Upgrade Settings</label> + <mode>update</mode> + <stage>normal</stage> + <name>wagon_proposal</name> + <unique_id>wagon_proposal</unique_id> + <enable_skip>no</enable_skip> + + <proposal_modules config:type="list"> + <proposal_module>add-on</proposal_module> + <proposal_module>wagon_update</proposal_module> + <proposal_module>packages</proposal_module> + <proposal_module>backup</proposal_module> + </proposal_modules> + </proposal> + </proposals> + + <workflows config:type="list"> + + <workflow> + <defaults> + <archs>all</archs> + <enable_back>yes</enable_back> + <enable_next>yes</enable_next> + </defaults> + + <label>Online Migration</label> + <!-- Mode: update, Stage: normal --> + <mode>update</mode> + <stage>normal</stage> + + <modules config:type="list"> + <module> + <heading>yes</heading> + <label>Preparation</label> + </module> + + <!-- A welcome screen that informs user what is it all about. --> + <module> + <label>Welcome</label> + <name>welcome</name> + <execute>welcome_in_wagon</execute> + <enable_back>no</enable_back> + </module> + + <!-- Update itself --> + <module> + <label>Renew Update Stack</label> + <name>update_online_mechanism</name> + <execute>wagon_selfupdate</execute> + </module> + + <!-- Add new 'migration-products' --> + <module> + <label>Migration Configuration</label> + <name>install_migration_products</name> + <execute>wagon_migration_products</execute> + </module> + + <!-- Offer several possibilities how to set update repository URL --> + <module> + <label>Migration Configuration</label> + <name>update_url_dialog</name> + <execute>wagon_update_url</execute> + </module> + + <!-- + Option A: + (*) Automatically selected when running via applet + (*) Offered in wagon_update_url if not running via applet + --> + <module> + <label>Migration Configuration</label> + <name>suse_register_workflow</name> + <execute>wagon_registration_handler</execute> + <!-- BNC #576553: By default, do not set any optional data --> + <arguments> + <suse_register_defaults>none</suse_register_defaults> + </arguments> + </module> + + <!-- + Option B: + (*) Offered in wagon_update_url if not running via applet + --> + <module> + <label>Migration Configuration</label> + <name>wagon_manual_url_repositories</name> + <execute>wagon_repositories_handler</execute> + </module> + + <!-- + Used by PatchCD + --> + <module> + <label>Migration Configuration</label> + <name>wagon_selfupdate_from_url</name> + <execute>wagon_selfupdate</execute> + </module> + + <!-- + Used by PatchCD + --> + <module> + <label>Migration Configuration</label> + <name>wagon_custom_url</name> + <execute>wagon_custom_url</execute> + </module> + + <module> + <label>Migration Configuration</label> + <name>wagon_modify_repositories</name> + <execute>wagon_modify_repositories</execute> + </module> + + <!-- + Used only if user decides to check repositories manually + Option comes from 'update_url_dialog' + BNC #579905 + --> + <module> + <label>Migration Configuration</label> + <name>wagon_check_repositories</name> + <execute>wagon_repositories_handler</execute> + </module> + + <module> + <heading>yes</heading> + <label>Migration</label> + </module> + + <!-- + Use migration URL to Update/Upgrade the running system + This will replace the 'migration-product' with 'new-product' + --> + <module> + <label>Update</label> + <name>wagon_proposal</name> + <execute>inst_proposal</execute> + <proposal>wagon_proposal</proposal> + </module> + + <!-- Download slideshow, count download sizes, ... --> + <module> + <label>Update</label> + <name>prepare_progress</name> + <execute>inst_prepareprogress</execute> + </module> + + <!-- From this point, some possibilities are simply 'impossible' ;) --> + <module> + <label>Update</label> + <name>point_of_no_return</name> + <execute>wagon_point_of_no_return</execute> + </module> + + <module> + <label>Update</label> + <name>wagon_kickoff</name> + <execute>inst_kickoff</execute> + </module> + + <!-- Upgrade the packages --> + <module> + <label>Update</label> + <name>wagon_rpmcopy</name> + <execute>inst_rpmcopy</execute> + </module> + + <module> + <label>Update</label> + <name>suseconfig_after_update</name> + <execute>inst_suseconfig</execute> + </module> + + <!-- + BNC #587506: Restart YaST before registration is called to prevent + from crashes caused by backward-incompatible changes in (Perl) + libraries used by registration. + --> + <module> + <label>Registration</label> + <name>restart_yast_before_registration</name> + <execute>wagon_restart_yast</execute> + </module> + + <!-- Register the 'new-product' --> + <module> + <label>Registration</label> + <name>suse_register_after_update</name> + <execute>wagon_registration_handler</execute> + <!-- BNC #576553: By default, do not set any optional data --> + <arguments> + <suse_register_defaults>selected</suse_register_defaults> + </arguments> + </module> + + <!-- Congratulate, Inform user to reboot etc. --> + <module> + <label>Finished</label> + <name>finished</name> + <execute>wagon_congratulate</execute> + </module> + </modules> + </workflow> + + </workflows> + +</productDefines> 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.20.2/src/config/online_migration-openSUSE.xml new/yast2-wagon-2.20.3/src/config/online_migration-openSUSE.xml --- old/yast2-wagon-2.20.2/src/config/online_migration-openSUSE.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-wagon-2.20.3/src/config/online_migration-openSUSE.xml 2011-02-18 13:39:00.000000000 +0100 @@ -0,0 +1,265 @@ +<?xml version="1.0"?> +<!-- + Use /usr/share/YaST2/control/control.rng for control file validation, + e.g., xmllint -noout -relaxng /usr/share/YaST2/control/control.rng ${XML_FILE} +--> +<productDefines xmlns="http://www.suse.com/1.0/yast2ns" + xmlns:config="http://www.suse.com/1.0/configns"> + +<!-- This workflow is part of the yast2-wagon package --> + +<!-- +Work around for the text domain +textdomain="online-migration" +--> + <textdomain>online-migration</textdomain> + + <globals> + <!-- Change to 'true' to debug the workflow steps --> + <debug_workflow config:type="boolean">false</debug_workflow> + + <default_subworkflow>manual</default_subworkflow> + + <subworkflows config:type="list"> + <!-- + Simple workflow: Used when WAGON is called from applet + --> + <subworkflow> + <name>running_by_applet</name> + <modules config:type="list"> + <module>welcome</module> + <module>update_online_mechanism</module> + <module>install_migration_products</module> + <module>wagon_modify_repositories</module> + <module>prepare_progress</module> + <module>point_of_no_return</module> + <module>wagon_kickoff</module> + <module>wagon_rpmcopy</module> + <module>suseconfig_after_update</module> + <module>finished</module> + </modules> + <proposals config:type="list"> + <proposal>wagon_proposal</proposal> + </proposals> + </subworkflow> + + <subworkflow> + <name>manual</name> + <modules config:type="list"> + <module>welcome</module> + <module>update_online_mechanism</module> + <module>install_migration_products</module> + <module>wagon_manual_url_repositories</module> + <module>wagon_modify_repositories</module> + <module>wagon_check_repositories</module> + <module>prepare_progress</module> + <module>point_of_no_return</module> + <module>wagon_kickoff</module> + <module>wagon_rpmcopy</module> + <module>suseconfig_after_update</module> + <module>finished</module> + </modules> + <proposals config:type="list"> + <proposal>wagon_proposal</proposal> + </proposals> + </subworkflow> + + <!-- + PatchCD workflow: 'Custom URL' used directly + --> + <subworkflow> + <name>PatchCD</name> + <modules config:type="list"> + <module>welcome</module> + <module>wagon_custom_url</module> + <module>wagon_selfupdate_from_url</module> + <module>prepare_progress</module> + <module>point_of_no_return</module> + <module>wagon_kickoff</module> + <module>wagon_rpmcopy</module> + <module>suseconfig_after_update</module> + <module>finished</module> + </modules> + <proposals config:type="list"> + <proposal>wagon_proposal</proposal> + </proposals> + </subworkflow> + </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>yast2-update</package> + <package>libzypp</package> + </packages_affecting_pkg_manager> + </software> + + <proposals config:type="list"> + <proposal> + <label>Distribution Upgrade Settings</label> + <mode>update</mode> + <stage>normal</stage> + <name>wagon_proposal</name> + <unique_id>wagon_proposal</unique_id> + <enable_skip>no</enable_skip> + + <proposal_modules config:type="list"> + <proposal_module>add-on</proposal_module> + <proposal_module>wagon_update</proposal_module> + <proposal_module>packages</proposal_module> + <proposal_module>backup</proposal_module> + </proposal_modules> + </proposal> + </proposals> + + <workflows config:type="list"> + + <workflow> + <defaults> + <archs>all</archs> + <enable_back>yes</enable_back> + <enable_next>yes</enable_next> + </defaults> + + <label>Online Migration</label> + <!-- Mode: update, Stage: normal --> + <mode>update</mode> + <stage>normal</stage> + + <modules config:type="list"> + <module> + <heading>yes</heading> + <label>Preparation</label> + </module> + + <!-- A welcome screen that informs user what is it all about. --> + <module> + <label>Welcome</label> + <name>welcome</name> + <execute>welcome_in_wagon</execute> + <enable_back>no</enable_back> + </module> + + <!-- Update itself --> + <module> + <label>Renew Update Stack</label> + <name>update_online_mechanism</name> + <execute>wagon_selfupdate</execute> + </module> + + <!-- Add new 'migration-products' --> + <module> + <label>Migration Configuration</label> + <name>install_migration_products</name> + <execute>wagon_migration_products</execute> + </module> + + <!-- + Option B: + (*) Offered in wagon_update_url if not running via applet + --> + <module> + <label>Migration Configuration</label> + <name>wagon_manual_url_repositories</name> + <execute>wagon_repositories_handler</execute> + </module> + + <!-- + Used by PatchCD + --> + <module> + <label>Migration Configuration</label> + <name>wagon_selfupdate_from_url</name> + <execute>wagon_selfupdate</execute> + </module> + + <!-- + Used by PatchCD + --> + <module> + <label>Migration Configuration</label> + <name>wagon_custom_url</name> + <execute>wagon_custom_url</execute> + </module> + + <module> + <label>Migration Configuration</label> + <name>wagon_modify_repositories</name> + <execute>wagon_modify_repositories</execute> + </module> + + <module> + <label>Migration Configuration</label> + <name>wagon_check_repositories</name> + <execute>wagon_repositories_handler</execute> + </module> + + <module> + <heading>yes</heading> + <label>Migration</label> + </module> + + <!-- + Use migration URL to Update/Upgrade the running system + This will replace the 'migration-product' with 'new-product' + --> + <module> + <label>Update</label> + <name>wagon_proposal</name> + <execute>inst_proposal</execute> + <proposal>wagon_proposal</proposal> + </module> + + <!-- Download slideshow, count download sizes, ... --> + <module> + <label>Update</label> + <name>prepare_progress</name> + <execute>inst_prepareprogress</execute> + </module> + + <!-- From this point, some possibilities are simply 'impossible' ;) --> + <module> + <label>Update</label> + <name>point_of_no_return</name> + <execute>wagon_point_of_no_return</execute> + </module> + + <module> + <label>Update</label> + <name>wagon_kickoff</name> + <execute>inst_kickoff</execute> + </module> + + <!-- Upgrade the packages --> + <module> + <label>Update</label> + <name>wagon_rpmcopy</name> + <execute>inst_rpmcopy</execute> + </module> + + <module> + <label>Update</label> + <name>suseconfig_after_update</name> + <execute>inst_suseconfig</execute> + </module> + + <!-- Congratulate, Inform user to reboot etc. --> + <module> + <label>Finished</label> + <name>finished</name> + <execute>wagon_congratulate</execute> + </module> + </modules> + </workflow> + + </workflows> + +</productDefines> 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.20.2/src/config/online_migration.xml new/yast2-wagon-2.20.3/src/config/online_migration.xml --- old/yast2-wagon-2.20.2/src/config/online_migration.xml 2010-03-18 14:57:59.000000000 +0100 +++ new/yast2-wagon-2.20.3/src/config/online_migration.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,329 +0,0 @@ -<?xml version="1.0"?> -<!-- - Use /usr/share/YaST2/control/control.rng for control file validation, - e.g., xmllint -noout -relaxng /usr/share/YaST2/control/control.rng ${XML_FILE} ---> -<productDefines xmlns="http://www.suse.com/1.0/yast2ns" - xmlns:config="http://www.suse.com/1.0/configns"> - -<!-- This workflow is part of the yast2-wagon package --> - -<!-- -Work around for the text domain -textdomain="online-migration" ---> - <textdomain>online-migration</textdomain> - - <globals> - <!-- Change to 'true' to debug the workflow steps --> - <debug_workflow config:type="boolean">false</debug_workflow> - - <default_subworkflow>manual</default_subworkflow> - - <subworkflows config:type="list"> - <!-- - Simple workflow: Used when WAGON is called from applet - --> - <subworkflow> - <name>running_by_applet</name> - <modules config:type="list"> - <module>welcome</module> - <module>update_online_mechanism</module> - <module>install_migration_products</module> - <module>suse_register_workflow</module> - <module>wagon_modify_repositories</module> - <module>prepare_progress</module> - <module>point_of_no_return</module> - <module>wagon_kickoff</module> - <module>wagon_rpmcopy</module> - <module>suseconfig_after_update</module> - <module>restart_yast_before_registration</module> - <module>suse_register_after_update</module> - <module>finished</module> - </modules> - <proposals config:type="list"> - <proposal>wagon_proposal</proposal> - </proposals> - </subworkflow> - - <!-- - Manual workflow: Used when calling WAGON manually (Control center, ...) - without params. It's later switched to one of 'custom_url' or 'suse_register' - workflows, so it actually contains both. - --> - <subworkflow> - <name>manual</name> - <modules config:type="list"> - <module>welcome</module> - <module>update_online_mechanism</module> - <module>install_migration_products</module> - <!-- Workflow is tuned after this module --> - <module>update_url_dialog</module> - <module>suse_register_workflow</module> - <module>wagon_manual_url_repositories</module> - <module>wagon_modify_repositories</module> - <module>wagon_check_repositories</module> - <module>prepare_progress</module> - <module>point_of_no_return</module> - <module>wagon_kickoff</module> - <module>wagon_rpmcopy</module> - <module>suseconfig_after_update</module> - <module>restart_yast_before_registration</module> - <module>suse_register_after_update</module> - <module>finished</module> - </modules> - <proposals config:type="list"> - <proposal>wagon_proposal</proposal> - </proposals> - </subworkflow> - - <!-- - PatchCD workflow: 'Custom URL' used directly - --> - <subworkflow> - <name>PatchCD</name> - <modules config:type="list"> - <module>welcome</module> - <module>wagon_custom_url</module> - <module>wagon_selfupdate_from_url</module> - <module>prepare_progress</module> - <module>point_of_no_return</module> - <module>wagon_kickoff</module> - <module>wagon_rpmcopy</module> - <module>suseconfig_after_update</module> - <module>restart_yast_before_registration</module> - <module>suse_register_after_update</module> - <module>finished</module> - </modules> - <proposals config:type="list"> - <proposal>wagon_proposal</proposal> - </proposals> - </subworkflow> - </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>yast2-update</package> - <package>libzypp</package> - </packages_affecting_pkg_manager> - </software> - - <proposals config:type="list"> - <proposal> - <label>Distribution Upgrade Settings</label> - <mode>update</mode> - <stage>normal</stage> - <name>wagon_proposal</name> - <unique_id>wagon_proposal</unique_id> - <enable_skip>no</enable_skip> - - <proposal_modules config:type="list"> - <proposal_module>add-on</proposal_module> - <proposal_module>wagon_update</proposal_module> - <proposal_module>packages</proposal_module> - <proposal_module>backup</proposal_module> - </proposal_modules> - </proposal> - </proposals> - - <workflows config:type="list"> - - <workflow> - <defaults> - <archs>all</archs> - <enable_back>yes</enable_back> - <enable_next>yes</enable_next> - </defaults> - - <label>Online Migration</label> - <!-- Mode: update, Stage: normal --> - <mode>update</mode> - <stage>normal</stage> - - <modules config:type="list"> - <module> - <heading>yes</heading> - <label>Preparation</label> - </module> - - <!-- A welcome screen that informs user what is it all about. --> - <module> - <label>Welcome</label> - <name>welcome</name> - <execute>welcome_in_wagon</execute> - <enable_back>no</enable_back> - </module> - - <!-- Update itself --> - <module> - <label>Renew Update Stack</label> - <name>update_online_mechanism</name> - <execute>wagon_selfupdate</execute> - </module> - - <!-- Add new 'migration-products' --> - <module> - <label>Migration Configuration</label> - <name>install_migration_products</name> - <execute>wagon_migration_products</execute> - </module> - - <!-- Offer several possibilities how to set update repository URL --> - <module> - <label>Migration Configuration</label> - <name>update_url_dialog</name> - <execute>wagon_update_url</execute> - </module> - - <!-- - Option A: - (*) Automatically selected when running via applet - (*) Offered in wagon_update_url if not running via applet - --> - <module> - <label>Migration Configuration</label> - <name>suse_register_workflow</name> - <execute>wagon_registration_handler</execute> - <!-- BNC #576553: By default, do not set any optional data --> - <arguments> - <suse_register_defaults>none</suse_register_defaults> - </arguments> - </module> - - <!-- - Option B: - (*) Offered in wagon_update_url if not running via applet - --> - <module> - <label>Migration Configuration</label> - <name>wagon_manual_url_repositories</name> - <execute>wagon_repositories_handler</execute> - </module> - - <!-- - Used by PatchCD - --> - <module> - <label>Migration Configuration</label> - <name>wagon_selfupdate_from_url</name> - <execute>wagon_selfupdate</execute> - </module> - - <!-- - Used by PatchCD - --> - <module> - <label>Migration Configuration</label> - <name>wagon_custom_url</name> - <execute>wagon_custom_url</execute> - </module> - - <module> - <label>Migration Configuration</label> - <name>wagon_modify_repositories</name> - <execute>wagon_modify_repositories</execute> - </module> - - <!-- - Used only if user decides to check repositories manually - Option comes from 'update_url_dialog' - BNC #579905 - --> - <module> - <label>Migration Configuration</label> - <name>wagon_check_repositories</name> - <execute>wagon_repositories_handler</execute> - </module> - - <module> - <heading>yes</heading> - <label>Migration</label> - </module> - - <!-- - Use migration URL to Update/Upgrade the running system - This will replace the 'migration-product' with 'new-product' - --> - <module> - <label>Update</label> - <name>wagon_proposal</name> - <execute>inst_proposal</execute> - <proposal>wagon_proposal</proposal> - </module> - - <!-- Download slideshow, count download sizes, ... --> - <module> - <label>Update</label> - <name>prepare_progress</name> - <execute>inst_prepareprogress</execute> - </module> - - <!-- From this point, some possibilities are simply 'impossible' ;) --> - <module> - <label>Update</label> - <name>point_of_no_return</name> - <execute>wagon_point_of_no_return</execute> - </module> - - <module> - <label>Update</label> - <name>wagon_kickoff</name> - <execute>inst_kickoff</execute> - </module> - - <!-- Upgrade the packages --> - <module> - <label>Update</label> - <name>wagon_rpmcopy</name> - <execute>inst_rpmcopy</execute> - </module> - - <module> - <label>Update</label> - <name>suseconfig_after_update</name> - <execute>inst_suseconfig</execute> - </module> - - <!-- - BNC #587506: Restart YaST before registration is called to prevent - from crashes caused by backward-incompatible changes in (Perl) - libraries used by registration. - --> - <module> - <label>Registration</label> - <name>restart_yast_before_registration</name> - <execute>wagon_restart_yast</execute> - </module> - - <!-- Register the 'new-product' --> - <module> - <label>Registration</label> - <name>suse_register_after_update</name> - <execute>wagon_registration_handler</execute> - <!-- BNC #576553: By default, do not set any optional data --> - <arguments> - <suse_register_defaults>selected</suse_register_defaults> - </arguments> - </module> - - <!-- Congratulate, Inform user to reboot etc. --> - <module> - <label>Finished</label> - <name>finished</name> - <execute>wagon_congratulate</execute> - </module> - </modules> - </workflow> - - </workflows> - -</productDefines> 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.20.2/src/include/Makefile.am new/yast2-wagon-2.20.3/src/include/Makefile.am --- old/yast2-wagon-2.20.2/src/include/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-wagon-2.20.3/src/include/Makefile.am 2010-03-18 14:57:59.000000000 +0100 @@ -0,0 +1,13 @@ +# +# Makefile.am for wagon/src/include +# + +yncludedir = @yncludedir@/wagon + +ynclude_DATA = $(wildcard *.ycp) + +YCPCFLAGS = -M ../modules + +EXTRA_DIST = $(ynclude_DATA) + +include $(top_srcdir)/Makefile.am.common 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.20.2/src/include/common_func.ycp new/yast2-wagon-2.20.3/src/include/common_func.ycp --- old/yast2-wagon-2.20.2/src/include/common_func.ycp 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-wagon-2.20.3/src/include/common_func.ycp 2010-03-18 14:57:59.000000000 +0100 @@ -0,0 +1,242 @@ +/** + * File: + * include/wagon/common_func.ycp + * + * Module: + * Wagon + * + * Authors: + * Lukas Ocilka <locilka@suse.cz> + * + * Summary: + * Online Migration Tool + * + * $Id$ + * + */ + +{ + textdomain "wagon"; + + import "Label"; + import "Popup"; + import "PackagesUI"; + import "Wagon"; + import "Wizard"; + import "GetInstArgs"; + import "Report"; + import "Directory"; + import "FileUtils"; + + string solver_testcase_dir = sformat ("%1/wagon_solver_testcase", Directory::logdir); + + boolean SolverRunWithFeedback () { + UI::OpenDialog (`Label (_("Solving the package dependencies..."))); + + boolean ret = Pkg::PkgSolve (true); + + // BNC #582046: Store a solver testcase in case of solver issue + if (ret != true) { + y2warning ("Solver failed, storing solver testcase to %1", solver_testcase_dir); + + if (FileUtils::Exists (solver_testcase_dir)) { + y2warning ("Directory %1 exists, removing first", solver_testcase_dir); + SCR::Execute (.target.bash, sformat ("rm -rf %1", solver_testcase_dir)); + } + + Pkg::CreateSolverTestCase (solver_testcase_dir); + y2milestone ("Done"); + } + + UI::CloseDialog(); + + return ret; + } + + symbol SolveDependencies () { + symbol ret = `auto; + + boolean solved = nil; + + while (solved != true) { + // Trying to solve automatically + solved = SolverRunWithFeedback(); + symbol ret_sel = nil; + + // PkgSolve didn't report any problem + if (solved == true) { + y2milestone ("Solved automatically"); + ret = `auto; + // There are some issues in selecting the patches + } else { + y2milestone ("Cannot be solved automatically"); + while (true) { + // Try to solve them manually + ret_sel = PackagesUI::RunPackageSelector ($["mode":`summaryMode]); + + // Cannot or don't want to accept the proposal + if (ret_sel == `cancel) { + // Confirmed + if (Popup::AnyQuestion ( + // TRANSLATORS: headline + _("Aborting the Upgrade"), + // TRANSLATORS: pop-up question + _("Cannot continue without installing the required patches. +Are sure you want to abort the upgrade process?"), + _("Abort Upgrade"), + Label::NoButton(), + `yes_button + )) { + ret = `abort; + break; + // Try again + } else { + continue; + } + // Solved manually + } else if (ret_sel == `accept) { + ret = `auto; + solved = true; + break; + } + } + } + + if (ret == `abort) { + solved = nil; + y2warning ("Aborting..."); + break; + } + + if (! Wagon::AcceptLicenses()) { + y2warning ("Some license(s) have been rejected, running solver again"); + solved = nil; + } + } + + return ret; + } + + void ResetPackager () { + Wizard::SetContents ( + _("Reseting Package Manager"), + `Label(_("Reseting package manager...")), + "", + false, true + ); + + y2milestone ("Reseting Pkg"); + Pkg::PkgApplReset(); + Pkg::PkgReset(); + + symbol status = nil; + string name = nil; + + y2milestone ("Neutralizing all resolvables"); + foreach (symbol resolvable, [`pattern, `patch, `package, `product, `srcpackage], { + Pkg::ResolvableNeutral ("" /* all */, resolvable, true /* force */); + }); + + y2milestone ("Running solver"); + Pkg::PkgSolve (true); + + Pkg::TargetFinish(); + Pkg::SourceFinishAll(); + + Wagon::InitPkg(); + Pkg::PkgSolve (true); + } + + integer FindRepoIdByAlias (string repo_alias) { + integer repo_id = nil; + + map one_repo = $[]; + + foreach (integer repo_id_to_check, Pkg::SourceGetCurrent (false /* all repos */), { + one_repo = Pkg::SourceGeneralData (repo_id_to_check); + + if (one_repo["alias"]:"" == repo_alias) { + repo_id = repo_id_to_check; + break; + } + }); + + return repo_id; + } + + /** + * During the first (migration) registration, it's not needed to include + * the optional data as it is also faster but after the migration, it's + * better to to include them. + * @see #BNC 576553 + */ + void AdjustSuseRegisterDefaults () { + map argmap = GetInstArgs::argmap(); + + if (argmap["suse_register_defaults"]:"" == "none") { + y2milestone ( + "suse_register: no optional data selected by default (%1/%2/%3)", + SCR::Write (.sysconfig.suse_register.SUBMIT_OPTIONAL, "false"), + SCR::Write (.sysconfig.suse_register.SUBMIT_HWDATA, "false"), + SCR::Write (.sysconfig.suse_register, nil) + ); + } else if (argmap["suse_register_defaults"]:"" == "selected") { + y2milestone ( + "suse_register: all optional data selected by default (%1/%2/%3)", + SCR::Write (.sysconfig.suse_register.SUBMIT_OPTIONAL, "true"), + SCR::Write (.sysconfig.suse_register.SUBMIT_HWDATA, "true"), + SCR::Write (.sysconfig.suse_register, nil) + ); + } else { + y2warning ("Undefined how to handled suse_register optional data"); + } + } + + // Full paths to product files + map <string, string> checked_product_files = $[]; + + /** + * Finds a package that provides the required product + * defined by parameter. + * + * @return string product_package + */ + string GetProductPackageName (map <string, any> product) { + product = Wagon::MinimizeProductMap (product); + string product_file = product["product_file"]:""; + + // undefined product file + if (product_file == nil || product_file == "") { + y2error ("Cannot remove product: %1, no product file defined", product); + Report::Error (sformat(_("Cannot remove product %1"), product["name"]:_("Unknown product"))); + return ""; + } + + // unify the product file path + if (! regexpmatch (product_file, "^/etc/products\\.d/.+")) + product_file = sformat ("/etc/products.d/%1", product_file); + + // use a cached value + if (haskey (checked_product_files, product_file)) { + if (checked_product_files[product_file]:"" == "") { + return ""; + } else { + return checked_product_files[product_file]:""; + } + } + + string package_name = Wagon::GetFileOwner (product_file); + + // no package owns the file + if (package_name == nil || package_name == "") { + y2error ("Cannot find out file owner %1", product_file); + Report::Error (sformat(_("Cannot find out owner of product %1"), product["name"]:_("Unknown product"))); + return ""; + } + + // cache the value + checked_product_files[product_file] = package_name; + + return package_name; + } +} ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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