summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* The dependency resolver now has a feedback mechanism that helps make atomZac Medico2008-04-151-0/+7
| | | | | | | selections more consistent with previous selections that have been added to the graph. This solves some common cases of bug #1343. svn path=/main/trunk/; revision=9906
* Comment some more on the significance of passing the graph_db and parentZac Medico2008-04-151-1/+8
| | | | | | | into depgraph._select_atoms() to solve some cases of bug #1343 while avoiding unresolvable direct circular dependencies. svn path=/main/trunk/; revision=9904
* Add support to depgraph._select_atoms() to take a "parent" parameterZac Medico2008-04-152-3/+45
| | | | | | | | | | | | and use that to try and avoid unresolvable direct circular dependencies when necessary. Also, make atom selection more consistent with the graph to solve some cases of bug #1343. This improves the fix from bug #141118 to work in cases when a virtual is not yet installed but it has been pulled into the graph. For example, see the case of in Bug #163801#c17, where we want kaffe to satisfy virtual/jdk-1.4 without an extra jvm being pulled in unnecessarily. svn path=/main/trunk/; revision=9901
* Revert part of atom selection consistency improvement from r9873 since itZac Medico2008-04-151-1/+12
| | | | | | | | | | in some cases it triggers unresolvable direct circular dependencies. For example, this happens with gwydion-dylan which depends on either itself or gwydion-dylan-bin. In case gwydion-dylan is not yet installed, gwydion-dylan-bin needs to be selected in order to avoid a an unresolvable direct circular dependency. svn path=/main/trunk/; revision=9900
* Bug #217664 - Fix emerge 'by path' package argument handling so thatZac Medico2008-04-141-0/+2
| | | | | | Package instances are properly cached (avoiding a KeyError later). svn path=/main/trunk/; revision=9898
* In config.setcpv() and regenerate(), replace str.startswith() calls withZac Medico2008-04-141-5/+9
| | | | | | | slice comparison. It's not pretty but performance is critical in this section of code and there is a measurable performance difference. svn path=/main/trunk/; revision=9896
* Fix issues with an empty string being passed intoZac Medico2008-04-141-1/+6
| | | | | | | PreservedLibsRegistry.register() now that COUNTER is not loaded via config.load_infodir(). Thanks to grobian for reporting. svn path=/main/trunk/; revision=9895
* Revert back to using startwith because I screwed up my benchmark and itZac Medico2008-04-141-14/+7
| | | | | | turns out starswith is faster than using regular expressions. svn path=/main/trunk/; revision=9891
* When regenerating USE_EXPAND in config.setcpv(), improve performance byZac Medico2008-04-141-7/+14
| | | | | | using regular expression instead of str.startswith(). svn path=/main/trunk/; revision=9890
* Fix some breakage in the allow_unsatisfied handling.Zac Medico2008-04-141-4/+7
| | | | svn path=/main/trunk/; revision=9886
* Call depgraph._add_dep() to add package dependencies to the graphZac Medico2008-04-141-4/+3
| | | | | | as soon as possible rather than pushing them onto the stack. svn path=/main/trunk/; revision=9885
* Split out a depgraph._add_dep() method.Zac Medico2008-04-141-54/+59
| | | | svn path=/main/trunk/; revision=9884
* s/timetasmp/timestamp/Zac Medico2008-04-141-1/+1
| | | | svn path=/main/trunk/; revision=9883
* Fix some more broken logic inside WorldSet.load().Zac Medico2008-04-141-1/+5
| | | | svn path=/main/trunk/; revision=9882
* Fix buggy logic in WorldSet.load() that causes it to discard all ofZac Medico2008-04-141-2/+5
| | | | | | it's atoms in some cases (leading to loss of the whole world file). svn path=/main/trunk/; revision=9881
* * For optimal atom selection, use PackageVirtualDbapi instances in placeZac Medico2008-04-131-18/+4
| | | | | | | | of the vardb for all dep_check() calls. * Replace dep_check_trees in depgraph.validate_blockers() with the equivalent self._graph_trees reference. svn path=/main/trunk/; revision=9879
* To optimize consistency of atom selections, add all of the root packagesZac Medico2008-04-131-4/+7
| | | | | | to the graph before processing any dependencies. svn path=/main/trunk/; revision=9874
* Improve lookahead for new-style virtuals:Zac Medico2008-04-131-9/+30
| | | | | | | | | | | | | | | | | * Substitue the graph tree for the vartree in dep_check() since we want atom selections to be consistent with package selections have already been made. * Add the selected package to the graph as soon as possible so that later dep_check() calls can use it as feedback for making more consistent atom selections. * Expand all slots of new-style virtuals inside _dep_check_composite_db so that lookahead examines a matched slots. This solves some cases of bug #1343, and extends the fix for bug #141118 to work in cases when a virtual is not yet installed but it has been pulled into the graph. svn path=/main/trunk/; revision=9873
* Fix the _dep_check_composite_db visibility filtering some more.Zac Medico2008-04-131-9/+18
| | | | svn path=/main/trunk/; revision=9872
* Fix _dep_check_composite_db.match() so that it doesn't exempt the highestZac Medico2008-04-131-3/+0
| | | | | | slot from visibility checks. svn path=/main/trunk/; revision=9871
* Make _dep_check_composite_db match() return multiple slots so thatZac Medico2008-04-131-15/+36
| | | | | | | it behaves more like other dbapi instances would, and also make it inherit from dbapi. svn path=/main/trunk/; revision=9870
* store sets in a different physical location than normal packages for 'world' ↵Marius Mauch2008-04-131-5/+62
| | | | | | (makes ferringb a bit happier, and might have other advantages in the future) svn path=/main/trunk/; revision=9866
* Convert st_mtime to long for movefile() return type.Zac Medico2008-04-131-1/+1
| | | | svn path=/main/trunk/; revision=9865
* Make movefile() tolerant to EPERM errors that can be raised from utime()Zac Medico2008-04-131-5/+16
| | | | | | calls. Instead of failing, use stat() to return the mtime if possible. svn path=/main/trunk/; revision=9864
* fix check for other lib copies to properly exclude the current packageMarius Mauch2008-04-131-1/+3
| | | | svn path=/main/trunk/; revision=9862
* In --buildpkgonly mode, don't discard RDEPEND and PDEPEND if --empty orZac Medico2008-04-131-4/+6
| | | | | | | --deep are enabled. The makes it possible to run `emerge -eB world` and have every single package rebuilt (without actually installing anything). svn path=/main/trunk/; revision=9860
* Fix the filtering for bug #215016:Zac Medico2008-04-121-6/+13
| | | | | | | * fix broken comparison for he iuse filtering * filter out any duplicates that variable may contain svn path=/main/trunk/; revision=9858
* Bug #217444 - Send debug-print() output to stderr so that it can't interfereZac Medico2008-04-121-1/+1
| | | | | | | with command substitution. Thanks to Fabio Rossi <rossi.f@inwind.it> for this patch. svn path=/main/trunk/; revision=9856
* * Optimize config.setcpv() to return early if IUSE has not changed sinceZac Medico2008-04-121-1/+9
| | | | | | | | the previous setcpv() call. * Add EBUILD_PHASE to the blacklisted variables list. svn path=/main/trunk/; revision=9854
* Bug #215016 - When transforming of USE flags to USE_EXPAND variables,Zac Medico2008-04-121-115/+88
| | | | | | | | filter out flags that aren't considered to be part of IUSE or implicit IUSE. This patch moves all IUSE dependent code from config.regenerate() to config.setcpv(). svn path=/main/trunk/; revision=9852
* Make binarytree.prevent_collision() adjust permissions on directoriesZac Medico2008-04-121-1/+11
| | | | | | | and raise a PermissionDenied error if the required directories is not writable. svn path=/main/trunk/; revision=9850
* Add some notes for the parallel-fetch feature and the new --complete-graphZac Medico2008-04-112-1/+20
| | | | | | option for emerge. svn path=/main/trunk/; revision=9848
* Rename the undocumented --conistent option to --complete-graph and addZac Medico2008-04-113-4/+28
| | | | | | some docs. svn path=/main/trunk/; revision=9846
* Make file_get() redirect FETCHCOMMAND output to stdout just likeZac Medico2008-04-111-1/+6
| | | | | | portage.fetch() does. Thanks to Ramereth for reporting. svn path=/main/trunk/; revision=9844
* Fix 'undefined name' errors found by pyflakes.Zac Medico2008-04-111-3/+3
| | | | svn path=/main/trunk/; revision=9842
* Fix the code from the previous commit so that it doesn't try to pullZac Medico2008-04-111-2/+7
| | | | | | | USE from a portdbapi instance (like when called by repoman) since portdbapi doesn't return USE in aux_get() calls. svn path=/main/trunk/; revision=9840
* When dep_check() expands new-style virtuals, use USE flags from aux_getZac Medico2008-04-111-2/+6
| | | | | | | | calls to evaluate any conditionals that the depstrings might contain. This works properly for ebuilds now that aux_get() is backed by Package instances containing the correct USE. svn path=/main/trunk/; revision=9839
* Make doebuild() bail out early with a PermissionDenied error if thereZac Medico2008-04-111-0/+10
| | | | | | is no write access to $PKGDIR. svn path=/main/trunk/; revision=9837
* Remove unused infodir variable.Zac Medico2008-04-111-2/+0
| | | | svn path=/main/trunk/; revision=9835
* Remove all calls to config.load_infodir() since it doesn't seemZac Medico2008-04-111-5/+0
| | | | | | | to server any purpose now that the complete environment is loaded from environment.bz2. svn path=/main/trunk/; revision=9834
* In config.setcpv() and load_infodir(), always set known good valuesZac Medico2008-04-111-2/+14
| | | | | | for CATEGORY and PF, since corruption of these can cause problems. svn path=/main/trunk/; revision=9832
* Copy group mode bits from $PKGDIR when creating subdirectories.Zac Medico2008-04-111-31/+30
| | | | svn path=/main/trunk/; revision=9827
* Tweak --buildpkgonly and fakeroot logic so that --buildpkgonly can beZac Medico2008-04-112-8/+15
| | | | | | used by a non-root user to build binary packages with fakeroot. svn path=/main/trunk/; revision=9825
* Nest the DepcheckCompositeDB class inside the depgraph class since it'sZac Medico2008-04-101-86/+86
| | | | | | not intended for use elsewhere. svn path=/main/trunk/; revision=9823
* Rename variable pkg_cpv to pkg_str.Zac Medico2008-04-101-7/+7
| | | | svn path=/main/trunk/; revision=9821
* Fix "pkg" variable name collisions in depgraph.display().Zac Medico2008-04-101-13/+12
| | | | svn path=/main/trunk/; revision=9819
* Make the CHOST visibility check tolerant of missing CHOST metadata.Zac Medico2008-04-101-7/+9
| | | | svn path=/main/trunk/; revision=9817
* Bug #217122 - When waiting for a parallel-fetch download to complete,Zac Medico2008-04-101-2/+9
| | | | | | show a more friendly and informative message. svn path=/main/trunk/; revision=9815
* Remove an unused function.Zac Medico2008-04-101-11/+0
| | | | svn path=/main/trunk/; revision=9810
* Implement expansion of catgories in DepcheckCompositeDB.match() for oldZac Medico2008-04-101-1/+42
| | | | | | installed packages that may contain atoms that are not fully qualified. svn path=/main/trunk/; revision=9808