Hello community,
here is the log from the commit of package yast2-ncurses
checked in at Mon Apr 10 16:47:57 CEST 2006.
--------
--- yast2-ncurses/yast2-ncurses.changes 2006-04-07 12:03:56.000000000 +0200
+++ STABLE/yast2-ncurses/yast2-ncurses.changes 2006-04-10 16:47:21.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Apr 10 14:57:05 CEST 2006 - gs@suse.de
+
+- Fixed inconsistent propagation of installation status of packages
+ that belong to selections, patterns, languages etc.
+- show/check dependencies also in YOU mode
+- 2.13.18
+
+-------------------------------------------------------------------
Old:
----
yast2-ncurses-2.13.17.tar.bz2
New:
----
yast2-ncurses-2.13.18.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ncurses.spec ++++++
--- /var/tmp/diff_new_pack.K68YP7/_old 2006-04-10 16:47:30.000000000 +0200
+++ /var/tmp/diff_new_pack.K68YP7/_new 2006-04-10 16:47:30.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-ncurses (Version 2.13.17)
+# spec file for package yast2-ncurses (Version 2.13.18)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-ncurses
-Version: 2.13.17
+Version: 2.13.18
Release: 1
License: GPL
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-ncurses-2.13.17.tar.bz2
+Source0: yast2-ncurses-2.13.18.tar.bz2
prefix: /usr
BuildRequires: doxygen gcc-c++ libzypp-devel yast2-core-devel yast2-devtools
BuildRequires: blocxx-devel libxcrypt-devel
@@ -40,7 +40,7 @@
%prep
-%setup -n yast2-ncurses-2.13.17
+%setup -n yast2-ncurses-2.13.18
%build
%{prefix}/bin/y2tool y2autoconf
@@ -73,6 +73,11 @@
%doc %{prefix}/share/doc/packages/yast2-ncurses
%changelog -n yast2-ncurses
+* Mon Apr 10 2006 - gs@suse.de
+- Fixed inconsistent propagation of installation status of packages
+ that belong to selections, patterns, languages etc.
+- show/check dependencies also in YOU mode
+- 2.13.18
* Fri Apr 07 2006 - gs@suse.de
- solve pattern/selection dependencies correctly (bug #161400),
show architecture in versions view
++++++ yast2-ncurses-2.13.17.tar.bz2 -> yast2-ncurses-2.13.18.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-ncurses-2.13.17/VERSION new/yast2-ncurses-2.13.18/VERSION
--- old/yast2-ncurses-2.13.17/VERSION 2006-04-07 08:00:35.000000000 +0200
+++ new/yast2-ncurses-2.13.18/VERSION 2006-04-10 14:59:12.000000000 +0200
@@ -1 +1 @@
-2.13.17
+2.13.18
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-ncurses-2.13.17/src/NCPackageSelector.cc new/yast2-ncurses-2.13.18/src/NCPackageSelector.cc
--- old/yast2-ncurses-2.13.17/src/NCPackageSelector.cc 2006-03-15 16:53:25.000000000 +0100
+++ new/yast2-ncurses-2.13.18/src/NCPackageSelector.cc 2006-04-10 13:39:56.000000000 +0200
@@ -189,9 +189,7 @@
}
if ( youMode && packager )
{
-#ifdef FIXME
packager->showDownloadSize();
-#endif
}
}
else
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-ncurses-2.13.17/src/ObjectStatStrategy.cc new/yast2-ncurses-2.13.18/src/ObjectStatStrategy.cc
--- old/yast2-ncurses-2.13.17/src/ObjectStatStrategy.cc 2006-04-06 21:14:36.000000000 +0200
+++ new/yast2-ncurses-2.13.18/src/ObjectStatStrategy.cc 2006-04-10 14:42:42.000000000 +0200
@@ -269,6 +269,26 @@
return ok;
}
+///////////////////////////////////////////////////////////////////
+//
+// ObjectStatStrategy::solveResolvableCollections()
+//
+// Do a "small" solver run
+//
+void ObjectStatStrategy::solveResolvableCollections()
+{
+ zypp::Resolver_Ptr resolver = zypp::getZYpp()->resolver();
+
+ resolver->transactReset( zypp::ResStatus::SOLVER );
+
+ resolver->transactResKind( zypp::ResTraitszypp::Selection::kind );
+ resolver->transactResKind( zypp::ResTraits::kind );
+ resolver->transactResKind( zypp::ResTraits::kind );
+ resolver->transactResKind( zypp::ResTraits::kind );
+ resolver->transactResKind( zypp::ResTraits::kind );
+}
+
+
//------------------------------------------------------------
// Class for strategies to get status for packages
@@ -435,9 +455,9 @@
NCMIL << "Set status of: " << slbPtr->name() << " to: "
<< newstatus << " returns: " << (ok?"true":"false") << endl;
- // solve patch + atoms
- solveResKindzypp::Patch();
- solveResKindzypp::Atom();
+ // do a solver run
+ solveResolvableCollections();
+
return ok;
}
@@ -475,19 +495,9 @@
NCMIL << "Set status of: " << slbPtr->name() << " to: "
<< newstatus << " returns: " << (ok?"true":"false") << endl;
- // solve selections/patterns
- ZyppSelection selPtr = tryCastToZyppSelection (objPtr);
- ZyppPattern patPtr = tryCastToZyppPattern (objPtr);
+ // do a solver run
+ solveResolvableCollections();
- if (selPtr)
- {
- solveResKindzypp::Selection();
- }
- else if (patPtr)
- {
- solveResKindzypp::Pattern();
- }
-
return ok;
}
@@ -595,7 +605,8 @@
NCDBG << "STATUS of " << slbPtr->name() << ": " << slbPtr->status() << endl;
if (slbPtr->hasInstalledObj() &&
- slbPtr->installedObj()->edition() == objPtr->edition() )
+ slbPtr->installedObj()->edition() == objPtr->edition() &&
+ slbPtr->installedObj()->arch() == objPtr->arch() )
{
// installed package: show status S_KeepInstalled or S_Delete
if ( status == S_KeepInstalled
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-ncurses-2.13.17/src/ObjectStatStrategy.h new/yast2-ncurses-2.13.18/src/ObjectStatStrategy.h
--- old/yast2-ncurses-2.13.17/src/ObjectStatStrategy.h 2006-04-05 19:06:43.000000000 +0200
+++ new/yast2-ncurses-2.13.18/src/ObjectStatStrategy.h 2006-04-10 09:59:25.000000000 +0200
@@ -23,13 +23,7 @@
#include "YQZypp.h"
#include
-template<class ZyppKind_T> void solveResKind()
-{
- zypp::Resolver_Ptr resolver = zypp::getZYpp()->resolver();
- resolver->transactReset( zypp::ResStatus::SOLVER );
- resolver->transactResKind( zypp::ResTraits::kind );
-}
//------------------------------------------------------------
// Abstract base class for strategies to get status for packages or patches
@@ -83,6 +77,13 @@
virtual bool toggleStatus( ZyppSel slbPtr,
ZyppObj objPtr,
ZyppStatus & newStat );
+ /**
+ * Do a "small" solver run for all "resolvable collections", i.e., for
+ * selections, patterns, languages, patches.
+ **/
+ void solveResolvableCollections();
+
+
};
//------------------------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-ncurses-2.13.17/src/PackageSelector.cc new/yast2-ncurses-2.13.18/src/PackageSelector.cc
--- old/yast2-ncurses-2.13.17/src/PackageSelector.cc 2006-03-28 13:45:14.000000000 +0200
+++ new/yast2-ncurses-2.13.18/src/PackageSelector.cc 2006-04-10 14:49:13.000000000 +0200
@@ -232,15 +232,16 @@
// create the search popup
searchPopup = new NCPopupSearch( wpos( 1, 1 ), this );
- // the dependency popups
- depsPopup = new NCPopupDeps( wpos( 1, 1 ), this );
-
- // the disk space popup
- diskspacePopup = new NCPopupDiskspace( wpos( 1, 1 ) );
-
- // the file popup
+ // the file popup
filePopup = new NCPopupFile( wpos( 1, 1), floppyDevice, this );
}
+
+ // the dependency popups
+ depsPopup = new NCPopupDeps( wpos( 1, 1 ), this );
+
+ // the disk space popup
+ diskspacePopup = new NCPopupDiskspace( wpos( 1, 1 ) );
+
}
///////////////////////////////////////////////////////////////////
@@ -291,20 +292,14 @@
p.saveStatezypp::Package ();
p.saveStatezypp::SrcPackage ();
- if (youMode)
- {
- p.saveStatezypp::Patch ();
- // some future proofing
- p.saveStatezypp::Message ();
- p.saveStatezypp::Script ();
-
- }
- else
- {
- p.saveStatezypp::Selection ();
- p.saveStatezypp::Pattern ();
- p.saveStatezypp::Language ();
- }
+ p.saveStatezypp::Patch ();
+ // some future proofing
+ p.saveStatezypp::Message ();
+ p.saveStatezypp::Script ();
+
+ p.saveStatezypp::Selection ();
+ p.saveStatezypp::Pattern ();
+ p.saveStatezypp::Language ();
}
void PackageSelector::restoreState ()
@@ -314,20 +309,14 @@
p.restoreStatezypp::Package ();
p.restoreStatezypp::SrcPackage ();
- if (youMode)
- {
- p.restoreStatezypp::Patch ();
- // some future proofing
- p.restoreStatezypp::Message ();
- p.restoreStatezypp::Script ();
-
- }
- else
- {
- p.restoreStatezypp::Selection ();
- p.restoreStatezypp::Pattern ();
- p.restoreStatezypp::Language ();
- }
+ p.restoreStatezypp::Patch ();
+ // some future proofing
+ p.restoreStatezypp::Message ();
+ p.restoreStatezypp::Script ();
+
+ p.restoreStatezypp::Selection ();
+ p.restoreStatezypp::Pattern ();
+ p.restoreStatezypp::Language ();
}
bool PackageSelector::diffState ()
@@ -343,25 +332,20 @@
diff = diff || p.diffStatezypp::SrcPackage ();
log << diff << endl;
- if (youMode)
- {
- diff = diff || p.diffStatezypp::Patch ();
- log << diff << endl;
- // some future proofing
- diff = diff || p.diffStatezypp::Message ();
- log << diff << endl;
- diff = diff || p.diffStatezypp::Script ();
- log << diff << endl;
- }
- else
- {
- diff = diff || p.diffStatezypp::Selection ();
- log << diff << endl;
- diff = diff || p.diffStatezypp::Pattern ();
- log << diff << endl;
- diff = diff || p.diffStatezypp::Language ();
- log << diff << endl;
- }
+ diff = diff || p.diffStatezypp::Patch ();
+ log << diff << endl;
+ // some future proofing
+ diff = diff || p.diffStatezypp::Message ();
+ log << diff << endl;
+ diff = diff || p.diffStatezypp::Script ();
+ log << diff << endl;
+
+ diff = diff || p.diffStatezypp::Selection ();
+ log << diff << endl;
+ diff = diff || p.diffStatezypp::Pattern ();
+ log << diff << endl;
+ diff = diff || p.diffStatezypp::Language ();
+ log << diff << endl;
return diff;
}
@@ -1612,8 +1596,11 @@
bool PackageSelector::DiskinfoHandler( const NCursesEvent& event )
{
NCPkgTable * packageList = getPackageList();
-
- diskspacePopup->showInfoPopup();
+
+ if ( diskspacePopup )
+ {
+ diskspacePopup->showInfoPopup();
+ }
if ( packageList )
{
packageList->setKeyboardFocus();
@@ -1825,25 +1812,25 @@
bool PackageSelector::OkButtonHandler( const NCursesEvent& event )
{
bool closeDialog = true;
-
- if ( !youMode )
+
+
+ // check/show dependencies and automatic changes also if youMode == true
+
+ // show the dependency popup
+ if ( showPackageDependencies( true ) )
{
- // show the dependency popup
- if ( showPackageDependencies( true ) )
- {
- // don't leave the package installation if the user has clicked on Cancel
- // in dependency popup because maybe he wants to change his choices
- closeDialog = false;
- }
- // show the automatic changes list
- NCPopupPkgTable autoChangePopup( wpos( 1, 1), this );
- NCursesEvent input = autoChangePopup.showInfoPopup();
+ // don't leave the package installation if the user has clicked on Cancel
+ // in dependency popup because maybe he wants to change his choices
+ closeDialog = false;
+ }
+ // show the automatic changes list
+ NCPopupPkgTable autoChangePopup( wpos( 1, 1), this );
+ NCursesEvent input = autoChangePopup.showInfoPopup();
- if ( input == NCursesEvent::cancel )
- {
- // user clicked on Cancel
- closeDialog = false;
- }
+ if ( input == NCursesEvent::cancel )
+ {
+ // user clicked on Cancel
+ closeDialog = false;
}
if ( diskspacePopup )
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...