[zypp-commit] r5831 - /trunk/libzypp-testsuite/solver/src/deptestomatic.cc
Author: schubi2 Date: Fri Jun 22 15:30:40 2007 New Revision: 5831 URL: http://svn.opensuse.org/viewcvs/zypp?rev=5831&view=rev Log: New API calls which provides more information about one resolvable after a solverrun: isSelectedBy (const PoolItem_Ref item); selects (const PoolItem_Ref item); Modified: trunk/libzypp-testsuite/solver/src/deptestomatic.cc Modified: trunk/libzypp-testsuite/solver/src/deptestomatic.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-testsuite/solver/src/deptestomatic.cc?rev=5831&r1=5830&r2=5831&view=diff ============================================================================== --- trunk/libzypp-testsuite/solver/src/deptestomatic.cc (original) +++ trunk/libzypp-testsuite/solver/src/deptestomatic.cc Fri Jun 22 15:30:40 2007 @@ -741,7 +741,7 @@ // collect all installed items in a set void -print_pool( const string & prefix = "", bool show_all = true, string show_licence = "false" ) +print_pool( solver::detail::Resolver_Ptr resolver, const string & prefix = "", bool show_all = true, string show_licence = "false", bool verbose = false ) { SortItem info( show_all ); cout << "Current pool:" << endl; @@ -758,6 +758,26 @@ cout << it->second; } cout << endl; + if (verbose) { + zypp::solver::detail::ItemCapKindList selectedBy = resolver->isSelectedBy(it->second); + zypp::solver::detail::ItemCapKindList select = resolver->selects(it->second); + for (zypp::solver::detail::ItemCapKindList::const_iterator iter = selectedBy.begin(); iter != selectedBy.end(); ++iter) { + if (iter == selectedBy.begin()) { + cout << prefix << ++count << ": "; + cout << " will be selected by:" << endl; + } + cout << prefix << ++count << ": "; + cout << " " << iter->item << endl; + } + for (zypp::solver::detail::ItemCapKindList::const_iterator iter = select.begin(); iter != select.end(); ++iter) { + if (iter == select.begin()) { + cout << prefix << ++count << ": "; + cout << " will select:" << endl; + } + cout << prefix << ++count << ": "; + cout << " " << iter->item << endl; + } + } } cout << "Pool End." << endl; return; @@ -1412,7 +1432,7 @@ resolver->doUpgrade(stats); - print_pool( MARKER ); + print_pool( resolver, MARKER ); } else if (node->equals ("establish")) { @@ -1630,8 +1650,9 @@ } else if (node->equals ("showpool")) { string prefix = node->getProp ("prefix"); string all = node->getProp ("all"); - string get_licence = node->getProp ("getlicence"); - print_pool( prefix, !all.empty(), get_licence ); + string get_licence = node->getProp ("getlicence"); + string verbose = node->getProp ("verbose"); + print_pool( resolver, prefix, !all.empty(), get_licence, !verbose.empty() ); } else if (node->equals ("lock")) { string source_alias = node->getProp ("channel"); string package_name = node->getProp ("package"); @@ -1937,7 +1958,7 @@ resolver->doUpgrade(stats); - print_pool( MARKER ); + print_pool( resolver, MARKER ); } else if (node->equals ("establish")) { @@ -2146,8 +2167,9 @@ } else if (node->equals ("showpool")) { string prefix = node->getProp ("prefix"); string all = node->getProp ("all"); - string get_licence = node->getProp ("getlicence"); - print_pool( prefix, !all.empty(), get_licence ); + string get_licence = node->getProp ("getlicence"); + string verbose = node->getProp ("verbose"); + print_pool( resolver, prefix, !all.empty(), get_licence, !verbose.empty() ); } else if (node->equals ("lock")) { string source_alias = node->getProp ("channel"); string package_name = node->getProp ("package"); @@ -2262,7 +2284,7 @@ node = node->next(); } -print_pool( MARKER ); +print_pool( resolver, MARKER ); report_solutions (resolver, instorder, mediaorder); } -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org
participants (1)
-
schubi2@svn.opensuse.org