Zac Medico [Sun, 17 Dec 2006 20:29:04 +0000 (20:29 -0000)]
Don't optimize depgraph.altlist() in reversed mode since the optimization destroys --tree ouput.
svn path=/main/trunk/; revision=5309
Zac Medico [Sun, 17 Dec 2006 10:17:54 +0000 (10:17 -0000)]
In depgraph.altlist(), pop as many leaf nodes as possible when no relationship has been ignored. This can halve the time taken for a large merge order calculation.
svn path=/main/trunk/; revision=5308
Mike Frysinger [Sun, 17 Dec 2006 01:30:30 +0000 (01:30 -0000)]
force environment.bz2 to be clobbered if it already exists
svn path=/main/trunk/; revision=5307
Mike Frysinger [Sun, 17 Dec 2006 01:28:49 +0000 (01:28 -0000)]
remove pointless redirects to /dev/null when using hasq()
svn path=/main/trunk/; revision=5306
Zac Medico [Sat, 16 Dec 2006 23:25:03 +0000 (23:25 -0000)]
Make use_reduce raise an InvalidDependString exception for use? conditionals that aren't followed by parenthesis and add appropriate exception handling in dep_check.
svn path=/main/trunk/; revision=5305
Zac Medico [Sat, 16 Dec 2006 21:42:07 +0000 (21:42 -0000)]
Make dep_check validate all depstring atoms in order to prevent problems from occuring later due to unexpected invalid atoms.
svn path=/main/trunk/; revision=5304
Zac Medico [Sat, 16 Dec 2006 09:59:47 +0000 (09:59 -0000)]
Fix global updates error handling to prevent a traceback with python-2.5 as reported in bug #158264.
svn path=/main/trunk/; revision=5303
Zac Medico [Sat, 16 Dec 2006 05:21:52 +0000 (05:21 -0000)]
For bug #158177, force configure scripts that automatically detect ccache to respect FEATURES="-ccache". Thanks to Horst Schirmeier <gentoo@schirmeier.com> for this suggestion.
svn path=/main/trunk/; revision=5302
Zac Medico [Sat, 16 Dec 2006 03:26:43 +0000 (03:26 -0000)]
Make repoman cache per-profile xmatch results.
svn path=/main/trunk/; revision=5301
Zac Medico [Sat, 16 Dec 2006 02:16:26 +0000 (02:16 -0000)]
Split ACCEPT_KEYWORDS before entering the loop for better efficiency.
svn path=/main/trunk/; revision=5300
Zac Medico [Sat, 16 Dec 2006 02:14:13 +0000 (02:14 -0000)]
Make sure eapi is defined in order to prevent a NameError.
svn path=/main/trunk/; revision=5299
Zac Medico [Sat, 16 Dec 2006 02:10:05 +0000 (02:10 -0000)]
Cache KEYWORDS and EAPI metadata values in order to speed up portdbapi.gvisible() calls. This greatly improves repoman performance (help emerge a little too).
svn path=/main/trunk/; revision=5298
Zac Medico [Sat, 16 Dec 2006 02:04:19 +0000 (02:04 -0000)]
For bug #157897, show parent nodes in order to help the user decide about what action to take.
svn path=/main/trunk/; revision=5297
Zac Medico [Thu, 14 Dec 2006 20:42:33 +0000 (20:42 -0000)]
Cache blocked slots for better efficiency.
svn path=/main/trunk/; revision=5296
Zac Medico [Thu, 14 Dec 2006 07:21:12 +0000 (07:21 -0000)]
Make --columns blockers output more consistent when --quiet is not enabled.
svn path=/main/trunk/; revision=5294
Zac Medico [Thu, 14 Dec 2006 07:09:49 +0000 (07:09 -0000)]
Remove pointless unpacking of the parent node.
svn path=/main/trunk/; revision=5293
Zac Medico [Thu, 14 Dec 2006 07:03:24 +0000 (07:03 -0000)]
Remove redundant priority handling since that's always handled in select_dep() for nodes that have parents.
svn path=/main/trunk/; revision=5292
Zac Medico [Thu, 14 Dec 2006 04:30:13 +0000 (04:30 -0000)]
Fix the --onlydeps conditional logic in depgraph.create(). These aren't real nodes and shouldn't be added to the digraph, etc...
svn path=/main/trunk/; revision=5291
Zac Medico [Thu, 14 Dec 2006 01:57:22 +0000 (01:57 -0000)]
Use depgraph.pkg_node_map so simplify comparison against existing nodes at the beginning of depgraph.create().
svn path=/main/trunk/; revision=5290
Zac Medico [Thu, 14 Dec 2006 01:06:11 +0000 (01:06 -0000)]
Update the comment about depgraph.pkg_node_map since it now maps all nodes added to the graph.
svn path=/main/trunk/; revision=5289
Zac Medico [Thu, 14 Dec 2006 01:01:31 +0000 (01:01 -0000)]
Fix a typo from the previous commit.
svn path=/main/trunk/; revision=5288
Zac Medico [Thu, 14 Dec 2006 00:57:44 +0000 (00:57 -0000)]
For bug #157897, add slot collision handling in depgraph.create(), since create() is called from places other than select_dep().
svn path=/main/trunk/; revision=5287
Mike Frysinger [Wed, 13 Dec 2006 22:13:14 +0000 (22:13 -0000)]
handle --cols when displaying blockers
svn path=/main/trunk/; revision=5286
Zac Medico [Wed, 13 Dec 2006 21:50:19 +0000 (21:50 -0000)]
For bug #157897, handle the case of multiple versions within a single package slot have been pulled into the dependency graph. If possible, the package that has already been pulled in will be reused. Otherwise, an error message will advise the user to mask an unwanted version.
svn path=/main/trunk/; revision=5285
Zac Medico [Wed, 13 Dec 2006 10:50:03 +0000 (10:50 -0000)]
Remove redundant digraph.pkg_node_map node insertions. Once per digraph.create() call will cover all nodes.
svn path=/main/trunk/; revision=5283
Zac Medico [Wed, 13 Dec 2006 10:40:24 +0000 (10:40 -0000)]
Track slot atom to digraph node mappings as the depgraph is built. This mapping will be used to detect node collisions for bug #157897.
svn path=/main/trunk/; revision=5282
Zac Medico [Wed, 13 Dec 2006 01:19:19 +0000 (01:19 -0000)]
Move the biolerplate cpv_all() implementation from portdbapi to dbapi.
svn path=/main/trunk/; revision=5281
Zac Medico [Tue, 12 Dec 2006 22:25:20 +0000 (22:25 -0000)]
For bug #157897, ensure that only "merge" nodes are stored in digraph.pkg_node_map.
svn path=/main/trunk/; revision=5280
Zac Medico [Tue, 12 Dec 2006 11:59:42 +0000 (11:59 -0000)]
For bug #157897, only let depgraph.create() inject "merge" nodes into the final state dbapi.
svn path=/main/trunk/; revision=5279
Zac Medico [Tue, 12 Dec 2006 07:45:13 +0000 (07:45 -0000)]
For higher efficiency, call self.__int__() instead of int(self).
svn path=/main/trunk/; revision=5278
Zac Medico [Tue, 12 Dec 2006 02:22:14 +0000 (02:22 -0000)]
Optimize dep_check calls in depgraph.validate_blockers() by using a fakedbapi instance instead of the real pordbapi (minimizes available matches).
svn path=/main/trunk/; revision=5277
Zac Medico [Tue, 12 Dec 2006 01:47:23 +0000 (01:47 -0000)]
Store dependency metadata in depgraph.mydbapi so that it can be used in place of the portdb for optimized dep_check calls in depgraph.validate_blockers().
svn path=/main/trunk/; revision=5276
Zac Medico [Tue, 12 Dec 2006 01:19:49 +0000 (01:19 -0000)]
Centralize all of the vardb metadata mangling in FakeVartree.
svn path=/main/trunk/; revision=5275
Zac Medico [Mon, 11 Dec 2006 22:43:01 +0000 (22:43 -0000)]
All portage.fetch() to succeed even if FETCHCOMMAND and RESUMECOMMAND aren't defined.
svn path=/main/trunk/; revision=5274
Zac Medico [Mon, 11 Dec 2006 22:16:40 +0000 (22:16 -0000)]
Make the fetch phase bail out if FETCHCOMMAND or RESUMECOMMAND are missing. Thanks to Flameeyes for reporting.
svn path=/main/trunk/; revision=5273
Zac Medico [Mon, 11 Dec 2006 21:38:02 +0000 (21:38 -0000)]
For bug #157823, ignore blocker collisions between two packages that are already installed if no merge is currently scheduled for either of those package slots. These blockers will be handled as necessary the next time that a merge of either package is triggered.
svn path=/main/trunk/; revision=5272
Zac Medico [Mon, 11 Dec 2006 16:44:06 +0000 (16:44 -0000)]
For bug #157823, don't forget to split the USE.
svn path=/main/trunk/; revision=5270
Zac Medico [Mon, 11 Dec 2006 09:48:00 +0000 (09:48 -0000)]
Fix a typo from the previous commit.
svn path=/main/trunk/; revision=5269
Zac Medico [Mon, 11 Dec 2006 09:43:47 +0000 (09:43 -0000)]
When there are multiple packages occupying the same slot, only consider the one with the highest COUNTER. Thanks to leio for reporting.
svn path=/main/trunk/; revision=5268
Zac Medico [Mon, 11 Dec 2006 01:24:34 +0000 (01:24 -0000)]
Ensure that the root of the vdb exists before attempting to lock it. Thanks to Flameeyes for reporting.
svn path=/main/trunk/; revision=5267
Zac Medico [Sun, 10 Dec 2006 23:56:43 +0000 (23:56 -0000)]
Ignore blockers when "--buildpkgonly" is enabled.
svn path=/main/trunk/; revision=5266
Zac Medico [Sun, 10 Dec 2006 20:36:10 +0000 (20:36 -0000)]
Add an allow_blockers parameter to isvalidatom so that the behavior is optional. Thanks to Brian Harring for the suggestion.
svn path=/main/trunk/; revision=5264
Zac Medico [Sun, 10 Dec 2006 19:55:58 +0000 (19:55 -0000)]
For bug #157734, fix repoman isvalidatom() checks. Thanks to Brian Harring for the patch.
svn path=/main/trunk/; revision=5263
Zac Medico [Sun, 10 Dec 2006 19:41:18 +0000 (19:41 -0000)]
Don't collapse the tuple into a hash, since dict can use __eq__ to avoid problems with hash collisions. Thanks to Brian Harring for reporting.
svn path=/main/trunk/; revision=5262
Zac Medico [Sun, 10 Dec 2006 11:41:17 +0000 (11:41 -0000)]
To minimize memory consumption and maximize performance, use hash values for cache keys.
svn path=/main/trunk/; revision=5260
Zac Medico [Sun, 10 Dec 2006 10:59:50 +0000 (10:59 -0000)]
Make sure the SLOT comes from the vardb instead of the portdb (for multislot, etc..). Thanks to jakub for reporting.
svn path=/main/trunk/; revision=5256
Zac Medico [Sun, 10 Dec 2006 10:35:47 +0000 (10:35 -0000)]
For bug #128809, optimize dep_check calls and enable the blocker detection by default since the performance now seems acceptable.
svn path=/main/trunk/; revision=5255
Zac Medico [Sun, 10 Dec 2006 09:52:16 +0000 (09:52 -0000)]
Initialize the match cache in the bindbapi constructor.
svn path=/main/trunk/; revision=5254
Zac Medico [Sun, 10 Dec 2006 09:36:40 +0000 (09:36 -0000)]
Cache the results of fakedbapi.match() calls and clear the cache automatically when necessary.
svn path=/main/trunk/; revision=5253
Zac Medico [Sun, 10 Dec 2006 08:09:34 +0000 (08:09 -0000)]
Use dep_getcpv() inside dep_expand() for code sharing and caching.
svn path=/main/trunk/; revision=5252
Zac Medico [Sun, 10 Dec 2006 07:23:58 +0000 (07:23 -0000)]
Cache results of dep_getcpv() calls.
svn path=/main/trunk/; revision=5251
Zac Medico [Sun, 10 Dec 2006 07:09:46 +0000 (07:09 -0000)]
Cache the results of match_from_list() calls.
svn path=/main/trunk/; revision=5250
Zac Medico [Sun, 10 Dec 2006 06:35:24 +0000 (06:35 -0000)]
Avoid unnecessary dbapi.cp_list() calls inside cpv_expand().
svn path=/main/trunk/; revision=5249
Zac Medico [Sun, 10 Dec 2006 00:31:13 +0000 (00:31 -0000)]
For bug #128809, process blockers for all installed packages. Due to the performance penalty incurred by additional dep_check calls, this is only enabled with the --deep option.
svn path=/main/trunk/; revision=5248
Zac Medico [Sun, 10 Dec 2006 00:11:38 +0000 (00:11 -0000)]
Escape a newline from the previous commit.
svn path=/main/trunk/; revision=5247
Zac Medico [Sat, 9 Dec 2006 23:34:43 +0000 (23:34 -0000)]
Don't attempt to enforce merge order unless the blocker parent is actually a "merge" node.
svn path=/main/trunk/; revision=5246
Zac Medico [Sat, 9 Dec 2006 23:10:47 +0000 (23:10 -0000)]
This patch cleans up the blocker validation logic. Unlike the previous implementation, this one carefully considers each parent/block package relationship in order to ensure that no unresolved blocks slip through.
svn path=/main/trunk/; revision=5245
Zac Medico [Sat, 9 Dec 2006 20:45:48 +0000 (20:45 -0000)]
For bug #157369, clean when cleanup has been triggered by changed timestamps. Also, allow FEATURES=keepwork to override the ebuild mtime check.
svn path=/main/trunk/; revision=5244
Zac Medico [Sat, 9 Dec 2006 20:34:45 +0000 (20:34 -0000)]
Clean up depstring/atom splitting and filtering.
svn path=/main/trunk/; revision=5243
Zac Medico [Sat, 9 Dec 2006 20:22:03 +0000 (20:22 -0000)]
Add ? to the invalid atom characters.
svn path=/main/trunk/; revision=5242
Zac Medico [Sat, 9 Dec 2006 20:13:04 +0000 (20:13 -0000)]
Make isvalidatom() (and thus repoman) reject atoms containing |() characters. Thanks to Brian Harring for the suggestion.
svn path=/main/trunk/; revision=5241
Zac Medico [Sat, 9 Dec 2006 19:30:13 +0000 (19:30 -0000)]
Use portage.isvalidatom() for atom validation in repoman.
svn path=/main/trunk/; revision=5240
Zac Medico [Sat, 9 Dec 2006 19:19:16 +0000 (19:19 -0000)]
Add use.force support to dep_check for repoman especially. Thanks to Flameeyes for reporting and tesing.
svn path=/main/trunk/; revision=5239
Marius Mauch [Sat, 9 Dec 2006 16:00:11 +0000 (16:00 -0000)]
adjust QA_* variable names for complex values of like x86-fbsd
svn path=/main/trunk/; revision=5238
Zac Medico [Sat, 9 Dec 2006 08:05:59 +0000 (08:05 -0000)]
Fix a type from the previous commit.
svn path=/main/trunk/; revision=5237
Zac Medico [Sat, 9 Dec 2006 07:07:05 +0000 (07:07 -0000)]
Fix broken SLOT update logic in fakedbapi.cpv_inject().
svn path=/main/trunk/; revision=5236
Zac Medico [Sat, 9 Dec 2006 05:10:49 +0000 (05:10 -0000)]
Split some global updates functions out of depgraph and use them for depclean when necessary.
svn path=/main/trunk/; revision=5235
Zac Medico [Sat, 9 Dec 2006 03:23:14 +0000 (03:23 -0000)]
Use tuples for digraph nodes in order to avoid lots of pointless join and split calls.
svn path=/main/trunk/; revision=5234
Zac Medico [Sat, 9 Dec 2006 03:05:52 +0000 (03:05 -0000)]
Remove unused depgraph.match() method.
svn path=/main/trunk/; revision=5233
Zac Medico [Sat, 9 Dec 2006 01:08:28 +0000 (01:08 -0000)]
Move the reset of the per-root initializations into the loop.
svn path=/main/trunk/; revision=5232
Zac Medico [Sat, 9 Dec 2006 00:58:53 +0000 (00:58 -0000)]
Go ahead and populate depgraph.mydbapi even when --emptytree is enabled since it doesn't matter anymore (dep_check now returns all deps anyway).
svn path=/main/trunk/; revision=5231
Zac Medico [Sat, 9 Dec 2006 00:09:36 +0000 (00:09 -0000)]
Remove locking from dbapi.aux_update() implementations so that the caller can handle locking instead.
svn path=/main/trunk/; revision=5230
Zac Medico [Sat, 9 Dec 2006 00:02:35 +0000 (00:02 -0000)]
Clean up vardbapi.aux_get().
svn path=/main/trunk/; revision=5229
Zac Medico [Fri, 8 Dec 2006 22:52:45 +0000 (22:52 -0000)]
Remove all traces of FEATURES=cvs since code for that feature no longer exists (apparently since portage-2.1).
svn path=/main/trunk/; revision=5228
Zac Medico [Fri, 8 Dec 2006 18:34:56 +0000 (18:34 -0000)]
Indicate test failure with an exit code.
svn path=/main/trunk/; revision=5227
Zac Medico [Fri, 8 Dec 2006 06:33:48 +0000 (06:33 -0000)]
Break out of the loop if a CacheError occurs.
svn path=/main/trunk/; revision=5222
Zac Medico [Fri, 8 Dec 2006 06:32:34 +0000 (06:32 -0000)]
Delete the exception object after use.
svn path=/main/trunk/; revision=5221
Zac Medico [Fri, 8 Dec 2006 06:28:28 +0000 (06:28 -0000)]
For bug #157370, make `emerge --regen` cleanse stale cache entries.
svn path=/main/trunk/; revision=5220
Zac Medico [Fri, 8 Dec 2006 02:40:52 +0000 (02:40 -0000)]
Simplfy deprecated action parsing logic.
svn path=/main/trunk/; revision=5219
Zac Medico [Fri, 8 Dec 2006 02:32:07 +0000 (02:32 -0000)]
Avoid bogus 'Deprecated use of action' warnings for valid commands such as `emerge -s sync`.
svn path=/main/trunk/; revision=5218
Alec Warner [Fri, 8 Dec 2006 01:57:30 +0000 (01:57 -0000)]
add some portage_util tests
svn path=/main/trunk/; revision=5217
Marius Mauch [Fri, 8 Dec 2006 01:51:34 +0000 (01:51 -0000)]
Allow searching for action terms again
svn path=/main/trunk/; revision=5216
Alec Warner [Fri, 8 Dec 2006 01:36:15 +0000 (01:36 -0000)]
minor syntax changes ( in is faster than has_key ) and docstrings
svn path=/main/trunk/; revision=5215
Zac Medico [Fri, 8 Dec 2006 01:15:06 +0000 (01:15 -0000)]
Make all lock files hidden for bug #142369.
svn path=/main/trunk/; revision=5214
Alec Warner [Fri, 8 Dec 2006 00:12:41 +0000 (00:12 -0000)]
Add pretty basic vercmp unit testing...need more cases
svn path=/main/trunk/; revision=5213
Zac Medico [Thu, 7 Dec 2006 23:10:08 +0000 (23:10 -0000)]
s/zip/izip/ some more
svn path=/main/trunk/; revision=5212
Zac Medico [Thu, 7 Dec 2006 23:03:22 +0000 (23:03 -0000)]
s/zip/izip/ Thanks to Brian Harring for the suggestion.
svn path=/main/trunk/; revision=5211
Alec Warner [Thu, 7 Dec 2006 22:50:25 +0000 (22:50 -0000)]
A quick docstring for vercmp
svn path=/main/trunk/; revision=5210
Zac Medico [Thu, 7 Dec 2006 22:29:13 +0000 (22:29 -0000)]
Catch an exception instead of using a redundant os.access call.
svn path=/main/trunk/; revision=5209
Alec Warner [Thu, 7 Dec 2006 22:25:30 +0000 (22:25 -0000)]
portage_versions lacks a header or copyright notice :x
svn path=/main/trunk/; revision=5208
Zac Medico [Thu, 7 Dec 2006 22:23:57 +0000 (22:23 -0000)]
Enable FakeVartree to populate the virtuals so that the vdb doesn't have to be scanned separately.
svn path=/main/trunk/; revision=5207
Zac Medico [Thu, 7 Dec 2006 21:55:51 +0000 (21:55 -0000)]
Share the same config instance between portagetree and portdbapi instances since clone isn't needed here. Also, trigger population of virtuals prior to cloning in emerge. This reduces the number of times the virtuals are populated from 3 to just 1.
svn path=/main/trunk/; revision=5206
Zac Medico [Thu, 7 Dec 2006 21:00:21 +0000 (21:00 -0000)]
For bug #152127, make vercmp give less value to implcit .0, so two versions that aren't literally equal are not ambiguously given the same value (in sorting, for example).
svn path=/main/trunk/; revision=5205
Zac Medico [Thu, 7 Dec 2006 20:09:10 +0000 (20:09 -0000)]
Revert r5175 for bug #152127 since the original = behavior seems more desirable. We can change the >= and <= behavior instead.
svn path=/main/trunk/; revision=5204
Zac Medico [Thu, 7 Dec 2006 18:58:28 +0000 (18:58 -0000)]
Fix the 'TypeError: not all arguments converted during string formatting' for bug #157385.
svn path=/main/trunk/; revision=5203
Zac Medico [Thu, 7 Dec 2006 09:01:17 +0000 (09:01 -0000)]
Make sure the ebuild path is properly normalized.
svn path=/main/trunk/; revision=5202
Zac Medico [Thu, 7 Dec 2006 08:56:49 +0000 (08:56 -0000)]
For bug #157393, fix up ebuild path normalization so that it's compatible with portdbapi handling and works properly with symlinks (like crossdev creates).
svn path=/main/trunk/; revision=5201
Zac Medico [Thu, 7 Dec 2006 06:52:09 +0000 (06:52 -0000)]
Make repoman bail out if it's unable to generate the Manifest.
svn path=/main/trunk/; revision=5200
Zac Medico [Thu, 7 Dec 2006 06:38:03 +0000 (06:38 -0000)]
Fix broken SRC_URI logic in doebuild.
svn path=/main/trunk/; revision=5199
Zac Medico [Thu, 7 Dec 2006 06:27:40 +0000 (06:27 -0000)]
Fix broken SRC_URI logic from the previous commit.
svn path=/main/trunk/; revision=5198