2 #include <zypp/ResObjects.h>
4 #include <zypp/sat/LookupAttr.h>
5 #include <zypp/PoolQuery.h>
6 #include <zypp/sat/AttrMatcher.h>
8 static const Pathname sysRoot( "/tmp/ToolScanRepos" );
10 void addInstall( const std::string & pkgspec_r )
12 bool rewrote( false );
13 Capability pkgspec( Capability::guessPackageSpec( pkgspec_r, rewrote ) );
14 MIL << "Add '" << pkgspec << "' for '" << pkgspec_r << "'" << endl;
15 ResPool::instance().resolver().addRequire( pkgspec );
18 void addConflict( const std::string & pkgspec_r )
20 bool rewrote( false );
21 Capability pkgspec( Capability::guessPackageSpec( pkgspec_r, rewrote ) );
22 MIL << "Con '" << pkgspec << "' for '" << pkgspec_r << "'" << endl;
23 ResPool::instance().resolver().addConflict( pkgspec );
30 //zypp::base::LogControl::TmpLineWriter shutUp;
31 //ResPool::instance().resolver().setOnlyRequires( true );
32 rres = ResPool::instance().resolver().resolvePool();
36 ERR << "resolve " << rres << endl;
37 ResPool::instance().resolver().problems();
40 MIL << "resolve " << rres << endl;
41 vdumpPoolStats( USR << "Transacting:"<< endl,
42 make_filter_begin<resfilter::ByTransact>(ResPool::instance()),
43 make_filter_end<resfilter::ByTransact>(ResPool::instance()) ) << endl;
52 pol.rpmInstFlags( pol.rpmInstFlags().setFlag( target::rpm::RPMINST_JUSTDB ) );
53 SEC << getZYpp()->commit( pol ) << endl;
58 /******************************************************************
60 ** FUNCTION NAME : main
61 ** FUNCTION TYPE : int
63 int main( int argc, char * argv[] )
65 INT << "===[START]==========================================" << endl;
66 ///////////////////////////////////////////////////////////////////
68 ::unsetenv( "ZYPP_CONF" );
69 TestSetup::LoadSystemAt( sysRoot, Arch_x86_64 );
70 ///////////////////////////////////////////////////////////////////
71 ResPool pool( ResPool::instance() );
72 sat::Pool satpool( sat::Pool::instance() );
73 ///////////////////////////////////////////////////////////////////
75 // addConflict( "kernel-default" );
76 // addConflict( "kernel-default-base" );
80 INT << "===[END]============================================" << endl << endl;