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 "
@@ -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}
+-->
+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 -->
+ false
+
+ manual
+
+ <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.
+ -->
+
+ <package>yast2-wagon</package>
+ <package>yast2-online-update</package>
+ <package>yast2-pkg-bindings</package>
+ <package>yast2-update</package>
+ <package>libzypp</package>
+
+ </software>
+
+ <proposals config:type="list">
+ <proposal>
+ <label>Distribution Upgrade Settings</label>
+ <mode>update</mode>
+ <stage>normal</stage>
+ <name>wagon_proposal</name>
+ wagon_proposal
+ no
+
+
+ add-on
+ wagon_update
+ packages
+ backup
+
+ </proposal>
+ </proposals>
+
+ <workflows config:type="list">
+
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ yes
+ yes
+ </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>
+ no
+ </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>
+ none
+ </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>
+ selected
+ </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}
+-->
+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 -->
+ false
+
+ manual
+
+ <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.
+ -->
+
+ <package>yast2-wagon</package>
+ <package>yast2-online-update</package>
+ <package>yast2-pkg-bindings</package>
+ <package>yast2-update</package>
+ <package>libzypp</package>
+
+ </software>
+
+ <proposals config:type="list">
+ <proposal>
+ <label>Distribution Upgrade Settings</label>
+ <mode>update</mode>
+ <stage>normal</stage>
+ <name>wagon_proposal</name>
+ wagon_proposal
+ no
+
+
+ add-on
+ wagon_update
+ packages
+ backup
+
+ </proposal>
+ </proposals>
+
+ <workflows config:type="list">
+
+ <workflow>
+ <defaults>
+ <archs>all</archs>
+ yes
+ yes
+ </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>
+ no
+ </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"?>
-
-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 -->
-
-
- <textdomain>online-migration</textdomain>
-
- <globals>
- <!-- Change to 'true' to debug the workflow steps -->
- false
-
- manual
-
- <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.
- -->
-
- <package>yast2-wagon</package>
- <package>yast2-online-update</package>
- <package>yast2-pkg-bindings</package>
- <package>yast2-update</package>
- <package>libzypp</package>
-
- </software>
-
- <proposals config:type="list">
- <proposal>
- <label>Distribution Upgrade Settings</label>
- <mode>update</mode>
- <stage>normal</stage>
- <name>wagon_proposal</name>
- wagon_proposal
- no
-
-
- add-on
- wagon_update
- packages
- backup
-
- </proposal>
- </proposals>
-
- <workflows config:type="list">
-
- <workflow>
- <defaults>
- <archs>all</archs>
- yes
- yes
- </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>
- no
- </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>
- none
- </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>
- selected
- </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
+ *
+ * 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 checked_product_files = $[];
+
+ /**
+ * Finds a package that provides the required product
+ * defined by parameter.
+ *
+ * @return string product_package
+ */
+ string GetProductPackageName (map 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