Zac Medico [Sat, 23 Dec 2006 00:21:15 +0000 (00:21 -0000)]
Make metadata_overlay use the autocommits attribute of the underlying database.
svn path=/main/trunk/; revision=5357
Zac Medico [Sat, 23 Dec 2006 00:11:27 +0000 (00:11 -0000)]
Pass a cache instance into metadata_overlay since it doesn't have enough information to construct one itself.
svn path=/main/trunk/; revision=5356
Zac Medico [Fri, 22 Dec 2006 23:27:28 +0000 (23:27 -0000)]
Add volatile cache module missing from the previous commit.
svn path=/main/trunk/; revision=5355
Zac Medico [Fri, 22 Dec 2006 23:26:48 +0000 (23:26 -0000)]
When an unprivileged user runs portage (not in the portage group), use metadata_overlay together with a volatile in-memory cache module in order to implement cache writes. This allows, for example, a user who's not in the portage group to run `ebuild foo.ebuild digest` (issue reported by Charlie Shepherd <masterdriverz@gentoo.org>).
svn path=/main/trunk/; revision=5354
Alec Warner [Fri, 22 Dec 2006 22:55:33 +0000 (22:55 -0000)]
Remove two old functions, appear to be relics from 2.0.X branch, no longer used by portage or gentoolkit or esearch
svn path=/main/trunk/; revision=5353
Alec Warner [Fri, 22 Dec 2006 22:29:42 +0000 (22:29 -0000)]
I hate docstrings
svn path=/main/trunk/; revision=5351
Zac Medico [Fri, 22 Dec 2006 22:22:37 +0000 (22:22 -0000)]
Use a pipe instead of a temp file for the depend phase.
svn path=/main/trunk/; revision=5350
Zac Medico [Fri, 22 Dec 2006 10:02:35 +0000 (10:02 -0000)]
Revert the default choice for --ask --unmerge (bug #158354) because people are complaining.
svn path=/main/trunk/; revision=5349
Zac Medico [Fri, 22 Dec 2006 01:19:19 +0000 (01:19 -0000)]
For bug #158649, allow --buildpkgonly to bypass the fakedb population like --nodeps does.
svn path=/main/trunk/; revision=5348
Zac Medico [Fri, 22 Dec 2006 00:53:31 +0000 (00:53 -0000)]
Fix the "help" phase so that it works without build dirs.
svn path=/main/trunk/; revision=5347
Zac Medico [Thu, 21 Dec 2006 08:09:20 +0000 (08:09 -0000)]
Make emerge enable backward compatibility mode for dep_check() calls on installed packages so that it can gracefully invalid atoms or dep syntax.
svn path=/main/trunk/; revision=5346
Zac Medico [Thu, 21 Dec 2006 07:44:30 +0000 (07:44 -0000)]
Create a backward compatibility mode for dep_check() so that emerge can use it to gracefully deal with installed packages that have invalid atoms or dep syntax.
svn path=/main/trunk/; revision=5345
Zac Medico [Thu, 21 Dec 2006 02:45:02 +0000 (02:45 -0000)]
Use the return value from setdefault to avoid an extra dict lookup.
svn path=/main/trunk/; revision=5344
Zac Medico [Thu, 21 Dec 2006 02:36:26 +0000 (02:36 -0000)]
For bug #158658, fix the 'TypeError: int argument required' that happens in the finalize() routine.
svn path=/main/trunk/; revision=5343
Zac Medico [Thu, 21 Dec 2006 01:54:42 +0000 (01:54 -0000)]
For bug #158632, make aux_get caching safe for missing values in cache entries.
svn path=/main/trunk/; revision=5342
Zac Medico [Thu, 21 Dec 2006 01:11:44 +0000 (01:11 -0000)]
For installed packages with invalid depstrings, tell the user the location of the *DEPEND files.
svn path=/main/trunk/; revision=5341
Zac Medico [Thu, 21 Dec 2006 00:32:10 +0000 (00:32 -0000)]
When a removal phase fails, tell the user where the ebuild is and advise them that the ebuild can be removed in order to skip the removal phases.
svn path=/main/trunk/; revision=5340
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