Solvable *s;
Id p, pp;
+ if (!pool->installed)
+ return;
for (i = j = 0; i < plist->count; i++)
{
s = pool->solvables + plist->elements[i];
}
}
+static int
+pool_buildversioncmp(Pool *pool, Solvable *s1, Solvable *s2)
+{
+ const char *bv1 = solvable_lookup_str(s1, SOLVABLE_BUILDVERSION);
+ const char *bv2 = solvable_lookup_str(s2, SOLVABLE_BUILDVERSION);
+ if (!bv1 && !bv2)
+ return 0;
+ return pool_evrcmp_str(pool, bv1 ? bv1 : "" , bv2 ? bv2 : "", EVRCMP_COMPARE);
+}
+
+static int
+pool_buildflavorcmp(Pool *pool, Solvable *s1, Solvable *s2)
+{
+ const char *f1 = solvable_lookup_str(s1, SOLVABLE_BUILDFLAVOR);
+ const char *f2 = solvable_lookup_str(s2, SOLVABLE_BUILDFLAVOR);
+ if (!f1 && !f2)
+ return 0;
+ return pool_evrcmp_str(pool, f1 ? f1 : "" , f2 ? f2 : "", EVRCMP_COMPARE);
+}
+
/*
* prune_to_best_version
*
if (r == 0 && has_package_link(pool, s))
r = pool_link_evrcmp(pool, best, s);
#endif
+ if (r == 0 && pool->disttype == DISTTYPE_CONDA)
+ r = pool_buildversioncmp(pool, best, s);
+ if (r == 0 && pool->disttype == DISTTYPE_CONDA)
+ r = pool_buildflavorcmp(pool, best, s);
if (r < 0)
best = s;
}
else
prune_obsoleted(pool, plist);
}
- if (plist->count > 1 && pool->installed)
- move_installed_to_front(pool, plist);
}
#endif
dislike_old_versions(pool, plist);
sort_by_common_dep(pool, plist);
+ move_installed_to_front(pool, plist);
if (solv->urpmreorder)
urpm_reorder(solv, plist);
prefer_suggested(solv, plist);
{
dislike_old_versions(pool, plist);
sort_by_common_dep(pool, plist);
+ move_installed_to_front(pool, plist);
}
}