portage.git
17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 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

17 years agoRevert accidental python-3.0 syntax. (trunk r12643)
Zac Medico [Wed, 11 Mar 2009 05:52:44 +0000 (05:52 -0000)]
Revert accidental python-3.0 syntax. (trunk r12643)

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

17 years agoFor compatibility with python-3.0, open files in text mode where appropriate.
Zac Medico [Wed, 11 Mar 2009 05:52:24 +0000 (05:52 -0000)]
For compatibility with python-3.0, open files in text mode where appropriate.
(trunk r12642)

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

17 years agoFor compatibility with python-3.0, always open streams for pickles in binary
Zac Medico [Wed, 11 Mar 2009 05:51:57 +0000 (05:51 -0000)]
For compatibility with python-3.0, always open streams for pickles in binary
mode. (trunk r12641)

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

17 years agoFor compatibility with python-3.0, inherit from ObjectProxy instead of
Zac Medico [Wed, 11 Mar 2009 05:48:59 +0000 (05:48 -0000)]
For compatibility with python-3.0, inherit from ObjectProxy instead of
inheriting directly from file. (trunk r12640)

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

17 years agoFor python-3.0 compatibility, don't use string.letters. (trunk r12639)
Zac Medico [Wed, 11 Mar 2009 05:48:48 +0000 (05:48 -0000)]
For python-3.0 compatibility, don't use string.letters. (trunk r12639)

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

17 years agoUse a regular expression for the file.name check. This replaces some odd
Zac Medico [Wed, 11 Mar 2009 05:48:37 +0000 (05:48 -0000)]
Use a regular expression for the file.name check. This replaces some odd
map() usage that 2to3 warns about. (trunk r12638)

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

17 years agoDon't bother to calculate PORTAGE_COUNTER_HASH when in --pretend mode.
Zac Medico [Wed, 11 Mar 2009 05:48:16 +0000 (05:48 -0000)]
Don't bother to calculate PORTAGE_COUNTER_HASH when in --pretend mode.
(trunk r12637)

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

17 years agoInside post_emerge(), skip the vardbapi counter check when in --pretend
Zac Medico [Wed, 11 Mar 2009 05:47:28 +0000 (05:47 -0000)]
Inside post_emerge(), skip the vardbapi counter check when in --pretend
mode (significant performance improvement). Thanks to Marat Radchenko
(slonopotamus) for reporting. (trunk r12636)

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

17 years agoFor python-3.0 compatibility, raise a real exception instead of a string.
Zac Medico [Wed, 11 Mar 2009 05:47:00 +0000 (05:47 -0000)]
For python-3.0 compatibility, raise a real exception instead of a string.
(trunk r12635)

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

17 years agoFor compatibility with python-3.0, use isinstance() instead of type().
Zac Medico [Wed, 11 Mar 2009 05:46:21 +0000 (05:46 -0000)]
For compatibility with python-3.0, use isinstance() instead of type().
(trunk r12633)

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

17 years agoFix classes that implement __iter__() to copy it to their keys() method
Zac Medico [Wed, 11 Mar 2009 05:45:49 +0000 (05:45 -0000)]
Fix classes that implement __iter__() to copy it to their keys() method
when running under >=python-3.0. (trunk r12632)

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

17 years agoRemove redundant ConfigLoaderKlass.__iter__() method. (trunk r12631)
Zac Medico [Wed, 11 Mar 2009 05:45:30 +0000 (05:45 -0000)]
Remove redundant ConfigLoaderKlass.__iter__() method. (trunk r12631)

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

17 years agoImplement UserDict.__contains__() and __iter__(). (trunk r12630)
Zac Medico [Wed, 11 Mar 2009 05:45:06 +0000 (05:45 -0000)]
Implement UserDict.__contains__() and __iter__(). (trunk r12630)

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

17 years agoImplement a substitute for UserDict.UserDict so that code converted via
Zac Medico [Wed, 11 Mar 2009 05:43:56 +0000 (05:43 -0000)]
Implement a substitute for UserDict.UserDict so that code converted via
2to3 will run:

     http://bugs.python.org/issue2876 (trunk r12629)

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

17 years agoIn python-3.0, the UserDict.DictMixin class has been replaced by
Zac Medico [Wed, 11 Mar 2009 05:43:00 +0000 (05:43 -0000)]
In python-3.0, the UserDict.DictMixin class has been replaced by
Mapping and MutableMapping from the collections module, but 2to3
doesn't currently account for this change:

http://bugs.python.org/issue2876

As a workaround for the above issue, implement Mapping and
MutableMapping classes as substitutes for UserDict.DictMixin so
that code converted via 2to3 will run. (trunk r12628)

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

17 years agoSet svn:keywords Id on all files.
Zac Medico [Wed, 11 Mar 2009 05:42:27 +0000 (05:42 -0000)]
Set svn:keywords Id on all files.

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

17 years agoMake save_ebuild_env() filter NOCOLOR, and remove related code from ebuild.sh
Zac Medico [Wed, 11 Mar 2009 05:21:31 +0000 (05:21 -0000)]
Make save_ebuild_env() filter NOCOLOR, and remove related code from ebuild.sh
since that variable is not loaded from $T/environment anymore. (trunk r12625)

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

17 years agoBug #253904 - Add a lookahead mechanism inside
Zac Medico [Wed, 11 Mar 2009 05:20:52 +0000 (05:20 -0000)]
Bug #253904 - Add a lookahead mechanism inside
depgraph._dep_check_composite_db._visible() which masks package choices
that are likely to trigger slot conflicts. Thanks to Vlastimil Babka
<caster@g.o> for the suggestion.
(trunk r12622:12624)

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

17 years agoFix grabfile_package() to preprocess atoms before passing them to
Zac Medico [Wed, 11 Mar 2009 05:19:19 +0000 (05:19 -0000)]
Fix grabfile_package() to preprocess atoms before passing them to
isvalidatom() because isvalidatom() has gotten more strict since r12614.
Thanks to ABCD for reporting. (trunk r12622)

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

17 years agoBug #259124 - Inside EbuildFetcher._start(), pass the NOCOLOR variable into
Zac Medico [Wed, 11 Mar 2009 05:18:56 +0000 (05:18 -0000)]
Bug #259124 - Inside EbuildFetcher._start(), pass the NOCOLOR variable into
the fetch environment, so that --color=n is respected. (trunk r12621)

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

17 years ago (trunk r12620)
Zac Medico [Wed, 11 Mar 2009 05:18:42 +0000 (05:18 -0000)]
 (trunk r12620)

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

17 years agoFix broken references to DepPriority attributes. (trunk r12619)
Zac Medico [Wed, 11 Mar 2009 05:18:22 +0000 (05:18 -0000)]
Fix broken references to DepPriority attributes. (trunk r12619)

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

17 years agoIn dyn_package(), show a more informative die message if an error occurs when
Zac Medico [Wed, 11 Mar 2009 05:17:58 +0000 (05:17 -0000)]
In dyn_package(), show a more informative die message if an error occurs when
creating the tarball. (trunk r12618)

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

17 years agoFix isvalidatom to properly identify an invalid atom such as
Zac Medico [Wed, 11 Mar 2009 05:17:26 +0000 (05:17 -0000)]
Fix isvalidatom to properly identify an invalid atom such as
'dev-java/nanoxml*'. Thanks to Vlastimil Babka <caster@g.o> for reporting.
(trunk r12613:12617)

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

17 years agoFix merge order calculation so that the circular runtime path isn't entered
Zac Medico [Wed, 11 Mar 2009 05:14:58 +0000 (05:14 -0000)]
Fix merge order calculation so that the circular runtime path isn't entered
when it's possible to select a node that only has unsatisfied PDEPEND. This
reverts an unintended change from the patch for bug #250020, and solves a
problem with libperl being merged after perl when building stage 1.
(trunk r12613)

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

17 years agoBug #250020 - When calculating merge order, try to ensure that packages
Zac Medico [Wed, 11 Mar 2009 05:14:23 +0000 (05:14 -0000)]
Bug #250020 - When calculating merge order, try to ensure that packages
listed in DEPEND are updated before whenever possible (even though the
DEPEND may already be satisfied by an installed instance). The changes
to the merge order algorithm should also account for many common cases of
bug #199856, but does not necessarily solve all cases. Whenever possible,
the new algorithm avoids dropping dependencies that are satisfied by installed
packages. Such dependencies are only dropped in a couple of cases:

 * when solving circular dependencies
 * when promoting packages to in the merge list (either
   due an unsatisfied PDEPEND or a portage upgrade) (trunk r12612)

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

17 years agoIn depgraph._serialize_tasks(), when appropriate, execute uninstall tasks
Zac Medico [Wed, 11 Mar 2009 05:12:20 +0000 (05:12 -0000)]
In depgraph._serialize_tasks(), when appropriate, execute uninstall tasks
sooner. This solves some cases of bug #256870 since there is a smaller window
of time for some other failure to cause the uninstall to get discarded.
(trunk r12611)

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

17 years agoFor the --buildpkgonly digraph.hasallzeros() check, remove "nomerge" nodes
Zac Medico [Wed, 11 Mar 2009 05:08:53 +0000 (05:08 -0000)]
For the --buildpkgonly digraph.hasallzeros() check, remove "nomerge" nodes
from the graph. This makes it unnecessary to tweak the dependency priority
for onlydeps packages inside depgraph._add_pkg_dep(). (trunk r12610)

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

17 years agoAutomatically export QA_PRESTRIPPED if it's set. Thanks to Raúl Porcel
Zac Medico [Wed, 11 Mar 2009 05:08:39 +0000 (05:08 -0000)]
Automatically export QA_PRESTRIPPED if it's set. Thanks to Raúl Porcel
<armin76@g.o> for reporting. (trunk r12609)

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

17 years agoIn depgraph._serialize_tasks(), verify that an uninstall task has at least one
Zac Medico [Wed, 11 Mar 2009 05:08:15 +0000 (05:08 -0000)]
In depgraph._serialize_tasks(), verify that an uninstall task has at least one
theoretically mergeable parent before choosing to reverse it's edges.
(trunk r12605)

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

17 years agoFix Scheduler._prevent_builddir_collisions() to skip non-Package instances
Zac Medico [Wed, 11 Mar 2009 05:08:02 +0000 (05:08 -0000)]
Fix Scheduler._prevent_builddir_collisions() to skip non-Package instances
when necessary. (trunk r12604)

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

17 years agoAdd a new "portage.internal" warning for prepalldocs usage since the council
Zac Medico [Wed, 11 Mar 2009 05:07:40 +0000 (05:07 -0000)]
Add a new "portage.internal" warning for prepalldocs usage since the council
ruled that it shouldn't be used in ebuilds. Thanks to Petteri Räty
<betelgeuse@g.o> for the initial patch. (trunk r12603)

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

17 years ago* Remove outdated comment about qa_source() return value (with typo).
Zac Medico [Wed, 11 Mar 2009 05:07:13 +0000 (05:07 -0000)]
* Remove outdated comment about qa_source() return value (with typo).
* Update copyright header.
Thanks to Jeremy Olexa <darkside@g.o> for reporting. (trunk r12602)

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

17 years agoInside portage.fetch(), check for the case where FETCOMMAND creates a
Zac Medico [Wed, 11 Mar 2009 03:54:24 +0000 (03:54 -0000)]
Inside portage.fetch(), check for the case where FETCOMMAND creates a
directory where a file is expected. This can happen if FETCHCOMMAND
erroneously contains wget's -P option where it should instead have -O, as
reported in bug #258433, comment #16. (trunk r12601)

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

17 years agoBug #258433 - In portage.fetch(), check for missing ${FILE} parameter in
Zac Medico [Wed, 11 Mar 2009 03:54:02 +0000 (03:54 -0000)]
Bug #258433 - In portage.fetch(), check for missing ${FILE} parameter in
FETCHCOMMAND or RESUMECOMMAND and bail out early if necessary. (trunk r12600)

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

17 years agoInside depgraph._select_atoms(), only trigger the circular dependency
Zac Medico [Wed, 11 Mar 2009 03:53:38 +0000 (03:53 -0000)]
Inside depgraph._select_atoms(), only trigger the circular dependency
avoidance code for buildtime dependencies. This solves a problem with
virtual/mysql inappropriately pulling in mysql-community from PDEPEND
when satisfying deps of plain mysql. Thanks to Krzysiek Pawlik <nelchael@g.o>
for reporting this issue:
http://archives.gentoo.org/gentoo-dev/msg_efce154d642fe6ede38d084a33c7f949.xml
(trunk r12599)

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

17 years agoBug #258433 - Note FETCHCOMMAND and RESUMECOMMAND requirements wrt ${FILE}
Zac Medico [Wed, 11 Mar 2009 03:51:22 +0000 (03:51 -0000)]
Bug #258433 - Note FETCHCOMMAND and RESUMECOMMAND requirements wrt ${FILE}
for compatibility with EAPI 2. (trunk r12598)

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

17 years agoDocument EAPI 3_pre1. (trunk r12597)
Zac Medico [Wed, 11 Mar 2009 03:50:47 +0000 (03:50 -0000)]
Document EAPI 3_pre1. (trunk r12597)

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

17 years agoAdd new EAPI 3_pre1 value, and disable unpack() support for *.xz for earlier
Zac Medico [Wed, 11 Mar 2009 03:50:20 +0000 (03:50 -0000)]
Add new EAPI 3_pre1 value, and disable unpack() support for *.xz for earlier
EAPI values. (trunk r12596)

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

17 years agoKeep 2_pre* EAPI values in the deprecated list so that uninstalls still
Zac Medico [Wed, 11 Mar 2009 03:49:47 +0000 (03:49 -0000)]
Keep 2_pre* EAPI values in the deprecated list so that uninstalls still
work normally. (trunk r12595)

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

17 years agoRemove support for deprecated 2_pre* EAPI values. (trunk r12594)
Zac Medico [Wed, 11 Mar 2009 03:49:16 +0000 (03:49 -0000)]
Remove support for deprecated 2_pre* EAPI values. (trunk r12594)

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

17 years ago (trunk r12593)
Zac Medico [Wed, 11 Mar 2009 03:48:50 +0000 (03:48 -0000)]
 (trunk r12593)

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

17 years agoFilter the new hasg and hasgq functions inside save_ebuild_env(). (trunk r12592)
Zac Medico [Wed, 11 Mar 2009 03:47:47 +0000 (03:47 -0000)]
Filter the new hasg and hasgq functions inside save_ebuild_env(). (trunk r12592)

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

17 years agoEscape globs in hasgq arguments in order to prevent bash from trying
Zac Medico [Wed, 11 Mar 2009 03:47:19 +0000 (03:47 -0000)]
Escape globs in hasgq arguments in order to prevent bash from trying
to perform filename expansion. (trunk r12591)

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

17 years ago (trunk r12590)
Zac Medico [Wed, 11 Mar 2009 03:45:28 +0000 (03:45 -0000)]
 (trunk r12590)

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

17 years ago (trunk r12589)
Zac Medico [Wed, 11 Mar 2009 03:45:12 +0000 (03:45 -0000)]
 (trunk r12589)

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

17 years ago (trunk r12588)
Zac Medico [Wed, 11 Mar 2009 03:45:01 +0000 (03:45 -0000)]
 (trunk r12588)

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

17 years agoFix digraph.clone() to properly clone priority lists. (trunk r12587)
Zac Medico [Wed, 11 Mar 2009 03:44:38 +0000 (03:44 -0000)]
Fix digraph.clone() to properly clone priority lists. (trunk r12587)

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

17 years agoMake DepPriority.__str__() indicate optional deps. (trunk r12586)
Zac Medico [Wed, 11 Mar 2009 03:44:14 +0000 (03:44 -0000)]
Make DepPriority.__str__() indicate optional deps. (trunk r12586)

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

17 years agoInside depgraph._serialize_tasks(), simplify the logic which delays selection
Zac Medico [Wed, 11 Mar 2009 03:44:00 +0000 (03:44 -0000)]
Inside depgraph._serialize_tasks(), simplify the logic which delays selection
of root nodes. (trunk r12585)

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

17 years agoFor python-3.0 compatibility, make dict-like classes modify their keys(),
Zac Medico [Wed, 11 Mar 2009 03:40:57 +0000 (03:40 -0000)]
For python-3.0 compatibility, make dict-like classes modify their keys(),
items(), and values() methods appropriatly for the current python version.
(trunk r12584)

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

17 years agoWarn about WANT_AUTO(CONF|MAKE)=latest settings since they are redundant.
Zac Medico [Wed, 11 Mar 2009 03:40:36 +0000 (03:40 -0000)]
Warn about WANT_AUTO(CONF|MAKE)=latest settings since they are redundant.
Thanks to Petteri Räty <betelgeuse@g.o> for the initial patch. (trunk r12583)

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

17 years agoFix the priorities display in digraph.debug_print() so it shows the highest
Zac Medico [Wed, 11 Mar 2009 03:40:20 +0000 (03:40 -0000)]
Fix the priorities display in digraph.debug_print() so it shows the highest
priority (since multiple priorities are now supported). (trunk r12582)

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

17 years agoFix Scheduler._find_system_deps() so that it only traverses runtime deps.
Zac Medico [Wed, 11 Mar 2009 03:39:50 +0000 (03:39 -0000)]
Fix Scheduler._find_system_deps() so that it only traverses runtime deps.
(trunk r12581)

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

17 years agoAdd support in digraph for multiple priorities per edge and support for
Zac Medico [Wed, 11 Mar 2009 03:39:31 +0000 (03:39 -0000)]
Add support in digraph for multiple priorities per edge and support for
callable ignore_priority arguments that can be used for finer grained
filtering. (trunk r12580)

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

17 years agoAdd UnmergeDepPriority.optional attribute, to avoid traceback. (trunk r12579)
Zac Medico [Wed, 11 Mar 2009 03:39:14 +0000 (03:39 -0000)]
Add UnmergeDepPriority.optional attribute, to avoid traceback. (trunk r12579)

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

17 years agoBug #256616 - Also consider deep runtime dependencies of system packages when
Zac Medico [Wed, 11 Mar 2009 03:38:48 +0000 (03:38 -0000)]
Bug #256616 - Also consider deep runtime dependencies of system packages when
adding packages to merge_wait_queue. (trunk r12578)

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

17 years agoFor optional deps pulled in by --with-bdeps=y, set DepPriority.buildtime to
Zac Medico [Wed, 11 Mar 2009 03:38:21 +0000 (03:38 -0000)]
For optional deps pulled in by --with-bdeps=y, set DepPriority.buildtime to
False. (trunk r12577)

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

17 years agoAdd a DepPriority.optional attribute for optional build time deps that are
Zac Medico [Wed, 11 Mar 2009 03:37:34 +0000 (03:37 -0000)]
Add a DepPriority.optional attribute for optional build time deps that are
pulled in by --with-bdeps=y. (trunk r12576)

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

17 years agoMake emerge --regen return non-zero if that are any failures. Thanks to Daniel
Zac Medico [Wed, 11 Mar 2009 03:36:37 +0000 (03:36 -0000)]
Make emerge --regen return non-zero if that are any failures. Thanks to Daniel
Robbins for reporting. (trunk r12575)

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

17 years agoUse portage.util.cmp_sort_key for python-3.0 compatibility. (trunk r12574)
Zac Medico [Wed, 11 Mar 2009 03:36:24 +0000 (03:36 -0000)]
Use portage.util.cmp_sort_key for python-3.0 compatibility. (trunk r12574)

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

17 years agoUse portage.util.cmp_sort_key for python-3.0 compatibility. (trunk r12573)
Zac Medico [Wed, 11 Mar 2009 03:36:10 +0000 (03:36 -0000)]
Use portage.util.cmp_sort_key for python-3.0 compatibility. (trunk r12573)

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

17 years agoUse portage.util.cmp_sort_key for python-3.0 compatibility. (trunk r12572)
Zac Medico [Wed, 11 Mar 2009 03:35:50 +0000 (03:35 -0000)]
Use portage.util.cmp_sort_key for python-3.0 compatibility. (trunk r12572)

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

17 years agoAdd a cmp_sort_key class which makes it easier to port code for python-3.0
Zac Medico [Wed, 11 Mar 2009 03:35:29 +0000 (03:35 -0000)]
Add a cmp_sort_key class which makes it easier to port code for python-3.0
compatibility. It works by generating key objects which use the given cmp
function to implement their __lt__ method. (trunk r12571)

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

17 years agoIn depgraph._serialize_tasks(), when separating uninstall nodes from leaf
Zac Medico [Wed, 11 Mar 2009 03:33:03 +0000 (03:33 -0000)]
In depgraph._serialize_tasks(), when separating uninstall nodes from leaf
nodes, do it earlier so that it covers more code paths. (trunk r12570)

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

17 years agoBug #256616 - Since dependencies on system packages are frequently unspecified,
Zac Medico [Wed, 11 Mar 2009 03:32:45 +0000 (03:32 -0000)]
Bug #256616 - Since dependencies on system packages are frequently unspecified,
merge them only when no builds are executing. When a system package finishes
building, it's added to a wait queue that is only processed when the number
of running builds drops to zero. All pending merges are then processed before
any new builds are allowed to start. (trunk r12569)

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

17 years agoFix logic inside depgraph._serialize_tasks() to avoid the circular runtime
Zac Medico [Wed, 11 Mar 2009 03:32:05 +0000 (03:32 -0000)]
Fix logic inside depgraph._serialize_tasks() to avoid the circular runtime
deps path in some cases when it's not appropriate. This solves a case that
was reported, in which the perl was merged before libperl due do perl and
lots of it's deps being selected all at once. In this case, so many packages
were selected at once that the cmp_circular_bias() sort did not order them
very well (though it normally works fine with a smaller number of packages).
Thanks to Daniel Robbins for reporting this issue and helping me reproduce
it. (trunk r12568)

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

17 years agoImplement Manifest2Entry.__ne__() so that comparisons inside Manifest.write()
Zac Medico [Wed, 11 Mar 2009 03:31:39 +0000 (03:31 -0000)]
Implement Manifest2Entry.__ne__() so that comparisons inside Manifest.write()
work properly (to avoid rewriting an identical manifest when possible).
(trunk r12567)

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

17 years agoAlways ignore hidden files when generating Manifests. Thanks to Christian
Zac Medico [Wed, 11 Mar 2009 03:30:14 +0000 (03:30 -0000)]
Always ignore hidden files when generating Manifests. Thanks to Christian
Ruppert for reporting. (trunk r12566)

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

17 years agoFix color in merge list [ebuild ] display, so it's the same regardless of
Zac Medico [Wed, 11 Mar 2009 03:29:40 +0000 (03:29 -0000)]
Fix color in merge list [ebuild   ] display, so it's the same regardless of
$ROOT. (trunk r12560)

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

17 years ago (trunk r12559)
Zac Medico [Wed, 11 Mar 2009 03:29:04 +0000 (03:29 -0000)]
 (trunk r12559)

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

17 years agoIn EbuildFetcher._start(), don't touch the build dir when in prefetch mode.
Zac Medico [Wed, 11 Mar 2009 03:27:55 +0000 (03:27 -0000)]
In EbuildFetcher._start(), don't touch the build dir when in prefetch mode.
In this case, logging goes to emerge-fetch.log and the builddir should not be
touched since otherwise it could interfere with another instance of the same
cpv concurrently being built for a different $ROOT (currently, builds only
cooperate with prefetchers that are spawned for the same $ROOT). Thanks to
Daniel Robbins for reporting this issue. (trunk r12558)

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

17 years agoWhen scheduling builds in parallel for --jobs, avoid potential build dir
Zac Medico [Wed, 11 Mar 2009 03:27:27 +0000 (03:27 -0000)]
When scheduling builds in parallel for --jobs, avoid potential build dir
collisions in cases when the same exact cpv needs to be merged to multiple
$ROOTs (like when building stages). Thanks for Daniel Robbins for reporting
this issue and troubleshooting it. (trunk r12557)

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

17 years agoFix die() usage in ebuild phase examples. Thanks to Jeremy Olexa
Zac Medico [Wed, 11 Mar 2009 03:26:55 +0000 (03:26 -0000)]
Fix die() usage in ebuild phase examples. Thanks to Jeremy Olexa
<darkside@g.o> for this patch. (trunk r12556)

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

17 years agoAdd messages before and after the src_prepare phase. Thanks to Arfrever for
Zac Medico [Wed, 11 Mar 2009 03:26:32 +0000 (03:26 -0000)]
Add messages before and after the src_prepare phase. Thanks to Arfrever for
this patch. (trunk r12555)

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

17 years agoRemove the emerge-fetch.log lock message code from fetch() since this is
Zac Medico [Wed, 11 Mar 2009 03:26:10 +0000 (03:26 -0000)]
Remove the emerge-fetch.log lock message code from fetch() since this is
handled by the EbuildBuild class when it synchronizes with the prefetcher.
(trunk r12554)

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

17 years agoInside fetch(), only mention /var/log/emerge-fetch.log in locking messages
Zac Medico [Wed, 11 Mar 2009 03:25:45 +0000 (03:25 -0000)]
Inside fetch(), only mention /var/log/emerge-fetch.log in locking messages
when called by emerge. (trunk r12553)

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

17 years agoInside depgraph._dep_expand(), filter use dbapi.cp_list() to filter out
Zac Medico [Wed, 11 Mar 2009 03:25:16 +0000 (03:25 -0000)]
Inside depgraph._dep_expand(), filter use dbapi.cp_list() to filter out
any results from dbapi.cp_all() that happen to not contain any ebuilds.
Thanks to Jeremy Olexa <darkside@g.o> for reporting. (trunk r12552)

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

17 years agoAdd an ignore_priority parameter to digraph.parent_nodes(). (trunk r12551)
Zac Medico [Wed, 11 Mar 2009 03:24:21 +0000 (03:24 -0000)]
Add an ignore_priority parameter to digraph.parent_nodes(). (trunk r12551)

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

17 years agoFix typo in previous commit. (trunk r12550)
Zac Medico [Wed, 11 Mar 2009 03:23:58 +0000 (03:23 -0000)]
Fix typo in previous commit. (trunk r12550)

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

17 years agoInside depgraph._add_dep(), drop unnecessary build-time deps if there is
Zac Medico [Wed, 11 Mar 2009 03:23:43 +0000 (03:23 -0000)]
Inside depgraph._add_dep(), drop unnecessary build-time deps if there is
no package available to satisfy it. (trunk r12549)

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

17 years agoInside depgraph.loadResumeCommand(), always enable deep traversal of
Zac Medico [Wed, 11 Mar 2009 03:23:16 +0000 (03:23 -0000)]
Inside depgraph.loadResumeCommand(), always enable deep traversal of
dependencies. This is necessary for correct --keep-going or --resume operation
in case a package from a group of circularly dependent packages fails.
(trunk r12548)

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

17 years agoInside depgraph.loadResumeCommand(), when appropriate, complete the graph
Zac Medico [Wed, 11 Mar 2009 03:22:52 +0000 (03:22 -0000)]
Inside depgraph.loadResumeCommand(), when appropriate, complete the graph
before analyzing any unsatisfied deps that may exist. (trunk r12547)

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

17 years agoMake depgraph._add_dep() ignore fewer dependencies when not in --deep mode, by
Zac Medico [Wed, 11 Mar 2009 03:22:25 +0000 (03:22 -0000)]
Make depgraph._add_dep() ignore fewer dependencies when not in --deep mode, by
making it so that it will always account for dependencies on packages that are
already installed. (trunk r12546)

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