From 1060dc526b42d5e4e95962b49c781d3d12896e4b Mon Sep 17 00:00:00 2001 From: Michael Andres Date: Fri, 2 Mar 2012 09:45:08 +0100 Subject: [PATCH] NRP add 'dump dependencies' --- tools/NameReqPrv.cc | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/tools/NameReqPrv.cc b/tools/NameReqPrv.cc index 36a818f..11c41bf 100644 --- a/tools/NameReqPrv.cc +++ b/tools/NameReqPrv.cc @@ -42,6 +42,7 @@ int usage( const std::string & msg_r = std::string(), int exit_r = 100 ) cerr << " -s/-S turn on/off looking for supplements (default off)" << endl; cerr << " -a short for -n -p -r" << endl; cerr << " -A short for -n -P -R" << endl; + cerr << " -D dump dependencies of " << endl; cerr << "" << endl; return exit_r; } @@ -60,6 +61,27 @@ void tableOut( const std::string & s1 = std::string(), message << endl; } + +/////////////////////////////////////////////////////////////////// + +void dDump( const std::string & spec_r ) +{ + message << "DUMP " << spec_r << " {"; + + sat::WhatProvides q( Capability::guessPackageSpec( spec_r ) ); + if ( q.empty() ) + { + message << "}" << endl; + return; + } + + for ( const auto & el : q ) + { + message << endl << "==============================" << endl << dump(el); + } + message << endl << "}" << endl; +} + /****************************************************************** ** ** FUNCTION NAME : main @@ -178,8 +200,17 @@ int main( int argc, char * argv[] ) { switch ( (*argv)[1] ) { - case 'a': names = true, requires = provides = true; break; - case 'A': names = true, requires = provides = false; break; + case 'a': names = true, requires = provides = true; break; + case 'A': names = true, requires = provides = false; break; + case 'D': + if ( argc > 1 ) + { + --argc,++argv; + dDump( *argv ); + } + else + return errexit("-D requires an argument."); + break; case 'i': ignorecase = true; break; case 'I': ignorecase = false; break; case 'n': names = true; break; -- 2.7.4