Merged from trunk 8150:8174
| 8151 | In dblink.getcontents(), use a regular expression to detect |
| zmedico | when path normalization is required. Also, only join with |
| | ${ROOT} when necessary. This allows unnecessary normpath and |
| | join calls to be optimized away in the general case, |
| | reducing the cpu time for `equery belongs ` by about 50%. M |
| | pym/portage/dbapi/vartree.py |
| 8152 | Only re.compile() the normalize_needed pattern once rather |
| zmedico | than for each dblink constructor call. |
| 8153 | Optimize dblink.isowner() to use fewer stat calls by only |
| zmedico | collecting stat results for parent directories. This |
| | provides equivalent accuracy to the previous approach but |
| | will perform much better when used to scan all installed |
| | packages for owners in the event of a file collision. |
| 8154 | Bug #196043 - Implement a `portageq owners []+` command that |
| zmedico | is suitable for identifying all packages that own one or |
| | more files when a file collision has occurred. This uses |
| | dblink.isowner() so that the query works properly even when |
| | paths are ambiguous due to symlinked directories. |
| 8155 | Bug #196043 - Update the file collision ewarn notice to try |
| zmedico | and clarify the cases when a bug should NOT be filed. Also, |
| | recommend the new `portageq owners / ` command since it |
| | works properly even when paths are ambiguous due to |
| | symlinked directories. |
| 8161 | Add missing "to" to fix grammer. |
| zmedico | |
| 8163 | Bug #196043 - Unify the ouput handling for file collisions |
| zmedico | so that similar eerror messages are generated whether or not |
| | collision-protect is enabled. |
| 8166 | Fix the normalize_needed regex to properly match // anywhere |
| zmedico | in the path. Also add support for detection of . or .. where |
| | appropriate. |
| 8168 | Fix collision-protect so that it properly cancels the |
| zmedico | preinst phase like it used to. |
| 8170 | Adjust quote usage in collision-protect eerror output. |
| zmedico | |
| 8172 | Bug #195375 - Make dblink.treewalk() read inforoot/SLOT |
| zmedico | since it differs from the expected SLOT value when when |
| | USE=multislot is enabled. A warning message will be shown if |
| | the slot differs and --quiet mode is not enabled. |
| 8174 | Handle EnvironmentError instead of OSError since open() |
| zmedico | actually raises IOError. Also, treat a missing SLOT file as |
| | SLOT="" since it is currently possible to install an ebuild |
| | with an undefined SLOT even though repoman generates a |
| | SLOT.missing error with such an ebuild. |
svn path=/main/branches/prefix/; revision=8210