Zac Medico [Wed, 20 Dec 2006 23:09:09 +0000 (23:09 -0000)]
For bug #158558, ignore invalid depstrings for packages that are being replaced anyway (otherwise the user would be forced to manually unmerge the package).
svn path=/main/trunk/; revision=5339
Zac Medico [Wed, 20 Dec 2006 22:09:59 +0000 (22:09 -0000)]
More intelligently handle CacheCorruption errors in the writable cache.
svn path=/main/trunk/; revision=5338
Zac Medico [Wed, 20 Dec 2006 21:19:42 +0000 (21:19 -0000)]
For bug #158649, minimize portdb cache pulls for installed packages when --nodeps is enabled. This patch also allows the vardb lock to be released before doing any cache pulls (even when --nodeps is not enabled), and updates the spinner while the metadata is being pulled.
svn path=/main/trunk/; revision=5337
Zac Medico [Wed, 20 Dec 2006 19:29:17 +0000 (19:29 -0000)]
Fix broken exception handling syntax causing strange exception reported in bug #158608. Thanks to grobian for help troubleshooting.
svn path=/main/trunk/; revision=5335
Zac Medico [Wed, 20 Dec 2006 04:09:31 +0000 (04:09 -0000)]
Fix the invalid dependency message so there's no confusion about which package has the problem.
svn path=/main/trunk/; revision=5333
Zac Medico [Wed, 20 Dec 2006 04:01:26 +0000 (04:01 -0000)]
Give the user some advice whenever an invalid dependency string is encountered.
svn path=/main/trunk/; revision=5332
Zac Medico [Wed, 20 Dec 2006 02:22:22 +0000 (02:22 -0000)]
Add missing newlines to the warning message that's printed when the user has distlocks enabled together with skiprocheck and the filesystem is readonly.
svn path=/main/trunk/; revision=5331
Zac Medico [Wed, 20 Dec 2006 02:17:02 +0000 (02:17 -0000)]
For bug #158608, don't attempt to use distlocks when it's detected that the filesystem is readonly (unless "skiprocheck" is in FEATURES for some strange reason).
svn path=/main/trunk/; revision=5330
Zac Medico [Wed, 20 Dec 2006 00:49:16 +0000 (00:49 -0000)]
Fix an import statement typo.
svn path=/main/trunk/; revision=5329
Zac Medico [Tue, 19 Dec 2006 23:30:14 +0000 (23:30 -0000)]
For bug #158558, make the unmerge phase do automatic cleanup for broken vardbapi.move_ent() in portage versions before 2.1.2.
svn path=/main/trunk/; revision=5328
Zac Medico [Tue, 19 Dec 2006 22:48:18 +0000 (22:48 -0000)]
For bug #158558, fix broken ebuild rename logic in vardbapi.move_ent().
svn path=/main/trunk/; revision=5327
Zac Medico [Tue, 19 Dec 2006 22:26:40 +0000 (22:26 -0000)]
Make binarytree.move_ent() properly update PF.
svn path=/main/trunk/; revision=5326
Marius Mauch [Tue, 19 Dec 2006 14:56:17 +0000 (14:56 -0000)]
New elog modules for dismerging messages into a single file/mail
svn path=/main/trunk/; revision=5325
Zac Medico [Tue, 19 Dec 2006 08:12:57 +0000 (08:12 -0000)]
Use a separate digraph to store parent/child relationships (PDEPEND relationships are not reversed) so that relationship is always known in case a slot collision occurs.
svn path=/main/trunk/; revision=5324
Zac Medico [Tue, 19 Dec 2006 07:16:32 +0000 (07:16 -0000)]
Increase cache hits in portdbapi.xmatch().
svn path=/main/trunk/; revision=5323
Zac Medico [Tue, 19 Dec 2006 03:11:17 +0000 (03:11 -0000)]
For bug #158508, make --fetchonly display a list of packages for which the fetch phase failed.
svn path=/main/trunk/; revision=5322
Zac Medico [Tue, 19 Dec 2006 00:10:21 +0000 (00:10 -0000)]
For bug #158503, allow --nodeps to override blockers.
svn path=/main/trunk/; revision=5321
Zac Medico [Mon, 18 Dec 2006 06:22:40 +0000 (06:22 -0000)]
For bug #158354, make "No" the default response for unmerge actions.
svn path=/main/trunk/; revision=5318
Zac Medico [Mon, 18 Dec 2006 05:46:04 +0000 (05:46 -0000)]
Just start with an empty dict in dep_check_trees since nothing more is needed.
svn path=/main/trunk/; revision=5317
Zac Medico [Mon, 18 Dec 2006 03:47:31 +0000 (03:47 -0000)]
Catch PortageException from portdbapi.aux_get since it can happen when gpg is in FEATURES.
svn path=/main/trunk/; revision=5316
Zac Medico [Mon, 18 Dec 2006 03:31:29 +0000 (03:31 -0000)]
Make portdbapi cache SLOT in addition to EAPI and KEYWORDS in order to further optimize dep matching/selection.
svn path=/main/trunk/; revision=5315
Zac Medico [Mon, 18 Dec 2006 01:14:34 +0000 (01:14 -0000)]
Disable the spinner when --debug is enabled so that it doesn't interfere.
svn path=/main/trunk/; revision=5314
Zac Medico [Mon, 18 Dec 2006 00:57:20 +0000 (00:57 -0000)]
Make depclean skip empty depstrings.
svn path=/main/trunk/; revision=5313
Zac Medico [Mon, 18 Dec 2006 00:38:26 +0000 (00:38 -0000)]
Do some minor cleanup of the --depclean code.
svn path=/main/trunk/; revision=5312
Zac Medico [Sun, 17 Dec 2006 20:41:49 +0000 (20:41 -0000)]
Add --debug support for --depclean.
svn path=/main/trunk/; revision=5311
Zac Medico [Sun, 17 Dec 2006 20:32:00 +0000 (20:32 -0000)]
Add a comment about the previous commit.
svn path=/main/trunk/; revision=5310
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