From bd66c27ff6fc3169eb5579d8d10aeddf95f7521b Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Tue, 15 May 2012 19:57:55 +0200 Subject: [PATCH] We mark packages as uninstallable by removing them from the repo As it is faster to remove packages from the repos and keep them out of the package pool to begin with, we don't need an installable() method on the policy. --- src/Composer/DependencyResolver/DefaultPolicy.php | 6 ------ src/Composer/DependencyResolver/PolicyInterface.php | 1 - src/Composer/DependencyResolver/Rule.php | 4 ---- src/Composer/DependencyResolver/Solver.php | 5 ----- 4 files changed, 16 deletions(-) diff --git a/src/Composer/DependencyResolver/DefaultPolicy.php b/src/Composer/DependencyResolver/DefaultPolicy.php index 1fe22ff3c..bbbf43025 100644 --- a/src/Composer/DependencyResolver/DefaultPolicy.php +++ b/src/Composer/DependencyResolver/DefaultPolicy.php @@ -43,12 +43,6 @@ class DefaultPolicy implements PolicyInterface return $packages; } - public function installable(Solver $solver, Pool $pool, array $installedMap, PackageInterface $package) - { - // todo: package blacklist? - return true; - } - public function getPriority(Pool $pool, PackageInterface $package) { return $pool->getPriority($package->getRepository()); diff --git a/src/Composer/DependencyResolver/PolicyInterface.php b/src/Composer/DependencyResolver/PolicyInterface.php index 1f65c1bf9..f00f857d4 100644 --- a/src/Composer/DependencyResolver/PolicyInterface.php +++ b/src/Composer/DependencyResolver/PolicyInterface.php @@ -22,6 +22,5 @@ interface PolicyInterface { function versionCompare(PackageInterface $a, PackageInterface $b, $operator); function findUpdatePackages(Pool $pool, array $installedMap, PackageInterface $package); - function installable(Solver $solver, Pool $pool, array $installedMap, PackageInterface $package); function selectPreferedPackages(Pool $pool, array $installedMap, array $literals); } diff --git a/src/Composer/DependencyResolver/Rule.php b/src/Composer/DependencyResolver/Rule.php index 3b9ffcc28..4370d38c6 100644 --- a/src/Composer/DependencyResolver/Rule.php +++ b/src/Composer/DependencyResolver/Rule.php @@ -21,7 +21,6 @@ class Rule const RULE_JOB_INSTALL = 2; const RULE_JOB_REMOVE = 3; const RULE_JOB_LOCK = 4; - const RULE_NOT_INSTALLABLE = 5; const RULE_PACKAGE_CONFLICT = 6; const RULE_PACKAGE_REQUIRES = 7; const RULE_PACKAGE_OBSOLETES = 8; @@ -200,9 +199,6 @@ class Rule case self::RULE_JOB_LOCK: return "Lock command rule ($ruleText)"; - case self::RULE_NOT_INSTALLABLE: - return $ruleText; - case self::RULE_PACKAGE_CONFLICT: $package1 = $this->literals[0]->getPackage(); $package2 = $this->literals[1]->getPackage(); diff --git a/src/Composer/DependencyResolver/Solver.php b/src/Composer/DependencyResolver/Solver.php index 5a243a2ec..514412ab7 100644 --- a/src/Composer/DependencyResolver/Solver.php +++ b/src/Composer/DependencyResolver/Solver.php @@ -198,11 +198,6 @@ class Solver $this->addedMap[$package->getId()] = true; - if (!$this->policy->installable($this, $this->pool, $this->installedMap, $package)) { - $this->addRule(RuleSet::TYPE_PACKAGE, $this->createRemoveRule($package, Rule::RULE_NOT_INSTALLABLE, (string) $package)); - continue; - } - foreach ($package->getRequires() as $link) { $possibleRequires = $this->pool->whatProvides($link->getTarget(), $link->getConstraint());