emerge: add --rebuild and --norebuild-atoms opts
authorDavid James <davidjames@google.com>
Sun, 1 May 2011 17:21:45 +0000 (10:21 -0700)
committerZac Medico <zmedico@gentoo.org>
Sun, 1 May 2011 17:21:45 +0000 (10:21 -0700)
commit470871eeafa89a05486d4eb6f3f7626c1f813e4d
treeaeb8eb32a862b2a0e271755372ba4c9994b50800
parentdf15d8c67d6c9d821a5fada0063c04da9bb2bed6
emerge: add --rebuild and --norebuild-atoms opts

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
13 files changed:
man/emerge.1
pym/_emerge/DepPriority.py
pym/_emerge/DepPriorityNormalRange.py
pym/_emerge/DepPrioritySatisfiedRange.py
pym/_emerge/Dependency.py
pym/_emerge/UnmergeDepPriority.py
pym/_emerge/create_depgraph_params.py
pym/_emerge/depgraph.py
pym/_emerge/help.py
pym/_emerge/main.py
pym/_emerge/resolver/backtracking.py
pym/portage/dbapi/bintree.py
pym/portage/tests/resolver/test_rebuild.py [new file with mode: 0644]