{
StringList *slist = (StringList *)data;
ostringstream s;
- s << str::form ("%-7s ", poolItem.status().isInstalled() ? "|flag" : "install");
+ s << str::form ("%-7s ", poolItem.status().staysInstalled() ? "|flag" : "install");
printRes (s, poolItem.resolvable());
slist->push_back (s.str());
StringList *slist = (StringList *)data;
ostringstream s;
MIL << "assemble_uninstall_cb(" << poolItem << "):" << status << endl;
- s << str::form ("%-7s ", poolItem.status().isInstalled() ? "remove" : "|unflag");
+ s << str::form ("%-7s ", poolItem.status().isImpossible () ? "|unflag" : "remove");
+ printRes (s, poolItem.resolvable());
+
+ slist->push_back (s.str());
+}
+
+
+static void
+assemble_impossible_cb (PoolItem_Ref poolItem, const ResStatus & status, void *data)
+{
+ StringList *slist = (StringList *)data;
+ ostringstream s;
+MIL << "assemble_impossible_cb(" << poolItem << "):" << status << endl;
+ s << str::form ("%-7s ", "|unflag");
printRes (s, poolItem.resolvable());
slist->push_back (s.str());
{
StringList *slist = (StringList *)data;
ostringstream s;
- s << str::form ("%-11s ", poolItem.status().isInstalled() ? "incomplete" : "|needed");
+ s << str::form ("%-11s ", poolItem.status().wasInstalled() ? "incomplete" : "|needed");
printRes (s, poolItem.resolvable());
slist->push_back (s.str());
{
StringList *slist = (StringList *)data;
ostringstream s;
- s << str::form ("%-10s ", poolItem.status().isInstalled() ? "complete" : "|satisfied");
+ s << str::form ("%-10s ", poolItem.status().wasInstalled() ? "complete" : "|satisfied");
printRes (s, poolItem.resolvable());
slist->push_back (s.str());
context->foreachUninstall (assemble_uninstall_cb, &items);
+ context->foreachImpossible (assemble_impossible_cb, &items);
+
context->foreachUpgrade (assemble_upgrade_cb, &items);
context->foreachIncomplete (assemble_incomplete_cb, &items);
{
bool verify = false;
bool instorder = false;
+ bool distupgrade = false;
if (!node->equals ("trial")) {
ZYPP_THROW (Exception ("Node not 'trial' in parse_xml_trial()"));
} else if (node->equals ("distupgrade")) {
+ distupgrade = true;
+
RESULT << "Doing distribution upgrade ..." << endl;
UpgradeStatistics stats;
if (verify)
resolver->verifySystem ();
+ else if (distupgrade)
+ resolver->resolvePool();
else
resolver->resolveDependencies (established);