Hello community,
here is the log from the commit of package libzypp for openSUSE:Factory
checked in at Wed May 5 22:14:17 CEST 2010.
--------
--- libzypp/libzypp.changes 2010-04-29 18:23:40.000000000 +0200
+++ libzypp/libzypp.changes 2010-05-03 18:45:18.000000000 +0200
@@ -1,0 +2,18 @@
+Mon May 3 18:12:36 CEST 2010 - ma@suse.de
+
+- Improve solver.cleandepsOnRemove result by evaluating the install
+ history to find packages installed on behalf of a user request (not
+ auto added by the solver).
+- version 7.5.0 (5)
+
+-------------------------------------------------------------------
+Sat May 1 01:13:43 CEST 2010 - ma@suse.de
+
+- Update translations.
+
+-------------------------------------------------------------------
+Fri Apr 30 01:13:46 CEST 2010 - ma@suse.de
+
+- Update translations.
+
+-------------------------------------------------------------------
@@ -4 +22 @@
-- Cleanup when deleting packages. New zypp.conf global option
+- Cleanup when deleting packages. New zypp.conf expert option
calling whatdependson for head-i586
Old:
----
libzypp-7.4.0.tar.bz2
New:
----
libzypp-7.5.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libzypp.spec ++++++
--- /var/tmp/diff_new_pack.hGCKp2/_old 2010-05-05 22:13:32.000000000 +0200
+++ /var/tmp/diff_new_pack.hGCKp2/_new 2010-05-05 22:13:32.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libzypp (Version 7.4.0)
+# spec file for package libzypp (Version 7.5.0)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -24,7 +24,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
AutoReqProv: on
Summary: Package, Patch, Pattern, and Product Management
-Version: 7.4.0
+Version: 7.5.0
Release: 1
Source: %{name}-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
++++++ libzypp-7.4.0.tar.bz2 -> libzypp-7.5.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/VERSION.cmake new/libzypp-7.5.0/VERSION.cmake
--- old/libzypp-7.4.0/VERSION.cmake 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/VERSION.cmake 2010-05-03 18:22:45.000000000 +0200
@@ -59,10 +59,10 @@
# changes file. See './mkChangelog -h' for help.
#
SET(LIBZYPP_MAJOR "7")
-SET(LIBZYPP_COMPATMINOR "4")
-SET(LIBZYPP_MINOR "4")
+SET(LIBZYPP_COMPATMINOR "5")
+SET(LIBZYPP_MINOR "5")
SET(LIBZYPP_PATCH "0")
#
-# LAST RELEASED: 7.4.0 (4)
+# LAST RELEASED: 7.5.0 (5)
# (The number in parenthesis is LIBZYPP_COMPATMINOR)
#=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/package/libzypp.changes new/libzypp-7.5.0/package/libzypp.changes
--- old/libzypp-7.4.0/package/libzypp.changes 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/package/libzypp.changes 2010-05-03 18:22:45.000000000 +0200
@@ -1,7 +1,25 @@
-------------------------------------------------------------------
+Mon May 3 18:12:36 CEST 2010 - ma@suse.de
+
+- Improve solver.cleandepsOnRemove result by evaluating the install
+ history to find packages installed on behalf of a user request (not
+ auto added by the solver).
+- version 7.5.0 (5)
+
+-------------------------------------------------------------------
+Sat May 1 01:13:43 CEST 2010 - ma@suse.de
+
+- Update translations.
+
+-------------------------------------------------------------------
+Fri Apr 30 01:13:46 CEST 2010 - ma@suse.de
+
+- Update translations.
+
+-------------------------------------------------------------------
Thu Apr 29 17:10:29 CEST 2010 - ma@suse.de
-- Cleanup when deleting packages. New zypp.conf global option
+- Cleanup when deleting packages. New zypp.conf expert option
solver.cleandepsOnRemove telling whether the solver should per
default try to remove packages exclusively required by the ones
he's asked to delete (default false).
Files old/libzypp-7.4.0/po/zypp-po.tar.bz2 and new/libzypp-7.5.0/po/zypp-po.tar.bz2 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/IdString.h new/libzypp-7.5.0/zypp/IdString.h
--- old/libzypp-7.4.0/zypp/IdString.h 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/IdString.h 2010-05-03 18:22:45.000000000 +0200
@@ -23,6 +23,9 @@
namespace zypp
{ /////////////////////////////////////////////////////////////////
+ class IdString;
+ typedef std::tr1::unordered_set<IdString> IdStringSet;
+
///////////////////////////////////////////////////////////////////
//
// CLASS NAME : IdString
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/Resolvable.h new/libzypp-7.5.0/zypp/Resolvable.h
--- old/libzypp-7.4.0/zypp/Resolvable.h 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/Resolvable.h 2010-05-03 18:22:45.000000000 +0200
@@ -57,6 +57,10 @@
bool isSystem() const
{ return sat::Solvable::isSystem(); }
+ /** \copydoc sat::Solvable::onSystemByUser() */
+ bool onSystemByUser() const
+ { return sat::Solvable::onSystemByUser(); }
+
IdString ident() const
{ return sat::Solvable::ident(); }
@@ -85,10 +89,6 @@
bool multiversionInstall() const
{ return sat::Solvable::multiversionInstall(); }
- /** \deprecated Use \ref multiversionInstall. */
- bool installOnly() const
- { return sat::Solvable::multiversionInstall(); }
-
/** \name Dependencies. */
//@{
/** Select by Dep. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/ZConfig.h new/libzypp-7.5.0/zypp/ZConfig.h
--- old/libzypp-7.4.0/zypp/ZConfig.h 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/ZConfig.h 2010-05-03 18:22:45.000000000 +0200
@@ -66,7 +66,9 @@
public:
- /** The target root directory. */
+ /** The target root directory.
+ * Returns an empty path if no target is set.
+ */
Pathname systemRoot() const;
public:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/base/IOStream.h new/libzypp-7.5.0/zypp/base/IOStream.h
--- old/libzypp-7.4.0/zypp/base/IOStream.h 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/base/IOStream.h 2010-05-03 18:22:45.000000000 +0200
@@ -136,6 +136,9 @@
/** Access the current line. */
const std::string & operator*() const
{ return _line; }
+ /** \overload non const access */
+ std::string & operator*()
+ { return _line; }
/** Access the current line. */
const std::string * operator->() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/sat/Pool.cc new/libzypp-7.5.0/zypp/sat/Pool.cc
--- old/libzypp-7.4.0/zypp/sat/Pool.cc 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/sat/Pool.cc 2010-05-03 18:22:45.000000000 +0200
@@ -209,6 +209,12 @@
Pool::MultiversionIterator Pool::multiversionEnd() const { return myPool().multiversionList().end(); }
bool Pool::isMultiversion( IdString ident_r ) const { return myPool().isMultiversion( ident_r ); }
+ bool Pool::onSystemByUserEmpty() const { return myPool().onSystemByUserList().empty(); }
+ size_t Pool::onSystemByUserSize() const { return myPool().onSystemByUserList().size(); }
+ Pool::OnSystemByUserIterator Pool::onSystemByUserBegin() const { return myPool().onSystemByUserList().begin(); }
+ Pool::OnSystemByUserIterator Pool::onSystemByUserEnd() const { return myPool().onSystemByUserList().end(); }
+ bool Pool::isOnSystemByUser( IdString ident_r ) const { return myPool().isOnSystemByUser( ident_r ); }
+
/******************************************************************
**
** FUNCTION NAME : operator<<
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/sat/Pool.h new/libzypp-7.5.0/zypp/sat/Pool.h
--- old/libzypp-7.4.0/zypp/sat/Pool.h 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/sat/Pool.h 2010-05-03 18:22:45.000000000 +0200
@@ -212,7 +212,7 @@
* at the same time. (\see \ref ZConfig::multiversionSpec)
*/
//@{
- typedef std::tr1::unordered_set<IdString>::const_iterator MultiversionIterator;
+ typedef IdStringSet::const_iterator MultiversionIterator;
bool multiversionEmpty() const;
size_t multiversionSize() const;
@@ -223,6 +223,21 @@
//@}
public:
+ /** \name Installed on behalf of a user request hint.
+ * This is a hint guessed by evaluating an available install history.
+ */
+ //@{
+ typedef IdStringSet::const_iterator OnSystemByUserIterator;
+
+ bool onSystemByUserEmpty() const;
+ size_t onSystemByUserSize() const;
+ OnSystemByUserIterator onSystemByUserBegin() const;
+ OnSystemByUserIterator onSystemByUserEnd() const;
+
+ bool isOnSystemByUser( IdString ident_r ) const;
+ //@}
+
+ public:
/** Expert backdoor. */
::_Pool * get() const;
private:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/sat/Solvable.cc new/libzypp-7.5.0/zypp/sat/Solvable.cc
--- old/libzypp-7.4.0/zypp/sat/Solvable.cc 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/sat/Solvable.cc 2010-05-03 18:22:45.000000000 +0200
@@ -156,6 +156,11 @@
return myPool().isSystemRepo( _solvable->repo );
}
+ bool Solvable::onSystemByUser() const
+ {
+ return myPool().isOnSystemByUser( ident() );
+ }
+
IdString Solvable::ident() const
{
NO_SOLVABLE_RETURN( IdString() );
@@ -386,8 +391,6 @@
return myPool().isMultiversion( ident() );
}
- bool Solvable::installOnly() const { return multiversionInstall(); }
-
IdString Solvable::vendor() const
{
NO_SOLVABLE_RETURN( IdString() );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/sat/Solvable.h new/libzypp-7.5.0/zypp/sat/Solvable.h
--- old/libzypp-7.4.0/zypp/sat/Solvable.h 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/sat/Solvable.h 2010-05-03 18:22:45.000000000 +0200
@@ -80,9 +80,16 @@
/** Return whether this \ref Solvable belongs to the system repo.
* \note This includes the otherwise hidden systemSolvable.
- */
+ */
bool isSystem() const;
+ /** Whether this is known to be installed on behalf of a user request.
+ * \note This is a hint guessed by evaluating an available install history.
+ * Returns \c false for non-system (uninstalled) solvables, or if no history
+ * is available.
+ */
+ bool onSystemByUser() const;
+
/** The \ref Repository this \ref Solvable belongs to. */
Repository repository() const;
@@ -174,9 +181,6 @@
*/
bool multiversionInstall() const;
- /** \deprecated Use \ref multiversionInstall. */
- bool installOnly() const ZYPP_DEPRECATED;
-
/** String representation <tt>"ident-edition.arch"</tt> or \c "noSolvable"
* \code
* product:openSUSE-11.1.x86_64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/sat/detail/PoolImpl.cc new/libzypp-7.5.0/zypp/sat/detail/PoolImpl.cc
--- old/libzypp-7.4.0/zypp/sat/detail/PoolImpl.cc 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/sat/detail/PoolImpl.cc 2010-05-03 18:22:45.000000000 +0200
@@ -10,6 +10,7 @@
*
*/
#include <iostream>
+#include <fstream>
#include
#include "zypp/base/Easy.h"
@@ -19,6 +20,7 @@
#include "zypp/base/Measure.h"
#include "zypp/base/WatchFile.h"
#include "zypp/base/Sysconfig.h"
+#include "zypp/base/IOStream.h"
#include "zypp/ZConfig.h"
@@ -270,6 +272,11 @@
setDirty(__FUNCTION__, repo_r->name );
::repo_free( repo_r, /*reuseids*/false );
eraseRepoInfo( repo_r );
+ if ( isSystemRepo( repo_r ) )
+ {
+ // systemRepo added
+ _onSystemByUserListPtr.reset(); // re-evaluate
+ }
}
int PoolImpl::_addSolv( ::_Repo * repo_r, FILE * file_r )
@@ -331,6 +338,11 @@
blockBegin = blockSize = 0;
}
}
+ else
+ {
+ // systemRepo added
+ _onSystemByUserListPtr.reset(); // re-evaluate
+ }
}
detail::SolvableIdType PoolImpl::_addSolvables( ::_Repo * repo_r, unsigned count_r )
@@ -519,6 +531,74 @@
}
}
+ void PoolImpl::onSystemByUserListInit() const
+ {
+ _onSystemByUserListPtr.reset( new OnSystemByUserList );
+ OnSystemByUserList & onSystemByUserList( *_onSystemByUserListPtr );
+
+ Pathname root( ZConfig::instance().systemRoot() );
+ if ( root.empty() )
+ {
+ MIL << "Target not initialized." << endl;
+ return;
+ }
+ PathInfo pi( root / ZConfig::instance().historyLogFile() );
+ MIL << "onSystemByUserList from history: " << pi << endl;
+ if ( ! pi.isFile() )
+ return;
+
+ // go and parse it: 'who' must constain an '@', then it was installed by user request.
+ // 2009-09-29 07:25:19|install|lirc-remotes|0.8.5-3.2|x86_64|root@opensuse|InstallationImage|a204211eb0...
+ std::ifstream infile( pi.path().c_str() );
+ for( iostr::EachLine in( infile ); in; in.next() )
+ {
+ const char * ch( (*in).c_str() );
+ // start with year
+ if ( *ch < '1' || '9' < *ch )
+ continue;
+ const char * sep1 = ::strchr( ch, '|' ); // | after date
+ if ( !sep1 )
+ continue;
+ ++sep1;
+ // if logs an install or delete
+ bool installs = true;
+ if ( ::strncmp( sep1, "install|", 8 ) )
+ {
+ if ( ::strncmp( sep1, "remove |", 8 ) )
+ continue; // no install and no remove
+ else
+ installs = false; // remove
+ }
+ sep1 += 8; // | after what
+ // get the package name
+ const char * sep2 = ::strchr( sep1, '|' ); // | after name
+ if ( !sep2 || sep1 == sep2 )
+ continue;
+ (*in)[sep2-ch] = '\0';
+ IdString pkg( sep1 );
+ // we're done, if a delete
+ if ( !installs )
+ {
+ onSystemByUserList.erase( pkg );
+ continue;
+ }
+ // now guess whether user installed or not (3rd next field contains 'user@host')
+ if ( (sep1 = ::strchr( sep2+1, '|' )) // | after version
+ && (sep1 = ::strchr( sep1+1, '|' )) // | after arch
+ && (sep2 = ::strchr( sep1+1, '|' )) ) // | after who
+ {
+ (*in)[sep2-ch] = '\0';
+ if ( ::strchr( sep1+1, '@' ) )
+ {
+ // by user
+ onSystemByUserList.insert( pkg );
+ continue;
+ }
+ }
+ }
+ MIL << "onSystemByUserList found: " << onSystemByUserList.size() << endl;
+ }
+
/////////////////////////////////////////////////////////////////
} // namespace detail
///////////////////////////////////////////////////////////////////
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/sat/detail/PoolImpl.h new/libzypp-7.5.0/zypp/sat/detail/PoolImpl.h
--- old/libzypp-7.4.0/zypp/sat/detail/PoolImpl.h 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/sat/detail/PoolImpl.h 2010-05-03 18:22:45.000000000 +0200
@@ -119,7 +119,7 @@
detail::SolvableIdType _addSolvables( ::_Repo * repo_r, unsigned count_r );
//@}
- /** Helper postprocessing the repo aftr adding solv or helix files. */
+ /** Helper postprocessing the repo after adding solv or helix files. */
void _postRepoAdd( ::_Repo * repo_r );
public:
@@ -226,7 +226,7 @@
public:
/** \name Multiversion install. */
//@{
- typedef std::tr1::unordered_set<IdString> MultiversionList;
+ typedef IdStringSet MultiversionList;
const MultiversionList & multiversionList() const
{
@@ -240,7 +240,25 @@
const MultiversionList & l( multiversionList() );
return l.find( ident_r ) != l.end();
}
+ //@}
+
+ public:
+ /** \name Installed on behalf of a user request hint. */
+ //@{
+ typedef IdStringSet OnSystemByUserList;
+
+ const OnSystemByUserList & onSystemByUserList() const
+ {
+ if ( ! _onSystemByUserListPtr )
+ onSystemByUserListInit();
+ return *_onSystemByUserListPtr;
+ }
+ bool isOnSystemByUser( IdString ident_r ) const
+ {
+ const OnSystemByUserList & l( onSystemByUserList() );
+ return l.find( ident_r ) != l.end();
+ }
//@}
private:
@@ -261,6 +279,10 @@
/** */
void multiversionListInit() const;
mutable scoped_ptr<MultiversionList> _multiversionListPtr;
+
+ /** */
+ void onSystemByUserListInit() const;
+ mutable scoped_ptr<OnSystemByUserList> _onSystemByUserListPtr;
};
///////////////////////////////////////////////////////////////////
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/solver/detail/SATResolver.cc new/libzypp-7.5.0/zypp/solver/detail/SATResolver.cc
--- old/libzypp-7.4.0/zypp/solver/detail/SATResolver.cc 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/solver/detail/SATResolver.cc 2010-05-03 18:22:45.000000000 +0200
@@ -616,17 +616,27 @@
ERR << "Weaken: " << *iter << " not found" << endl;
}
MIL << "Weaken dependencies of " << *iter << endl;
- queue_push( &(_jobQueue), SOLVER_WEAKEN_SOLVABLE_DEPS );
+ queue_push( &(_jobQueue), SOLVER_WEAKENDEPS | SOLVER_SOLVABLE );
queue_push( &(_jobQueue), id );
}
// Add rules for parallel installable resolvables with different versions
for_( it, sat::Pool::instance().multiversionBegin(), sat::Pool::instance().multiversionEnd() )
{
- queue_push( &(_jobQueue), SOLVER_NOOBSOLETES_SOLVABLE_NAME );
+ queue_push( &(_jobQueue), SOLVER_NOOBSOLETES | SOLVABLE_NAME );
queue_push( &(_jobQueue), it->id() );
}
+ if ( cleandepsOnRemove() )
+ {
+ // Add all items known to be installed by user request (not solver selected).
+ for_( it, sat::Pool::instance().onSystemByUserBegin(), sat::Pool::instance().onSystemByUserEnd() )
+ {
+ queue_push( &(_jobQueue), SOLVER_USERINSTALLED | SOLVER_SOLVABLE_NAME );
+ queue_push( &(_jobQueue), it->id() );
+ }
+ }
+
if ( _distupgrade )
{
if ( ZConfig::instance().solverUpgradeRemoveDroppedPackages() )
@@ -647,7 +657,7 @@
dumpRangeLine( MIL << "Droplist for " << (*it)->candidateObj() << ": " << droplist.size() << " ", droplist.begin(), droplist.end() ) << endl;
for_( cap, droplist.begin(), droplist.end() )
{
- queue_push( &_jobQueue, SOLVER_DROP_ORPHANED|SOLVER_SOLVABLE_NAME );
+ queue_push( &_jobQueue, SOLVER_DROP_ORPHANED | SOLVER_SOLVABLE_NAME );
queue_push( &_jobQueue, cap->id() );
}
}
@@ -705,19 +715,19 @@
for_( iter, upgradeRepos.begin(), upgradeRepos.end() )
{
- queue_push( &(_jobQueue), SOLVER_DISTUPGRADE|SOLVER_SOLVABLE_REPO );
+ queue_push( &(_jobQueue), SOLVER_DISTUPGRADE | SOLVER_SOLVABLE_REPO );
queue_push( &(_jobQueue), iter->get()->repoid );
MIL << "Upgrade repo " << *iter << endl;
}
for (CapabilitySet::const_iterator iter = requires_caps.begin(); iter != requires_caps.end(); iter++) {
- queue_push( &(_jobQueue), SOLVER_INSTALL_SOLVABLE_PROVIDES );
+ queue_push( &(_jobQueue), SOLVER_INSTALL | SOLVER_SOLVABLE_PROVIDES );
queue_push( &(_jobQueue), iter->id() );
MIL << "Requires " << *iter << endl;
}
for (CapabilitySet::const_iterator iter = conflict_caps.begin(); iter != conflict_caps.end(); iter++) {
- queue_push( &(_jobQueue), SOLVER_ERASE_SOLVABLE_PROVIDES | MAYBE_CLEANDEPS );
+ queue_push( &(_jobQueue), SOLVER_ERASE | SOLVER_SOLVABLE_PROVIDES | MAYBE_CLEANDEPS );
queue_push( &(_jobQueue), iter->id() );
MIL << "Conflicts " << *iter << endl;
}
@@ -767,7 +777,7 @@
for (PoolItemList::const_iterator iter = _items_to_remove.begin(); iter != _items_to_remove.end(); iter++) {
sat::detail::IdType ident( (*iter)->satSolvable().ident().id() );
MIL << "Delete " << *iter << ident << endl;
- queue_push( &(_jobQueue), SOLVER_ERASE_SOLVABLE_NAME | MAYBE_CLEANDEPS );
+ queue_push( &(_jobQueue), SOLVER_ERASE | SOLVER_SOLVABLE_NAME | MAYBE_CLEANDEPS );
queue_push( &(_jobQueue), ident);
}
@@ -1095,9 +1105,9 @@
if (p == SOLVER_SOLUTION_JOB) {
/* job, rp is index into job queue */
what = _jobQueue.elements[rp];
- switch (_jobQueue.elements[rp-1])
+ switch (_jobQueue.elements[rp-1]&(SOLVER_SELECTMASK|SOLVER_JOBMASK))
{
- case SOLVER_INSTALL_SOLVABLE: {
+ case SOLVER_INSTALL | SOLVER_SOLVABLE: {
s = mapSolvable (what);
PoolItem poolItem = _pool.find (s);
if (poolItem) {
@@ -1117,7 +1127,7 @@
}
}
break;
- case SOLVER_ERASE_SOLVABLE: {
+ case SOLVER_ERASE | SOLVER_SOLVABLE: {
s = mapSolvable (what);
PoolItem poolItem = _pool.find (s);
if (poolItem) {
@@ -1137,7 +1147,7 @@
}
}
break;
- case SOLVER_INSTALL_SOLVABLE_NAME:
+ case SOLVER_INSTALL | SOLVER_SOLVABLE_NAME:
{
IdString ident( what );
SolverQueueItemInstall_Ptr install =
@@ -1149,7 +1159,7 @@
problemSolution->addDescription (description);
}
break;
- case SOLVER_ERASE_SOLVABLE_NAME:
+ case SOLVER_ERASE | SOLVER_SOLVABLE_NAME:
{
// As we do not know, if this request has come from resolvePool or
// resolveQueue we will have to take care for both cases.
@@ -1170,7 +1180,7 @@
problemSolution->addDescription (description);
}
break;
- case SOLVER_INSTALL_SOLVABLE_PROVIDES:
+ case SOLVER_INSTALL | SOLVER_SOLVABLE_PROVIDES:
{
problemSolution->addSingleAction (Capability(what), REMOVE_EXTRA_REQUIRE);
string description = "";
@@ -1191,7 +1201,7 @@
}
}
break;
- case SOLVER_ERASE_SOLVABLE_PROVIDES:
+ case SOLVER_ERASE | SOLVER_SOLVABLE_PROVIDES:
{
problemSolution->addSingleAction (Capability(what), REMOVE_EXTRA_CONFLICT);
string description = "";
@@ -1213,7 +1223,7 @@
}
}
break;
- case SOLVER_INSTALL_SOLVABLE_UPDATE:
+ case SOLVER_UPDATE | SOLVER_SOLVABLE:
{
s = mapSolvable (what);
PoolItem poolItem = _pool.find (s);
@@ -1408,13 +1418,13 @@
CapabilitySet system_conflicts = SystemCheck::instance().conflictSystemCap();
for (CapabilitySet::const_iterator iter = system_requires.begin(); iter != system_requires.end(); iter++) {
- queue_push( &(_jobQueue), SOLVER_INSTALL_SOLVABLE_PROVIDES);
+ queue_push( &(_jobQueue), SOLVER_INSTALL | SOLVER_SOLVABLE_PROVIDES );
queue_push( &(_jobQueue), iter->id() );
MIL << "SYSTEM Requires " << *iter << endl;
}
for (CapabilitySet::const_iterator iter = system_conflicts.begin(); iter != system_conflicts.end(); iter++) {
- queue_push( &(_jobQueue), SOLVER_ERASE_SOLVABLE_PROVIDES | MAYBE_CLEANDEPS );
+ queue_push( &(_jobQueue), SOLVER_ERASE | SOLVER_SOLVABLE_PROVIDES | MAYBE_CLEANDEPS );
queue_push( &(_jobQueue), iter->id() );
MIL << "SYSTEM Conflicts " << *iter << endl;
}
@@ -1430,7 +1440,7 @@
if ( (*it)->isSystem() )
{
Capability archrule( (*it)->arch(), rpm.c_str(), Capability::PARSED );
- queue_push( &(_jobQueue), SOLVER_INSTALL|SOLVABLE_NAME|SOLVER_ESSENTIAL );
+ queue_push( &(_jobQueue), SOLVER_INSTALL | SOLVABLE_NAME | SOLVER_ESSENTIAL );
queue_push( &(_jobQueue), archrule.id() );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/solver/detail/SolverQueueItemDelete.cc new/libzypp-7.5.0/zypp/solver/detail/SolverQueueItemDelete.cc
--- old/libzypp-7.4.0/zypp/solver/detail/SolverQueueItemDelete.cc 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/solver/detail/SolverQueueItemDelete.cc 2010-05-03 18:22:45.000000000 +0200
@@ -74,9 +74,9 @@
::Id id = IdString(_name).id();
if (_soft) {
- queue_push( &(q), SOLVER_ERASE_SOLVABLE_NAME | SOLVER_WEAK | MAYBE_CLEANDEPS );
+ queue_push( &(q), SOLVER_ERASE | SOLVER_SOLVABLE_NAME | SOLVER_WEAK | MAYBE_CLEANDEPS );
} else {
- queue_push( &(q), SOLVER_ERASE_SOLVABLE_NAME | MAYBE_CLEANDEPS );
+ queue_push( &(q), SOLVER_ERASE | SOLVER_SOLVABLE_NAME | MAYBE_CLEANDEPS );
}
queue_push( &(q), id);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/solver/detail/SolverQueueItemInstall.cc new/libzypp-7.5.0/zypp/solver/detail/SolverQueueItemInstall.cc
--- old/libzypp-7.4.0/zypp/solver/detail/SolverQueueItemInstall.cc 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/solver/detail/SolverQueueItemInstall.cc 2010-05-03 18:22:45.000000000 +0200
@@ -73,9 +73,9 @@
{
::Id id = IdString(_name).id();
if (_soft) {
- queue_push( &(q), SOLVER_INSTALL_SOLVABLE_NAME | SOLVER_WEAK );
+ queue_push( &(q), SOLVER_INSTALL | SOLVER_SOLVABLE_NAME | SOLVER_WEAK );
} else {
- queue_push( &(q), SOLVER_INSTALL_SOLVABLE_NAME );
+ queue_push( &(q), SOLVER_INSTALL | SOLVER_SOLVABLE_NAME );
}
queue_push( &(q), id);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/solver/detail/SolverQueueItemInstallOneOf.cc new/libzypp-7.5.0/zypp/solver/detail/SolverQueueItemInstallOneOf.cc
--- old/libzypp-7.4.0/zypp/solver/detail/SolverQueueItemInstallOneOf.cc 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/solver/detail/SolverQueueItemInstallOneOf.cc 2010-05-03 18:22:45.000000000 +0200
@@ -79,9 +79,9 @@
Queue qs;
if (_soft) {
- queue_push( &(q), SOLVER_INSTALL_SOLVABLE_ONE_OF | SOLVER_WEAK);
+ queue_push( &(q), SOLVER_INSTALL | SOLVER_SOLVABLE_ONE_OF | SOLVER_WEAK);
} else {
- queue_push( &(q), SOLVER_INSTALL_SOLVABLE_ONE_OF );
+ queue_push( &(q), SOLVER_INSTALL | SOLVER_SOLVABLE_ONE_OF );
}
queue_init(&qs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp/solver/detail/SolverQueueItemUpdate.cc new/libzypp-7.5.0/zypp/solver/detail/SolverQueueItemUpdate.cc
--- old/libzypp-7.4.0/zypp/solver/detail/SolverQueueItemUpdate.cc 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp/solver/detail/SolverQueueItemUpdate.cc 2010-05-03 18:22:45.000000000 +0200
@@ -75,7 +75,7 @@
return false;
}
MIL << "Update explicit " << _item << " with the SAT-Pool ID: " << id << endl;
- queue_push( &(q), SOLVER_INSTALL_SOLVABLE_UPDATE );
+ queue_push( &(q), SOLVER_UPDATE | SOLVER_SOLVABLE );
queue_push( &(q), id );
return true;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-7.4.0/zypp.conf new/libzypp-7.5.0/zypp.conf
--- old/libzypp-7.4.0/zypp.conf 2010-04-29 18:08:13.000000000 +0200
+++ new/libzypp-7.5.0/zypp.conf 2010-05-03 18:22:45.000000000 +0200
@@ -264,8 +264,16 @@
# solver.allowVendorChange = false
##
-## Cleanup when deleting packages. Whether the solver should per default
-## try to remove packages exclusively required by the ones he's asked to delete.
+## EXPERTS ONLY: Cleanup when deleting packages. Whether the solver should
+## per default try to remove packages exclusively required by the ones he's
+## asked to delete.
+##
+## This option should be used on a case by case basis, enabled via
+## command line options or switches the applications offer. Changing
+## the global default on a system where unattended actions are performed,
+## may easily damage your system.
+##
+## CHANGING THE DEFAULT IS NOT RECOMMENDED.
##
## Valid values: boolean
## Default value: false
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org