portage.git
15 years agoAdd keyword argument support to LazyItemsDict.update(). (trunk r12771)
Zac Medico [Wed, 11 Mar 2009 06:45:33 +0000 (06:45 -0000)]
Add keyword argument support to LazyItemsDict.update(). (trunk r12771)

svn path=/main/branches/2.1.6/; revision=13015

15 years agoRemove unused import. (trunk r12770)
Zac Medico [Wed, 11 Mar 2009 06:45:22 +0000 (06:45 -0000)]
Remove unused import. (trunk r12770)

svn path=/main/branches/2.1.6/; revision=13014

15 years agoDefine __slots__ for classes derived from ObjectProxy. (trunk r12769)
Zac Medico [Wed, 11 Mar 2009 06:45:10 +0000 (06:45 -0000)]
Define __slots__ for classes derived from ObjectProxy. (trunk r12769)

svn path=/main/branches/2.1.6/; revision=13013

15 years agoSend message about unset RESUMECOMMAND to stderr instead of stdout.
Zac Medico [Wed, 11 Mar 2009 06:44:50 +0000 (06:44 -0000)]
Send message about unset RESUMECOMMAND to stderr instead of stdout.
(trunk r12768)

svn path=/main/branches/2.1.6/; revision=13012

15 years agoMake digraph store a single priority list for each edge instead of two
Zac Medico [Wed, 11 Mar 2009 06:44:38 +0000 (06:44 -0000)]
Make digraph store a single priority list for each edge instead of two
identical lists. (trunk r12767)

svn path=/main/branches/2.1.6/; revision=13011

15 years agowhitespace cleanup (trunk r12766)
Zac Medico [Wed, 11 Mar 2009 06:44:19 +0000 (06:44 -0000)]
whitespace cleanup (trunk r12766)

svn path=/main/branches/2.1.6/; revision=13010

15 years agoFix failure exit status. Thanks to Brian Harring. (trunk r12765)
Zac Medico [Wed, 11 Mar 2009 06:44:05 +0000 (06:44 -0000)]
Fix failure exit status. Thanks to Brian Harring. (trunk r12765)

svn path=/main/branches/2.1.6/; revision=13009

15 years agoMake config.categories a sorted tuple so that portdbapi can reuse it.
Zac Medico [Wed, 11 Mar 2009 06:43:30 +0000 (06:43 -0000)]
Make config.categories a sorted tuple so that portdbapi can reuse it.
(trunk r12760)

svn path=/main/branches/2.1.6/; revision=13008

15 years agoAdd tests for use_reduce() and paren_reduce(). (trunk r12759)
Zac Medico [Wed, 11 Mar 2009 06:43:13 +0000 (06:43 -0000)]
Add tests for use_reduce() and paren_reduce(). (trunk r12759)

svn path=/main/branches/2.1.6/; revision=13007

15 years agoUse enumerate() inside use_reduce() validation code. (trunk r12758)
Zac Medico [Wed, 11 Mar 2009 06:43:02 +0000 (06:43 -0000)]
Use enumerate() inside use_reduce() validation code. (trunk r12758)

svn path=/main/branches/2.1.6/; revision=13006

15 years agoUse basestring instead of str for isinstance check inside use_reduce() so
Zac Medico [Wed, 11 Mar 2009 06:42:43 +0000 (06:42 -0000)]
Use basestring instead of str for isinstance check inside use_reduce() so
that it works with unicode and remove related unicode to str workaround
code from the sqlite cache module. (trunk r12757)

svn path=/main/branches/2.1.6/; revision=13005

15 years agoRemove unnecessary setting of default values to empty strings inside
Zac Medico [Wed, 11 Mar 2009 06:42:19 +0000 (06:42 -0000)]
Remove unnecessary setting of default values to empty strings inside
database._getitem(). (trunk r12756)

svn path=/main/branches/2.1.6/; revision=13004

15 years agoMake the first argument of update() methods be an optional positional argument
Zac Medico [Wed, 11 Mar 2009 06:42:01 +0000 (06:42 -0000)]
Make the first argument of update() methods be an optional positional argument
instead of a keyword argument. (trunk r12755)

svn path=/main/branches/2.1.6/; revision=13003

15 years agoMake --searchdesc imply --search inside parse_opts(). (trunk r12754)
Zac Medico [Wed, 11 Mar 2009 06:39:10 +0000 (06:39 -0000)]
Make --searchdesc imply --search inside parse_opts(). (trunk r12754)

svn path=/main/branches/2.1.6/; revision=13002

15 years agoOnly generate PORTAGE_COUNTER_HASH for actions that can involve vdb
Zac Medico [Wed, 11 Mar 2009 06:38:51 +0000 (06:38 -0000)]
Only generate PORTAGE_COUNTER_HASH for actions that can involve vdb
modification. (trunk r12753)

svn path=/main/branches/2.1.6/; revision=13001

15 years agoMake --version and action. (trunk r12752)
Zac Medico [Wed, 11 Mar 2009 06:38:28 +0000 (06:38 -0000)]
Make --version and action. (trunk r12752)

svn path=/main/branches/2.1.6/; revision=13000

15 years agoSet Unpickler.find_global = None when possible and handle AttributeError
Zac Medico [Wed, 11 Mar 2009 06:38:13 +0000 (06:38 -0000)]
Set Unpickler.find_global = None when possible and handle AttributeError
for py3k. (trunk r12751)

svn path=/main/branches/2.1.6/; revision=12999

15 years agoRemove unnecessary creation of lists when iterating over digraphs for
Zac Medico [Wed, 11 Mar 2009 06:37:58 +0000 (06:37 -0000)]
Remove unnecessary creation of lists when iterating over digraphs for
--buildpkgonly hasallzeros check. (trunk r12750)

svn path=/main/branches/2.1.6/; revision=12998

15 years agoBug #261082 - Prefer remote package instances whenever --getbinpkg is enabled
Zac Medico [Wed, 11 Mar 2009 06:37:31 +0000 (06:37 -0000)]
Bug #261082 - Prefer remote package instances whenever --getbinpkg is enabled
(previously local instances were preferred unless --getbinpkgonly was enabled).
(trunk r12749)

svn path=/main/branches/2.1.6/; revision=12997

15 years agoBug #261082 - Fix --getbinpkgonly code in binarytree._populate() to
Zac Medico [Wed, 11 Mar 2009 06:37:17 +0000 (06:37 -0000)]
Bug #261082 - Fix --getbinpkgonly code in binarytree._populate() to
update the aux_get cache when it's appropriate for a remote package
to override a local package. (trunk r12747)

svn path=/main/branches/2.1.6/; revision=12996

15 years agoBug #256289 - When displaying an unsatisfied USE dep and all packages with
Zac Medico [Wed, 11 Mar 2009 06:36:07 +0000 (06:36 -0000)]
Bug #256289 - When displaying an unsatisfied USE dep and all packages with
the required IUSE are masked, show a normal "masked package" message for
the package(s) that have the required IUSE (instead of showing the unmasked
packages with missing IUSE). (trunk r12746)

svn path=/main/branches/2.1.6/; revision=12995

15 years agoFix vdb entry writting code in dyn_install() to avoid generating empty entries
Zac Medico [Wed, 11 Mar 2009 06:35:43 +0000 (06:35 -0000)]
Fix vdb entry writting code in dyn_install() to avoid generating empty entries
in some cases. Thanks to Ned Ludd <solar@g.o> for reporting. (trunk r12745)

svn path=/main/branches/2.1.6/; revision=12994

15 years agoMake KeyValuePairFileLoader store the values as a strings instead of a lists.
Zac Medico [Wed, 11 Mar 2009 06:35:18 +0000 (06:35 -0000)]
Make KeyValuePairFileLoader store the values as a strings instead of a lists.
(trunk r12744)

svn path=/main/branches/2.1.6/; revision=12993

15 years agoACCEPT_CHOSTS applies to unbuilt ebuild now (not just binary packages).
Zac Medico [Wed, 11 Mar 2009 06:34:56 +0000 (06:34 -0000)]
ACCEPT_CHOSTS applies to unbuilt ebuild now (not just binary packages).
(trunk r12743)

svn path=/main/branches/2.1.6/; revision=12992

15 years agoFix KeyValuePairFileLoader to only split on '=' once and strip whitespace
Zac Medico [Wed, 11 Mar 2009 06:34:37 +0000 (06:34 -0000)]
Fix KeyValuePairFileLoader to only split on '=' once and strip whitespace
for keys and values. (trunk r12742)

svn path=/main/branches/2.1.6/; revision=12991

15 years agoWhen ACCEPT_CHOSTS is set, enable CHOST masking for unbuilt ebuilds. This
Zac Medico [Wed, 11 Mar 2009 06:34:01 +0000 (06:34 -0000)]
When ACCEPT_CHOSTS is set, enable CHOST masking for unbuilt ebuilds. This
behaves as a sanity check to protect people who are cross-compiling from
accidentally merging an ebuild with CHOST set incorrectly. Thanks to Ned
Ludd <solar@g.o> for reporting the problem. (trunk r12741)

svn path=/main/branches/2.1.6/; revision=12990

15 years agoUse PORTAGE_USE when evaluating LICENSE inside portdbapi.gvisible().
Zac Medico [Wed, 11 Mar 2009 06:33:40 +0000 (06:33 -0000)]
Use PORTAGE_USE when evaluating LICENSE inside portdbapi.gvisible().
(trunk r12740)

svn path=/main/branches/2.1.6/; revision=12989

15 years agoWhen fetch() is called and there is an existing file with the wrong size that
Zac Medico [Wed, 11 Mar 2009 06:32:27 +0000 (06:32 -0000)]
When fetch() is called and there is an existing file with the wrong size that
is smaller than PORTAGE_FETCH_RESUME_MIN_SIZE, rename the file instead of
deleting it. This is more friendly for cases in which the user is attempting
to regenerate the digest but has not used `ebuild --force foo.ebuild manifest`
like they're supposed to. Thanks to Patrick Lauer <patrick@g.o> for reporting.
(trunk r12739)

svn path=/main/branches/2.1.6/; revision=12988

15 years agoDon't give portage group write permissions on the mtimedb since it's not
Zac Medico [Wed, 11 Mar 2009 06:32:12 +0000 (06:32 -0000)]
Don't give portage group write permissions on the mtimedb since it's not
really needed. (trunk r12738)

svn path=/main/branches/2.1.6/; revision=12987

15 years agoThanks to Petteri Räty <betelgeuse@gentoo.org> for this new cache module which
Zac Medico [Wed, 11 Mar 2009 06:31:52 +0000 (06:31 -0000)]
Thanks to Petteri Räty <betelgeuse@gentoo.org> for this new cache module which
uses extended attributes (via pyxattr) to attach metadata cache directly to
the ebuild files themselves. (trunk r12737)

svn path=/main/branches/2.1.6/; revision=12986

15 years agoRemove redundant long(_mtime_) conversion since template handles it now.
Zac Medico [Wed, 11 Mar 2009 06:31:38 +0000 (06:31 -0000)]
Remove redundant long(_mtime_) conversion since template handles it now.
(trunk r12736)

svn path=/main/branches/2.1.6/; revision=12985

15 years ago* Fix portage.cache.template.database.__getitem__() to validate the _mtime_
Zac Medico [Wed, 11 Mar 2009 06:31:05 +0000 (06:31 -0000)]
* Fix portage.cache.template.database.__getitem__() to validate the _mtime_
  field and raise a CacheCorruption exception if necessary.
* Make _mtime_ and _eclasses_ validation code in portdbapi and mirror_cache()
  assume that these fields are the correct type (otherwise a CacheCorruption
  exeception should be raised earlier).
* Fix the sqlite module to implement _getitem() so that it properly inherits
  __getitem__() _mtime_ and _eclasses_ handling. (trunk r12735)

svn path=/main/branches/2.1.6/; revision=12984

15 years agoSkip the code from bug #259954 when $ROOT != / since it shouldn't matter if
Zac Medico [Wed, 11 Mar 2009 06:30:42 +0000 (06:30 -0000)]
Skip the code from bug #259954 when $ROOT != / since it shouldn't matter if
there are unsatisfied system runtime deps in this case. (trunk r12734)

svn path=/main/branches/2.1.6/; revision=12983

15 years agoWhen checking ebuild content, use codecs.open() to force utf_8 encoding for
Zac Medico [Wed, 11 Mar 2009 06:30:26 +0000 (06:30 -0000)]
When checking ebuild content, use codecs.open() to force utf_8 encoding for
py3k compatibility (all ebuilds should have utf_8 encoding). (trunk r12733)

svn path=/main/branches/2.1.6/; revision=12982

15 years agoIn _ensure_default_encoding(), make sure the default encoding is normalized.
Zac Medico [Wed, 11 Mar 2009 06:29:45 +0000 (06:29 -0000)]
In _ensure_default_encoding(), make sure the default encoding is normalized.
(trunk r12732)

svn path=/main/branches/2.1.6/; revision=12981

15 years agoAdd support to _ensure_default_encoding() for the same ascii and utf_8
Zac Medico [Wed, 11 Mar 2009 06:29:33 +0000 (06:29 -0000)]
Add support to _ensure_default_encoding() for the same ascii and utf_8
aliases that encodings.aliases has. (trunk r12731)

svn path=/main/branches/2.1.6/; revision=12980

15 years agoMake Atom instances consume less memory by implementing str methods at the
Zac Medico [Wed, 11 Mar 2009 06:29:08 +0000 (06:29 -0000)]
Make Atom instances consume less memory by implementing str methods at the
class level instead of referencing bound str methods. (trunk r12730)

svn path=/main/branches/2.1.6/; revision=12979

15 years agoOpen then temp file in text mode for py3k compatibility. (trunk r12728)
Zac Medico [Wed, 11 Mar 2009 06:28:36 +0000 (06:28 -0000)]
Open then temp file in text mode for py3k compatibility. (trunk r12728)

svn path=/main/branches/2.1.6/; revision=12978

15 years agoOpen the temp file in text mode for py3k compatibility. (trunk r12727)
Zac Medico [Wed, 11 Mar 2009 06:28:19 +0000 (06:28 -0000)]
Open the temp file in text mode for py3k compatibility. (trunk r12727)

svn path=/main/branches/2.1.6/; revision=12977

15 years agoOpen the temp file in text mode for py3k compatibility. (trunk r12726)
Zac Medico [Wed, 11 Mar 2009 06:28:02 +0000 (06:28 -0000)]
Open the temp file in text mode for py3k compatibility. (trunk r12726)

svn path=/main/branches/2.1.6/; revision=12976

15 years agoFix PipeReader and PipeReaderTestCase to work with binary strings in py3k.
Zac Medico [Wed, 11 Mar 2009 06:23:46 +0000 (06:23 -0000)]
Fix PipeReader and PipeReaderTestCase to work with binary strings in py3k.
(trunk r12720)

svn path=/main/branches/2.1.6/; revision=12975

15 years agoLoosen EMakeParallelDisabled.re so it can match more variations. (trunk r12719)
Zac Medico [Wed, 11 Mar 2009 06:23:25 +0000 (06:23 -0000)]
Loosen EMakeParallelDisabled.re so it can match more variations. (trunk r12719)

svn path=/main/branches/2.1.6/; revision=12974

15 years agoAdd a new upstream.workaround check for hardcoded MAKEOPTS=-j1 (previously
Zac Medico [Wed, 11 Mar 2009 06:23:11 +0000 (06:23 -0000)]
Add a new upstream.workaround check for hardcoded MAKEOPTS=-j1 (previously
only emake -j1 was recognized). Thanks to Maciej Mrozowski <reavertm@poczta.fm>
for this patch. (trunk r12718)

svn path=/main/branches/2.1.6/; revision=12973

15 years agoFix test breakage due to change in calling order of AsynchronousTask start
Zac Medico [Wed, 11 Mar 2009 06:22:20 +0000 (06:22 -0000)]
Fix test breakage due to change in calling order of AsynchronousTask start
listeners from r12713. (trunk r12717)

svn path=/main/branches/2.1.6/; revision=12972

15 years agoFix a case in which a SRC_URI is incorrectly idendified as invalid, and add
Zac Medico [Wed, 11 Mar 2009 06:22:00 +0000 (06:22 -0000)]
Fix a case in which a SRC_URI is incorrectly idendified as invalid, and add
a corresponding test case. Thanks to Jacob Floyd for reporting. (trunk r12716)

svn path=/main/branches/2.1.6/; revision=12971

15 years agoRemove recursion code from Scheduler._system_merge_started() since indirect
Zac Medico [Wed, 11 Mar 2009 06:21:31 +0000 (06:21 -0000)]
Remove recursion code from Scheduler._system_merge_started() since indirect
deps are checked when the corresponding parent is merged. (trunk r12715)

svn path=/main/branches/2.1.6/; revision=12970

15 years agoIn traversing deps to add to Scheduler._unsatisfied_system_deps, only traverse
Zac Medico [Wed, 11 Mar 2009 06:21:17 +0000 (06:21 -0000)]
In traversing deps to add to Scheduler._unsatisfied_system_deps, only traverse
completed 'merge' nodes since those are the only ones that need to be checked
for unsatisfied runtime deps, and it's normal for nodes that aren't yet
complete to have unsatisfied runtime deps. (trunk r12714)

svn path=/main/branches/2.1.6/; revision=12969

15 years agoBug #259954 - Do not spawn parallel build when the system is in a fragile
Zac Medico [Wed, 11 Mar 2009 06:20:51 +0000 (06:20 -0000)]
Bug #259954 - Do not spawn parallel build when the system is in a fragile
state due to a system package having an unsatisfied runtime dependency
(such as sys-libs/pam having an unsatisfied PDEPEND on sys-auth/pambase).
(trunk r12713)

svn path=/main/branches/2.1.6/; revision=12968

15 years agoreject all set*id binaries that have DT_RPATH:$ORIGIN #260331 (trunk r12712)
Zac Medico [Wed, 11 Mar 2009 06:19:49 +0000 (06:19 -0000)]
reject all set*id binaries that have DT_RPATH:$ORIGIN #260331 (trunk r12712)

svn path=/main/branches/2.1.6/; revision=12967

15 years agoRemove stray parenthesis. (trunk r12711)
Zac Medico [Wed, 11 Mar 2009 06:19:26 +0000 (06:19 -0000)]
Remove stray parenthesis. (trunk r12711)

svn path=/main/branches/2.1.6/; revision=12966

15 years agoInside depgraph._merge_order_bias(), promote deep system runtime deps toward
Zac Medico [Wed, 11 Mar 2009 06:19:03 +0000 (06:19 -0000)]
Inside depgraph._merge_order_bias(), promote deep system runtime deps toward
the front of the merge list. This should help optimize merge order to account
for implicit system dependencies. (trunk r12710)

svn path=/main/branches/2.1.6/; revision=12965

15 years agoImplement BlockerDepPriority.__str__(). (trunk r12709)
Zac Medico [Wed, 11 Mar 2009 06:18:50 +0000 (06:18 -0000)]
Implement BlockerDepPriority.__str__(). (trunk r12709)

svn path=/main/branches/2.1.6/; revision=12964

15 years agoFix typo in DepPriority.__str__(). (trunk r12708)
Zac Medico [Wed, 11 Mar 2009 06:18:38 +0000 (06:18 -0000)]
Fix typo in DepPriority.__str__(). (trunk r12708)

svn path=/main/branches/2.1.6/; revision=12963

15 years agoImplement lazy evaluation of USE_EXPAND variables in config.setcpv(), since
Zac Medico [Wed, 11 Mar 2009 06:18:20 +0000 (06:18 -0000)]
Implement lazy evaluation of USE_EXPAND variables in config.setcpv(), since
those variables are only needed when an ebuild shell is spawned. Thanks to
Marat Radchenko <slonopotamusorama@gmail.com> for testing this patch. He
reports a 14% reduction in the time consumed for `emerge -vpe world` on an
ARM device (from 3m12.008s to 2m45.055s). (trunk r12707)

svn path=/main/branches/2.1.6/; revision=12962

15 years agoIn mirror_cache(), normalize EAPI by mapping EAPI=0 to empty. (trunk r12706)
Zac Medico [Wed, 11 Mar 2009 06:18:09 +0000 (06:18 -0000)]
In mirror_cache(), normalize EAPI by mapping EAPI=0 to empty. (trunk r12706)

svn path=/main/branches/2.1.6/; revision=12961

15 years agoBug #259882 - Disable the ignore-previously-merged option by default since
Zac Medico [Wed, 11 Mar 2009 06:17:54 +0000 (06:17 -0000)]
Bug #259882 - Disable the ignore-previously-merged option by default since
emerge's confmem already provides similar functionality which is a little
safer. (trunk r12705)

svn path=/main/branches/2.1.6/; revision=12960

15 years agoIf deepcopy() raises a TypeError for a lazy item that has been added via a
Zac Medico [Wed, 11 Mar 2009 06:17:35 +0000 (06:17 -0000)]
If deepcopy() raises a TypeError for a lazy item that has been added via a
call to LazyItemsDict.addLazySingleton(), automatically evaluate the
the singleton and instead call deepcopy() on the result. (trunk r12704)

svn path=/main/branches/2.1.6/; revision=12959

15 years agoMake USE_EXPAND wildcard expansion more efficient, and prevent possible
Zac Medico [Wed, 11 Mar 2009 06:17:19 +0000 (06:17 -0000)]
Make USE_EXPAND wildcard expansion more efficient, and prevent possible
duplicates. (trunk r12703)

svn path=/main/branches/2.1.6/; revision=12958

15 years agoFix breakage in USE_EXPAND wildcard handling, from r12697. (trunk r12702)
Zac Medico [Wed, 11 Mar 2009 06:17:00 +0000 (06:17 -0000)]
Fix breakage in USE_EXPAND wildcard handling, from r12697. (trunk r12702)

svn path=/main/branches/2.1.6/; revision=12957

15 years agoFix headers that contain $Header instead of $Id. (trunk r12701)
Zac Medico [Wed, 11 Mar 2009 06:16:25 +0000 (06:16 -0000)]
Fix headers that contain $Header instead of $Id. (trunk r12701)

svn path=/main/branches/2.1.6/; revision=12956

15 years agoIn LazyItemsDict, avoid storing empty lists and dicts when no positional or
Zac Medico [Wed, 11 Mar 2009 06:16:14 +0000 (06:16 -0000)]
In LazyItemsDict, avoid storing empty lists and dicts when no positional or
keyword arguments are given. (trunk r12700)

svn path=/main/branches/2.1.6/; revision=12955

15 years agoIn config.setcpv(), increase efficiency by filtering USE with IUSE before
Zac Medico [Wed, 11 Mar 2009 06:15:37 +0000 (06:15 -0000)]
In config.setcpv(), increase efficiency by filtering USE with IUSE before
calculating USE_EXPAND variables. Also use a generator expression instead
of a list comprehension in the USE_EXPAND generation code. (trunk r12697)

svn path=/main/branches/2.1.6/; revision=12954

15 years agoFix getmaskingstatus() so that it doesn't inappropriately return a
Zac Medico [Wed, 11 Mar 2009 06:15:23 +0000 (06:15 -0000)]
Fix getmaskingstatus() so that it doesn't inappropriately return a
'missing keyword' mask is some cases when the user has ** in package.keywords.
Thanks to Raúl Porcel <armin76@g.o> for reporting. (trunk r12696)

svn path=/main/branches/2.1.6/; revision=12953

15 years agoFix default_encoding logic in _ensure_default_encoding(). (trunk r12695)
Zac Medico [Wed, 11 Mar 2009 06:15:03 +0000 (06:15 -0000)]
Fix default_encoding logic in _ensure_default_encoding(). (trunk r12695)

svn path=/main/branches/2.1.6/; revision=12952

15 years agoReorganize _ensure_default_encoding(). (trunk r12694)
Zac Medico [Wed, 11 Mar 2009 06:14:51 +0000 (06:14 -0000)]
Reorganize _ensure_default_encoding(). (trunk r12694)

svn path=/main/branches/2.1.6/; revision=12951

15 years agoDon't try to call setdefaultencoding() since it's not intended to be called.
Zac Medico [Wed, 11 Mar 2009 06:14:33 +0000 (06:14 -0000)]
Don't try to call setdefaultencoding() since it's not intended to be called.
(trunk r12692)

svn path=/main/branches/2.1.6/; revision=12950

15 years agoWhen displaying reverse dependencies in verbose --depclean/--prune output,
Zac Medico [Wed, 11 Mar 2009 06:14:17 +0000 (06:14 -0000)]
When displaying reverse dependencies in verbose --depclean/--prune output,
sort the parent packages by cpv. (trunk r12691)

svn path=/main/branches/2.1.6/; revision=12949

15 years agoAdd support in _ensure_default_encoding(), add support for utf_8 and fall
Zac Medico [Wed, 11 Mar 2009 06:13:14 +0000 (06:13 -0000)]
Add support in _ensure_default_encoding(), add support for utf_8 and fall
back to utf_8 if the encoding returned by sys.getdefaultencoding() is
unavailable. (trunk r12688)

svn path=/main/branches/2.1.6/; revision=12948

15 years agoWhen decoding term codes inside the JobStatusDisplay constructor, use the
Zac Medico [Wed, 11 Mar 2009 06:13:02 +0000 (06:13 -0000)]
When decoding term codes inside the JobStatusDisplay constructor, use the
'replace' error handling scheme in order to avoid triggering a potential
UnicodeError. (trunk r12687)

svn path=/main/branches/2.1.6/; revision=12947

15 years agoIn EbuildFetchonly.execute(), skip builddir creation when the ebuild does
Zac Medico [Wed, 11 Mar 2009 06:12:24 +0000 (06:12 -0000)]
In EbuildFetchonly.execute(), skip builddir creation when the ebuild does
not set RESTRICT=fetch (since it's not possible for pkg_nofetch to be executed
in this case). (trunk r12686)

svn path=/main/branches/2.1.6/; revision=12946

15 years agoAvoid spurious CCACHE_DIR permissions adjustments when fetching with
Zac Medico [Wed, 11 Mar 2009 06:11:58 +0000 (06:11 -0000)]
Avoid spurious CCACHE_DIR permissions adjustments when fetching with
a temporary PORTAGE_TMPDIR setting (for fetchonly). Thanks to
Marat Radchenko <slonopotamusorama@gmail.com> for reporting. (trunk r12685)

svn path=/main/branches/2.1.6/; revision=12945

15 years agoThe python that's inside stage 1 or 2 is built with a minimal
Zac Medico [Wed, 11 Mar 2009 06:11:39 +0000 (06:11 -0000)]
The python that's inside stage 1 or 2 is built with a minimal
configuration which does not include the /usr/lib/pythonX.Y/encodings
directory. This results in error like the following:

  LookupError: no codec search functions registered: can't find encoding

In order to solve this problem, detect it early and manually register
a search function for the ascii codec. Starting with python-3.0 this
problem is more noticeable because of stricter handling of encoding
and decoding between strings of characters and bytes. (trunk r12684)

svn path=/main/branches/2.1.6/; revision=12944

15 years agoUse a lock to ensure that threaded code doesn't cause problems with proxy
Zac Medico [Wed, 11 Mar 2009 06:11:21 +0000 (06:11 -0000)]
Use a lock to ensure that threaded code doesn't cause problems with proxy
registration and unregistration. (trunk r12683)

svn path=/main/branches/2.1.6/; revision=12943

15 years agoUse lazyimport to avoid importing the portage.elog module when portage is
Zac Medico [Wed, 11 Mar 2009 06:10:55 +0000 (06:10 -0000)]
Use lazyimport to avoid importing the portage.elog module when portage is
initially imported. (trunk r12682)

svn path=/main/branches/2.1.6/; revision=12942

15 years agoUse lazyimport to avoid importing the dep, output, update, and versions
Zac Medico [Wed, 11 Mar 2009 06:10:35 +0000 (06:10 -0000)]
Use lazyimport to avoid importing the dep, output, update, and versions
modules when portage is initially imported. (trunk r12681)

svn path=/main/branches/2.1.6/; revision=12941

15 years agoUse lazyimport to avoid importing the checksum, locks, and util modules
Zac Medico [Wed, 11 Mar 2009 06:10:10 +0000 (06:10 -0000)]
Use lazyimport to avoid importing the checksum, locks, and util modules
when portage is initially imported. (trunk r12680)

svn path=/main/branches/2.1.6/; revision=12940

15 years agoFix _LazyImportFrom to use the correct module name when registering and
Zac Medico [Wed, 11 Mar 2009 06:09:56 +0000 (06:09 -0000)]
Fix _LazyImportFrom to use the correct module name when registering and
unregistering. (trunk r12679)

svn path=/main/branches/2.1.6/; revision=12939

15 years agoMake lazyimport proxies trigger automatic destruction of other proxies for
Zac Medico [Wed, 11 Mar 2009 06:09:29 +0000 (06:09 -0000)]
Make lazyimport proxies trigger automatic destruction of other proxies for
modules that have been imported. This way, destruction of a single proxy
can trigger destruction of all the rest. (trunk r12678)

svn path=/main/branches/2.1.6/; revision=12938

15 years agoFix typo in __all__. (trunk r12677)
Zac Medico [Wed, 11 Mar 2009 06:09:08 +0000 (06:09 -0000)]
Fix typo in __all__. (trunk r12677)

svn path=/main/branches/2.1.6/; revision=12937

15 years agoReduce bloat in portage.util by splitting ObjectProxy and lazyimport into a
Zac Medico [Wed, 11 Mar 2009 06:08:40 +0000 (06:08 -0000)]
Reduce bloat in portage.util by splitting ObjectProxy and lazyimport into a
new portage.proxy package. (trunk r12676)

svn path=/main/branches/2.1.6/; revision=12936

15 years agoMake lazy_import() skip proxy creation for modules that already exist
Zac Medico [Wed, 11 Mar 2009 06:06:44 +0000 (06:06 -0000)]
Make lazy_import() skip proxy creation for modules that already exist
in sys.modules. (trunk r12675)

svn path=/main/branches/2.1.6/; revision=12935

15 years agoMake the UserDict and LazyItemsDict constructors use an optional positional
Zac Medico [Wed, 11 Mar 2009 06:06:19 +0000 (06:06 -0000)]
Make the UserDict and LazyItemsDict constructors use an optional positional
argument instead of a keyword argument. (trunk r12674)

svn path=/main/branches/2.1.6/; revision=12934

15 years agoIn config.setcpv(), use LazyItemsDict to implement lazy evaluation of
Zac Medico [Wed, 11 Mar 2009 06:05:37 +0000 (06:05 -0000)]
In config.setcpv(), use LazyItemsDict to implement lazy evaluation of
PORTAGE_IUSE. The PORTAGE_IUSE value is lazily evaluated since re.escape()
is slow and the value is only used when an ebuild phase needs to be executed
(it's used only to generate QA notices). Thanks to Marat Radchenko
<slonopotamusorama@gmail.com> for identifying this performance issue and
submitting the initial patch which used a memoization approach instead of
lazy evaluation. (trunk r12673)

svn path=/main/branches/2.1.6/; revision=12933

15 years agoIn LazyItemsDict, when a singleton is instantiated, replace the wrapper with
Zac Medico [Wed, 11 Mar 2009 06:05:17 +0000 (06:05 -0000)]
In LazyItemsDict, when a singleton is instantiated, replace the wrapper with
the singleton since the wrapper is no longer needed at this point.
(trunk r12672)

svn path=/main/branches/2.1.6/; revision=12932

15 years agoRevert r12639 and use string.ascii_letters for python-3.0 compatibility.
Zac Medico [Wed, 11 Mar 2009 06:04:15 +0000 (06:04 -0000)]
Revert r12639 and use string.ascii_letters for python-3.0 compatibility.
(trunk r12669)

svn path=/main/branches/2.1.6/; revision=12931

15 years agoInside portage.spawn(), open files for logfile handling in binary mode, for
Zac Medico [Wed, 11 Mar 2009 06:03:50 +0000 (06:03 -0000)]
Inside portage.spawn(), open files for logfile handling in binary mode, for
compatibility with python-3.0. (trunk r12668)

svn path=/main/branches/2.1.6/; revision=12930

15 years agoFor python-3.0 compatibility, open files in binary mode inside
Zac Medico [Wed, 11 Mar 2009 06:02:25 +0000 (06:02 -0000)]
For python-3.0 compatibility, open files in binary mode inside
SpawnProcess._start(). (trunk r12666)

svn path=/main/branches/2.1.6/; revision=12929

15 years agoWhen loading vdb_metadata.pickle inside vardbapi._aux_cache_init(), in
Zac Medico [Wed, 11 Mar 2009 06:01:59 +0000 (06:01 -0000)]
When loading vdb_metadata.pickle inside vardbapi._aux_cache_init(), in
order to avoid an extreme performance issue, disable buffering when opening
the file under python-3.0. Unfortunately, performance is still poor relative
to python-2.x, but buffering makes it much worse. (trunk r12665)

svn path=/main/branches/2.1.6/; revision=12928

15 years agoAdd a cross reference from FEATURES=lmirror docs to the "local" mirror docs
Zac Medico [Wed, 11 Mar 2009 06:01:34 +0000 (06:01 -0000)]
Add a cross reference from FEATURES=lmirror docs to the "local" mirror docs
in portage(5). (trunk r12664)

svn path=/main/branches/2.1.6/; revision=12927

15 years agoIn python-3.0, integer division results in a float, so convert back to int.
Zac Medico [Wed, 11 Mar 2009 06:01:15 +0000 (06:01 -0000)]
In python-3.0, integer division results in a float, so convert back to int.
(trunk r12663)

svn path=/main/branches/2.1.6/; revision=12926

15 years agoFix StringIO imports so that 2to3 can handle them. Also, replace shlex +
Zac Medico [Wed, 11 Mar 2009 06:00:59 +0000 (06:00 -0000)]
Fix StringIO imports so that 2to3 can handle them. Also, replace shlex +
StringIO usage with shlex.split() where appropriate. (trunk r12662)

svn path=/main/branches/2.1.6/; revision=12925

15 years agoAdd a new portage.utils.lazy_import() function which behaves similar to the
Zac Medico [Wed, 11 Mar 2009 05:59:45 +0000 (05:59 -0000)]
Add a new portage.utils.lazy_import() function which behaves similar to the
snakeoil.demandload.demandload() function. (trunk r12661)

svn path=/main/branches/2.1.6/; revision=12924

15 years agoWhen displaying the list of failed packages, tell the number that failed.
Zac Medico [Wed, 11 Mar 2009 05:57:54 +0000 (05:57 -0000)]
When displaying the list of failed packages, tell the number that failed.
Thanks to Jeremy Olexa <darkside@g.o> for the suggestion. (trunk r12655)

svn path=/main/branches/2.1.6/; revision=12923

15 years agoMake isvalidatom() identify empty slot as invalid (missing slot is valid) and
Zac Medico [Wed, 11 Mar 2009 05:57:35 +0000 (05:57 -0000)]
Make isvalidatom() identify empty slot as invalid (missing slot is valid) and
add a corresponding test case. (trunk r12654)

svn path=/main/branches/2.1.6/; revision=12922

15 years agoOptimize depgraph._dep_expand() to avoid calling pordbapi.cp_all(),
Zac Medico [Wed, 11 Mar 2009 05:57:06 +0000 (05:57 -0000)]
Optimize depgraph._dep_expand() to avoid calling pordbapi.cp_all(),
since it can be more efficient to call cp_list() on each category.
Thanks to Marat Radchenko <slonopotamusorama@gmail.com> for the
suggestion. (trunk r12653)

svn path=/main/branches/2.1.6/; revision=12921

15 years agoDecode terminal codes from binary when necessary, for python-3.0 compatibility
Zac Medico [Wed, 11 Mar 2009 05:56:33 +0000 (05:56 -0000)]
Decode terminal codes from binary when necessary, for python-3.0 compatibility
since sys.stdout is a text stream. (trunk r12649)

svn path=/main/branches/2.1.6/; revision=12920

15 years agoHandle ValueError when unpickling, since this can be triggered by an
Zac Medico [Wed, 11 Mar 2009 05:56:01 +0000 (05:56 -0000)]
Handle ValueError when unpickling, since this can be triggered by an
unsupported pickle protocol. (trunk r12648)

svn path=/main/branches/2.1.6/; revision=12919

15 years agoFix update() methods to work with python-3.0. (trunk r12647)
Zac Medico [Wed, 11 Mar 2009 05:55:40 +0000 (05:55 -0000)]
Fix update() methods to work with python-3.0. (trunk r12647)

svn path=/main/branches/2.1.6/; revision=12918

15 years agoTweak exception handling indentation to avoid a bug in 2to3. (trunk r12646)
Zac Medico [Wed, 11 Mar 2009 05:55:18 +0000 (05:55 -0000)]
Tweak exception handling indentation to avoid a bug in 2to3. (trunk r12646)

svn path=/main/branches/2.1.6/; revision=12917

15 years agoTweak code to avoid python-3.0 errors like this one:
Zac Medico [Wed, 11 Mar 2009 05:53:05 +0000 (05:53 -0000)]
Tweak code to avoid python-3.0 errors like this one:
SyntaxError: can not delete variable 'e' referenced in nested scope
(trunk r12644)

svn path=/main/branches/2.1.6/; revision=12916