#include "zypp/target/TargetCallbackReceiver.h"
#include "zypp/target/rpm/librpmDb.h"
#include "zypp/target/CommitPackageCache.h"
+#include "zypp/target/RpmPostTransCollector.h"
#include "zypp/parser/ProductFileReader.h"
MIL << "TargetImpl::commit(<list>" << policy_r << ")" << steps.size() << endl;
bool abort = false;
+ RpmPostTransCollector postTransCollector( _root );
std::vector<sat::Solvable> successfullyInstalledPackages;
TargetImpl::PoolItemList remaining;
try
{
progress.tryLevel( target::rpm::InstallResolvableReport::RPM_NODEPS_FORCE );
+ if ( postTransCollector.collectScriptFromPackage( localfile ) )
+ flags |= rpm::RPMINST_NOPOSTTRANS;
rpm().installPackage( localfile, flags );
HistoryLog().install(citem);
} // for
+ // process all remembered posttrans scripts.
+ if ( !abort )
+ postTransCollector.executeScripts();
+ else
+ postTransCollector.discardScripts();
+
// Check presence of update scripts/messages. If aborting,
// at least log omitted scripts.
if ( ! successfullyInstalledPackages.empty() )