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<zypp::Pattern >::kind ); + resolver->transactResKind( zypp::ResTraits<zypp::Language >::kind ); + resolver->transactResKind( zypp::ResTraits<zypp::Patch >::kind ); + resolver->transactResKind( zypp::ResTraits<zypp::Atom >::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 <zypp/ui/Selectable.h> -template<class ZyppKind_T> void solveResKind() -{ - zypp::Resolver_Ptr resolver = zypp::getZYpp()->resolver(); - resolver->transactReset( zypp::ResStatus::SOLVER ); - resolver->transactResKind( zypp::ResTraits<ZyppKind_T>::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...