@ -104,6 +104,7 @@ class DefaultPolicy implements PolicyInterface
public function compareByPriorityPreferInstalled(Pool $pool, array $installedMap, PackageInterface $a, PackageInterface $b, $ignoreReplace = false)
{
if ($a->getRepository() === $b->getRepository()) {
// prefer aliases to the original package
if ($a->getName() === $b->getName()) {
$aAliased = $a instanceof AliasPackage;
$bAliased = $b instanceof AliasPackage;
@ -73,18 +73,18 @@ abstract class BasePackage implements PackageInterface
public function getNames()
$names = array(
$this->getName(),
$this->getName() => true,
);
foreach ($this->getProvides() as $link) {
$names[] = $link->getTarget();
$names[$link->getTarget()] = true;
}
foreach ($this->getReplaces() as $link) {
return $names;
return array_keys($names);
/**