portage.git
15 years agoAlso support + character in eclass names.
Zac Medico [Sun, 8 Mar 2009 21:25:29 +0000 (21:25 -0000)]
Also support + character in eclass names.

svn path=/main/trunk/; revision=12791

15 years agoTranslate period characters in eclass names when generating variable names
Zac Medico [Sun, 8 Mar 2009 21:09:00 +0000 (21:09 -0000)]
Translate period characters in eclass names when generating variable names
to store EXPORT_FUNCTIONS arguments. Thanks to Arfrever for reporting.

svn path=/main/trunk/; revision=12788

15 years agoMake EXPORT_FUNCTIONS store it's arguments in an environment variable and
Zac Medico [Sun, 8 Mar 2009 08:14:48 +0000 (08:14 -0000)]
Make EXPORT_FUNCTIONS store it's arguments in an environment variable and
perform the function generation after the current inherit call has returned.
This allows an eclass to call EXPORT_FUNCTIONS either before or after it
inherits other eclasses, and the result is still the same. Thanks to
Donnie Berkholz <dberkholz@g.o> for reporting.

svn path=/main/trunk/; revision=12785

15 years agoRevert previous 2 commits due to bugs.
Zac Medico [Sun, 8 Mar 2009 07:44:02 +0000 (07:44 -0000)]
Revert previous 2 commits due to bugs.

svn path=/main/trunk/; revision=12784

15 years agoFix PECLASS logic inside inherit() so that ECLASS is always restored to the
Zac Medico [Sun, 8 Mar 2009 06:53:55 +0000 (06:53 -0000)]
Fix PECLASS logic inside inherit() so that ECLASS is always restored to the
correct value after recursion (previously it would be restored to the wrong
value if more than one eclass was passed into the inherit call).

svn path=/main/trunk/; revision=12783

15 years agoMake EXPORT_FUNCTIONS store it's arguments in an environment variable and
Zac Medico [Sun, 8 Mar 2009 06:26:09 +0000 (06:26 -0000)]
Make EXPORT_FUNCTIONS store it's arguments in an environment variable and
perform the function generation after the current inherit call has returned.
This way an eclass can call EXPORT_FUNCTIONS either before or after it
inherits other eclasses, and the result is still the same. Thanks to
Donnie Berkholz <dberkholz@g.o> for reporting.

svn path=/main/trunk/; revision=12782

15 years agoImplement _getitem instead of __getitem__ so that the base class __getitem__
Zac Medico [Sun, 8 Mar 2009 05:25:18 +0000 (05:25 -0000)]
Implement _getitem instead of __getitem__ so that the base class __getitem__
implementation is used for _mtime_ and _eclasses_ handling.

svn path=/main/trunk/; revision=12781

15 years agoIn LazyItemsDict.__deepcopy__(), enable deepcopy of lazy items as it was
Zac Medico [Sat, 7 Mar 2009 23:05:30 +0000 (23:05 -0000)]
In LazyItemsDict.__deepcopy__(), enable deepcopy of lazy items as it was
before. This requires _LazyItem.__deepcopy__() to be overridden since
the default implementation can fail silently, leaving some attributes unset.

svn path=/main/trunk/; revision=12780

15 years agoUse slice instead of startwith in stack_* incremental processing.
Zac Medico [Sat, 7 Mar 2009 22:27:25 +0000 (22:27 -0000)]
Use slice instead of startwith in stack_* incremental processing.

svn path=/main/trunk/; revision=12779

15 years agoRemove unnecessary list() from previous commit.
Zac Medico [Sat, 7 Mar 2009 21:36:56 +0000 (21:36 -0000)]
Remove unnecessary list() from previous commit.

svn path=/main/trunk/; revision=12778

15 years agoFix an issue with incomplete deepcopy of _LazyItem instances inside
Zac Medico [Sat, 7 Mar 2009 21:34:50 +0000 (21:34 -0000)]
Fix an issue with incomplete deepcopy of _LazyItem instances inside
LazyItemsDict.__deepcopy__(). Thanks to Arfrever for reporting.

svn path=/main/trunk/; revision=12777

15 years agoFix __getitem__ to convert mtime to long, and remove unreachable code
Zac Medico [Sat, 7 Mar 2009 20:25:19 +0000 (20:25 -0000)]
Fix __getitem__ to convert mtime to long, and remove unreachable code
from _parse_data().

svn path=/main/trunk/; revision=12776

15 years agoAlways use basestring instead of str with isinstance().
Zac Medico [Sat, 7 Mar 2009 19:40:18 +0000 (19:40 -0000)]
Always use basestring instead of str with isinstance().

svn path=/main/trunk/; revision=12775

15 years agoAllow unicode type values in config.__setitem__(). Thanks to Arfrever Frehtes
Zac Medico [Sat, 7 Mar 2009 19:10:20 +0000 (19:10 -0000)]
Allow unicode type values in config.__setitem__(). Thanks to Arfrever Frehtes
Taifersar Arahesis for this patch.

svn path=/main/trunk/; revision=12774

15 years agoSimplify LazyItemsDict internals.
Zac Medico [Sat, 7 Mar 2009 02:41:39 +0000 (02:41 -0000)]
Simplify LazyItemsDict internals.

svn path=/main/trunk/; revision=12773

15 years agoFix LazyItemsDict.update() to create new _SingletonWrapper instances that
Zac Medico [Sat, 7 Mar 2009 00:05:30 +0000 (00:05 -0000)]
Fix LazyItemsDict.update() to create new _SingletonWrapper instances that
reference self.

svn path=/main/trunk/; revision=12772

15 years agoAdd keyword argument support to LazyItemsDict.update().
Zac Medico [Fri, 6 Mar 2009 20:50:53 +0000 (20:50 -0000)]
Add keyword argument support to LazyItemsDict.update().

svn path=/main/trunk/; revision=12771

15 years agoRemove unused import.
Zac Medico [Fri, 6 Mar 2009 20:24:03 +0000 (20:24 -0000)]
Remove unused import.

svn path=/main/trunk/; revision=12770

15 years agoDefine __slots__ for classes derived from ObjectProxy.
Zac Medico [Fri, 6 Mar 2009 05:04:21 +0000 (05:04 -0000)]
Define __slots__ for classes derived from ObjectProxy.

svn path=/main/trunk/; revision=12769

15 years agoSend message about unset RESUMECOMMAND to stderr instead of stdout.
Zac Medico [Fri, 6 Mar 2009 04:48:24 +0000 (04:48 -0000)]
Send message about unset RESUMECOMMAND to stderr instead of stdout.

svn path=/main/trunk/; revision=12768

15 years agoMake digraph store a single priority list for each edge instead of two
Zac Medico [Fri, 6 Mar 2009 04:29:56 +0000 (04:29 -0000)]
Make digraph store a single priority list for each edge instead of two
identical lists.

svn path=/main/trunk/; revision=12767

15 years agowhitespace cleanup
Zac Medico [Fri, 6 Mar 2009 03:56:37 +0000 (03:56 -0000)]
whitespace cleanup

svn path=/main/trunk/; revision=12766

15 years agoFix failure exit status. Thanks to Brian Harring.
Zac Medico [Fri, 6 Mar 2009 03:24:49 +0000 (03:24 -0000)]
Fix failure exit status. Thanks to Brian Harring.

svn path=/main/trunk/; revision=12765

15 years agoMake config.categories a sorted tuple so that portdbapi can reuse it.
Zac Medico [Thu, 5 Mar 2009 05:44:20 +0000 (05:44 -0000)]
Make config.categories a sorted tuple so that portdbapi can reuse it.

svn path=/main/trunk/; revision=12760

15 years agoAdd tests for use_reduce() and paren_reduce().
Zac Medico [Thu, 5 Mar 2009 05:21:36 +0000 (05:21 -0000)]
Add tests for use_reduce() and paren_reduce().

svn path=/main/trunk/; revision=12759

15 years agoUse enumerate() inside use_reduce() validation code.
Zac Medico [Thu, 5 Mar 2009 05:08:00 +0000 (05:08 -0000)]
Use enumerate() inside use_reduce() validation code.

svn path=/main/trunk/; revision=12758

15 years agoUse basestring instead of str for isinstance check inside use_reduce() so
Zac Medico [Thu, 5 Mar 2009 04:43:39 +0000 (04:43 -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.

svn path=/main/trunk/; revision=12757

15 years agoRemove unnecessary setting of default values to empty strings inside
Zac Medico [Thu, 5 Mar 2009 04:28:15 +0000 (04:28 -0000)]
Remove unnecessary setting of default values to empty strings inside
database._getitem().

svn path=/main/trunk/; revision=12756

15 years agoMake the first argument of update() methods be an optional positional argument
Zac Medico [Thu, 5 Mar 2009 04:19:07 +0000 (04:19 -0000)]
Make the first argument of update() methods be an optional positional argument
instead of a keyword argument.

svn path=/main/trunk/; revision=12755

15 years agoMake --searchdesc imply --search inside parse_opts().
Zac Medico [Thu, 5 Mar 2009 03:59:10 +0000 (03:59 -0000)]
Make --searchdesc imply --search inside parse_opts().

svn path=/main/trunk/; revision=12754

15 years agoOnly generate PORTAGE_COUNTER_HASH for actions that can involve vdb
Zac Medico [Thu, 5 Mar 2009 03:53:38 +0000 (03:53 -0000)]
Only generate PORTAGE_COUNTER_HASH for actions that can involve vdb
modification.

svn path=/main/trunk/; revision=12753

15 years agoMake --version and action.
Zac Medico [Thu, 5 Mar 2009 03:43:03 +0000 (03:43 -0000)]
Make --version and action.

svn path=/main/trunk/; revision=12752

15 years agoSet Unpickler.find_global = None when possible and handle AttributeError
Zac Medico [Thu, 5 Mar 2009 03:03:50 +0000 (03:03 -0000)]
Set Unpickler.find_global = None when possible and handle AttributeError
for py3k.

svn path=/main/trunk/; revision=12751

15 years agoRemove unnecessary creation of lists when iterating over digraphs for
Zac Medico [Thu, 5 Mar 2009 01:40:55 +0000 (01:40 -0000)]
Remove unnecessary creation of lists when iterating over digraphs for
--buildpkgonly hasallzeros check.

svn path=/main/trunk/; revision=12750

15 years agoBug #261082 - Prefer remote package instances whenever --getbinpkg is enabled
Zac Medico [Wed, 4 Mar 2009 23:02:04 +0000 (23:02 -0000)]
Bug #261082 - Prefer remote package instances whenever --getbinpkg is enabled
(previously local instances were preferred unless --getbinpkgonly was enabled).

svn path=/main/trunk/; revision=12749

15 years agoMake glsa-check executable.
Zac Medico [Wed, 4 Mar 2009 21:16:33 +0000 (21:16 -0000)]
Make glsa-check executable.

svn path=/main/trunk/; revision=12748

15 years agoBug #261082 - Fix --getbinpkgonly code in binarytree._populate() to
Zac Medico [Wed, 4 Mar 2009 20:30:17 +0000 (20:30 -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.

svn path=/main/trunk/; revision=12747

15 years agoBug #256289 - When displaying an unsatisfied USE dep and all packages with
Zac Medico [Wed, 4 Mar 2009 04:14:18 +0000 (04:14 -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).

svn path=/main/trunk/; revision=12746

15 years agoFix vdb entry writting code in dyn_install() to avoid generating empty entries
Zac Medico [Wed, 4 Mar 2009 02:26:24 +0000 (02:26 -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.

svn path=/main/trunk/; revision=12745

15 years agoMake KeyValuePairFileLoader store the values as a strings instead of a lists.
Zac Medico [Tue, 3 Mar 2009 03:39:57 +0000 (03:39 -0000)]
Make KeyValuePairFileLoader store the values as a strings instead of a lists.

svn path=/main/trunk/; revision=12744

15 years agoACCEPT_CHOSTS applies to unbuilt ebuild now (not just binary packages).
Zac Medico [Tue, 3 Mar 2009 00:11:33 +0000 (00:11 -0000)]
ACCEPT_CHOSTS applies to unbuilt ebuild now (not just binary packages).

svn path=/main/trunk/; revision=12743

15 years agoFix KeyValuePairFileLoader to only split on '=' once and strip whitespace
Zac Medico [Mon, 2 Mar 2009 23:51:12 +0000 (23:51 -0000)]
Fix KeyValuePairFileLoader to only split on '=' once and strip whitespace
for keys and values.

svn path=/main/trunk/; revision=12742

15 years agoWhen ACCEPT_CHOSTS is set, enable CHOST masking for unbuilt ebuilds. This
Zac Medico [Mon, 2 Mar 2009 22:59:59 +0000 (22:59 -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.

svn path=/main/trunk/; revision=12741

15 years agoUse PORTAGE_USE when evaluating LICENSE inside portdbapi.gvisible().
Zac Medico [Mon, 2 Mar 2009 22:37:58 +0000 (22:37 -0000)]
Use PORTAGE_USE when evaluating LICENSE inside portdbapi.gvisible().

svn path=/main/trunk/; revision=12740

15 years agoWhen fetch() is called and there is an existing file with the wrong size that
Zac Medico [Mon, 2 Mar 2009 21:50:22 +0000 (21:50 -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.

svn path=/main/trunk/; revision=12739

15 years agoDon't give portage group write permissions on the mtimedb since it's not
Zac Medico [Sun, 1 Mar 2009 21:06:37 +0000 (21:06 -0000)]
Don't give portage group write permissions on the mtimedb since it's not
really needed.

svn path=/main/trunk/; revision=12738

15 years agoThanks to Petteri Räty <betelgeuse@gentoo.org> for this new cache module which
Zac Medico [Sun, 1 Mar 2009 20:39:41 +0000 (20:39 -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.

svn path=/main/trunk/; revision=12737

15 years agoRemove redundant long(_mtime_) conversion since template handles it now.
Zac Medico [Sun, 1 Mar 2009 06:29:07 +0000 (06:29 -0000)]
Remove redundant long(_mtime_) conversion since template handles it now.

svn path=/main/trunk/; revision=12736

15 years ago* Fix portage.cache.template.database.__getitem__() to validate the _mtime_
Zac Medico [Sun, 1 Mar 2009 06:25:07 +0000 (06:25 -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.

svn path=/main/trunk/; revision=12735

15 years agoSkip the code from bug #259954 when $ROOT != / since it shouldn't matter if
Zac Medico [Sun, 1 Mar 2009 00:05:41 +0000 (00:05 -0000)]
Skip the code from bug #259954 when $ROOT != / since it shouldn't matter if
there are unsatisfied system runtime deps in this case.

svn path=/main/trunk/; revision=12734

15 years agoWhen checking ebuild content, use codecs.open() to force utf_8 encoding for
Zac Medico [Sat, 28 Feb 2009 08:27:56 +0000 (08:27 -0000)]
When checking ebuild content, use codecs.open() to force utf_8 encoding for
py3k compatibility (all ebuilds should have utf_8 encoding).

svn path=/main/trunk/; revision=12733

15 years agoIn _ensure_default_encoding(), make sure the default encoding is normalized.
Zac Medico [Sat, 28 Feb 2009 05:43:29 +0000 (05:43 -0000)]
In _ensure_default_encoding(), make sure the default encoding is normalized.

svn path=/main/trunk/; revision=12732

15 years agoAdd support to _ensure_default_encoding() for the same ascii and utf_8
Zac Medico [Sat, 28 Feb 2009 05:20:35 +0000 (05:20 -0000)]
Add support to _ensure_default_encoding() for the same ascii and utf_8
aliases that encodings.aliases has.

svn path=/main/trunk/; revision=12731

15 years agoMake Atom instances consume less memory by implementing str methods at the
Zac Medico [Sat, 28 Feb 2009 01:06:30 +0000 (01:06 -0000)]
Make Atom instances consume less memory by implementing str methods at the
class level instead of referencing bound str methods.

svn path=/main/trunk/; revision=12730

15 years agoUse Popen.communicate() to avoid a potential deadlock.
Zac Medico [Fri, 27 Feb 2009 05:23:37 +0000 (05:23 -0000)]
Use Popen.communicate() to avoid a potential deadlock.

svn path=/main/trunk/; revision=12729

15 years agoOpen then temp file in text mode for py3k compatibility.
Zac Medico [Fri, 27 Feb 2009 04:17:14 +0000 (04:17 -0000)]
Open then temp file in text mode for py3k compatibility.

svn path=/main/trunk/; revision=12728

15 years agoOpen the temp file in text mode for py3k compatibility.
Zac Medico [Fri, 27 Feb 2009 04:14:22 +0000 (04:14 -0000)]
Open the temp file in text mode for py3k compatibility.

svn path=/main/trunk/; revision=12727

15 years agoOpen the temp file in text mode for py3k compatibility.
Zac Medico [Fri, 27 Feb 2009 04:11:03 +0000 (04:11 -0000)]
Open the temp file in text mode for py3k compatibility.

svn path=/main/trunk/; revision=12726

15 years agoUse os.fdopen() on file descriptors returned from mkstemp().
Zac Medico [Fri, 27 Feb 2009 04:03:00 +0000 (04:03 -0000)]
Use os.fdopen() on file descriptors returned from mkstemp().

svn path=/main/trunk/; revision=12725

15 years agoOpen the temp file in text mode for py3k compatibility.
Zac Medico [Fri, 27 Feb 2009 03:54:57 +0000 (03:54 -0000)]
Open the temp file in text mode for py3k compatibility.

svn path=/main/trunk/; revision=12724

15 years agoOpen the temp file in text mode for py3k compatibility.
Zac Medico [Fri, 27 Feb 2009 03:46:40 +0000 (03:46 -0000)]
Open the temp file in text mode for py3k compatibility.

svn path=/main/trunk/; revision=12723

15 years agoUse unicode() so that 2to3 handles py3k compatibility.
Zac Medico [Fri, 27 Feb 2009 03:24:13 +0000 (03:24 -0000)]
Use unicode() so that 2to3 handles py3k compatibility.

svn path=/main/trunk/; revision=12722

15 years agoFix CommandOutputSet to decode binary command output in py3k.
Zac Medico [Fri, 27 Feb 2009 03:08:03 +0000 (03:08 -0000)]
Fix CommandOutputSet to decode binary command output in py3k.

svn path=/main/trunk/; revision=12721

15 years agoFix PipeReader and PipeReaderTestCase to work with binary strings in py3k.
Zac Medico [Fri, 27 Feb 2009 02:43:45 +0000 (02:43 -0000)]
Fix PipeReader and PipeReaderTestCase to work with binary strings in py3k.

svn path=/main/trunk/; revision=12720

15 years agoLoosen EMakeParallelDisabled.re so it can match more variations.
Zac Medico [Fri, 27 Feb 2009 01:20:49 +0000 (01:20 -0000)]
Loosen EMakeParallelDisabled.re so it can match more variations.

svn path=/main/trunk/; revision=12719

15 years agoAdd a new upstream.workaround check for hardcoded MAKEOPTS=-j1 (previously
Zac Medico [Fri, 27 Feb 2009 01:08:01 +0000 (01:08 -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.

svn path=/main/trunk/; revision=12718

15 years agoFix test breakage due to change in calling order of AsynchronousTask start
Zac Medico [Fri, 27 Feb 2009 00:48:30 +0000 (00:48 -0000)]
Fix test breakage due to change in calling order of AsynchronousTask start
listeners from r12713.

svn path=/main/trunk/; revision=12717

15 years agoFix a case in which a SRC_URI is incorrectly idendified as invalid, and add
Zac Medico [Fri, 27 Feb 2009 00:03:26 +0000 (00:03 -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.

svn path=/main/trunk/; revision=12716

15 years agoRemove recursion code from Scheduler._system_merge_started() since indirect
Zac Medico [Thu, 26 Feb 2009 08:40:41 +0000 (08:40 -0000)]
Remove recursion code from Scheduler._system_merge_started() since indirect
deps are checked when the corresponding parent is merged.

svn path=/main/trunk/; revision=12715

15 years agoIn traversing deps to add to Scheduler._unsatisfied_system_deps, only traverse
Zac Medico [Thu, 26 Feb 2009 07:50:49 +0000 (07:50 -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.

svn path=/main/trunk/; revision=12714

15 years agoBug #259954 - Do not spawn parallel build when the system is in a fragile
Zac Medico [Thu, 26 Feb 2009 04:26:07 +0000 (04:26 -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).

svn path=/main/trunk/; revision=12713

15 years agoreject all set*id binaries that have DT_RPATH:$ORIGIN #260331
Mike Frysinger [Thu, 26 Feb 2009 04:03:10 +0000 (04:03 -0000)]
reject all set*id binaries that have DT_RPATH:$ORIGIN #260331

svn path=/main/trunk/; revision=12712

15 years agoRemove stray parenthesis.
Zac Medico [Thu, 26 Feb 2009 01:15:02 +0000 (01:15 -0000)]
Remove stray parenthesis.

svn path=/main/trunk/; revision=12711

15 years agoInside depgraph._merge_order_bias(), promote deep system runtime deps toward
Zac Medico [Thu, 26 Feb 2009 00:59:06 +0000 (00:59 -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.

svn path=/main/trunk/; revision=12710

15 years agoImplement BlockerDepPriority.__str__().
Zac Medico [Thu, 26 Feb 2009 00:00:59 +0000 (00:00 -0000)]
Implement BlockerDepPriority.__str__().

svn path=/main/trunk/; revision=12709

15 years agoFix typo in DepPriority.__str__().
Zac Medico [Wed, 25 Feb 2009 23:50:34 +0000 (23:50 -0000)]
Fix typo in DepPriority.__str__().

svn path=/main/trunk/; revision=12708

15 years agoImplement lazy evaluation of USE_EXPAND variables in config.setcpv(), since
Zac Medico [Wed, 25 Feb 2009 20:21:12 +0000 (20:21 -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).

svn path=/main/trunk/; revision=12707

15 years agoIn mirror_cache(), normalize EAPI by mapping EAPI=0 to empty.
Zac Medico [Wed, 25 Feb 2009 07:50:34 +0000 (07:50 -0000)]
In mirror_cache(), normalize EAPI by mapping EAPI=0 to empty.

svn path=/main/trunk/; revision=12706

15 years agoBug #259882 - Disable the ignore-previously-merged option by default since
Zac Medico [Tue, 24 Feb 2009 23:16:42 +0000 (23:16 -0000)]
Bug #259882 - Disable the ignore-previously-merged option by default since
emerge's confmem already provides similar functionality which is a little
safer.

svn path=/main/trunk/; revision=12705

15 years agoIf deepcopy() raises a TypeError for a lazy item that has been added via a
Zac Medico [Tue, 24 Feb 2009 05:14:37 +0000 (05:14 -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.

svn path=/main/trunk/; revision=12704

15 years agoMake USE_EXPAND wildcard expansion more efficient, and prevent possible
Zac Medico [Mon, 23 Feb 2009 23:22:08 +0000 (23:22 -0000)]
Make USE_EXPAND wildcard expansion more efficient, and prevent possible
duplicates.

svn path=/main/trunk/; revision=12703

15 years agoFix breakage in USE_EXPAND wildcard handling, from r12697.
Zac Medico [Mon, 23 Feb 2009 23:16:16 +0000 (23:16 -0000)]
Fix breakage in USE_EXPAND wildcard handling, from r12697.

svn path=/main/trunk/; revision=12702

15 years agoFix headers that contain $Header instead of $Id.
Zac Medico [Mon, 23 Feb 2009 21:05:22 +0000 (21:05 -0000)]
Fix headers that contain $Header instead of $Id.

svn path=/main/trunk/; revision=12701

15 years agoIn LazyItemsDict, avoid storing empty lists and dicts when no positional or
Zac Medico [Mon, 23 Feb 2009 20:52:10 +0000 (20:52 -0000)]
In LazyItemsDict, avoid storing empty lists and dicts when no positional or
keyword arguments are given.

svn path=/main/trunk/; revision=12700

15 years agoIn config.setcpv(), increase efficiency by filtering USE with IUSE before
Zac Medico [Mon, 23 Feb 2009 18:12:19 +0000 (18:12 -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.

svn path=/main/trunk/; revision=12697

15 years agoFix getmaskingstatus() so that it doesn't inappropriately return a
Zac Medico [Mon, 23 Feb 2009 17:31:40 +0000 (17:31 -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.

svn path=/main/trunk/; revision=12696

15 years agoFix default_encoding logic in _ensure_default_encoding().
Zac Medico [Mon, 23 Feb 2009 16:41:49 +0000 (16:41 -0000)]
Fix default_encoding logic in _ensure_default_encoding().

svn path=/main/trunk/; revision=12695

15 years agoReorganize _ensure_default_encoding().
Zac Medico [Mon, 23 Feb 2009 16:31:57 +0000 (16:31 -0000)]
Reorganize _ensure_default_encoding().

svn path=/main/trunk/; revision=12694

15 years agoRevert vardbapi._owners_cache_version and unicode handling since it needs
Zac Medico [Mon, 23 Feb 2009 08:35:57 +0000 (08:35 -0000)]
Revert vardbapi._owners_cache_version and unicode handling since it needs
some more work.

svn path=/main/trunk/; revision=12693

15 years agoDon't try to call setdefaultencoding() since it's not intended to be called.
Zac Medico [Mon, 23 Feb 2009 08:32:37 +0000 (08:32 -0000)]
Don't try to call setdefaultencoding() since it's not intended to be called.

svn path=/main/trunk/; revision=12692

15 years agoWhen displaying reverse dependencies in verbose --depclean/--prune output,
Zac Medico [Mon, 23 Feb 2009 06:51:10 +0000 (06:51 -0000)]
When displaying reverse dependencies in verbose --depclean/--prune output,
sort the parent packages by cpv.

svn path=/main/trunk/; revision=12691

15 years agoBump vardbapi._owners_cache_version from 1 to 2 since hash value encoding
Zac Medico [Mon, 23 Feb 2009 03:16:05 +0000 (03:16 -0000)]
Bump vardbapi._owners_cache_version from 1 to 2 since hash value encoding
is now hardcoded as utf_8.

svn path=/main/trunk/; revision=12690

15 years agoWhen encoding strings inside vardbapi._counter_hash() and
Zac Medico [Mon, 23 Feb 2009 03:12:49 +0000 (03:12 -0000)]
When encoding strings inside  vardbapi._counter_hash() and
vardbapi._owners_cache._hash_str(), use 'backslashreplace' in order to avoid
potential UnicodeError exceptions. Use constant ascii and utf_8 codecs,
respectively, since these codecs are guaranteed to be available by
_ensure_default_encoding().

svn path=/main/trunk/; revision=12689

15 years agoAdd support in _ensure_default_encoding(), add support for utf_8 and fall
Zac Medico [Mon, 23 Feb 2009 03:03:46 +0000 (03:03 -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.

svn path=/main/trunk/; revision=12688

15 years agoWhen decoding term codes inside the JobStatusDisplay constructor, use the
Zac Medico [Sun, 22 Feb 2009 23:39:03 +0000 (23:39 -0000)]
When decoding term codes inside the JobStatusDisplay constructor, use the
'replace' error handling scheme in order to avoid triggering a potential
UnicodeError.

svn path=/main/trunk/; revision=12687

15 years agoIn EbuildFetchonly.execute(), skip builddir creation when the ebuild does
Zac Medico [Sun, 22 Feb 2009 22:24:08 +0000 (22:24 -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).

svn path=/main/trunk/; revision=12686

15 years agoAvoid spurious CCACHE_DIR permissions adjustments when fetching with
Zac Medico [Sun, 22 Feb 2009 21:12:03 +0000 (21:12 -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.

svn path=/main/trunk/; revision=12685

15 years agoThe python that's inside stage 1 or 2 is built with a minimal
Zac Medico [Sun, 22 Feb 2009 09:56:27 +0000 (09:56 -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.

svn path=/main/trunk/; revision=12684

15 years agoUse a lock to ensure that threaded code doesn't cause problems with proxy
Zac Medico [Sun, 22 Feb 2009 06:00:34 +0000 (06:00 -0000)]
Use a lock to ensure that threaded code doesn't cause problems with proxy
registration and unregistration.

svn path=/main/trunk/; revision=12683

15 years agoUse lazyimport to avoid importing the portage.elog module when portage is
Zac Medico [Sun, 22 Feb 2009 05:29:46 +0000 (05:29 -0000)]
Use lazyimport to avoid importing the portage.elog module when portage is
initially imported.

svn path=/main/trunk/; revision=12682