summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/depgraph.py
Commit message (Collapse)AuthorAgeFilesLines
* Use get(REQUIRED_USE) for emphasis.Zac Medico2011-11-091-3/+3
| | | | | None of these cases should raise KeyError, but use get(REQUIRED_USE) anyway to emphasize that care must be taken.
* depgraph: fix possible REQUIRED_USE KeyErrorZac Medico2011-11-081-1/+1
| | | | This goes with commit a0961708ced50c90497811058eda6f4513d2986d.
* depgraph._queue_disjunctive_deps(): Pass EAPI to portage.dep.Atom().Arfrever Frehtes Taifersar Arahesis2011-11-071-1/+1
|
* REQUIRED_USE: don't save in built packagesZac Medico2011-11-071-1/+1
| | | | | | | It should be safe to assume that REQUIRED_USE is satisfied if the package is built, so it's a waste to save it. Also, fix code which assumes that built Package instances have a REQUIRED_USE key in their metadata.
* Respect --usepkgonly in suggestions, bug #389617Zac Medico2011-11-061-1/+2
|
* Use EROOT to validate path arguments.Zac Medico2011-10-281-4/+4
|
* Use EROOT instead of ROOT for keys everywhere.Zac Medico2011-10-251-14/+15
| | | | | | | | | | It makes more sense to use EROOT instead of ROOT for keys in mappings like portage.db, since it allows for multiple prefixes to exist simultaneously within the same map without having a key collision. This affects all portageq commands which take a <root> parameter, since that parameter now corresponds to EROOT instead of ROOT. None of this makes any difference for non-prefix users, since EROOT and ROOT are identical when EPREFIX is empty.
* depgraph: fix installed masked warningZac Medico2011-10-201-7/+8
| | | | | This warning has been broken since commit 5f65c2294df592a6a4e0f0fff0bedec49ed3491a.
* Add emerge --dynamic-deps <y|n> option.Zac Medico2011-10-101-3/+10
| | | | | | | | | | | | | This makes it possible to disable the dynamic dependency updates that FakeVartree performs by default. WARNING: If --dynamic-deps is disabled, then it is necessary to ensure that an alternative method is used to handle package moves in dependencies of installed packages. Normally, this is handled by FEATURES="fixpackages", which is enabled by default and may be disabled via make.conf(5). Alternatively, in order to manually apply package moves, run `emaint --fix moveinst` after each emerge --sync operation (see emaint(1)).
* show_ignored_binaries: filter noise, bug #386379Zac Medico2011-10-091-0/+26
|
* Prefer slot conflict over blocker display.Zac Medico2011-10-021-5/+6
| | | | | | | | The slot conflict display has better noise reduction than the unsatisfied blockers display, so skip unsatisfied blockers display if there are slot conflicts (see bug #385391). Note that this reverses the logic from bug 159310, since the slot conflict display has evolved a lot since then.
* depgraph: tweak virtual transition codeZac Medico2011-09-301-5/+5
| | | | | | This fixes a false --binpkg-respect-use warning that's triggered by erroneous USE/IUSE comparison between the new-style virtual and an old-style virtual match.
* depgraph: pull in new-style virtuals moreZac Medico2011-09-301-0/+6
| | | | | | | This causes new-style virtuals to get pulled in for virtuals that are already satisfied by installed old-style virtuals. This case is common, due to PROVIDE being (removed without revision bump) from lots of ebuilds.
* tweak "missed updates" code from last commitZac Medico2011-09-281-3/+3
|
* depgraph: verify "missed updates"Zac Medico2011-09-281-0/+4
| | | | | | Since the change involving slot conflict parent atoms in commit 6cea2091526659521d35be6c8dc7733f69f1a760, we want to check to make sure we don't display any false positives in the "missed updates".
* depgraph: handle unicode exception for bug 384749Zac Medico2011-09-271-2/+3
|
* Fix a typo.Arfrever Frehtes Taifersar Arahesis2011-09-231-1/+1
|
* Tweak automatic --binpkg-respect-use behavior.Zac Medico2011-09-211-3/+6
| | | | | | | | If --binpkg-respect-use is not explicitly specified, we enable the behavior automatically (like requested in bug #297549), as long as it doesn't strongly conflict with other options that have been specified. Strongly conflicting options currently include --usepkgonly and --rebuilt-binaries.
* Make --binpkg-respect-use=y the defaultSebastian Luther2011-09-211-4/+6
| | | | | Explicitly stating --binpkg-respect-use=y will disable the ignored binary warning. This will fix bug #297549.
* Warn about ignored binary packages with non matching USESebastian Luther2011-09-211-3/+44
|
* emerge: add --complete-graph-if-new-ver < y | n >Zac Medico2011-09-211-12/+10
| | | | | Trigger the --complete-graph behavior if an installed package version will change (upgrade or downgrade). This option is enabled by default.
* autounmask: Always use unresticted atoms for license and USE changesSebastian Luther2011-09-211-14/+8
| | | | See bug 379333.
* Reject inconsistent backtrack parametersSebastian Luther2011-09-201-5/+0
| | | | | | | If backtracking masks a package that caused another package to be masked, we declare this backtracking node as invalid. The backtracker should be able to find another node that gives a valid solution if one exists. This fixes bug 375573.
* Suggest --autounmask-keep-masks for ** keyword.Zac Medico2011-09-191-2/+5
|
* Suggest --autounmask-keep-masks instead of --autounmask=nSebastian Luther2011-09-191-7/+3
| | | | | | | Currently emerge suggests --autounmask=n if any configuration change is proposed. With this patch it will print a suggestion only for mask changes, as these are the changes people complain most about. It will suggest --autounmask-keep-masks in this case.
* autounmask: Add --autounmask-keep-masks optionSebastian Luther2011-09-191-1/+3
| | | | | | Disables creation of p.unmask entries to allow users to insist on their masks and hope for another conflict resolution (i.e. missed update). This fixes bug 372485.
* autounmask: Add --autounmask-unrestricted-atoms optionSebastian Luther2011-09-191-16/+30
| | | | | | | | The default behavior of --autounmask is now changed back to the original one, namely to use '=' operators. The --autounmask-unrestricted-atoms option allows the use of '>=' operators whenever possible. This addresses the issues raised in bugs 372405, 374331 and 379333.
* get_dep_chain: fix KeyError if start_node is rootZac Medico2011-09-181-1/+1
|
* autounmask: Ensure a suitable parent is displayed in the dep chainSebastian Luther2011-09-181-1/+33
| | | | Fixes bug 375265.
* depclean: don't remove new virtual slotsZac Medico2011-09-181-1/+2
| | | | | | | This provides depclean symmetry with the change in update behavior from commit b95cbb6b78ad6d9b8e2d3edc5fafff122c3ce7c5, so that new virtual slots won't be removed by depclean immediately after they have been pulled in.
* Fix multislot handling for depclean (bug #382823)Zac Medico2011-09-141-4/+14
|
* depgraph: pull in new virtual slots with --updateZac Medico2011-09-111-11/+58
| | | | | | | | This re-implements the fix from commit 21330075f07248765016e104b3ba8216903f1ecb, without introducing the unwanted behavior reported in bug 382557. This involves checking the direct dependencies of virtual slot updates to make sure they are all visible, before pulling them in.
* Revert virtual slot update code for bug 382557.Zac Medico2011-09-111-1/+0
| | | | | | This reverts the behavior change from commit 21330075f07248765016e104b3ba8216903f1ecb, since it's too aggressive in pulling in new virtual slots that may have masked dependencies.
* depgraph: refactor virtual slot --update codeZac Medico2011-09-101-28/+26
| | | | | | | This re-implements the change from commit 21330075f07248765016e104b3ba8216903f1ecb in order to avoid executing unnessary virtual slot expansion code when the given atom specifies a slot or --update is enabled.
* depgraph: use Atom.with_slot() to match virtualsZac Medico2011-09-101-1/+1
| | | | This ensures that USE deps and repo deps are preserved here.
* depgraph: use _iter_match_pkgs_any where possibleZac Medico2011-09-091-6/+5
|
* depgraph: pull in new virtual slots with --updateZac Medico2011-09-091-1/+7
| | | | | | | | Previously, the virtual cost minimization code from bug #141118 would prevent virtual dependencies from pulling in new slots. That behavior was not desired for --update, so now it's fixed to pull in the latest slot available. This allows virtual/jdk-1.7.0 to be pulled in by dependencies when --update is enabled.
* Show merge list before "missed update" messages.Zac Medico2011-09-011-0/+2
|
* Send "Recording in world" msg to stdout.Zac Medico2011-08-281-1/+2
|
* Update --rebuild-if-* flags to rebuild when build dependencies are changed.David James2011-08-261-89/+61
| | | | | | | | | | | | | | Right now, the --rebuild-if-* flags only rebuild packages that are used at both run-time and build-time. This doesn't help for packages that are used only at build-time (for example, static libaries). Rebuilding packages whenever a build-time dependency is changed is easier to understand and explain, and it handles all cases correctly. BUG=chromium-os:15517 TEST=Run emerge test suite. Change-Id: Iae8dab24e8acb6625bc1a0ce41862e90b232eb84
* resume_depgraph: prune all indirect unsatisfiedZac Medico2011-08-101-6/+6
| | | | This should fix some cases of bug 378187.
* depgraph: fix duplicate zero pkg count displayZac Medico2011-08-011-1/+1
|
* depgraph: make --exclude handle contradictionsZac Medico2011-07-251-1/+7
| | | | | This makes contradictory things like `emerge -e @system --exclude gcc` work as expected.
* Make emerge --noreplace identical to --selective.Zac Medico2011-07-191-11/+0
| | | | | | This removes a very subtle difference in --noreplace package selection logic which is not very useful and triggers strange package selection choices in some cases, as reported in bug #375571.
* resume_depgraph: be careful with parent_node typeZac Medico2011-07-121-2/+3
|
* autounmask-write: create /etc/portage if neededZac Medico2011-07-111-1/+3
|
* resume_depgraph: fix breakage from reposyntaxZac Medico2011-07-111-1/+3
| | | | | This is a major regression that has been triggering lots of complaints about emerge --keep-going.
* is_valid_package_atom: fix circular importZac Medico2011-07-111-11/+2
| | | | | | Due to a quirk in python import behavior, this only failed nondeterministically. However, the new preinst sanity test in the portage-9999 ebuild tends to trigger it more often for some people.
* Migrate from codecs.open() to io.open().Zac Medico2011-07-101-3/+2
| | | | | | | | | | | | | | | | | The io.open() function is the same as the built-in open() function in python3, and its implementation is optimized in python-2.7 and later. In addition to the possible performance improvement, this also allows us to avoid any future compatibility issues with codecs.open() that may arise if it is delegated to the built-in open() function as discussed in PEP 400. The main caveat involved with io.open() is that TextIOWrapper.write() raises TypeError if given raw bytes, unlike the streams returned from codecs.open(). This is mainly an issue for python2 since literal strings are raw bytes. We handle this by wrapping TextIOWrapper.write() arguments with our _unicode_decode() function. Also, the atomic_ofstream class overrides the write() method in python2 so that it performs automatic coercion to unicode when necessary.
* depgraph: more debug output for _add_pkgZac Medico2011-07-101-15/+39
| | | | | This should make it easier to debug cases like bug 374423, among others.