Summary: | for deps that are already satisfied the highest available version is always selected | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Petteri Räty (RETIRED) <betelgeuse> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | esigra, hkmaly, pjoanes |
Priority: | High | Keywords: | InVCS |
Version: | 2.2 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Petteri Räty (RETIRED)
2006-12-17 04:34:10 UTC
The current dep selection algorithm always pulls in the highest available match even if something installed already satisfies the dep. Eventually we'll turn on --deep by default and provide a separate dep selection algorithm so that it won't try to upgrade things that are already satisfied unless you want it to. I've just realized that the specific behavior that you've reported is triggered by the change in new-style virtuals handling for bug #141118. This type of behavior isn't entirely new though since it can be triggered by other sorts of dependencies. The root of the problem it that depgraph.select_dep() only sees the finally selected =virtual/jre-1.6.0 that comes out of the portage.dep_check() call. At that point, it has no way of knowing that virtual/jre-1.4.0 would also satisfy the original dependency. I suppose I have same problem with virtual/mysql - packages which depends on it (php, proftpd, snort, ...) now (since update from portage-2.1.1-r2 to portage-2.1.2-r9) want to install virtual/mysql-5.0, although virtual/mysql-4.1 is installed and should be sufficient. I tried to post it as bug #166991 (and assumedly made several mistakes while doing it), you can look at my information there if needed. *** Bug 181304 has been marked as a duplicate of this bug. *** This is fixed by the code from bug #275945. Now packages aren't upgraded unless --update is specified. *** This bug has been marked as a duplicate of bug 275945 *** |