portage.git
15 years agoHandle ValueError when unpickling, since this can be triggered by an
Zac Medico [Thu, 19 Feb 2009 12:36:51 +0000 (12:36 -0000)]
Handle ValueError when unpickling, since this can be triggered by an
unsupported pickle protocol.

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

15 years agoFix update() methods to work with python-3.0.
Zac Medico [Thu, 19 Feb 2009 12:27:28 +0000 (12:27 -0000)]
Fix update() methods to work with python-3.0.

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

15 years agoTweak exception handling indentation to avoid a bug in 2to3.
Zac Medico [Thu, 19 Feb 2009 11:48:09 +0000 (11:48 -0000)]
Tweak exception handling indentation to avoid a bug in 2to3.

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

15 years agoFor python-3.0 compatibility, encode strings as binary before trying to pass
Zac Medico [Thu, 19 Feb 2009 11:41:48 +0000 (11:41 -0000)]
For python-3.0 compatibility, encode strings as binary before trying to pass
them to hashlib.

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

15 years agoTweak code to avoid python-3.0 errors like this one:
Zac Medico [Thu, 19 Feb 2009 11:36:57 +0000 (11:36 -0000)]
Tweak code to avoid python-3.0 errors like this one:
SyntaxError: can not delete variable 'e' referenced in nested scope

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

15 years agoRevert accidental python-3.0 syntax.
Zac Medico [Thu, 19 Feb 2009 10:28:58 +0000 (10:28 -0000)]
Revert accidental python-3.0 syntax.

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

15 years agoFor compatibility with python-3.0, open files in text mode where appropriate.
Zac Medico [Thu, 19 Feb 2009 10:24:06 +0000 (10:24 -0000)]
For compatibility with python-3.0, open files in text mode where appropriate.

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

15 years agoFor compatibility with python-3.0, always open streams for pickles in binary
Zac Medico [Thu, 19 Feb 2009 10:14:13 +0000 (10:14 -0000)]
For compatibility with python-3.0, always open streams for pickles in binary
mode.

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

15 years agoFor compatibility with python-3.0, inherit from ObjectProxy instead of
Zac Medico [Thu, 19 Feb 2009 09:49:54 +0000 (09:49 -0000)]
For compatibility with python-3.0, inherit from ObjectProxy instead of
inheriting directly from file.

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

15 years agoFor python-3.0 compatibility, don't use string.letters.
Zac Medico [Thu, 19 Feb 2009 09:41:55 +0000 (09:41 -0000)]
For python-3.0 compatibility, don't use string.letters.

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

15 years agoUse a regular expression for the file.name check. This replaces some odd
Zac Medico [Thu, 19 Feb 2009 07:55:45 +0000 (07:55 -0000)]
Use a regular expression for the file.name check. This replaces some odd
map() usage that 2to3 warns about.

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

15 years agoDon't bother to calculate PORTAGE_COUNTER_HASH when in --pretend mode.
Zac Medico [Thu, 19 Feb 2009 07:29:10 +0000 (07:29 -0000)]
Don't bother to calculate PORTAGE_COUNTER_HASH when in --pretend mode.

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

15 years agoInside post_emerge(), skip the vardbapi counter check when in --pretend
Zac Medico [Thu, 19 Feb 2009 07:10:34 +0000 (07:10 -0000)]
Inside post_emerge(), skip the vardbapi counter check when in --pretend
mode (significant performance improvement). Thanks to Marat Radchenko
(slonopotamus) for reporting.

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

15 years agoFor python-3.0 compatibility, raise a real exception instead of a string.
Zac Medico [Thu, 19 Feb 2009 06:50:49 +0000 (06:50 -0000)]
For python-3.0 compatibility, raise a real exception instead of a string.

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

15 years agoBug #230483 - Convert glsa-check option parsing to use the optparse module.
Zac Medico [Thu, 19 Feb 2009 06:39:59 +0000 (06:39 -0000)]
Bug #230483 - Convert glsa-check option parsing to use the optparse module.
This replaces some code which triggers a traceback from 2to3. Thanks to
Ali Polatel <hawking@g.o> for this patch.

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

15 years agoFor compatibility with python-3.0, use isinstance() instead of type().
Zac Medico [Thu, 19 Feb 2009 05:29:48 +0000 (05:29 -0000)]
For compatibility with python-3.0, use isinstance() instead of type().

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

15 years agoFix classes that implement __iter__() to copy it to their keys() method
Zac Medico [Thu, 19 Feb 2009 03:53:21 +0000 (03:53 -0000)]
Fix classes that implement __iter__() to copy it to their keys() method
when running under >=python-3.0.

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

15 years agoRemove redundant ConfigLoaderKlass.__iter__() method.
Zac Medico [Thu, 19 Feb 2009 03:35:07 +0000 (03:35 -0000)]
Remove redundant ConfigLoaderKlass.__iter__() method.

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

15 years agoImplement UserDict.__contains__() and __iter__().
Zac Medico [Thu, 19 Feb 2009 03:34:05 +0000 (03:34 -0000)]
Implement UserDict.__contains__() and __iter__().

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

15 years agoImplement a substitute for UserDict.UserDict so that code converted via
Zac Medico [Thu, 19 Feb 2009 03:27:40 +0000 (03:27 -0000)]
Implement a substitute for UserDict.UserDict so that code converted via
2to3 will run:

     http://bugs.python.org/issue2876

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

15 years agoIn python-3.0, the UserDict.DictMixin class has been replaced by
Zac Medico [Thu, 19 Feb 2009 02:52:36 +0000 (02:52 -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.

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

15 years agoSet svn:keywords Id on all files.
Zac Medico [Wed, 18 Feb 2009 22:50:14 +0000 (22:50 -0000)]
Set svn:keywords Id on all files.

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

15 years agoMake save_ebuild_env() filter NOCOLOR, and remove related code from ebuild.sh
Zac Medico [Wed, 18 Feb 2009 22:23:35 +0000 (22:23 -0000)]
Make save_ebuild_env() filter NOCOLOR, and remove related code from ebuild.sh
since that variable is not loaded from $T/environment anymore.

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

15 years agoCall depgraph._dep_check_composite_db._clear_cache() inside
Zac Medico [Wed, 18 Feb 2009 02:16:34 +0000 (02:16 -0000)]
Call depgraph._dep_check_composite_db._clear_cache() inside
depgraph._add_pkg() since _dep_check_composite_db._visible() is now
affected by which packages are added to the graph.

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

15 years agoBug #253904 - Add a lookahead mechanism inside
Zac Medico [Tue, 17 Feb 2009 23:53:36 +0000 (23:53 -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.

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

15 years agoFix grabfile_package() to preprocess atoms before passing them to
Zac Medico [Tue, 17 Feb 2009 05:23:11 +0000 (05:23 -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.

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

15 years agoBug #259124 - Inside EbuildFetcher._start(), pass the NOCOLOR variable into
Zac Medico [Mon, 16 Feb 2009 01:27:02 +0000 (01:27 -0000)]
Bug #259124 - Inside EbuildFetcher._start(), pass the NOCOLOR variable into
the fetch environment, so that --color=n is respected.

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

15 years agounify code for unpacking of tar files
Mike Frysinger [Mon, 16 Feb 2009 00:02:43 +0000 (00:02 -0000)]
unify code for unpacking of tar files

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

15 years agoFix broken references to DepPriority attributes.
Zac Medico [Sun, 15 Feb 2009 19:14:46 +0000 (19:14 -0000)]
Fix broken references to DepPriority attributes.

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

15 years agoIn dyn_package(), show a more informative die message if an error occurs when
Zac Medico [Sun, 15 Feb 2009 18:54:50 +0000 (18:54 -0000)]
In dyn_package(), show a more informative die message if an error occurs when
creating the tarball.

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

15 years agoAdd a test case for the new case which is detected by isvalidatom().
Zac Medico [Sun, 15 Feb 2009 05:13:26 +0000 (05:13 -0000)]
Add a test case for the new case which is detected by isvalidatom().

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

15 years agoFix more false positives in isvalidatom() from previous commits.
Zac Medico [Sun, 15 Feb 2009 05:10:29 +0000 (05:10 -0000)]
Fix more false positives in isvalidatom() from previous commits.

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

15 years agoFix isvalidatom() logic from previous commit to avoid false positives.
Zac Medico [Sun, 15 Feb 2009 05:01:42 +0000 (05:01 -0000)]
Fix isvalidatom() logic from previous commit to avoid false positives.

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

15 years agoFix isvalidatom to properly identify an invalid atom such as
Zac Medico [Sun, 15 Feb 2009 04:59:03 +0000 (04:59 -0000)]
Fix isvalidatom to properly identify an invalid atom such as
'dev-java/nanoxml*'. Thanks to Vlastimil Babka <caster@g.o> for reporting.

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

15 years agoFix merge order calculation so that the circular runtime path isn't entered
Zac Medico [Sun, 15 Feb 2009 02:35:35 +0000 (02:35 -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.

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

15 years agoBug #250020 - When calculating merge order, try to ensure that packages
Zac Medico [Sat, 14 Feb 2009 22:08:49 +0000 (22:08 -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)

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

15 years agoIn depgraph._serialize_tasks(), when appropriate, execute uninstall tasks
Zac Medico [Sat, 14 Feb 2009 21:33:58 +0000 (21:33 -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.

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

15 years agoFor the --buildpkgonly digraph.hasallzeros() check, remove "nomerge" nodes
Zac Medico [Sat, 14 Feb 2009 19:52:59 +0000 (19:52 -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().

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

15 years agoAutomatically export QA_PRESTRIPPED if it's set. Thanks to Raúl Porcel
Zac Medico [Sat, 14 Feb 2009 19:22:06 +0000 (19:22 -0000)]
Automatically export QA_PRESTRIPPED if it's set. Thanks to Raúl Porcel
<armin76@g.o> for reporting.

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

15 years agoIn depgraph._serialize_tasks(), verify that an uninstall task has at least one
Zac Medico [Fri, 13 Feb 2009 03:29:01 +0000 (03:29 -0000)]
In depgraph._serialize_tasks(), verify that an uninstall task has at least one
theoretically mergeable parent before choosing to reverse it's edges.

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

15 years agoFix Scheduler._prevent_builddir_collisions() to skip non-Package instances
Zac Medico [Fri, 13 Feb 2009 02:53:53 +0000 (02:53 -0000)]
Fix Scheduler._prevent_builddir_collisions() to skip non-Package instances
when necessary.

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

15 years agoAdd a new "portage.internal" warning for prepalldocs usage since the council
Zac Medico [Thu, 12 Feb 2009 23:12:41 +0000 (23:12 -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.

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

15 years ago* Remove outdated comment about qa_source() return value (with typo).
Zac Medico [Thu, 12 Feb 2009 21:43:38 +0000 (21:43 -0000)]
* Remove outdated comment about qa_source() return value (with typo).
* Update copyright header.
Thanks to Jeremy Olexa <darkside@g.o> for reporting.

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

15 years agoInside portage.fetch(), check for the case where FETCOMMAND creates a
Zac Medico [Thu, 12 Feb 2009 03:53:07 +0000 (03:53 -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.

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

15 years agoBug #258433 - In portage.fetch(), check for missing ${FILE} parameter in
Zac Medico [Thu, 12 Feb 2009 03:20:05 +0000 (03:20 -0000)]
Bug #258433 - In portage.fetch(), check for missing ${FILE} parameter in
FETCHCOMMAND or RESUMECOMMAND and bail out early if necessary.

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

15 years agoInside depgraph._select_atoms(), only trigger the circular dependency
Zac Medico [Wed, 11 Feb 2009 20:34:40 +0000 (20:34 -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

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

15 years agoBug #258433 - Note FETCHCOMMAND and RESUMECOMMAND requirements wrt ${FILE}
Zac Medico [Tue, 10 Feb 2009 21:37:57 +0000 (21:37 -0000)]
Bug #258433 - Note FETCHCOMMAND and RESUMECOMMAND requirements wrt ${FILE}
for compatibility with EAPI 2.

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

15 years agoDocument EAPI 3_pre1.
Zac Medico [Mon, 9 Feb 2009 09:38:31 +0000 (09:38 -0000)]
Document EAPI 3_pre1.

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

15 years agoAdd new EAPI 3_pre1 value, and disable unpack() support for *.xz for earlier
Zac Medico [Mon, 9 Feb 2009 09:25:39 +0000 (09:25 -0000)]
Add new EAPI 3_pre1 value, and disable unpack() support for *.xz for earlier
EAPI values.

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

15 years agoKeep 2_pre* EAPI values in the deprecated list so that uninstalls still
Zac Medico [Mon, 9 Feb 2009 09:05:38 +0000 (09:05 -0000)]
Keep 2_pre* EAPI values in the deprecated list so that uninstalls still
work normally.

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

15 years agoRemove support for deprecated 2_pre* EAPI values.
Zac Medico [Mon, 9 Feb 2009 09:02:46 +0000 (09:02 -0000)]
Remove support for deprecated 2_pre* EAPI values.

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

15 years agoadd support for .xz compressed files like .lzma
Mike Frysinger [Sun, 8 Feb 2009 18:40:14 +0000 (18:40 -0000)]
add support for .xz compressed files like .lzma

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

15 years agoFilter the new hasg and hasgq functions inside save_ebuild_env().
Zac Medico [Sat, 7 Feb 2009 22:36:46 +0000 (22:36 -0000)]
Filter the new hasg and hasgq functions inside save_ebuild_env().

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

15 years agoEscape globs in hasgq arguments in order to prevent bash from trying
Zac Medico [Sat, 7 Feb 2009 19:41:09 +0000 (19:41 -0000)]
Escape globs in hasgq arguments in order to prevent bash from trying
to perform filename expansion.

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

15 years agocleanup econf() code -- use hasg* funcs in multilib code to avoid wrong/duplicate...
Mike Frysinger [Sat, 7 Feb 2009 09:45:45 +0000 (09:45 -0000)]
cleanup econf() code -- use hasg* funcs in multilib code to avoid wrong/duplicate parsing methods, move all handling to "$@" to avoid duplication, and make sure we prepend arguments coming from the ebuild rather than append -- only EXTRA_ECONF from user should override things

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

15 years agofix previous commit -- hasq isnt as cool as i thought and doesnt accept globs, so...
Mike Frysinger [Sat, 7 Feb 2009 09:26:08 +0000 (09:26 -0000)]
fix previous commit -- hasq isnt as cool as i thought and doesnt accept globs, so define a new hasg() func that does and use that

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

15 years agofix --libdir detection when econf is passed whitespace/empty arguments ... those...
Mike Frysinger [Sat, 7 Feb 2009 09:14:46 +0000 (09:14 -0000)]
fix --libdir detection when econf is passed whitespace/empty arguments ... those break the plain string expansion comparison

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

15 years agoFix digraph.clone() to properly clone priority lists.
Zac Medico [Thu, 5 Feb 2009 23:02:36 +0000 (23:02 -0000)]
Fix digraph.clone() to properly clone priority lists.

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

15 years agoMake DepPriority.__str__() indicate optional deps.
Zac Medico [Thu, 5 Feb 2009 20:40:24 +0000 (20:40 -0000)]
Make DepPriority.__str__() indicate optional deps.

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

15 years agoInside depgraph._serialize_tasks(), simplify the logic which delays selection
Zac Medico [Thu, 5 Feb 2009 06:36:46 +0000 (06:36 -0000)]
Inside depgraph._serialize_tasks(), simplify the logic which delays selection
of root nodes.

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

15 years agoFor python-3.0 compatibility, make dict-like classes modify their keys(),
Zac Medico [Wed, 4 Feb 2009 23:30:42 +0000 (23:30 -0000)]
For python-3.0 compatibility, make dict-like classes modify their keys(),
items(), and values() methods appropriatly for the current python version.

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

15 years agoWarn about WANT_AUTO(CONF|MAKE)=latest settings since they are redundant.
Zac Medico [Wed, 4 Feb 2009 19:18:45 +0000 (19:18 -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.

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

15 years agoFix the priorities display in digraph.debug_print() so it shows the highest
Zac Medico [Wed, 4 Feb 2009 18:14:50 +0000 (18:14 -0000)]
Fix the priorities display in digraph.debug_print() so it shows the highest
priority (since multiple priorities are now supported).

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

15 years agoFix Scheduler._find_system_deps() so that it only traverses runtime deps.
Zac Medico [Wed, 4 Feb 2009 04:51:33 +0000 (04:51 -0000)]
Fix Scheduler._find_system_deps() so that it only traverses runtime deps.

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

15 years agoAdd support in digraph for multiple priorities per edge and support for
Zac Medico [Wed, 4 Feb 2009 04:05:24 +0000 (04:05 -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.

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

15 years agoAdd UnmergeDepPriority.optional attribute, to avoid traceback.
Zac Medico [Wed, 4 Feb 2009 00:24:50 +0000 (00:24 -0000)]
Add UnmergeDepPriority.optional attribute, to avoid traceback.

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

15 years agoBug #256616 - Also consider deep runtime dependencies of system packages when
Zac Medico [Tue, 3 Feb 2009 22:58:16 +0000 (22:58 -0000)]
Bug #256616 - Also consider deep runtime dependencies of system packages when
adding packages to merge_wait_queue.

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

15 years agoFor optional deps pulled in by --with-bdeps=y, set DepPriority.buildtime to
Zac Medico [Tue, 3 Feb 2009 21:46:23 +0000 (21:46 -0000)]
For optional deps pulled in by --with-bdeps=y, set DepPriority.buildtime to
False.

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

15 years agoAdd a DepPriority.optional attribute for optional build time deps that are
Zac Medico [Tue, 3 Feb 2009 19:23:39 +0000 (19:23 -0000)]
Add a DepPriority.optional attribute for optional build time deps that are
pulled in by --with-bdeps=y.

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

15 years agoMake emerge --regen return non-zero if that are any failures. Thanks to Daniel
Zac Medico [Tue, 3 Feb 2009 18:02:28 +0000 (18:02 -0000)]
Make emerge --regen return non-zero if that are any failures. Thanks to Daniel
Robbins for reporting.

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

15 years agoUse portage.util.cmp_sort_key for python-3.0 compatibility.
Zac Medico [Tue, 3 Feb 2009 00:27:49 +0000 (00:27 -0000)]
Use portage.util.cmp_sort_key for python-3.0 compatibility.

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

15 years agoUse portage.util.cmp_sort_key for python-3.0 compatibility.
Zac Medico [Tue, 3 Feb 2009 00:18:27 +0000 (00:18 -0000)]
Use portage.util.cmp_sort_key for python-3.0 compatibility.

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

15 years agoUse portage.util.cmp_sort_key for python-3.0 compatibility.
Zac Medico [Tue, 3 Feb 2009 00:13:05 +0000 (00:13 -0000)]
Use portage.util.cmp_sort_key for python-3.0 compatibility.

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

15 years agoAdd a cmp_sort_key class which makes it easier to port code for python-3.0
Zac Medico [Mon, 2 Feb 2009 23:53:45 +0000 (23:53 -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.

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

15 years agoIn depgraph._serialize_tasks(), when separating uninstall nodes from leaf
Zac Medico [Mon, 2 Feb 2009 19:19:19 +0000 (19:19 -0000)]
In depgraph._serialize_tasks(), when separating uninstall nodes from leaf
nodes, do it earlier so that it covers more code paths.

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

15 years agoBug #256616 - Since dependencies on system packages are frequently unspecified,
Zac Medico [Mon, 2 Feb 2009 06:11:06 +0000 (06:11 -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.

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

15 years agoFix logic inside depgraph._serialize_tasks() to avoid the circular runtime
Zac Medico [Mon, 2 Feb 2009 01:03:47 +0000 (01:03 -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.

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

15 years agoImplement Manifest2Entry.__ne__() so that comparisons inside Manifest.write()
Zac Medico [Sat, 31 Jan 2009 20:43:26 +0000 (20:43 -0000)]
Implement Manifest2Entry.__ne__() so that comparisons inside Manifest.write()
work properly (to avoid rewriting an identical manifest when possible).

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

15 years agoAlways ignore hidden files when generating Manifests. Thanks to Christian
Zac Medico [Sat, 31 Jan 2009 20:29:17 +0000 (20:29 -0000)]
Always ignore hidden files when generating Manifests. Thanks to Christian
Ruppert for reporting.

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

15 years agoFix color in merge list [ebuild ] display, so it's the same regardless of
Zac Medico [Thu, 29 Jan 2009 18:34:39 +0000 (18:34 -0000)]
Fix color in merge list [ebuild   ] display, so it's the same regardless of
$ROOT.

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

15 years ago- hardened gets way to many misfiled bugs related to qa-execstack. Make it clear...
Ned Ludd [Wed, 28 Jan 2009 22:25:51 +0000 (22:25 -0000)]
- hardened gets way to many misfiled bugs related to qa-execstack. Make it clear that bugs go to the maintainers of the pkg and not hardened for fun and profit

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

15 years agoIn EbuildFetcher._start(), don't touch the build dir when in prefetch mode.
Zac Medico [Wed, 28 Jan 2009 18:39:48 +0000 (18:39 -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.

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

15 years agoWhen scheduling builds in parallel for --jobs, avoid potential build dir
Zac Medico [Wed, 28 Jan 2009 08:47:38 +0000 (08:47 -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.

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

15 years agoFix die() usage in ebuild phase examples. Thanks to Jeremy Olexa
Zac Medico [Sun, 25 Jan 2009 01:27:30 +0000 (01:27 -0000)]
Fix die() usage in ebuild phase examples. Thanks to Jeremy Olexa
<darkside@g.o> for this patch.

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

15 years agoAdd messages before and after the src_prepare phase. Thanks to Arfrever for
Zac Medico [Sun, 25 Jan 2009 00:18:22 +0000 (00:18 -0000)]
Add messages before and after the src_prepare phase. Thanks to Arfrever for
this patch.

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

15 years agoRemove the emerge-fetch.log lock message code from fetch() since this is
Zac Medico [Sat, 24 Jan 2009 19:14:19 +0000 (19:14 -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.

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

15 years agoInside fetch(), only mention /var/log/emerge-fetch.log in locking messages
Zac Medico [Sat, 24 Jan 2009 18:26:08 +0000 (18:26 -0000)]
Inside fetch(), only mention /var/log/emerge-fetch.log in locking messages
when called by emerge.

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

15 years agoInside depgraph._dep_expand(), filter use dbapi.cp_list() to filter out
Zac Medico [Fri, 23 Jan 2009 21:15:34 +0000 (21:15 -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.

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

15 years agoAdd an ignore_priority parameter to digraph.parent_nodes().
Zac Medico [Thu, 22 Jan 2009 22:26:49 +0000 (22:26 -0000)]
Add an ignore_priority parameter to digraph.parent_nodes().

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

15 years agoFix typo in previous commit.
Zac Medico [Thu, 22 Jan 2009 22:00:24 +0000 (22:00 -0000)]
Fix typo in previous commit.

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

15 years agoInside depgraph._add_dep(), drop unnecessary build-time deps if there is
Zac Medico [Thu, 22 Jan 2009 21:33:50 +0000 (21:33 -0000)]
Inside depgraph._add_dep(), drop unnecessary build-time deps if there is
no package available to satisfy it.

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

15 years agoInside depgraph.loadResumeCommand(), always enable deep traversal of
Zac Medico [Thu, 22 Jan 2009 21:13:52 +0000 (21:13 -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.

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

15 years agoInside depgraph.loadResumeCommand(), when appropriate, complete the graph
Zac Medico [Thu, 22 Jan 2009 05:55:24 +0000 (05:55 -0000)]
Inside depgraph.loadResumeCommand(), when appropriate, complete the graph
before analyzing any unsatisfied deps that may exist.

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

15 years agoMake depgraph._add_dep() ignore fewer dependencies when not in --deep mode, by
Zac Medico [Thu, 22 Jan 2009 02:56:00 +0000 (02:56 -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.

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

15 years agoMake listdir(ignorecvs=True) ignore .git directories. Thanks to Christian
Zac Medico [Thu, 22 Jan 2009 00:51:19 +0000 (00:51 -0000)]
Make listdir(ignorecvs=True) ignore .git directories. Thanks to Christian
Ruppert for the suggestion.

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

15 years agoFix interaction between ignorelist and ignorecvs parameters inside cacheddir().
Zac Medico [Thu, 22 Jan 2009 00:43:44 +0000 (00:43 -0000)]
Fix interaction between ignorelist and ignorecvs parameters inside cacheddir().
Thanks to Christian Ruppert for reporting.

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

15 years agoBug #199408 - Always enable the skip_masked and skip_unsatisfied for the
Zac Medico [Wed, 21 Jan 2009 22:49:42 +0000 (22:49 -0000)]
Bug #199408 - Always enable the skip_masked and skip_unsatisfied for the
resume_depgraph() function. This will cause emerge --resume to automatically
drop masked packages (without the need to specify --skipfirst).

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

15 years agoIn depgraph.loadResumeCommand(), account for unsatisfied dependencies of
Zac Medico [Wed, 21 Jan 2009 21:27:20 +0000 (21:27 -0000)]
In depgraph.loadResumeCommand(), account for unsatisfied dependencies of
installed packages if they are in the subgraph of dependencies of a package
which is scheduled to be installed.

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

15 years agoInside depgraph.loadResumeCommand(), ignore unsatisified dependencies that
Zac Medico [Wed, 21 Jan 2009 06:36:36 +0000 (06:36 -0000)]
Inside depgraph.loadResumeCommand(), ignore unsatisified dependencies that
are pulled in by installed packages. This is needed in order to avoid having
--keep-going bail out needlessly when one of a group of circularly dependent
packages fails to install after one or more of the group have already been
installed. TODO: Add sanity checks to make sure that it's really safe to
ignore all the deps that can be ignored by this code.

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

15 years agoWhen in --keep-going mode, don't suppress the list of failed packages display
Zac Medico [Mon, 19 Jan 2009 09:57:35 +0000 (09:57 -0000)]
When in --keep-going mode, don't suppress the list of failed packages display
at the end when there is only one failure, since the failure may have occurred
much earlier and the related output may not be visible any longer.

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