portage.git
16 years agoThe dependency resolver now has a feedback mechanism that helps make atom
Zac Medico [Tue, 15 Apr 2008 17:54:29 +0000 (17:54 -0000)]
The dependency resolver now has a feedback mechanism that helps make atom
selections more consistent with previous selections that have been added to
the graph. This solves some common cases of bug #1343.

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

16 years agoComment some more on the significance of passing the graph_db and parent
Zac Medico [Tue, 15 Apr 2008 17:14:51 +0000 (17:14 -0000)]
Comment some more on the significance of passing the graph_db and parent
into depgraph._select_atoms() to solve some cases of bug #1343 while
avoiding unresolvable direct circular dependencies.

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

16 years agoAdd support to depgraph._select_atoms() to take a "parent" parameter
Zac Medico [Tue, 15 Apr 2008 06:13:03 +0000 (06:13 -0000)]
Add support to depgraph._select_atoms() to take a "parent" parameter
and use that to try and avoid unresolvable direct circular dependencies
when necessary. Also, make atom selection more consistent with the
graph to solve some cases of bug #1343. This improves the fix from
bug #141118 to work in cases when a virtual is not yet installed but
it has been pulled into the graph. For example, see the case of
in Bug #163801#c17, where we want kaffe to satisfy virtual/jdk-1.4
without an extra jvm being pulled in unnecessarily.

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

16 years agoRevert part of atom selection consistency improvement from r9873 since it
Zac Medico [Tue, 15 Apr 2008 03:49:35 +0000 (03:49 -0000)]
Revert part of atom selection consistency improvement from r9873 since it
in some cases it triggers unresolvable direct circular dependencies. For
example, this happens with gwydion-dylan which depends on either itself
or gwydion-dylan-bin. In case gwydion-dylan is not yet installed,
gwydion-dylan-bin needs to be selected in order to avoid a an unresolvable
direct circular dependency.

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

16 years agoBug #217664 - Fix emerge 'by path' package argument handling so that
Zac Medico [Mon, 14 Apr 2008 23:52:12 +0000 (23:52 -0000)]
Bug #217664 - Fix emerge 'by path' package argument handling so that
Package instances are properly cached (avoiding a KeyError later).

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

16 years agoIn config.setcpv() and regenerate(), replace str.startswith() calls with
Zac Medico [Mon, 14 Apr 2008 21:13:20 +0000 (21:13 -0000)]
In config.setcpv() and regenerate(), replace str.startswith() calls with
slice comparison. It's not pretty but performance is critical in this section
of code and there is a measurable performance difference.

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

16 years agoFix issues with an empty string being passed into
Zac Medico [Mon, 14 Apr 2008 19:18:35 +0000 (19:18 -0000)]
Fix issues with an empty string being passed into
PreservedLibsRegistry.register() now that COUNTER is not loaded
via config.load_infodir(). Thanks to grobian for reporting.

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

16 years agoRevert back to using startwith because I screwed up my benchmark and it
Zac Medico [Mon, 14 Apr 2008 17:00:02 +0000 (17:00 -0000)]
Revert back to using startwith because I screwed up my benchmark and it
turns out starswith is faster than using regular expressions.

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

16 years agoWhen regenerating USE_EXPAND in config.setcpv(), improve performance by
Zac Medico [Mon, 14 Apr 2008 16:32:19 +0000 (16:32 -0000)]
When regenerating USE_EXPAND in config.setcpv(), improve performance by
using regular expression instead of str.startswith().

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

16 years agoFix some breakage in the allow_unsatisfied handling.
Zac Medico [Mon, 14 Apr 2008 01:23:45 +0000 (01:23 -0000)]
Fix some breakage in the allow_unsatisfied handling.

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

16 years agoCall depgraph._add_dep() to add package dependencies to the graph
Zac Medico [Mon, 14 Apr 2008 01:12:03 +0000 (01:12 -0000)]
Call depgraph._add_dep() to add package dependencies to the graph
as soon as possible rather than pushing them onto the stack.

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

16 years agoSplit out a depgraph._add_dep() method.
Zac Medico [Mon, 14 Apr 2008 00:59:14 +0000 (00:59 -0000)]
Split out a depgraph._add_dep() method.

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

16 years agos/timetasmp/timestamp/
Zac Medico [Mon, 14 Apr 2008 00:22:21 +0000 (00:22 -0000)]
s/timetasmp/timestamp/

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

16 years agoFix some more broken logic inside WorldSet.load().
Zac Medico [Mon, 14 Apr 2008 00:09:22 +0000 (00:09 -0000)]
Fix some more broken logic inside WorldSet.load().

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

16 years agoFix buggy logic in WorldSet.load() that causes it to discard all of
Zac Medico [Mon, 14 Apr 2008 00:03:00 +0000 (00:03 -0000)]
Fix buggy logic in WorldSet.load() that causes it to discard all of
it's atoms in some cases (leading to loss of the whole world file).

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

16 years ago* For optimal atom selection, use PackageVirtualDbapi instances in place
Zac Medico [Sun, 13 Apr 2008 23:18:54 +0000 (23:18 -0000)]
* For optimal atom selection, use PackageVirtualDbapi instances in place
  of the vardb for all dep_check() calls.
* Replace dep_check_trees in depgraph.validate_blockers() with the
  equivalent self._graph_trees reference.

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

16 years agoTo optimize consistency of atom selections, add all of the root packages
Zac Medico [Sun, 13 Apr 2008 21:49:52 +0000 (21:49 -0000)]
To optimize consistency of atom selections, add all of the root packages
to the graph before processing any dependencies.

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

16 years agoImprove lookahead for new-style virtuals:
Zac Medico [Sun, 13 Apr 2008 19:57:25 +0000 (19:57 -0000)]
Improve lookahead for new-style virtuals:

* Substitue the graph tree for the vartree in dep_check() since we
  want atom selections to be consistent with package selections
  have already been made.
* Add the selected package to the graph as soon as possible
  so that later dep_check() calls can use it as feedback
  for making more consistent atom selections.
* Expand all slots of new-style virtuals inside _dep_check_composite_db
  so that lookahead examines a matched slots.

This solves some cases of bug #1343, and extends the fix for bug
#141118 to work in cases when a virtual is not yet installed but
it has been pulled into the graph.

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

16 years agoFix the _dep_check_composite_db visibility filtering some more.
Zac Medico [Sun, 13 Apr 2008 19:17:34 +0000 (19:17 -0000)]
Fix the _dep_check_composite_db visibility filtering some more.

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

16 years agoFix _dep_check_composite_db.match() so that it doesn't exempt the highest
Zac Medico [Sun, 13 Apr 2008 19:03:56 +0000 (19:03 -0000)]
Fix _dep_check_composite_db.match() so that it doesn't exempt the highest
slot from visibility checks.

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

16 years agoMake _dep_check_composite_db match() return multiple slots so that
Zac Medico [Sun, 13 Apr 2008 18:01:35 +0000 (18:01 -0000)]
Make _dep_check_composite_db match() return multiple slots so that
it behaves more like other dbapi instances would, and also make it
inherit from dbapi.

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

16 years agostore sets in a different physical location than normal packages for 'world' (makes...
Marius Mauch [Sun, 13 Apr 2008 07:49:38 +0000 (07:49 -0000)]
store sets in a different physical location than normal packages for 'world' (makes ferringb a bit happier, and might have other advantages in the future)

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

16 years agoConvert st_mtime to long for movefile() return type.
Zac Medico [Sun, 13 Apr 2008 07:43:24 +0000 (07:43 -0000)]
Convert st_mtime to long for movefile() return type.

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

16 years agoMake movefile() tolerant to EPERM errors that can be raised from utime()
Zac Medico [Sun, 13 Apr 2008 07:32:46 +0000 (07:32 -0000)]
Make movefile() tolerant to EPERM errors that can be raised from utime()
calls. Instead of failing, use stat() to return the mtime if possible.

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

16 years agofix check for other lib copies to properly exclude the current package
Marius Mauch [Sun, 13 Apr 2008 05:36:05 +0000 (05:36 -0000)]
fix check for other lib copies to properly exclude the current package

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

16 years agoIn --buildpkgonly mode, don't discard RDEPEND and PDEPEND if --empty or
Zac Medico [Sun, 13 Apr 2008 01:53:04 +0000 (01:53 -0000)]
In --buildpkgonly mode, don't discard RDEPEND and PDEPEND if --empty or
--deep are enabled. The makes it possible to run `emerge -eB world` and
have every single package rebuilt (without actually installing anything).

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

16 years agoFix the filtering for bug #215016:
Zac Medico [Sat, 12 Apr 2008 20:32:52 +0000 (20:32 -0000)]
Fix the filtering for bug #215016:

* fix broken comparison for he iuse filtering
* filter out any duplicates that variable may contain

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

16 years agoBug #217444 - Send debug-print() output to stderr so that it can't interfere
Zac Medico [Sat, 12 Apr 2008 19:52:48 +0000 (19:52 -0000)]
Bug #217444 - Send debug-print() output to stderr so that it can't interfere
with command substitution. Thanks to Fabio Rossi <rossi.f@inwind.it> for
this patch.

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

16 years ago* Optimize config.setcpv() to return early if IUSE has not changed since
Zac Medico [Sat, 12 Apr 2008 19:37:26 +0000 (19:37 -0000)]
* Optimize config.setcpv() to return early if IUSE has not changed since
  the previous setcpv() call.

* Add EBUILD_PHASE to the blacklisted variables list.

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

16 years agoBug #215016 - When transforming of USE flags to USE_EXPAND variables,
Zac Medico [Sat, 12 Apr 2008 18:44:02 +0000 (18:44 -0000)]
Bug #215016 - When transforming of USE flags to USE_EXPAND variables,
filter out flags that aren't considered to be part of IUSE or implicit
IUSE. This patch moves all IUSE dependent code from config.regenerate()
to config.setcpv().

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

16 years agoMake binarytree.prevent_collision() adjust permissions on directories
Zac Medico [Sat, 12 Apr 2008 09:16:17 +0000 (09:16 -0000)]
Make binarytree.prevent_collision() adjust permissions on directories
and raise a PermissionDenied error if the required directories is
not writable.

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

16 years agoAdd some notes for the parallel-fetch feature and the new --complete-graph
Zac Medico [Fri, 11 Apr 2008 23:32:17 +0000 (23:32 -0000)]
Add some notes for the parallel-fetch feature and the new --complete-graph
option for emerge.

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

16 years agoRename the undocumented --conistent option to --complete-graph and add
Zac Medico [Fri, 11 Apr 2008 22:56:07 +0000 (22:56 -0000)]
Rename the undocumented --conistent option to --complete-graph and add
some docs.

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

16 years agoMake file_get() redirect FETCHCOMMAND output to stdout just like
Zac Medico [Fri, 11 Apr 2008 21:58:06 +0000 (21:58 -0000)]
Make file_get() redirect FETCHCOMMAND output to stdout just like
portage.fetch() does. Thanks to Ramereth for reporting.

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

16 years agoFix 'undefined name' errors found by pyflakes.
Zac Medico [Fri, 11 Apr 2008 21:19:32 +0000 (21:19 -0000)]
Fix 'undefined name' errors found by pyflakes.

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

16 years agoFix the code from the previous commit so that it doesn't try to pull
Zac Medico [Fri, 11 Apr 2008 20:23:01 +0000 (20:23 -0000)]
Fix the code from the previous commit so that it doesn't try to pull
USE from a portdbapi instance (like when called by repoman) since
portdbapi doesn't return USE in aux_get() calls.

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

16 years agoWhen dep_check() expands new-style virtuals, use USE flags from aux_get
Zac Medico [Fri, 11 Apr 2008 20:11:31 +0000 (20:11 -0000)]
When dep_check() expands new-style virtuals, use USE flags from aux_get
calls to evaluate any conditionals that the depstrings might contain. This
works properly for ebuilds now that aux_get() is backed by Package instances
containing the correct USE.

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

16 years agoMake doebuild() bail out early with a PermissionDenied error if there
Zac Medico [Fri, 11 Apr 2008 19:48:06 +0000 (19:48 -0000)]
Make doebuild() bail out early with a PermissionDenied error if there
is no write access to $PKGDIR.

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

16 years agoRemove unused infodir variable.
Zac Medico [Fri, 11 Apr 2008 19:03:54 +0000 (19:03 -0000)]
Remove unused infodir variable.

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

16 years agoRemove all calls to config.load_infodir() since it doesn't seem
Zac Medico [Fri, 11 Apr 2008 19:01:45 +0000 (19:01 -0000)]
Remove all calls to config.load_infodir() since it doesn't seem
to server any purpose now that the complete environment is loaded
from environment.bz2.

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

16 years agoIn config.setcpv() and load_infodir(), always set known good values
Zac Medico [Fri, 11 Apr 2008 18:46:50 +0000 (18:46 -0000)]
In config.setcpv() and load_infodir(), always set known good values
for CATEGORY and PF, since corruption of these can cause problems.

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

16 years agoCopy group mode bits from $PKGDIR when creating subdirectories.
Zac Medico [Fri, 11 Apr 2008 02:46:52 +0000 (02:46 -0000)]
Copy group mode bits from $PKGDIR when creating subdirectories.

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

16 years agoTweak --buildpkgonly and fakeroot logic so that --buildpkgonly can be
Zac Medico [Fri, 11 Apr 2008 00:37:20 +0000 (00:37 -0000)]
Tweak --buildpkgonly and fakeroot logic so that --buildpkgonly can be
used by a non-root user to build binary packages with fakeroot.

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

16 years agoNest the DepcheckCompositeDB class inside the depgraph class since it's
Zac Medico [Thu, 10 Apr 2008 23:29:50 +0000 (23:29 -0000)]
Nest the DepcheckCompositeDB class inside the depgraph class since it's
not intended for use elsewhere.

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

16 years agoRename variable pkg_cpv to pkg_str.
Zac Medico [Thu, 10 Apr 2008 21:08:11 +0000 (21:08 -0000)]
Rename variable pkg_cpv to pkg_str.

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

16 years agoFix "pkg" variable name collisions in depgraph.display().
Zac Medico [Thu, 10 Apr 2008 21:03:37 +0000 (21:03 -0000)]
Fix "pkg" variable name collisions in depgraph.display().

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

16 years agoMake the CHOST visibility check tolerant of missing CHOST metadata.
Zac Medico [Thu, 10 Apr 2008 20:44:13 +0000 (20:44 -0000)]
Make the CHOST visibility check tolerant of missing CHOST metadata.

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

16 years agoBug #217122 - When waiting for a parallel-fetch download to complete,
Zac Medico [Thu, 10 Apr 2008 20:36:13 +0000 (20:36 -0000)]
Bug #217122 - When waiting for a parallel-fetch download to complete,
show a more friendly and informative message.

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

16 years agoRemove an unused function.
Zac Medico [Thu, 10 Apr 2008 18:03:17 +0000 (18:03 -0000)]
Remove an unused function.

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

16 years agoImplement expansion of catgories in DepcheckCompositeDB.match() for old
Zac Medico [Thu, 10 Apr 2008 17:57:51 +0000 (17:57 -0000)]
Implement expansion of catgories in DepcheckCompositeDB.match() for old
installed packages that may contain atoms that are not fully qualified.

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

16 years agoIterate over a copy of the digraph nodes so that removal can't break
Zac Medico [Thu, 10 Apr 2008 09:11:22 +0000 (09:11 -0000)]
Iterate over a copy of the digraph nodes so that removal can't break
the iterator.

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

16 years agoMake sure that everything except Package nodes is ignored when doing
Zac Medico [Thu, 10 Apr 2008 08:41:28 +0000 (08:41 -0000)]
Make sure that everything except Package nodes is ignored when doing
the --buildpkgonly digraph.hasallzeros() check.

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

16 years agoUse cached Package instances in depgraph.display().
Zac Medico [Thu, 10 Apr 2008 06:34:52 +0000 (06:34 -0000)]
Use cached Package instances in depgraph.display().

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

16 years ago* Make depclean/prune use cached Package instances for visibility checks.
Zac Medico [Thu, 10 Apr 2008 05:58:59 +0000 (05:58 -0000)]
* Make depclean/prune use cached Package instances for visibility checks.
* Make FakeVartree wrap dbapi.match() to make sure the metadata in Package
  instances gets updated for any cpv that is returned from a match()
  call, since the metadata can be accessed directly from the Package instance
  instead of via aux_get().

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

16 years agoMake FakeVartree use PackageVirtualDbapi instead of fakedbapi so that it can
Zac Medico [Thu, 10 Apr 2008 05:39:41 +0000 (05:39 -0000)]
Make FakeVartree use PackageVirtualDbapi instead of fakedbapi so that it can
populate and utilize a cache of Package instances.

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

16 years agoImprove used of cached Package instances in depgraph._select_pkg_from_graph().
Zac Medico [Thu, 10 Apr 2008 05:17:36 +0000 (05:17 -0000)]
Improve used of cached Package instances in depgraph._select_pkg_from_graph().

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

16 years agoReplace the fakdbapi class that is used to track depgraph state with a
Zac Medico [Thu, 10 Apr 2008 05:01:49 +0000 (05:01 -0000)]
Replace the fakdbapi class that is used to track depgraph state with a
similar PackageVirtualDbapi class that uses Package instances internally.
This eliminates some redundancy since the Package instances can be reused
elsewhere, unlike the internal data structures used by fakedbapi.

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

16 years agoAdd some docs for the DepcheckCompositeDB class.
Zac Medico [Wed, 9 Apr 2008 21:51:31 +0000 (21:51 -0000)]
Add some docs for the DepcheckCompositeDB class.

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

16 years agoWhen checking atoms without categories against the installed packages, just
Zac Medico [Wed, 9 Apr 2008 18:31:59 +0000 (18:31 -0000)]
When checking atoms without categories against the installed packages, just
check for existence of the cat/pn rather that a full match.

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

16 years agoFix the docstring for depgraph._dep_expand().
Zac Medico [Wed, 9 Apr 2008 18:21:27 +0000 (18:21 -0000)]
Fix the docstring for depgraph._dep_expand().

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

16 years agoFix minor issues in the calculation of the number of parents omitted from
Zac Medico [Wed, 9 Apr 2008 18:04:10 +0000 (18:04 -0000)]
Fix minor issues in the calculation of the number of parents omitted from
the slot collision display.

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

16 years agoWhen pruning the list of parents for the slot collision display, always
Zac Medico [Wed, 9 Apr 2008 17:55:09 +0000 (17:55 -0000)]
When pruning the list of parents for the slot collision display, always
show parents that themselves have been pulled into collision slots, since
those are more relevant that others. (branches/2.1.2 r9773)

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

16 years agoMake DepcheckCompositeDB cache Package instances for aux_get() calls.
Zac Medico [Wed, 9 Apr 2008 17:00:24 +0000 (17:00 -0000)]
Make DepcheckCompositeDB cache Package instances for aux_get() calls.

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

16 years agoWhen depgraph.select_files() expands an atom category, in case of an old-style
Zac Medico [Wed, 9 Apr 2008 16:14:55 +0000 (16:14 -0000)]
When depgraph.select_files() expands an atom category, in case of an old-style
virtual, defer category expansion so that the depgraph has more choices.

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

16 years agoCreate a new depgraph._dep_expand() method for select_files() to expand
Zac Medico [Wed, 9 Apr 2008 07:15:42 +0000 (07:15 -0000)]
Create a new depgraph._dep_expand() method for select_files() to expand
atoms that have no category.

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

16 years agoHandle issues with newlines in elog messages that can trigger an unhandled
Zac Medico [Wed, 9 Apr 2008 05:29:31 +0000 (05:29 -0000)]
Handle issues with newlines in elog messages that can trigger an unhandled
ValueError to be raised from a split() call inside collect_ebuild_messages():
* Use \0 to delimit messages, so that that elog messages containing newlines
  are handled correctly.
* Handle a potential ValueError when splitting the message type.

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

16 years agoMake depgraph.select_files() detect when a package name given as an argument
Zac Medico [Wed, 9 Apr 2008 00:37:10 +0000 (00:37 -0000)]
Make depgraph.select_files() detect when a package name given as an argument
is ambiguous due to the existence of a new-style virtual with the same
name (cpv_expand() will not always raise a ValueError in cases like this).

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

16 years agoSplit out a depgraph method to check if a specific new-style virtual
Zac Medico [Tue, 8 Apr 2008 23:55:25 +0000 (23:55 -0000)]
Split out a depgraph method to check if a specific new-style virtual
package exists.

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

16 years agoBug #162542 - When checking permissions inside CCACHE_DIR for compatibility
Zac Medico [Tue, 8 Apr 2008 22:31:23 +0000 (22:31 -0000)]
Bug #162542 - When checking permissions inside CCACHE_DIR for compatibility
with FEATURES=userpriv, check the permissions on files inside the directory
to decide whether to fix the permissions.

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

16 years agoBug #197810 - Don't automatically downgrade packages for which available
Zac Medico [Tue, 8 Apr 2008 18:42:49 +0000 (18:42 -0000)]
Bug #197810 - Don't automatically downgrade packages for which available
matching versions are masked by corruption, but do automatically downgrade
installed packages that themselves have a valid mask such as from
package.mask.

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

16 years agoFix --update greedy atoms logic so that it only pulls in packages that
Zac Medico [Tue, 8 Apr 2008 17:57:59 +0000 (17:57 -0000)]
Fix --update greedy atoms logic so that it only pulls in packages that
actually match the given atom.

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

16 years agoFix a little issue in the code from bug #197905 that causes some elog
Zac Medico [Tue, 8 Apr 2008 04:43:37 +0000 (04:43 -0000)]
Fix a little issue in the code from bug #197905 that causes some elog
messages to get lost.

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

16 years agoRemove the depgraph._get_arg_for_pkg() method since _iter_atoms_for_pkg()
Zac Medico [Tue, 8 Apr 2008 03:54:22 +0000 (03:54 -0000)]
Remove the depgraph._get_arg_for_pkg() method since _iter_atoms_for_pkg()
does the job.

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

16 years agoRemove unused iter_atoms() function.
Zac Medico [Tue, 8 Apr 2008 03:46:51 +0000 (03:46 -0000)]
Remove unused iter_atoms() function.

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

16 years agoFor repoman, only cache the metadata necessary for visibility
Zac Medico [Mon, 7 Apr 2008 23:47:17 +0000 (23:47 -0000)]
For repoman, only cache the metadata necessary for visibility
checks in order to reduce memory consumption.

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

16 years agoWhen reading and writing the Packages index file, translate metadata keys
Zac Medico [Mon, 7 Apr 2008 23:10:30 +0000 (23:10 -0000)]
When reading and writing the Packages index file, translate metadata keys
on the fly. Current translations:
DESC <-> DESCRIPTION
REPO <-> repository

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

16 years ago* Optimize metadata caching in pordbapi and bindbapi so that cache is
Zac Medico [Mon, 7 Apr 2008 22:12:04 +0000 (22:12 -0000)]
* Optimize metadata caching in pordbapi and bindbapi so that cache is
  never pulled for the same package twice.
* Cache a Package instances constructed during package selection
  and reuse them during later package selections.

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

16 years agoHandle empty KEYWORDS in the Packages file.
Zac Medico [Mon, 7 Apr 2008 07:33:05 +0000 (07:33 -0000)]
Handle empty KEYWORDS in the Packages file.

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

16 years agoFix broken IUSE defaults handling when filtering USE for the Packages file.
Zac Medico [Mon, 7 Apr 2008 06:32:16 +0000 (06:32 -0000)]
Fix broken IUSE defaults handling when filtering USE for the Packages file.

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

16 years agoMove all the --update greedy slot logic to depgraph.select_files().
Zac Medico [Mon, 7 Apr 2008 02:36:56 +0000 (02:36 -0000)]
Move all the --update greedy slot logic to depgraph.select_files().

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

16 years agoMove virtuals logic from DepcheckCompositeDB.match() to
Zac Medico [Mon, 7 Apr 2008 02:04:39 +0000 (02:04 -0000)]
Move virtuals logic from DepcheckCompositeDB.match() to
depgraph._iter_atoms_for_pkg() since it's more generally
useful there.

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

16 years agoFix variable name collision in DepcheckCompositeDB.match().
Zac Medico [Sun, 6 Apr 2008 23:33:43 +0000 (23:33 -0000)]
Fix variable name collision in DepcheckCompositeDB.match().

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

16 years agoFix DepcheckCompositeDB.match() so that it doesn't assume that every
Zac Medico [Sun, 6 Apr 2008 23:28:18 +0000 (23:28 -0000)]
Fix DepcheckCompositeDB.match() so that it doesn't assume that every
DependencyArg instance has an "atom" attribute.

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

16 years agoFix BASH_ARGC and BASH_ARGV offsets some more.
Zac Medico [Sun, 6 Apr 2008 21:44:18 +0000 (21:44 -0000)]
Fix BASH_ARGC and BASH_ARGV offsets some more.

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

16 years agoIn dump_trace(), fix BASH_ARGV and BASH_ARGC offsets so that they are always
Zac Medico [Sun, 6 Apr 2008 21:37:34 +0000 (21:37 -0000)]
In dump_trace(), fix BASH_ARGV and BASH_ARGC offsets so that they are always
correct wrt eachother. Thanks to Betelgeuse for reporting.

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

16 years agoFix java.eclassesnotused logic. Thanks to Betelgeuse.
Zac Medico [Sun, 6 Apr 2008 21:10:16 +0000 (21:10 -0000)]
Fix java.eclassesnotused logic. Thanks to Betelgeuse.

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

16 years agoRename the CompositDbapi class to DepcheckCompositeDB since it's really
Zac Medico [Sun, 6 Apr 2008 19:20:36 +0000 (19:20 -0000)]
Rename the CompositDbapi class to DepcheckCompositeDB since it's really
a special pupose class just for dep_check() and it doesn't implement the
full dbapi interface.

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

16 years agoFix the CompositDbapi.match() logic wrt "selective" behavior and installed
Zac Medico [Sun, 6 Apr 2008 18:53:21 +0000 (18:53 -0000)]
Fix the CompositDbapi.match() logic wrt "selective" behavior and installed
packages so that it correctly handles false argument matches due to PROVIDE
when a corresponding new-style virtual exists.

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

16 years agoonly preserve libraries if no copy exists in the libary search path (bug #215242)
Marius Mauch [Sun, 6 Apr 2008 17:12:41 +0000 (17:12 -0000)]
only preserve libraries if no copy exists in the libary search path (bug #215242)

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

16 years ago* Use type -P which does not produce messages to stderr.
Zac Medico [Sun, 6 Apr 2008 17:09:13 +0000 (17:09 -0000)]
* Use type -P which does not produce messages to stderr.
  another option is to redirect both stderr and out.
* Avoid &> replace with > ... 2>&1
Thanks to Alon Bar-Lev for this patch.

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

16 years agopreserve order of ebuild messages even between different message types (bug #197905)
Marius Mauch [Sun, 6 Apr 2008 14:20:52 +0000 (14:20 -0000)]
preserve order of ebuild messages even between different message types (bug #197905)

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

16 years agoClarify --with-bdeps behavior with example. Thanks to Griffon26 for
Zac Medico [Sat, 5 Apr 2008 23:22:59 +0000 (23:22 -0000)]
Clarify --with-bdeps behavior with example. Thanks to Griffon26 for
this patch.

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

16 years agoWhen necessary, make quickpkg add missing metadata to the vdb entry before
Zac Medico [Sat, 5 Apr 2008 19:51:28 +0000 (19:51 -0000)]
When necessary, make quickpkg add missing metadata to the vdb entry before
creating the binary package.

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

16 years agoHandle a potential InvalidDependString exception inside
Zac Medico [Sat, 5 Apr 2008 18:30:11 +0000 (18:30 -0000)]
Handle a potential InvalidDependString exception inside
CompositeDbapi.match().

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

16 years agoBug #216328 - Fix broken --newuse reinstallation logic.
Zac Medico [Sat, 5 Apr 2008 17:48:23 +0000 (17:48 -0000)]
Bug #216328 - Fix broken --newuse reinstallation logic.

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

16 years agoFix the depgraph package selection cache to update the "existing node"
Zac Medico [Sat, 5 Apr 2008 10:30:43 +0000 (10:30 -0000)]
Fix the depgraph package selection cache to update the "existing node"
state of packages if they've been added to the graph since the last
call.

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

16 years agoFix a typo.
Zac Medico [Sat, 5 Apr 2008 09:42:51 +0000 (09:42 -0000)]
Fix a typo.

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

16 years agoMemoize package selection results in the depgraph for better performance.
Zac Medico [Sat, 5 Apr 2008 09:41:05 +0000 (09:41 -0000)]
Memoize package selection results in the depgraph for better performance.

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

16 years agoRemove "selective" depgraph logic from dep_zapdeps() since it's now
Zac Medico [Sat, 5 Apr 2008 09:15:10 +0000 (09:15 -0000)]
Remove "selective" depgraph logic from dep_zapdeps() since it's now
handled by CompositeDbapi.

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

16 years agoReplace the depgraph's fakedbapi of visible packages with a new
Zac Medico [Sat, 5 Apr 2008 08:50:01 +0000 (08:50 -0000)]
Replace the depgraph's fakedbapi of visible packages with a new
CompositeDbapi that is implemented on top of the depgraph's
existing package selection logic.

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