summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/depgraph.py
Commit message (Collapse)AuthorAgeFilesLines
* emerge: fix misspell suggestion with categoryZac Medico2011-05-051-3/+2
| | | | A name collision in the "cp" variable caused it to malfunction.
* add_pkg_deps: removal action discard DEPEND earlyZac Medico2011-05-041-0/+3
|
* add_pkg_deps: use dep priority to ignore blockersZac Medico2011-05-041-12/+10
|
* add_pkg_dep_string: respect traverse_ignored_depsZac Medico2011-05-041-3/+6
| | | | | I don't think this makes any difference now, but it clarifies how traverse_ignored_deps should behave.
* emerge: replace --rebuild with finer grained optsDavid James2011-05-041-7/+47
| | | | | | | | | | | | | | | | | | | | | | Replace --rebuild option with --rebuild-if-* options. --rebuild-if-new-rev [ y | n ] Rebuild packages when dependencies that are used at both build-time and run-time are built, if the dependency is not already installed with the same version and revision. --rebuild-if-new-ver [ y | n ] Rebuild packages when dependencies that are used at both build-time and run-time are built, if the dependency is not already installed with the same version. Revision numbers are ignored. --rebuild-if-unbuilt [ y | n ] Rebuild packages when dependencies that are used at both build-time and run-time are built. Change-Id: Ia50c1702bfe1b98a8d1891740e7bbb045921a905 Review URL: http://gerrit.chromium.org/gerrit/280
* Add --rebuild-ignore flag.David James2011-05-031-1/+5
| | | | | | | | | A space separated list of package names or slot atoms. Emerge will not rebuild packages that depend on matching packages due to \fB\-\-rebuild\fR. Change-Id: Ia58fe632ed06c97a22413da0341d7f8da2d65ba8 Review URL: http://gerrit.chromium.org/gerrit/209
* rebuild_config: propagate runtime deps to parentsDavid James2011-05-031-4/+8
| | | | | | | | | | | | | Update rebuild option to propagate runtime deps to parents. Suggested by SebastianLuther@gmx.de BUG=chromium-os:14858 TEST=Added unit test. Ran unit tests. Change-Id: I7228a8558eddd1956c590de39430172476c66228 Review URL: http://gerrit.chromium.org/gerrit/202
* emerge: skip misspell suggestion if cp existsZac Medico2011-05-021-0/+8
|
* depgraph: autounmask account for optional depsZac Medico2011-05-021-0/+14
|
* emerge: rename --no*-atoms to --*-excludeZac Medico2011-05-021-8/+8
|
* depgraph: queue ignored deps for later traversalZac Medico2011-05-011-13/+28
| | | | | | This will fix an issue with some build-time deps being ignored by --complete-graph in cases when --with-bdeps is not enabled. It should help --rebuild to find more rebuilds in this case.
* depgraph: account for new-style virtual/libcZac Medico2011-05-011-71/+93
| | | | This will fix bug #364681.
* trigger_rebuilds: handle circular depsZac Medico2011-05-011-1/+27
|
* depgraph: traverse bdeps in complete modeZac Medico2011-05-011-2/+5
| | | | | This makes the graph as complete as possible, and can help --rebuild to find more rebuilds.
* depgraph: ignore unwanted virtualsZac Medico2011-05-011-2/+3
| | | | | This fixes an unwanted side-effect from commit 470871eeafa89a05486d4eb6f3f7626c1f813e4d.
* emerge: add --rebuild and --norebuild-atoms optsDavid James2011-05-011-16/+174
| | | | | | | | | | | | | | | | | | | | | | | Rebuild when build-time/run-time deps are upgraded. If pkgA has been updated, and pkgB depends on pkgA at both build-time and run-time, pkgB needs to be rebuilt. This feature ensures that all packages are consistent when dependencies that are used at both runtime and build time are changed. This feature only rebuilds packages one layer deep. That means that if you upgrade libcros, for example, packages that depend directly on libcros will be rebuilt and reinstalled, but indirect dependencies will not be rebuilt. BUG=chromium-os:14296 TEST=Test whether packages rebuilding a bunch of packages. Change-Id: Idbc0532b4b1de28fd9e5a0abe3b7dbe1a3abd2c8 Review URL: http://codereview.chromium.org/6905107
* depgraph: migrate implicit libc deps from SchedZac Medico2011-04-301-0/+65
| | | | | Now all the virtual/libc handling is done by the depgraph, which will be helpful when fixing bug #364681.
* emerge: add --misspell-suggestions=n optionZac Medico2011-04-281-1/+3
| | | | This will fix bug #363137.
* emerge: add 3 new options similar to --excludeDavid James2011-04-271-20/+58
| | | | | | | | | | | | | | | | | | | | | | | Add --nousepkg-atoms, --useoldpkg-atoms, and --reinstall-atoms flag to Portage reinstall-atoms accepts a space separated list of package names or slot atoms. Emerge will treat matching packages as if they are not installed, and reinstall them if necessary. useoldpkg-atoms accepts a space separated list of package names or slot atoms. Emerge will prefer matching binary packages over newer unbuilt packages. This is useful in case you want to request that a particular package won't be rebuilt from source. nousepkg-atoms accepts a space separated list of package names or slot atoms. Emerge will ignore matching binary packages. Change-Id: I0d73039c6a4cd63695b28ffc80215628e0e05c95 BUG=chromium-os:12507 TEST=Try out the flag Review URL: http://codereview.chromium.org/6577024
* --autounmask: Don't change masked/forced flagsSebastian Luther2011-04-271-0/+4
| | | | This will fix bug #364701.
* get_dep_chain: handle InvalidDependStringZac Medico2011-03-231-2/+6
|
* depgraph: don't output \b to non-ttyZac Medico2011-03-021-2/+7
| | | | This will fix bug #357093.
* depgraph: case insensitive search for unsatisfiedZac Medico2011-02-281-1/+12
| | | | This will fix bug #356555.
* depgraph: fix virtual code to handle unsatisfiedZac Medico2011-02-141-2/+2
|
* Recognize git-2.eclass when reinstalling self.Zac Medico2011-02-141-1/+2
|
* depgraph: fix KeyError in select_atomsZac Medico2011-02-141-0/+2
| | | | This happens if depstring evaluates to nothing.
* get_dep_chain: fix broken parent_arg referenceZac Medico2011-02-131-1/+1
| | | | Broken since commit b4f98ec5a1eb2e010a455b19db5bef8d61def241.
* depgraph: normalize indentationZac Medico2011-02-131-5/+4
|
* depgraph: ignore fewer depsZac Medico2011-02-131-2/+6
| | | | | This restores some desired logic that was left out of commit 5655b4dcfe5e9dae5e9d6352d791c3d04953baf7.
* depgraph: remove redundant "empty" param checksZac Medico2011-02-131-7/+4
| | | | | Since commit 878f166c5a06b0ab6c5a34dd658c878cc7605fe7, empty implies deep = True, so these checks are redundant.
* get_dep_chain: fix unsatisfied_dependency logicZac Medico2011-02-131-2/+5
| | | | | | Always prefer parents for which the parent atom is unsatisfied by the child node. This seems to be the intention of the code, though it may not have behaved correctly due to continuation of the parent loop.
* get_dep_chain: prefer parents in merge listZac Medico2011-02-131-10/+20
| | | | This will fix bug #354747.
* depgraph: fix and test depth control for virtualsZac Medico2011-02-131-8/+42
|
* depgraph: tweak depth calculation for virtualsZac Medico2011-02-131-3/+12
| | | | | | Recursively traversed virtual dependencies, and their direct dependencies, are considered to have the same depth as direct dependencies.
* depgraph: fix and test --deep control of depthZac Medico2011-02-131-3/+41
| | | | | Control over recursion depth hasn't behaved properly since commit 6503980e0e3bcfce9fbaff85c33d87f616e955a9. Now it is fixed and tested.
* depgraph: avoid atom hash collisions in dep_checkZac Medico2011-02-121-7/+8
| | | | | | | | Atoms are stored in the graph as (atom, id(atom)) tuples since each atom is considered to be a unique entity. For example, atoms that appear identical may behave differently in USE matching, depending on their unevaluated form. Also, specially generated virtual atoms may appear identical while having different _orig_atom attributes.
* depgraph: return virtual edges from select_atomsZac Medico2011-02-121-36/+42
|
* depgraph: don't distort edges for virtualsZac Medico2011-02-111-9/+19
| | | | | | | | In _add_pkg_dep_string(), _add_pkg() was called with generated Dependency instances that created fake/distorted edges in the graph for new-style virtuals (similar to those that were fixed in commit 5b16e0d800f34dc90cdd8c505172ad16b97f0af4). Now there won't be any such distorted edges.
* depgraph: fix distorted display of virtualsZac Medico2011-02-111-0/+13
| | | | | | | | As mentioned in bug #353933, comment #4, special new-style virtual atoms generated/distorted by _expand_new_virtuals() can prevent extract_affecting_use() from working properly. This is fixed by saving the original atoms so that the depgraph can map them back into place at the appropriate step in dependency evaluation.
* depgraph: avoid reinstall of identical binpkgZac Medico2011-02-111-0/+15
| | | | This will fix bug #354441.
* emerge: support ../ path argumentsZac Medico2011-02-081-1/+2
| | | | This will fix bug #354141.
* backtrack_depgraph: get_best_run for last runv2.2.0_alpha20Zac Medico2011-02-041-1/+2
| | | | | | | It's essential to feed back autounmask config changes, especially USE changes, in order to make the last run as successful as possible. This fixes a regression in the master branch, since commit 2186f87c22e0c4bdb86065855c2034bdbb66fa45.
* get_dep_chain: add "set" node typeZac Medico2011-02-041-2/+5
|
* depgraph: make downgrades trigger complete graphZac Medico2011-02-041-2/+21
| | | | | It's common for downgrades to break dependencies, as in bug #353613, so automatically trigger complete graph mode when a downgrade is found.
* depgraph: don't drop deps in _add_depZac Medico2011-02-041-29/+0
| | | | | | This will fix bug #353613. We remove a hunk of code that was meant to limit recursion, but is obsolete an buggy. The recursion limiting is now handled by _add_pkg and the _ignored_deps stack.
* REQUIRED_USE: display unsatisfied partZac Medico2011-02-031-1/+14
| | | | This will fix bug #353234.
* depgraph: use catsplit where appropriateZac Medico2011-02-021-2/+2
|
* depgraph: remove obsolete gpg exception handlersZac Medico2011-02-021-14/+0
|
* depgraph: skip backtrack for fatal errorsZac Medico2011-02-021-0/+10
|
* depgraph: rm obsolete AmbguousPackageName handlerZac Medico2011-02-021-21/+2
|