1
0
Fork 0
Commit Graph

212 Commits (a59a5c45812f3b230ea35d187cb8840272658a45)

Author SHA1 Message Date
Nils Adermann c869566868 Make ruleHash a protected member of rules 2012-05-20 15:57:38 +02:00
Nils Adermann fa7bd35413 Make debug solver methods protected 2012-05-20 15:49:58 +02:00
Nils Adermann 2dfea8a5e0 Only consider undecided literals for selectAndInstall
Fixes #707
2012-05-20 15:44:15 +02:00
Nils Adermann dd527a4049 Remove weak rules
Since we no longer have suggest/recommend rules and no longer use any update
or feature rules so packages are removed by default, we do not need weak rules
anymore.
2012-05-19 21:49:48 +02:00
Nils Adermann 025581b365 Rename walkLiteral method to more explicitly say what it does 2012-05-19 20:50:21 +02:00
Nils Adermann a395bc04d7 Get rid of continue 2; and use array_filter instead of manual looping 2012-05-19 20:48:12 +02:00
Nils Adermann 451bab1c2c Get rid of Literal object / literal id mix, use literals only to save memory 2012-05-19 20:38:56 +02:00
Nils Adermann 9ffe0d13f5 Remove useless if 2012-05-19 02:28:09 +02:00
Nils Adermann cdf3b4e012 Use SplDoublyLinkedList instead of custom linked list 2012-05-19 02:24:45 +02:00
Nils Adermann 731a451dfe Move handling of watch graph to separate classes 2012-05-19 01:27:57 +02:00
Nils Adermann 71ee5c8f4c We don't have a systemsolvable at the lowest level 2012-05-15 21:46:52 +02:00
Nils Adermann 286593cf99 Move solver debugging code into solver subclass 2012-05-15 21:37:57 +02:00
Nils Adermann 46e4ae0e6a Move rule generation from solver into separate rule set generator 2012-05-15 21:36:47 +02:00
Nils Adermann 83c499cf29 Remove unecessary use statement in Transaction class 2012-05-15 20:29:21 +02:00
Nils Adermann 70e306f055 Process all jobs in one method and remove lock jobs which are not used 2012-05-15 20:22:48 +02:00
Nils Adermann 3fcd042fd4 Skip adding (ignored) duplicate rules which were already added 2012-05-15 20:04:25 +02:00
Nils Adermann 1d60ae1bfc We no longer support recommended packages, remove left over code 2012-05-15 20:01:51 +02:00
Nils Adermann 92ecf5a603 Remove unused variables 2012-05-15 20:00:52 +02:00
Nils Adermann bd66c27ff6 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.
2012-05-15 19:57:55 +02:00
Nils Adermann 8fc09afbae Move transaction generation to a separate class 2012-05-15 19:55:41 +02:00
Jordi Boggiano 5026f8a115 Fix AliasOperations output 2012-05-13 22:41:20 +02:00
Jordi Boggiano 453b9a616b Add test for Pool handling and refactor a couple things 2012-05-11 17:21:02 +02:00
Jordi Boggiano ef28f3b067 Basic handling of stability flags 2012-05-09 19:10:06 +02:00
Jordi Boggiano 66068fedcb Add minimum-stability flag on root package to filter packages by stability 2012-05-09 19:10:03 +02:00
Nils Adermann 11c59baf59 Remove useless property in exception class 2012-05-09 18:45:53 +02:00
Nils Adermann 37d271271d Turn assertions into solver bug exceptions with more info 2012-05-09 18:44:14 +02:00
Jordi Boggiano fafd09a7ba Improve output of operations to show details about dev versions 2012-05-09 17:31:12 +02:00
Nils Adermann 863bb59b73 Fix authorship info 2012-05-09 16:03:04 +02:00
Nils Adermann 0c1944a9d0 Let the solver handle aliases instead of the installer 2012-05-09 15:15:39 +02:00
Nils Adermann 15f43571b9 Rules of type feature are no longer needed 2012-05-08 19:26:50 +02:00
Nils Adermann 69b55f12ae Call feature rules update rules, as there is no difference in composer 2012-05-08 19:26:43 +02:00
Nils Adermann 0bd6fa1f37 An array of installed packages is no longer needed in the solver 2012-05-08 19:26:36 +02:00
Nils Adermann cf5d14e2e1 Move all solver members to top of the file 2012-05-08 19:26:27 +02:00
Nils Adermann c51fedef8c Policy rules cannot conflict with jobs anymore
As we no longer need special feature rules for updating installed packages
we don't have policy rules which might conflict with job rules anymore.
Everything is driven by jobs now.
2012-05-08 19:26:19 +02:00
Nils Adermann 5feff954a4 Remove commented out debug output 2012-05-08 19:26:13 +02:00
Nils Adermann c37e126e14 Installed packages are now always removed unless otherwise requested
This means that an update request must always be accompanied by an install
request, otherwise the package might be removed rather than updated.
2012-05-08 19:25:58 +02:00
Nils Adermann f4ae88a5d6 Create lookup table for installed packages in only one place 2012-05-08 19:25:47 +02:00
Nils Adermann 5daeacf0ac We won't implement choice rules, you need to edit composer.json to choose 2012-05-08 19:25:38 +02:00
Nils Adermann 875261931c We do not support any options to keep obsolete packages 2012-05-08 19:25:24 +02:00
Jordi Boggiano f7440076fa Revert "Merge remote-tracking branch 'naderman/remove-packages-by-default'"
This reverts commit 2988152602, reversing
changes made to adb4188e12.
2012-04-29 22:21:58 +02:00
Nils Adermann f4d5568937 Rules of type feature are no longer needed 2012-04-27 18:28:51 +02:00
Nils Adermann d153ab3f8f Call feature rules update rules, as there is no difference in composer 2012-04-27 18:25:58 +02:00
Nils Adermann f98ab2e491 An array of installed packages is no longer needed in the solver 2012-04-27 18:24:17 +02:00
Nils Adermann 7be4b82ad2 Move all solver members to top of the file 2012-04-27 18:22:55 +02:00
Nils Adermann 6410817c4e Policy rules cannot conflict with jobs anymore
As we no longer need special feature rules for updating installed packages
we don't have policy rules which might conflict with job rules anymore.
Everything is driven by jobs now.
2012-04-27 18:21:25 +02:00
Nils Adermann 3618ddacb0 Remove commented out debug output 2012-04-27 18:16:34 +02:00
Nils Adermann 2cb2cde096 Installed packages are now always removed unless otherwise requested
This means that an update request must always be accompanied by an install
request, otherwise the package might be removed rather than updated.
2012-04-27 18:13:37 +02:00
Nils Adermann 1a48ebaf57 Create lookup table for installed packages in only one place 2012-04-27 17:50:53 +02:00
Nils Adermann 0e537b9c93 We won't implement choice rules, you need to edit composer.json to choose 2012-04-27 17:46:13 +02:00
Nils Adermann 5ba9a887c2 We do not support any options to keep obsolete packages 2012-04-27 17:40:59 +02:00
Jordi Boggiano ebf78135c9 Rename method 2012-04-23 09:24:59 +02:00
Jordi Boggiano 06fb1b8083 Fix priority of aliases when mixing root package aliases with branch-alias ones, fixes #576 2012-04-20 22:10:58 +02:00
Nicolas Le Goff 3f13eb87b1 fix_typo 2012-04-16 13:46:04 +02:00
Jordi Boggiano 53191eb0fe Remove recommend, make suggest informational, add require-dev, fixes #78, fixes #510 2012-04-14 23:38:05 +02:00
Jordi Boggiano 452c9ad24e Merge remote-tracking branch 'naderman/remove-dontfix' 2012-04-12 15:45:53 +02:00
Nils Adermann 64a451eaf9 Remove dontFix feature for local packages and explicit fix command
This made sense for the libzypp, so your kernel doesn't get deleted
just cause it thinks something is broken, but it doesn't really make
sense for composer.
2012-04-12 15:40:34 +02:00
Jordi Boggiano aa21b1a93a Fix output 2012-04-10 11:52:57 +02:00
Nils Adermann a16aa68c1d Rule literals are sorted, so first literal added is not first retrieved
Fixes #477
2012-04-01 22:26:44 +02:00
Jordi Boggiano 5fd50080ab Print details about missing extensions, fixes #312 2012-03-18 22:45:22 +01:00
Nils Adermann 83123b2d40 Generate human readable explanations of rules which cause problems 2012-03-18 21:09:26 +01:00
Nils Adermann 2c87fe5a22 Collect solver problems in Problem objects with human readable output. 2012-03-18 20:41:10 +01:00
Jordi Boggiano 9ed05e09f3 Fix version_compare for ubuntu that ships with versions like 5.3.3-1 (bigger than 5.3.3) 2012-03-16 16:07:48 +01:00
Martin Hasoň 2b08df5192 Changed repository priority in the pool 2012-03-06 11:17:23 +01:00
Jordi Boggiano c425b8b6cb Prevent a package from having duplicate names 2012-02-26 22:20:10 +01:00
Nils Adermann 17f0730e51 Levels are always > 0, negative level was just a hack in the C implementation
Fixes #243
2012-02-22 16:20:08 +01:00
Jordi Boggiano 956b54e516 Use policy rule instead of stacking up another repo to prioritize aliased packages 2012-02-22 09:40:05 +01:00
Nils Adermann f3ff53b17c Create problems directly, rather than generating impossible rules 2012-02-20 12:58:27 +01:00
Nils Adermann ff620afe05 Correct the parent path in the watch tree, after moving a rule out of the path 2012-02-19 19:20:12 +01:00
Nils Adermann 3e1749fbad Readd update-all jobs and make them available through the request 2012-02-19 16:59:04 +01:00
Nils Adermann 9b8e62396c Merge pull request #324 from edorian/installNonExistingPackage
Create an 'impossible rule' when installing non existent packages
2012-02-19 07:05:21 -08:00
Nils Adermann 2a92b904d2 Correct placing of braces 2012-02-19 15:44:02 +01:00
Nils Adermann 1ee5d99405 When changing watched literals of a rule, update the parent's next pointer
The previous rule was not previously updated to point to the next rule when
removing a middle rule from the watch tree for a literal. This resulted in
jumping from one literal's watch tree to another's, which could then jump
back to the original and cause infinite loop in a case like #265.

Fixes #265
2012-02-19 15:35:13 +01:00
Volker Dusch e20a79ac61 Fix TODO tags to confirm with the projects standard 2012-02-19 15:30:53 +01:00
Nils Adermann 8484199677 Display undecided literals as undecided with a ?, when printing the decision map 2012-02-19 15:20:13 +01:00
Nils Adermann 0b8fb68e93 Add a debug print method for the entire watch tree to the solver 2012-02-19 15:19:34 +01:00
Volker Dusch eafe13d5a5 Create an impossible rule when trying to install something that doesn't exist.
The rule isn't acted upon yet (hence the incomplete test) but it is there as a reminder that this case needs to be handled.
2012-02-19 14:55:14 +01:00
Nils Adermann 52d876e11e Add SolverProblemsException and test basic solver failures 2012-02-19 00:15:23 +01:00
Nils Adermann 8fd4e56029 Deciding to install a package and wanting to install it, is not a conflict 2012-02-19 00:13:21 +01:00
Volker Dusch 3fb75faa75 Now that no more update rules are created the code that handles them can be removed too.
Also adapted the tests that used TYPE_UPDATE exemplarily to use TYPE_FEATURE.
2012-02-18 19:19:49 +01:00
Volker Dusch ec61297122 Remove the allowUninstall policy option and clean up the only usage 2012-02-18 18:31:19 +01:00
Nils Adermann cbc021c05d featureRule no longer exists, only update rule 2012-02-18 18:04:45 +01:00
Volker Dusch 5fdca19880 Removed the option to disallowed downgrades and simplifed some places where it was used 2012-02-18 17:50:15 +01:00
Volker Dusch cc80e5a3b1 Cleanup unreachable code 2012-02-18 14:29:58 +01:00
Nils Adermann 7609f27052 Merge branch 'add-tests' of https://github.com/l3l0/composer into new-master
* 'add-tests' of https://github.com/l3l0/composer:
  Made fixes after review.
  Made changes which fied warnings and errors in tests.
  Fixed tests after update and merge of changes from upstream/master
  Fixed code. Changes improved code testability
  Added and extended some unit tests
2012-02-18 13:08:20 +01:00
Jordi Boggiano 5e3bf86851 Remove .swp file 2012-02-18 12:50:45 +01:00
Volker Dusch fb69ef64c5 Fix Solver function visibility to reflect what acutally should be the public interface 2012-02-18 12:44:52 +01:00
Nils Adermann cb7f656fa9 Off by one error in the solver - 1 cannot be false
Fixes #133, #160, #162, #177, #289
2012-02-18 00:11:08 +01:00
Justin Rainbow 8e64229461 Increasing version number to include 5.3.3 which also has an issue with SplFixedArray 2012-02-01 09:31:27 -07:00
Leszek Prabucki f59ca1e2f8 Made fixes after review. 2012-01-24 18:48:42 +01:00
Leszek Prabucki 9488b0f85f Fixed code. Changes improved code testability 2012-01-24 18:44:55 +01:00
Joseph Bielawski 188d8beb79 Class name typo fix 2012-01-19 16:58:59 +01:00
Justin Rainbow 7eda0a8823 PHP 5.3.2 segmentation fault fix
For some reason, using the SqlFixedArray causes a Segmentation Fault during
an install or update.  Changing to a simple array fixes this issue, but in
turn uses more memory.  Which is why there is the version test.
2012-01-18 15:56:29 -07:00
Jordi Boggiano edf948454b Remove IO from Solver, debug methods don't need it 2012-01-17 22:46:52 +01:00
François Pluchino 0f9dcc9618 Remplace all echo with writeln method of IO 2012-01-16 20:44:06 +01:00
Hugo Hamon 9acbb0c026 [DependencyResolver] removed unused local variables and fixed some wrong local variable names in Solver class. 2012-01-11 09:11:27 +01:00
Artem Lopata (bumz) de066de198 Fix for composer. When running update/install command it's just do nothing, except writing "Installing dependencies" 2012-01-08 23:24:58 +02:00
Jordi Boggiano c921a8884e Adjust operation output, fixes #166 2011-12-21 15:57:39 +01:00
digitalkaoz 87831d8c1c fixed typo 2011-12-06 21:13:04 +01:00
Jordi Boggiano f2662b193d Add --dry-run option and list all operations on --verbose 2011-11-21 17:56:21 +01:00
Jordi Boggiano d020f2701d Merge pull request #118 from naderman/priority-replace-any-version
Replaced packages have higher priority even if wrong version is replaced
2011-11-21 08:30:40 -08:00