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
Zac Medico [Thu, 7 Dec 2006 06:17:36 +0000 (06:17 -0000)]
For bug #157385, enable portage.digestgen() to fetch any distfiles for which there are no existing digests.
svn path=/main/trunk/; revision=5197
Zac Medico [Wed, 6 Dec 2006 23:12:19 +0000 (23:12 -0000)]
Fix indentation.
svn path=/main/trunk/; revision=5196
Zac Medico [Wed, 6 Dec 2006 23:10:52 +0000 (23:10 -0000)]
Remove all traces of the unmerge raise_on_missing parameter.
svn path=/main/trunk/; revision=5195
Zac Medico [Wed, 6 Dec 2006 23:07:51 +0000 (23:07 -0000)]
Always silently ingnore missing packages during unmerge.
svn path=/main/trunk/; revision=5194
Zac Medico [Wed, 6 Dec 2006 22:56:18 +0000 (22:56 -0000)]
Fix depclean so the fake vartree is used in dep_check calls.
svn path=/main/trunk/; revision=5193
Zac Medico [Wed, 6 Dec 2006 22:47:38 +0000 (22:47 -0000)]
Allow depclean to silently skip packages unmerged behind it's back.
svn path=/main/trunk/; revision=5192
Zac Medico [Wed, 6 Dec 2006 22:42:20 +0000 (22:42 -0000)]
Use FakeVartree for vardb lock/cache during depclean.
svn path=/main/trunk/; revision=5191
Zac Medico [Wed, 6 Dec 2006 22:19:20 +0000 (22:19 -0000)]
Delete the depgraph when it's no longer needed.
svn path=/main/trunk/; revision=5190
Zac Medico [Wed, 6 Dec 2006 22:12:34 +0000 (22:12 -0000)]
Use a fake vartree for depgraph calculations. This minimizes the time that a lock needs to be held on the vardb, and allows in-memory global updates when necessary.
svn path=/main/trunk/; revision=5189
Zac Medico [Wed, 6 Dec 2006 20:39:51 +0000 (20:39 -0000)]
Only call calc_changelog if there is an installed version in the same slot.
svn path=/main/trunk/; revision=5185
Zac Medico [Wed, 6 Dec 2006 20:32:42 +0000 (20:32 -0000)]
Remove dependence on the vartree api by using equivalent vardbapi calls.
svn path=/main/trunk/; revision=5184
Zac Medico [Wed, 6 Dec 2006 19:36:05 +0000 (19:36 -0000)]
Remove unused depgraph.is_newer_ver_installed() method.
svn path=/main/trunk/; revision=5180
Zac Medico [Wed, 6 Dec 2006 19:27:04 +0000 (19:27 -0000)]
Implement fakedbapi.aux_update().
svn path=/main/trunk/; revision=5178
Zac Medico [Wed, 6 Dec 2006 18:47:01 +0000 (18:47 -0000)]
Sync match_to_list >=, <=, etc.. code with the new = code.
svn path=/main/trunk/; revision=5176
Zac Medico [Wed, 6 Dec 2006 18:37:16 +0000 (18:37 -0000)]
Make match_to_list = behavior consistent with >= and <= for bug #152127.
svn path=/main/trunk/; revision=5175
Zac Medico [Mon, 4 Dec 2006 22:21:14 +0000 (22:21 -0000)]
Fix up mtimedb["ldpath"] references broken by the previous commit.
svn path=/main/trunk/; revision=5174
Zac Medico [Mon, 4 Dec 2006 21:49:17 +0000 (21:49 -0000)]
For bug #157134, make `emerge --digest` automatically reload the config with FEATURES=digest enabled globally.
svn path=/main/trunk/; revision=5173
Zac Medico [Mon, 4 Dec 2006 10:07:35 +0000 (10:07 -0000)]
Use portage.chdir() instead of os.chdir() in order to avoid an 'OSError: [Errno 2] No such file or directory' if the working directory doesn't exist. Thanks to Caster for reporting.
svn path=/main/trunk/; revision=5171
Zac Medico [Mon, 4 Dec 2006 01:55:29 +0000 (01:55 -0000)]
For `ebuild --force digest`, exempt the depend phase from Manifest checks.
svn path=/main/trunk/; revision=5169
Zac Medico [Mon, 4 Dec 2006 01:37:26 +0000 (01:37 -0000)]
Update the RESTRICT=binchecks docs. Thanks to jakub for the suggestion and antarus for the patch.
svn path=/main/trunk/; revision=5168
Zac Medico [Mon, 4 Dec 2006 01:19:22 +0000 (01:19 -0000)]
Make `repoman fix` work with the new ebuild Manifest checks during depend phase.
svn path=/main/trunk/; revision=5167
Zac Medico [Mon, 4 Dec 2006 00:47:00 +0000 (00:47 -0000)]
When portdbapi.aux_get() generates a KeyError in portage.getmaskingstatus(), handle it by reporting "corruption".
svn path=/main/trunk/; revision=5166
Mike Frysinger [Sun, 3 Dec 2006 19:17:06 +0000 (19:17 -0000)]
drop RESTRICT=stricter since every aspect it covers can be handled properly via other means
svn path=/main/trunk/; revision=5164