From: Michael Andres Date: Tue, 10 Mar 2009 11:31:13 +0000 (+0100) Subject: backup X-Git-Tag: 6.6.0~40^2~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ed280dd41f9fd2c59c05d8baf1a82fd4f5e58ff4;p=platform%2Fupstream%2Flibzypp.git backup --- diff --git a/devel/devel.ma/NewPool.cc b/devel/devel.ma/NewPool.cc index dfaeb38..029bfc4 100644 --- a/devel/devel.ma/NewPool.cc +++ b/devel/devel.ma/NewPool.cc @@ -444,7 +444,7 @@ try { ResPool pool( ResPool::instance() ); sat::Pool satpool( sat::Pool::instance() ); - if ( 1 ) + if ( 0 ) { Measure x( "INIT TARGET" ); { @@ -477,7 +477,7 @@ try { } } - if ( 1 ) + if ( 0 ) { RepoManager repoManager( makeRepoManager( sysRoot ) ); RepoInfoList repos = repoManager.knownRepositories(); @@ -550,19 +550,20 @@ try { /////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// - if ( 0 ) + RepoManager repoManager( makeRepoManager( sysRoot ) ); + RepoInfoList repos = repoManager.knownRepositories(); + // launch repos + for ( RepoInfoList::iterator it = repos.begin(); it != repos.end(); ++it ) { - PoolItem pi ( getPi("xorg-x11-Xvnc") ); - MIL << pi << endl; - if ( pi ) - { - Patch::constPtr p( pi->asKind() ); - INT << p->contents() << endl; - } - } - - SEC << "baseproduct: " << getZYpp()->target()->baseProduct() << endl; + RepoInfo & nrepo( *it ); + Url url_r( nrepo.url() ); + SEC << url_r << endl; + MIL << RepoManager::makeStupidAlias( url_r ) << endl; + } + MIL << RepoManager::makeStupidAlias() << endl; + MIL << RepoManager::makeStupidAlias() << endl; + MIL << RepoManager::makeStupidAlias() << endl; #if 0 getZYpp()->resolver()->addRequire( Capability("amarok") ); diff --git a/devel/devel.ma/Signal.cc b/devel/devel.ma/Signal.cc index a463ed3..cbf418a 100644 --- a/devel/devel.ma/Signal.cc +++ b/devel/devel.ma/Signal.cc @@ -8,7 +8,7 @@ using std::endl; using std::cout; - +//////////////////////////////////////////////////////////////////////////////////////////////////// namespace boost { template @@ -22,12 +22,13 @@ namespace boost std::ostream & operator<<( std::ostream & str, const connection & obj ) { return str << "Connection: " - << ( obj.connected() ? '*' : '_' ) - << ( obj.blocked() ? 'B' : '_' ) - ; + << ( obj.connected() ? '*' : '_' ) + << ( obj.blocked() ? 'B' : '_' ) + ; } } } +//////////////////////////////////////////////////////////////////////////////////////////////////// using namespace zypp; diff --git a/devel/devel.ma/Test.cc b/devel/devel.ma/Test.cc index 20e6d28..05cafb8 100644 --- a/devel/devel.ma/Test.cc +++ b/devel/devel.ma/Test.cc @@ -26,7 +26,9 @@ bool solve() USR << "Solve " << run++ << endl; bool rres = false; { - zypp::base::LogControl::TmpLineWriter shutUp; + //zypp::base::LogControl::TmpLineWriter shutUp; + getZYpp()->resolver()->setOnlyRequires( true ); + getZYpp()->resolver()->setIgnoreAlreadyRecommended( true ); rres = getZYpp()->resolver()->resolvePool(); } if ( ! rres ) @@ -41,6 +43,36 @@ bool solve() typedef sat::ArrayAttr FileList; +#include "zypp/base/IOStream.h" +bool isProcessRunning(pid_t pid_r) +{ + std::string _locker_name; + // it is another program, not me, see if it is still running + Pathname procdir( Pathname("/proc")/str::numstring(pid_r) ); + PathInfo status( procdir ); + MIL << "Checking " << status << endl; + + if ( ! status.isDir() ) + { + DBG << "No such process." << endl; + return false; + } + + static char buffer[513]; + buffer[0] = buffer[512] = 0; + // man proc(5): /proc/[pid]/cmdline is empty if zombie. + if ( std::ifstream( (procdir/"cmdline").c_str() ).read( buffer, 512 ).gcount() > 0 ) + { + _locker_name = buffer; + DBG << "Is running: " << _locker_name << endl; + return true; + } + + DBG << "In zombie state." << endl; + return false; + } + + /****************************************************************** ** ** FUNCTION NAME : main @@ -50,60 +82,39 @@ int main( int argc, char * argv[] ) { INT << "===[START]==========================================" << endl; - Pathname mroot( "/tmp/ToolScanRepos" ); - TestSetup test( mroot, Arch_x86_64 ); - test.loadRepo("/Local/ROOT/cache/solv/@System/solv"); - - ResPool pool( test.pool() ); - { - Measure x("filelist"); - unsigned p = 0; - unsigned f = 0; - std::string a; - for_( it, pool.byKindBegin(), pool.byKindEnd() ) - { - ++p; - f += (*it)->asKind()->filelist().size(); - for_( i, (*it)->asKind()->filelist().begin(), (*it)->asKind()->filelist().end() ) - a = *i; - } - SEC << p << " : " << f << endl; - } - { - Measure x("filenames"); - unsigned p = 0; - unsigned f = 0; - std::string a; - for_( it, pool.byKindBegin(), pool.byKindEnd() ) - { - ++p; - std::list l( (*it)->asKind()->filenames() ); - f += l.size(); - for_( i, l.begin(), l.end() ) - a = *i; - } - SEC << p << " : " << f << endl; - } - + INT << isProcessRunning( 26992 ) << endl; + INT << isProcessRunning( getpid() ) << endl;; + INT << isProcessRunning( 10430 ) << endl; + INT << isProcessRunning( 55 ) << endl; INT << "===[END]============================================" << endl << endl; return 0; + Pathname mroot( "/tmp/ToolScanRepos" ); + TestSetup test( mroot, Arch_i686, TSO_CLEANROOT ); + test.loadRepo( "/schnell/CD-ARCHIVE/11.1/FTP" ); + test.loadRepo( "/suse/ma/bug-481836_test.solv" ); + //test.loadRepos(); - //ui::Selectable::Ptr getSel( const std::string & name_r ) - getSel( "gcompris" )->setToInstall(); + ResPool pool( test.pool() ); + Resolver & resolver( test.resolver() ); + + //dumpRange( USR, pool.begin(), pool.end() ); - vdumpPoolStats( USR << "Transacting:"<< endl, - make_filter_begin(pool), - make_filter_end(pool) ) << endl; + resolver.addRequire( Capability("filesystem") ); + resolver.addRequire( Capability("glibc-locale") ); + resolver.addRequire( Capability("glibc.i586 = 2.9-2.8") ); + resolver.addRequire( Capability("xorg-x11-driver-video-openchrome") ); + resolver.addRequire( Capability("zypper") ); if ( solve() ) { vdumpPoolStats( USR << "Transacting:"<< endl, make_filter_begin(pool), make_filter_end(pool) ) << endl; - SEC << getSel( "librsvg" ) << endl; } + + INT << "===[END]============================================" << endl << endl; return 0; }