Zac Medico [Sun, 27 Sep 2009 21:55:41 +0000 (21:55 -0000)]
Make _test_pty_eof() call process.spawn() instead of os.fork().
svn path=/main/trunk/; revision=14454
Zac Medico [Sun, 27 Sep 2009 21:07:38 +0000 (21:07 -0000)]
Try to avoid blocking on Darwin in _test_pty_eof() by using slave_fd directly
instead of fdopen.
svn path=/main/trunk/; revision=14453
Zac Medico [Sun, 27 Sep 2009 21:01:49 +0000 (21:01 -0000)]
In _test_pty_eof(), call waitpid on the child process only after reading all
the data from the pty.
svn path=/main/trunk/; revision=14452
Zac Medico [Sun, 27 Sep 2009 20:12:29 +0000 (20:12 -0000)]
Make _test_pty_eof() fork when writing to the slave_fd, since otherwise
it would block on some platforms such as Darwin.
svn path=/main/trunk/; revision=14451
Arfrever Frehtes Taifersar Arahesis [Sun, 27 Sep 2009 19:47:13 +0000 (19:47 -0000)]
Fix TypeError in clear_screen() in dispatch-conf which occurs when Python 3 is used (bug #286682).
svn path=/main/trunk/; revision=14450
Zac Medico [Sun, 27 Sep 2009 19:45:09 +0000 (19:45 -0000)]
Make _test_pty_eof() use non-blocking IO, required for Darwin kernel.
svn path=/main/trunk/; revision=14449
Zac Medico [Sun, 27 Sep 2009 19:07:57 +0000 (19:07 -0000)]
Use catsplit() instead of a regex to generate dbapi._categories. Thanks to
Marat Radchenko <marat@slonopotamus.org> for this patch.
svn path=/main/trunk/; revision=14448
Zac Medico [Sun, 27 Sep 2009 18:30:44 +0000 (18:30 -0000)]
Fix binTestsInit() to use correct values for PORTAGE_BIN_PATH and
PORTAGE_PYM_PATH.
svn path=/main/trunk/; revision=14447
Zac Medico [Sun, 27 Sep 2009 18:23:32 +0000 (18:23 -0000)]
Use explicit imports instead of *.
svn path=/main/trunk/; revision=14446
Zac Medico [Sun, 27 Sep 2009 18:01:30 +0000 (18:01 -0000)]
Use mkdtemp() instead of hardcoded pym/portage/tests/bin/root directory.
svn path=/main/trunk/; revision=14445
Zac Medico [Sat, 26 Sep 2009 23:37:34 +0000 (23:37 -0000)]
Bug #286522 - Check all portdbapi.findname return values in case it
returns None, and raise 'ebuild not found' exceptions when necessary.
svn path=/main/trunk/; revision=14442
Zac Medico [Sat, 26 Sep 2009 07:32:58 +0000 (07:32 -0000)]
Bug #286475 - Fix KeyValuePairFileLoader.lineParser() so it doesn't raise
AttributeError when a key/value is redefined.
svn path=/main/trunk/; revision=14435
Zac Medico [Sat, 26 Sep 2009 00:01:19 +0000 (00:01 -0000)]
Revert r14430 and fix to do as intended. Thanks to Arfrever for reporting.
svn path=/main/trunk/; revision=14433
Zac Medico [Fri, 25 Sep 2009 21:24:41 +0000 (21:24 -0000)]
Bug #285767 - Add support to to identify and eliminate redundant package
selections when multiple atoms happen to specify a version range.
svn path=/main/trunk/; revision=14432
Zac Medico [Fri, 25 Sep 2009 18:34:15 +0000 (18:34 -0000)]
Fix UnboundLocalError triggered by atom without category for nonexistent
package. Thanks to Jeremy Olexa <darkside@gentoo.org> for reporting.
svn path=/main/trunk/; revision=14431
Zac Medico [Fri, 25 Sep 2009 18:04:22 +0000 (18:04 -0000)]
Make sure self._allowed_keys are sorted in the table create statement. They
already are sorted, but do it explicitly here for clarity.
svn path=/main/trunk/; revision=14430
Arfrever Frehtes Taifersar Arahesis [Fri, 25 Sep 2009 07:08:24 +0000 (07:08 -0000)]
Fix formatting of sizes with Python 3.
svn path=/main/trunk/; revision=14429
Zac Medico [Fri, 25 Sep 2009 07:00:41 +0000 (07:00 -0000)]
Remove ugly code from __len__, since defining __bool__ fixes the same
issue.
svn path=/main/trunk/; revision=14428
Arfrever Frehtes Taifersar Arahesis [Fri, 25 Sep 2009 06:34:34 +0000 (06:34 -0000)]
Define __bool__() for compatibility with Python 3.
svn path=/main/trunk/; revision=14427
Arfrever Frehtes Taifersar Arahesis [Fri, 25 Sep 2009 06:18:25 +0000 (06:18 -0000)]
Use imp.reload() instead of reload() for compatibility with Python 3.
svn path=/main/trunk/; revision=14426
Zac Medico [Fri, 25 Sep 2009 06:04:00 +0000 (06:04 -0000)]
Remove unused imports.
svn path=/main/trunk/; revision=14425
Zac Medico [Fri, 25 Sep 2009 06:01:56 +0000 (06:01 -0000)]
Fix length calculation so it doesn't assume the length of the encoded
string is the same as the unicode string.
svn path=/main/trunk/; revision=14424
Zac Medico [Fri, 25 Sep 2009 05:58:16 +0000 (05:58 -0000)]
Add a test case for this issue: bugs.python.org/issue5334
svn path=/main/trunk/; revision=14423
Arfrever Frehtes Taifersar Arahesis [Fri, 25 Sep 2009 05:56:25 +0000 (05:56 -0000)]
Use 'in' instead of has_key() in portage.glsa.Glsa.parse() when Python 3 is used.
svn path=/main/trunk/; revision=14422
Arfrever Frehtes Taifersar Arahesis [Fri, 25 Sep 2009 05:29:02 +0000 (05:29 -0000)]
Use list comprehensions instead of filter() or map() in some places for compatibility with Python 3.
svn path=/main/trunk/; revision=14421
Zac Medico [Fri, 25 Sep 2009 05:04:21 +0000 (05:04 -0000)]
Fix more.
svn path=/main/trunk/; revision=14420
Zac Medico [Fri, 25 Sep 2009 05:03:13 +0000 (05:03 -0000)]
Fix ValueError in digestcheck(), reported by Arfrever.
svn path=/main/trunk/; revision=14419
Zac Medico [Fri, 25 Sep 2009 03:29:54 +0000 (03:29 -0000)]
Remove unnecessary dict.has_key() call (fix for python 3).
svn path=/main/trunk/; revision=14418
Zac Medico [Thu, 24 Sep 2009 22:47:09 +0000 (22:47 -0000)]
Show an appropriate error message in _create_pty_or_pipe() if openpty()
fails inside _test_pty_eof().
svn path=/main/trunk/; revision=14417
Zac Medico [Thu, 24 Sep 2009 22:15:48 +0000 (22:15 -0000)]
Fix regression in _getitem() from r14398, since myf.read().split("\n")
yields an empty string at the end which is causes _parse_data() to
catch a ValueError and raise CacheCorruption.
svn path=/main/trunk/; revision=14416
Zac Medico [Thu, 24 Sep 2009 21:50:10 +0000 (21:50 -0000)]
Add a test case for bugs.python.org/issue5380 and mark it as 'todo'
since it fails with current versions of python 3.
svn path=/main/trunk/; revision=14415
Zac Medico [Thu, 24 Sep 2009 21:48:07 +0000 (21:48 -0000)]
Make _test_pty_eof() return None if openpty() fails.
svn path=/main/trunk/; revision=14414
Zac Medico [Thu, 24 Sep 2009 21:32:30 +0000 (21:32 -0000)]
Use a runtime check to see if bugs.python.org/issue5380 is fixed.
svn path=/main/trunk/; revision=14413
Zac Medico [Thu, 24 Sep 2009 20:43:14 +0000 (20:43 -0000)]
Use dict.__iter__ instead of keys(), since it behaves identically in python
2 and 3.
svn path=/main/trunk/; revision=14412
Zac Medico [Thu, 24 Sep 2009 06:46:37 +0000 (06:46 -0000)]
Fix previous commit.
svn path=/main/trunk/; revision=14402
Zac Medico [Thu, 24 Sep 2009 06:45:18 +0000 (06:45 -0000)]
Warn if cpv_getkey() is given invalid input that triggers legacy code.
svn path=/main/trunk/; revision=14401
Zac Medico [Thu, 24 Sep 2009 06:36:47 +0000 (06:36 -0000)]
Avoid unicode errors in python 3. Thanks to Arfrever for reporting.
svn path=/main/trunk/; revision=14400
Zac Medico [Thu, 24 Sep 2009 06:03:58 +0000 (06:03 -0000)]
Decode directory names where appropriate in digestcheck(). Thanks to
Arfrever for reporting.
svn path=/main/trunk/; revision=14399
Zac Medico [Thu, 24 Sep 2009 05:48:33 +0000 (05:48 -0000)]
Misc performance enhancements. Thanks to Marat Radchenko
<marat@slonopotamus.org> for this patch from bug #276813.
svn path=/main/trunk/; revision=14398
Zac Medico [Thu, 24 Sep 2009 05:35:08 +0000 (05:35 -0000)]
Fix test case for recent changes.
svn path=/main/trunk/; revision=14397
Zac Medico [Wed, 23 Sep 2009 20:01:52 +0000 (20:01 -0000)]
Bug #286118 - Fix dbapi.move_ent() methods so they don't assume Atom instances
can be concatenated with strings (even though they can now, it's not really
a good assumption).
svn path=/main/trunk/; revision=14396
Arfrever Frehtes Taifersar Arahesis [Wed, 23 Sep 2009 17:48:34 +0000 (17:48 -0000)]
Fix "TypeError: object of type 'filter' has no len()".
svn path=/main/trunk/; revision=14395
Arfrever Frehtes Taifersar Arahesis [Wed, 23 Sep 2009 14:04:48 +0000 (14:04 -0000)]
Fix formatting of size of downloads with Python 3.
svn path=/main/trunk/; revision=14394
Zac Medico [Wed, 23 Sep 2009 06:44:54 +0000 (06:44 -0000)]
Bug #285979 - Replace references to CDEPEND with UNUSED_00, to make it clear
that this key really is unused.
svn path=/main/trunk/; revision=14393
Zac Medico [Wed, 23 Sep 2009 06:35:55 +0000 (06:35 -0000)]
Optimize vardbapi.getpath(). Thanks to Marat Radchenko
<marat@slonopotamus.org> for this patch.
svn path=/main/trunk/; revision=14392
Zac Medico [Tue, 22 Sep 2009 22:30:49 +0000 (22:30 -0000)]
Optimize SlotDict.iteritems() a little.
svn path=/main/trunk/; revision=14391
Zac Medico [Tue, 22 Sep 2009 22:29:32 +0000 (22:29 -0000)]
Make SlotDict use call self.iteritems() where appropriate since it implements
that method even when running in python 3.x.
svn path=/main/trunk/; revision=14390
Zac Medico [Tue, 22 Sep 2009 22:00:42 +0000 (22:00 -0000)]
Fix stack_dicts() to always return a dict.
svn path=/main/trunk/; revision=14389
Zac Medico [Tue, 22 Sep 2009 21:59:19 +0000 (21:59 -0000)]
Don't pass the ignore_none parameter to stack_dicts() since it does nothing
now.
svn path=/main/trunk/; revision=14388
Zac Medico [Tue, 22 Sep 2009 21:58:38 +0000 (21:58 -0000)]
Clean up stack_dicts() a little.
svn path=/main/trunk/; revision=14387
Zac Medico [Tue, 22 Sep 2009 21:42:07 +0000 (21:42 -0000)]
Disable the ignore_none parameter for stack_dicts() since having it return
None instead of a dict sometimes is hazardous.
svn path=/main/trunk/; revision=14386
Zac Medico [Tue, 22 Sep 2009 21:37:53 +0000 (21:37 -0000)]
Replace dict.keys() usage with __iter__(), since it behaves identically in
both python 2.x and 3.x.
svn path=/main/trunk/; revision=14385
Zac Medico [Tue, 22 Sep 2009 21:26:20 +0000 (21:26 -0000)]
Replace dict.keys() usage with __iter__(), since it behaves identically in
both python 2.x and 3.x.
svn path=/main/trunk/; revision=14384
Zac Medico [Tue, 22 Sep 2009 20:47:11 +0000 (20:47 -0000)]
Remove code that's been commented out.
svn path=/main/trunk/; revision=14383
Zac Medico [Tue, 22 Sep 2009 20:43:34 +0000 (20:43 -0000)]
Replace dict.keys() usage with __iter__(), since it behaves identically in
both python 2.x and 3.x.
svn path=/main/trunk/; revision=14382
Zac Medico [Tue, 22 Sep 2009 20:33:01 +0000 (20:33 -0000)]
Fix for python 3.x compatibility.
svn path=/main/trunk/; revision=14381
Zac Medico [Tue, 22 Sep 2009 20:18:45 +0000 (20:18 -0000)]
Replace dict.keys() usage with __iter__(), since it behaves identically in
both python 2.x and 3.x.
svn path=/main/trunk/; revision=14380
Zac Medico [Tue, 22 Sep 2009 20:03:10 +0000 (20:03 -0000)]
Replace doct.keys() usage with __iter__(), since it behaves identically in
both python 2.x and 3.x.
svn path=/main/trunk/; revision=14379
Zac Medico [Tue, 22 Sep 2009 19:48:26 +0000 (19:48 -0000)]
Do manual unicode handling (instead of using the wrapped os module) in
portdbapi.findname2(), since it's a hotspot. Thanks to Marat Radchenko
<marat@slonopotamus.org> for the initial patch.
svn path=/main/trunk/; revision=14378
Zac Medico [Tue, 22 Sep 2009 18:54:27 +0000 (18:54 -0000)]
For python 3.x with boolean target, len() results in TypeError, so
make __len__ return 0 or 1 in this case.
svn path=/main/trunk/; revision=14377
Zac Medico [Tue, 22 Sep 2009 18:37:31 +0000 (18:37 -0000)]
Optimize unicode wrappers. Thanks to Marat Radchenko <marat@slonopotamus.org>
for this patch from bug #276813.
svn path=/main/trunk/; revision=14376
Zac Medico [Tue, 22 Sep 2009 03:57:58 +0000 (03:57 -0000)]
Fix another potential 'RuntimeError: dictionary changed size during iteration'
exception in _owners_db._populate() for py3k.
svn path=/main/trunk/; revision=14375
Zac Medico [Tue, 22 Sep 2009 03:51:12 +0000 (03:51 -0000)]
Fix 'iteritems' attribute detection to look for 'items' instead.
svn path=/main/trunk/; revision=14374
Zac Medico [Tue, 22 Sep 2009 03:44:27 +0000 (03:44 -0000)]
Fix 'RuntimeError: dictionary changed size during iteration' in
bindbapi.aux_update() with py3k.
svn path=/main/trunk/; revision=14373
Zac Medico [Tue, 22 Sep 2009 02:46:02 +0000 (02:46 -0000)]
Remove redundant list() since starred expressions work with iterators.
svn path=/main/trunk/; revision=14372
Zac Medico [Tue, 22 Sep 2009 02:02:45 +0000 (02:02 -0000)]
Fix items to prevent infinite recursion.
svn path=/main/trunk/; revision=14371
Zac Medico [Mon, 21 Sep 2009 22:26:56 +0000 (22:26 -0000)]
Fix 'RuntimeError: dictionary changed size during iteration' in
_owners_db._populate() with py3k.
svn path=/main/trunk/; revision=14370
Zac Medico [Mon, 21 Sep 2009 22:20:28 +0000 (22:20 -0000)]
Don't wrap os.statvfs since it requires unicode string args in py3k.
svn path=/main/trunk/; revision=14369
Zac Medico [Mon, 21 Sep 2009 22:08:33 +0000 (22:08 -0000)]
Fix sorted() keyword arg for py3k.
svn path=/main/trunk/; revision=14368
Zac Medico [Mon, 21 Sep 2009 22:02:09 +0000 (22:02 -0000)]
Encode/decode names from the xpak index where appropriate.
svn path=/main/trunk/; revision=14367
Zac Medico [Mon, 21 Sep 2009 20:50:59 +0000 (20:50 -0000)]
In _unicode_func_wrapper, only encode keyword argument values, and not the
keys.
svn path=/main/trunk/; revision=14366
Zac Medico [Mon, 21 Sep 2009 20:44:30 +0000 (20:44 -0000)]
Fix PORTAGE_WORKDIR_MODE parsing code so it doesn't store python's octal
syntax in the environment variable.
svn path=/main/trunk/; revision=14365
Zac Medico [Mon, 21 Sep 2009 20:29:30 +0000 (20:29 -0000)]
Make find_binary() use os.environ.get instead of os.getenv, since os.getenv
isn't behaving correctly in py3k (maybe a unicode wrapper issue?).
svn path=/main/trunk/; revision=14364
Zac Medico [Mon, 21 Sep 2009 20:12:40 +0000 (20:12 -0000)]
Don't encode the env in py3k since it expects strings for the env that's
passed into os.execve().
svn path=/main/trunk/; revision=14363
Zac Medico [Mon, 21 Sep 2009 19:56:26 +0000 (19:56 -0000)]
Temporarily disable use of pty in py3k since it triggers an unresolved
issue, http://bugs.python.org/issue5380. With this workaround,
portage.tests.ebuild.test_spawn.SpawnTestCase.testLogfile() does
not raise IOError.
svn path=/main/trunk/; revision=14362
Zac Medico [Mon, 21 Sep 2009 19:51:02 +0000 (19:51 -0000)]
Fix decodeint() for py3k compat, since bytes are a sequence of integers
instead of characters.
svn path=/main/trunk/; revision=14361
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 18:34:38 +0000 (18:34 -0000)]
Use input() instead of raw_input() when Python 3 is used.
svn path=/main/trunk/; revision=14358
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 18:19:39 +0000 (18:19 -0000)]
Decode database name passed to portage.cache.sqlite.database._db_module.connect() for compatibility with Python 3.
svn path=/main/trunk/; revision=14357
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 18:14:01 +0000 (18:14 -0000)]
Use next(iterator) instead of iterator.next() for compatibility with Python 3.
(2to3-3.1 -f next -nw ${FILES})
svn path=/main/trunk/; revision=14355
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 18:02:08 +0000 (18:02 -0000)]
Decode all keys in dictionary containing environment passed to os.execve() in portage.process._exec() for compatibility with Python 3.
svn path=/main/trunk/; revision=14352
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 17:46:21 +0000 (17:46 -0000)]
'filtered_auxdbkeys' should be a list to allow sorting.
svn path=/main/trunk/; revision=14347
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 17:41:45 +0000 (17:41 -0000)]
Define long as int when Python 3 is used.
svn path=/main/trunk/; revision=14343
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 17:03:17 +0000 (17:03 -0000)]
Support bytes in portage.util.normalize_path() with Python 3.
svn path=/main/trunk/; revision=14333
Arfrever Frehtes Taifersar Arahesis [Mon, 21 Sep 2009 17:00:59 +0000 (17:00 -0000)]
Fix portage._unicode_func_wrapper.__call__() to properly handle bytes with Python 3.
svn path=/main/trunk/; revision=14331
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