From 9ee17ef6ffc69684d2ec49fc56b18d2a8312ea88 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 6 Dec 2016 21:56:09 +0100 Subject: [PATCH 1/2] Fix handling of partial package listings containing replaces/provides --- src/Composer/Repository/ComposerRepository.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Composer/Repository/ComposerRepository.php b/src/Composer/Repository/ComposerRepository.php index e2a73beb0..29276ce73 100644 --- a/src/Composer/Repository/ComposerRepository.php +++ b/src/Composer/Repository/ComposerRepository.php @@ -785,7 +785,20 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito $this->partialPackagesByName = array(); foreach ($rootData['packages'] as $package => $versions) { - $this->partialPackagesByName[strtolower($package)] = $versions; + $package = strtolower($package); + foreach ($versions as $version) { + $this->partialPackagesByName[$package][] = $version; + if (!empty($version['provide']) && is_array($version['provide'])) { + foreach ($version['provide'] as $provided => $providedVersion) { + $this->partialPackagesByName[strtolower($provided)][] = $version; + } + } + if (!empty($version['replace']) && is_array($version['replace'])) { + foreach ($version['replace'] as $provided => $providedVersion) { + $this->partialPackagesByName[strtolower($provided)][] = $version; + } + } + } } // wipe rootData as it is fully consumed at this point and this saves some memory From 021facff7af9e63611928bce26d63dfb7102af14 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 6 Dec 2016 22:00:44 +0100 Subject: [PATCH 2/2] Update changelog for 1.2.4 --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a89ac7422..be93fc553 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +### [1.2.4] - 2016-12-06 + + * Fixed regression in output handling of scripts from 1.2.3 + * Fixed support for LibreSSL detection as lib-openssl + * Fixed issue with Zend Guard in the autoloader bootstrapping + * Fixed support for loading partial provider repositories + ### [1.2.3] - 2016-12-01 * Fixed bug in HgDriver failing to identify BitBucket repositories @@ -446,6 +453,8 @@ * Initial release +[1.2.4]: https://github.com/composer/composer/compare/1.2.3...1.2.4 +[1.2.3]: https://github.com/composer/composer/compare/1.2.2...1.2.3 [1.2.2]: https://github.com/composer/composer/compare/1.2.1...1.2.2 [1.2.1]: https://github.com/composer/composer/compare/1.2.0...1.2.1 [1.2.0]: https://github.com/composer/composer/compare/1.2.0-RC...1.2.0