From 1f318109010887e28c0e50130ab3594714527eb7 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 17 Jul 2012 16:48:44 +0200 Subject: [PATCH] Prevent duplicate PEAR replaces if the given vendorAlias equals the channel alias --- src/Composer/Repository/PearRepository.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Composer/Repository/PearRepository.php b/src/Composer/Repository/PearRepository.php index d5f070549..6b3119e47 100644 --- a/src/Composer/Repository/PearRepository.php +++ b/src/Composer/Repository/PearRepository.php @@ -120,7 +120,9 @@ class PearRepository extends ArrayRepository } // alias package with user-specified prefix. it makes private pear channels looks like composer's. - if (!empty($this->vendorAlias)) { + if (!empty($this->vendorAlias) + && ($this->vendorAlias != 'pear-'.$channelInfo->getAlias() || $channelInfo->getName() != $packageDefinition->getChannelName()) + ) { $composerPackageAlias = "{$this->vendorAlias}/{$packageDefinition->getPackageName()}"; $aliasConstraint = new VersionConstraint('==', $normalizedVersion); $replaces[] = new Link($composerPackageName, $composerPackageAlias, $aliasConstraint, 'replaces', (string) $aliasConstraint);