#include "zypp/base/String.h"
#include "zypp/zypp_detail/ZYppImpl.h"
-#include "zypp/solver/detail/Helper.h"
#include "zypp/target/TargetImpl.h"
#include "zypp/ZYpp.h"
-#include "zypp/NVRAD.h"
#include "zypp/DiskUsageCounter.h"
-#include "zypp/NameKindProxy.h"
#include "zypp/ZConfig.h"
#include "zypp/sat/Pool.h"
#include "zypp/PoolItem.h"
+#include "zypp/ZYppCallbacks.h" // JobReport::instance
+
using std::endl;
///////////////////////////////////////////////////////////////////
namespace zypp
{ /////////////////////////////////////////////////////////////////
+
+ ///////////////////////////////////////////////////////////////////
+ namespace media
+ {
+ ScopedDisableMediaChangeReport::ScopedDisableMediaChangeReport( bool condition_r )
+ {
+ static weak_ptr<callback::TempConnect<media::MediaChangeReport> > globalguard;
+ if ( condition_r && ! (_guard = globalguard.lock()) )
+ {
+ // aquire a new one....
+ _guard.reset( new callback::TempConnect<media::MediaChangeReport>() );
+ globalguard = _guard;
+ }
+ }
+ } // namespace media
+ ///////////////////////////////////////////////////////////////////
+
+ callback::SendReport<JobReport> & JobReport::instance()
+ {
+ static callback::SendReport<JobReport> _report;
+ return _report;
+ }
+
+
///////////////////////////////////////////////////////////////////
namespace zypp_detail
{ /////////////////////////////////////////////////////////////////
: _target(0)
, _resolver( new Resolver( ResPool::instance()) )
{
+ ZConfig::instance().about( MIL );
MIL << "Initializing keyring..." << std::endl;
- //_keyring = new KeyRing(homePath() + Pathname("/keyring/all"), homePath() + Pathname("/keyring/trusted"));
_keyring = new KeyRing(tmpPath());
}
* and target used for transact. */
ZYppCommitResult ZYppImpl::commit( const ZYppCommitPolicy & policy_r )
{
+ setenv( "ZYPP_IS_RUNNING", str::numstring(getpid()).c_str(), 1 );
+
if ( getenv("ZYPP_TESTSUITE_FAKE_ARCH") )
{
ZYPP_THROW( Exception("ZYPP_TESTSUITE_FAKE_ARCH set. Commit not allowed and disabled.") );
ZYppCommitResult res = _target->_pimpl->commit( pool(), policy_r );
- if (! policy_r.dryRun() ) {
-
- DBG << "unloading " << sat::Pool::instance().systemRepoName() << " repo from pool" << endl;
-
- _target->unload();
-
+ if (! policy_r.dryRun() )
+ {
if ( policy_r.syncPoolAfterCommit() )
{
// reload new status from target
- DBG << "reloading " << sat::Pool::instance().systemRepoName() << " repo to pool" << endl;
+ DBG << "reloading " << sat::Pool::instance().systemRepoAlias() << " repo to pool" << endl;
_target->load();
}
+ else
+ {
+ DBG << "unloading " << sat::Pool::instance().systemRepoAlias() << " repo from pool" << endl;
+ _target->unload();
+ }
}
MIL << "Commit (" << policy_r << ") returned: "
_target->_pimpl->installSrcPackage( srcPackage_r );
}
+ ManagedFile ZYppImpl::provideSrcPackage( const SrcPackage_constPtr & srcPackage_r )
+ {
+ if (! _target)
+ ZYPP_THROW( Exception("Target not initialized.") );
+ return _target->_pimpl->provideSrcPackage( srcPackage_r );
+ }
+
//------------------------------------------------------------------------
// target store path
{ _home_path = path; }
Pathname ZYppImpl::tmpPath() const
- {
- static TmpDir zypp_tmp_dir( TmpPath::defaultLocation(), "zypp." );
- return zypp_tmp_dir.path();
- }
+ { return zypp::myTmpDir(); }
/******************************************************************
**
/////////////////////////////////////////////////////////////////
} // namespace zypp_detail
///////////////////////////////////////////////////////////////////
+
+ Pathname myTmpDir() // from TmpPath.h
+ {
+ static filesystem::TmpDir _tmpdir( TmpPath::defaultLocation(), "zypp." );
+ return _tmpdir.path();
+ }
+
/////////////////////////////////////////////////////////////////
} // namespace zypp
///////////////////////////////////////////////////////////////////