|
@@ -560,18 +560,21 @@ class Installer
|
|
|
$constraint->setPrettyString($rootPackage->getPrettyVersion());
|
|
|
$request->install($rootPackage->getName(), $constraint);
|
|
|
|
|
|
- $installedPackages = $platformRepo->getPackages();
|
|
|
+ $fixedPackages = $platformRepo->getPackages();
|
|
|
if ($this->additionalInstalledRepository) {
|
|
|
- $additionalInstalledPackages = $this->additionalInstalledRepository->getPackages();
|
|
|
- $installedPackages = array_merge($installedPackages, $additionalInstalledPackages);
|
|
|
+ $additionalFixedPackages = $this->additionalInstalledRepository->getPackages();
|
|
|
+ $fixedPackages = array_merge($fixedPackages, $additionalFixedPackages);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- foreach ($installedPackages as $package) {
|
|
|
+
|
|
|
+
|
|
|
+ $provided = $rootPackage->getProvides();
|
|
|
+ foreach ($fixedPackages as $package) {
|
|
|
$constraint = new VersionConstraint('=', $package->getVersion());
|
|
|
$constraint->setPrettyString($package->getPrettyVersion());
|
|
|
|
|
|
- if (!($provided = $rootPackage->getProvides())
|
|
|
+
|
|
|
+ if ($package->getRepository() !== $platformRepo
|
|
|
|| !isset($provided[$package->getName()])
|
|
|
|| !$provided[$package->getName()]->getConstraint()->matches($constraint)
|
|
|
) {
|