Zac Medico [Mon, 21 Sep 2009 16:57:17 +0000 (16:57 -0000)]
Fix dep_expand so that it doesn't use deprecated dep_getcpv() usage
(with missing category).
svn path=/main/trunk/; revision=14330
Zac Medico [Mon, 21 Sep 2009 16:25:27 +0000 (16:25 -0000)]
Fix infinite recursion in items and values methods.
svn path=/main/trunk/; revision=14329
Zac Medico [Mon, 21 Sep 2009 16:23:20 +0000 (16:23 -0000)]
Fix infinite recursion in items and values methods.
svn path=/main/trunk/; revision=14328
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 16:07:07 +0000 (16:07 -0000)]
Use dict.(keys|values|items)() instead of dict.(iterkeys|itervalues|iteritems)() for compatibility with Python 3.
(2to3-3.1 -f dict -nw ${FILES})
svn path=/main/trunk/; revision=14327
Zac Medico [Mon, 21 Sep 2009 15:44:51 +0000 (15:44 -0000)]
Fix case for 0 args in args unicode conversion.
svn path=/main/trunk/; revision=14326
Zac Medico [Mon, 21 Sep 2009 15:29:25 +0000 (15:29 -0000)]
Simplify match_to_list(). Thanks to Marat Radchenko <marat@slonopotamus.org>
for this patch from bug #276813.
svn path=/main/trunk/; revision=14325
Zac Medico [Mon, 21 Sep 2009 15:24:12 +0000 (15:24 -0000)]
Show deprecation warnings when dep_* legacy code is triggered.
svn path=/main/trunk/; revision=14324
Zac Medico [Mon, 21 Sep 2009 14:47:40 +0000 (14:47 -0000)]
Fix breakage in _unicode_encode() for non-string types.
svn path=/main/trunk/; revision=14323
Zac Medico [Mon, 21 Sep 2009 14:34:13 +0000 (14:34 -0000)]
Deprecate key_expand and portage.dbapi.porttree.portagetree.resolve_specific
which calls it.
svn path=/main/trunk/; revision=14322
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 14:15:49 +0000 (14:15 -0000)]
Support both Python 2 and 3 in portage._unicode_encode() and portage._unicode_decode().
Update decoding in some files.
svn path=/main/trunk/; revision=14321
Zac Medico [Mon, 21 Sep 2009 13:48:15 +0000 (13:48 -0000)]
Use dep_expand instead of key_expand in the blocker display, since it seems
like a better fit. Also, use str(atom) since we don't want to assume that
Atoms are string type (though they happen to be now). This assumption is
what caused the traceback in bug 285637, comment #5.
svn path=/main/trunk/; revision=14320
Zac Medico [Mon, 21 Sep 2009 13:16:12 +0000 (13:16 -0000)]
Make key_expand() always return Atom type.
svn path=/main/trunk/; revision=14319
Zac Medico [Mon, 21 Sep 2009 13:06:29 +0000 (13:06 -0000)]
Add deprecation warnings to vartree.exists_specific_cat(), getnode(), and
hasnode(). Use dbapi methods instead.
svn path=/main/trunk/; revision=14318
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 12:49:33 +0000 (12:49 -0000)]
Use range() instead of xrange() for compatibility with Python 3.
(2to3-3.1 -f xrange -nw ${FILES})
svn path=/main/trunk/; revision=14317
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 12:44:37 +0000 (12:44 -0000)]
Define basestring as str when Python 3 is used.
svn path=/main/trunk/; revision=14316
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 12:16:07 +0000 (12:16 -0000)]
Fix all remaining SyntaxErrors with Python 3.
svn path=/main/trunk/; revision=14315
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 11:49:13 +0000 (11:49 -0000)]
Use filter() and zip() instead of itertools.ifilter() and itertools.izip() for compatibility with Python 3.
(2to3-3.1 -f itertools -f itertools_imports -nw ${FILES})
svn path=/main/trunk/; revision=14314
Zac Medico [Mon, 21 Sep 2009 02:06:49 +0000 (02:06 -0000)]
Make Atom.__init__ call the base class constructor, though it doesn't seem
to matter.
svn path=/main/trunk/; revision=14313
Zac Medico [Mon, 21 Sep 2009 02:04:47 +0000 (02:04 -0000)]
When generating config.prevmaskdict, only call the Atom constructor when
necessary.
svn path=/main/trunk/; revision=14312
Zac Medico [Mon, 21 Sep 2009 01:54:01 +0000 (01:54 -0000)]
Fix AtomArg constructor calls to pass in Atom instances, so the constructor
never has to construct one.
svn path=/main/trunk/; revision=14311
Zac Medico [Mon, 21 Sep 2009 01:43:35 +0000 (01:43 -0000)]
Tread blockers as invalid.
svn path=/main/trunk/; revision=14310
Zac Medico [Mon, 21 Sep 2009 01:20:49 +0000 (01:20 -0000)]
Fix redundant Atom construtor call in _show_unsatisfied_dep().
svn path=/main/trunk/; revision=14309
Zac Medico [Sun, 20 Sep 2009 23:31:28 +0000 (23:31 -0000)]
Remove virtuals from the cache because they're unused since portage-2.1.6
and it won't hurt older portage.
svn path=/main/trunk/; revision=14308
Zac Medico [Sun, 20 Sep 2009 23:14:08 +0000 (23:14 -0000)]
Fix typos in http.client imports.
svn path=/main/trunk/; revision=14307
Zac Medico [Sun, 20 Sep 2009 23:01:21 +0000 (23:01 -0000)]
Fix typo from previous commit.
svn path=/main/trunk/; revision=14306
Zac Medico [Sun, 20 Sep 2009 22:59:04 +0000 (22:59 -0000)]
Fix depgraph._validate_blockers() so that it doesn't do prohibited Atom(Atom)
constructor calls.
svn path=/main/trunk/; revision=14305
Zac Medico [Sun, 20 Sep 2009 22:45:32 +0000 (22:45 -0000)]
Add fallback in ImportError for io.StringIO. This is needed for python-2.6
with USE=build since io imports threading which imports thread which is
unavailable.
svn path=/main/trunk/; revision=14304
Zac Medico [Sun, 20 Sep 2009 22:23:58 +0000 (22:23 -0000)]
Add support in ConsoleStyleFile.write() for unicode encoding when writing to
stdout/stderr in python-2.x.
svn path=/main/trunk/; revision=14303
Zac Medico [Sun, 20 Sep 2009 22:08:22 +0000 (22:08 -0000)]
Misc unicode fixes for repoman.
svn path=/main/trunk/; revision=14302
Zac Medico [Sun, 20 Sep 2009 20:00:57 +0000 (20:00 -0000)]
Use _unicode_encode() to ensure that only unicode strings are passed into
io.StringIO text streams.
svn path=/main/trunk/; revision=14301
Zac Medico [Sun, 20 Sep 2009 19:34:34 +0000 (19:34 -0000)]
Make Atom inherit from str. Thanks to Marat Radchenko
<marat@slonopotamus.org> for this patch from bug #276813.
svn path=/main/trunk/; revision=14300
Zac Medico [Sun, 20 Sep 2009 18:54:57 +0000 (18:54 -0000)]
Make _unicode_module_wrapper cache wrappers and reuse them. Thanks to
Marat Radchenko <marat@slonopotamus.org> for this patch from bug #276813.
svn path=/main/trunk/; revision=14299
Zac Medico [Sun, 20 Sep 2009 18:38:00 +0000 (18:38 -0000)]
In doebuild_environment(), detect if setcpv() hasn't been called properly,
and call it if necessary (mainly for api consumers).
svn path=/main/trunk/; revision=14298
Zac Medico [Sun, 20 Sep 2009 18:13:06 +0000 (18:13 -0000)]
Add back a line which I erroneously removed when committing the patch for
bug 203733. Thanks to Alexis Ballier <aballier@g.o> for reporting the related
KeyError.
svn path=/main/trunk/; revision=14297
Arfrever Frehtes Taifersar Arahesis [Sun, 20 Sep 2009 16:48:13 +0000 (16:48 -0000)]
Fix position of imports from __future__.
svn path=/main/trunk/; revision=14296
Arfrever Frehtes Taifersar Arahesis [Sun, 20 Sep 2009 16:41:30 +0000 (16:41 -0000)]
Support print() function with Python 2 in more files.
svn path=/main/trunk/; revision=14295
Arfrever Frehtes Taifersar Arahesis [Sun, 20 Sep 2009 16:22:08 +0000 (16:22 -0000)]
Update system imports for compatibility with Python 3.
svn path=/main/trunk/; revision=14294
Arfrever Frehtes Taifersar Arahesis [Sun, 20 Sep 2009 12:39:22 +0000 (12:39 -0000)]
Update syntax of numbers in some files which were missing in previous commit.
svn path=/main/trunk/; revision=14293
Arfrever Frehtes Taifersar Arahesis [Sun, 20 Sep 2009 11:47:45 +0000 (11:47 -0000)]
Update syntax of numbers for compatibility with Python 3.
(2to3-3.1 -f numliterals -nw ${FILES})
svn path=/main/trunk/; revision=14292
Arfrever Frehtes Taifersar Arahesis [Sun, 20 Sep 2009 11:28:14 +0000 (11:28 -0000)]
Support print() function with Python 2 in some files.
svn path=/main/trunk/; revision=14291
Arfrever Frehtes Taifersar Arahesis [Sun, 20 Sep 2009 11:08:30 +0000 (11:08 -0000)]
Update syntax of calls to print() for compatibility with Python 3.
(2to3-3.1 -f print -nw ${FILES})
svn path=/main/trunk/; revision=14290
Arfrever Frehtes Taifersar Arahesis [Sun, 20 Sep 2009 10:57:44 +0000 (10:57 -0000)]
Update syntax of 'except' statements for compatibility with Python 3.
(2to3-3.1 -f except -nw ${FILES})
svn path=/main/trunk/; revision=14289
Zac Medico [Sun, 20 Sep 2009 06:56:46 +0000 (06:56 -0000)]
Bug #285637 - Fix NameError exception triggered by InvalidAtom in
grabfile_package().
svn path=/main/trunk/; revision=14288
Zac Medico [Sat, 19 Sep 2009 23:05:24 +0000 (23:05 -0000)]
Add isinstance(mydep, Atom) checks to the dep_* functions since we don't use a
metaclass to do that anymore (due to performance).
svn path=/main/trunk/; revision=14286
Zac Medico [Sat, 19 Sep 2009 21:30:08 +0000 (21:30 -0000)]
Fix config.setinst() to add Atom instances to the provider lists instead of
plain str.
svn path=/main/trunk/; revision=14285
Zac Medico [Sat, 19 Sep 2009 20:14:25 +0000 (20:14 -0000)]
Revert accidental changes _unicode_module_wrapper.__getattribute__ from
previous commit.
svn path=/main/trunk/; revision=14284
Zac Medico [Sat, 19 Sep 2009 20:10:56 +0000 (20:10 -0000)]
Remove obsolete InvalidAtom handler in _add_pkg_dep_string().
svn path=/main/trunk/; revision=14283
Zac Medico [Sat, 19 Sep 2009 17:05:52 +0000 (17:05 -0000)]
Avoid lots of redundant Atom constructor calls. Thanks to Marat Radchenko
<marat@slonopotamus.org> for the initial patch from bug #276813.
svn path=/main/trunk/; revision=14282
Zac Medico [Sat, 19 Sep 2009 14:57:18 +0000 (14:57 -0000)]
Fix _expand_new_virtuals() to preserve USE deps in atoms for new-style
virtuals, and update the corresponding depgraph code.
svn path=/main/trunk/; revision=14281
Zac Medico [Sat, 19 Sep 2009 12:58:52 +0000 (12:58 -0000)]
Use a dict for Package.metadata, because it's faster. Thanks to Marat
Radchenko <marat@slonopotamus.org> for this patch from bug #276813.
svn path=/main/trunk/; revision=14280
Zac Medico [Fri, 18 Sep 2009 15:18:34 +0000 (15:18 -0000)]
Atom optimizations. Remove the metaclass and cache since it just slows it
down. Thanks to Marat Radchenko <marat@slonopotamus.org> for this patch.
svn path=/main/trunk/; revision=14279
Arfrever Frehtes Taifersar Arahesis [Tue, 15 Sep 2009 21:39:57 +0000 (21:39 -0000)]
Update documentation of inherit. Reported by Jeremy Olexa.
svn path=/main/trunk/; revision=14274
Zac Medico [Mon, 14 Sep 2009 13:44:53 +0000 (13:44 -0000)]
Fix broken virtual depth code from previous commit.
svn path=/main/trunk/; revision=14273
Zac Medico [Mon, 14 Sep 2009 13:35:01 +0000 (13:35 -0000)]
Add support in depgraph._add_pkg_dep_string() for adding indirect virtual
deps to the graph. This takes advantage of circular dependency avoidance
that's done by dep_zapdeps, while avoiding the dependency graph distortion
reported in bug #283795.
svn path=/main/trunk/; revision=14272
Zac Medico [Mon, 14 Sep 2009 12:51:31 +0000 (12:51 -0000)]
Make depgraph._select_atoms() return a dict, in order to separate selected
direct deps from indirect virtual deps.
svn path=/main/trunk/; revision=14271
Zac Medico [Mon, 14 Sep 2009 11:18:21 +0000 (11:18 -0000)]
When _expand_new_virtuals() is called by repoman, skip expansion of new-style
virtuals.
svn path=/main/trunk/; revision=14270
Zac Medico [Mon, 14 Sep 2009 11:05:16 +0000 (11:05 -0000)]
Reimplement the code from bug #283795 so that indirect deps are preserved
for later use. TODO: Write code to add selected indirect virtual deps to
the graph. This will take advantage of circular dependency avoidance that's
done by dep_zapdeps.
svn path=/main/trunk/; revision=14269
Zac Medico [Mon, 14 Sep 2009 08:24:30 +0000 (08:24 -0000)]
Simplify cpv_getkey() by just calling dep_getkey('=' + mycpv).
svn path=/main/trunk/; revision=14264
Zac Medico [Mon, 14 Sep 2009 08:11:22 +0000 (08:11 -0000)]
Make dep_getcpv() use Atom, and fall back to legacy code for backward compat.
svn path=/main/trunk/; revision=14262
Zac Medico [Mon, 14 Sep 2009 07:59:47 +0000 (07:59 -0000)]
Insice match_from_list(), use remove_slot() instead of dep_getcpv() where
appropriate.
svn path=/main/trunk/; revision=14261
Zac Medico [Mon, 14 Sep 2009 07:52:45 +0000 (07:52 -0000)]
Use a regular expression for cpv_getkey(), and fall back to legacy code if
no match is found.
svn path=/main/trunk/; revision=14259
Zac Medico [Mon, 14 Sep 2009 07:02:18 +0000 (07:02 -0000)]
Make get_operator() use Atom, and remove unnecessary reflection code from
dep_getkey(). Thanks to Marat Radchenko <marat@slonopotamus.org> for
suggestions.
svn path=/main/trunk/; revision=14256
Zac Medico [Mon, 14 Sep 2009 06:49:01 +0000 (06:49 -0000)]
Make isspecific() use the Atom class and fall back to legacy code if the
atom is invalid. Also, optimize called isjustname() legacy code to only
check the last 2 components.
svn path=/main/trunk/; revision=14255
Zac Medico [Mon, 14 Sep 2009 06:02:36 +0000 (06:02 -0000)]
Use the Atom class to implement dep_getkey(), and fall back to legacy code
when necessary for backward compatibility.
svn path=/main/trunk/; revision=14254
Zac Medico [Mon, 14 Sep 2009 05:54:39 +0000 (05:54 -0000)]
Add more test cases.
svn path=/main/trunk/; revision=14253
Zac Medico [Mon, 14 Sep 2009 05:51:28 +0000 (05:51 -0000)]
Simplify isvalidatom() to simply use the Atom class. Thanks to Marat
Radchenko <marat@slonopotamus.org> for the suggestion.
svn path=/main/trunk/; revision=14252
Zac Medico [Mon, 14 Sep 2009 05:46:21 +0000 (05:46 -0000)]
Simplify the _pkg regex and fix validation for some cases by using the
_version regex to match unwanted version-like components which can not
be at the end of a _pkg match. For example
isvalidatom('app-doc/php-docs-
20071125-r2') now correctly returns False.
svn path=/main/trunk/; revision=14251
Zac Medico [Mon, 14 Sep 2009 03:32:30 +0000 (03:32 -0000)]
Bug #240656 - Unmerge broken symlinks where a directory was expected.
(merged from branches/prefix r14248)
svn path=/main/trunk/; revision=14250
Zac Medico [Mon, 14 Sep 2009 02:45:33 +0000 (02:45 -0000)]
Simlify the Atom regex. Thanks to Marat Radchenko <marat@slonopotamus.org>
for this patch.
svn path=/main/trunk/; revision=14249
Zac Medico [Sun, 13 Sep 2009 00:07:50 +0000 (00:07 -0000)]
Use cpv_getkey() instead of dep_getkey() where appropriate.
svn path=/main/trunk/; revision=14242
Zac Medico [Sun, 13 Sep 2009 00:01:18 +0000 (00:01 -0000)]
Make the Atom constructor use regular expression match groups for
initialization. Thanks to Marat Radchenko <marat@slonopotamus.org> for this
patch.
svn path=/main/trunk/; revision=14241
Zac Medico [Sat, 12 Sep 2009 23:21:32 +0000 (23:21 -0000)]
Fix docs for isjustname() since it doesn't raise InvalidAtom now.
svn path=/main/trunk/; revision=14240
Zac Medico [Sat, 12 Sep 2009 23:18:56 +0000 (23:18 -0000)]
Add backward compatibility to isjustname(), so the tests don't fail.
svn path=/main/trunk/; revision=14239
Zac Medico [Sat, 12 Sep 2009 22:52:19 +0000 (22:52 -0000)]
Add tests for the Atom class.
svn path=/main/trunk/; revision=14238
Zac Medico [Sat, 12 Sep 2009 21:24:44 +0000 (21:24 -0000)]
Fix bug in _expand_new_virtuals() reported by Arfrever:
TypeError: coercing to Unicode: need string or buffer, Atom found
svn path=/main/trunk/; revision=14237
Zac Medico [Sat, 12 Sep 2009 18:10:03 +0000 (18:10 -0000)]
Use isjustname() where appropriate.
svn path=/main/trunk/; revision=14236
Zac Medico [Sat, 12 Sep 2009 17:51:44 +0000 (17:51 -0000)]
Fix isjustname docstring to have a valid atom in the example.
svn path=/main/trunk/; revision=14235
Zac Medico [Sat, 12 Sep 2009 17:47:58 +0000 (17:47 -0000)]
Reimplement isjustname() using the Atom class. Thanks to Marat Radchenko
<marat@slonopotamus.org> for the suggestion.
svn path=/main/trunk/; revision=14234
Zac Medico [Sat, 12 Sep 2009 17:26:32 +0000 (17:26 -0000)]
In config.getvirtuals(), save Atom instances in order to avoid revalidation.
Also, fix cpv_expand() to handle Atom instances from config.getvirtuals().
svn path=/main/trunk/; revision=14233
Zac Medico [Sat, 12 Sep 2009 16:29:23 +0000 (16:29 -0000)]
Make dbapi.move_ent() take advantage of Atom instances when validating
arguments.
svn path=/main/trunk/; revision=14232
Zac Medico [Sat, 12 Sep 2009 16:20:41 +0000 (16:20 -0000)]
Add missing InvalidAtom import.
svn path=/main/trunk/; revision=14231
Zac Medico [Sat, 12 Sep 2009 16:09:40 +0000 (16:09 -0000)]
Make parse_updates() and update_dbentry() use Atom instances.
svn path=/main/trunk/; revision=14230
Zac Medico [Sat, 12 Sep 2009 15:29:09 +0000 (15:29 -0000)]
Fix bad assumptions.
svn path=/main/trunk/; revision=14229
Zac Medico [Sat, 12 Sep 2009 15:17:08 +0000 (15:17 -0000)]
Fix poor assumptions.
svn path=/main/trunk/; revision=14228
Zac Medico [Sat, 12 Sep 2009 15:06:02 +0000 (15:06 -0000)]
Fix bugs and poor assumptions.
svn path=/main/trunk/; revision=14227
Zac Medico [Sat, 12 Sep 2009 14:43:27 +0000 (14:43 -0000)]
Update grabdict_package and grabfile_package calling code to take advantage
of Atom instances, and convert *atom from 'packages' to a normal Atom instance
when it's stored in prevmaskdict.
svn path=/main/trunk/; revision=14226
Zac Medico [Sat, 12 Sep 2009 14:37:45 +0000 (14:37 -0000)]
Make grabfile_package() accept *atom only for files named 'packages' since
they are not valid in any other files.
svn path=/main/trunk/; revision=14225
Zac Medico [Sat, 12 Sep 2009 13:13:05 +0000 (13:13 -0000)]
Make grabdict_package() and grabfile_package() return Atom instances when
possible, in order to avoid revalidation.
svn path=/main/trunk/; revision=14224
Zac Medico [Sat, 12 Sep 2009 13:10:59 +0000 (13:10 -0000)]
Implement Atom.__copy__ and __deepcopy__ to return self, since instances are
immutable.
svn path=/main/trunk/; revision=14223
Zac Medico [Sat, 12 Sep 2009 01:36:28 +0000 (01:36 -0000)]
Bug #257660 - Handle directories that are unlisted in Entries, which is normal
when checked out without -P. Thanks to Christian Ruppert <idl0r@gentoo.org>
for this patch.
svn path=/main/trunk/; revision=14222
Zac Medico [Tue, 8 Sep 2009 18:38:59 +0000 (18:38 -0000)]
Add test cases for operators with missing version component.
svn path=/main/trunk/; revision=14221
Zac Medico [Tue, 8 Sep 2009 18:15:38 +0000 (18:15 -0000)]
Add test case for * operator with missing =.
svn path=/main/trunk/; revision=14220
Zac Medico [Tue, 8 Sep 2009 18:11:53 +0000 (18:11 -0000)]
simplify atom regex (winning even more performance) and turns it in verbose
mode with comments. Added more corner case tests. Thanks to Marat Radchenko
<marat@slonopotamus.org> for this patch from bug #276813.
svn path=/main/trunk/; revision=14219
Zac Medico [Tue, 8 Sep 2009 09:11:35 +0000 (09:11 -0000)]
Fix false positives in gcc QA with debug mode some more. Thanks again to
Amit Dor-Shifer <amitds@oversi.com> for reporting.
svn path=/main/trunk/; revision=14218
Zac Medico [Tue, 8 Sep 2009 08:10:10 +0000 (08:10 -0000)]
Reimplement isspecific() using a single regular expression match. Thanks to
Marat Radchenko <marat@slonopotamus.org> for this patch.
svn path=/main/trunk/; revision=14217
Zac Medico [Tue, 8 Sep 2009 08:07:03 +0000 (08:07 -0000)]
Fix isvalidatom() to check the 'must not end in' clause from PMS 2.1.2.
Thanks to Marat Radchenko <marat@slonopotamus.org> for this patch.
svn path=/main/trunk/; revision=14216
Zac Medico [Tue, 8 Sep 2009 01:51:26 +0000 (01:51 -0000)]
Fix code from previous commit so it's guaranteed to always properly reset
debug state.
svn path=/main/trunk/; revision=14215
Zac Medico [Tue, 8 Sep 2009 01:44:24 +0000 (01:44 -0000)]
In debug mode, avoid showing gcc QA search strings in the trace, so they won't
trigger false positives. Thanks to Amit Dor-Shifer <amitds@oversi.com> for
reporting.
svn path=/main/trunk/; revision=14214
Zac Medico [Mon, 7 Sep 2009 22:39:21 +0000 (22:39 -0000)]
Reimplement isvalidatom() to use a single regular expression match. Thanks
to Marat Radchenko <marat@slonopotamus.org> for this patch from bug #276813.
svn path=/main/trunk/; revision=14213
Zac Medico [Mon, 7 Sep 2009 04:23:26 +0000 (04:23 -0000)]
Bug #283795 - Make dep_check() filter out expanded indirect virual deps after
they are no longer needed, in order to avoid distortion of the depgraph.
svn path=/main/trunk/; revision=14212