RepositoryTable repoTable;
PoolItemList items_to_install;
PoolItemList items_to_remove;
+ PoolItemList items_locked;
PoolItemList language;
HelixResolvable system (dumpPath + "/solver-system.xml");
&& !(it->status().isBySolver())) {
items_to_remove.push_back (*it);
}
+ if ( it->status().isLocked()
+ && !(it->status().isBySolver())
+ && !isKind<SystemResObject>(res)) {
+ items_locked.push_back (*it);
+ }
+
}
}
control.installResolvable (iter->resolvable());
}
+ for (PoolItemList::const_iterator iter = items_locked.begin(); iter != items_locked.end(); iter++) {
+ control.lockResolvable (iter->resolvable());
+ }
+
+
for (PoolItemList::const_iterator iter = items_to_remove.begin(); iter != items_to_remove.end(); iter++) {
control.deleteResolvable (iter->resolvable());
}
<< " version=\"" << resObject->edition().version() << "\"" << " release=\"" << resObject->edition().release() << "\""
<< "/>" << endl;
}
+
+void HelixControl::lockResolvable(const ResObject::constPtr &resObject)
+{
+ Repository repo = resObject->repository();
+ *file << "<lock channel=\"" << numstring(repo.numericId()) << "\" kind=\"" << toLower (resObject->kind().asString()) << "\""
+ << " name=\"" << resObject->name() << "\"" << " arch=\"" << resObject->arch().asString() << "\""
+ << " version=\"" << resObject->edition().version() << "\"" << " release=\"" << resObject->edition().release() << "\""
+ << "/>" << endl;
+}
void HelixControl::deleteResolvable(const ResObject::constPtr &resObject)
{
~HelixControl ();
void installResolvable (const ResObject::constPtr &resObject);
+ void lockResolvable (const ResObject::constPtr &resObject);
void deleteResolvable (const ResObject::constPtr &resObject);
void addDependencies (const CapSet &capRequire, const CapSet &capConflict);
std::string filename () { return dumpFile; }