portage.git
16 years agoAdd comma to ("__weakref__",) so that it's a tuple instead of a string.
Zac Medico [Mon, 28 Apr 2008 06:00:11 +0000 (06:00 -0000)]
Add comma to ("__weakref__",) so that it's a tuple instead of a string.
Thanks to ferringb.

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

16 years agoTry to format the elog message better for bug #211833, separating
Zac Medico [Mon, 28 Apr 2008 03:35:41 +0000 (03:35 -0000)]
Try to format the elog message better for bug #211833, separating
paragraphs for easier reading.

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

16 years agoUse write_atomic() for manifest updates.
Zac Medico [Mon, 28 Apr 2008 02:34:27 +0000 (02:34 -0000)]
Use write_atomic() for manifest updates.

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

16 years agoFix PackageVirtualDbapi.cpv_inject() to make sure packages with duplicate
Zac Medico [Mon, 28 Apr 2008 02:03:08 +0000 (02:03 -0000)]
Fix PackageVirtualDbapi.cpv_inject() to make sure packages with duplicate
cpv or slot are handled correctly.

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

16 years agoBug #211833 - When an ebuild removal phase fails, notify the user that
Zac Medico [Mon, 28 Apr 2008 01:22:17 +0000 (01:22 -0000)]
Bug #211833 - When an ebuild removal phase fails, notify the user that
removal of environment.bz2 file will cause the ebuild to be sourced and
eclasses from the current portage tree will be used when necessary.

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

16 years agoAdd missing slot comparison when looking for higher slot in
Zac Medico [Mon, 28 Apr 2008 01:02:31 +0000 (01:02 -0000)]
Add missing slot comparison when looking for higher slot in
_iter_atoms_for_pkg().

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

16 years agoBug #218854 - Fix depgraph._iter_atoms_for_pkg() so that argument atoms
Zac Medico [Mon, 28 Apr 2008 00:52:44 +0000 (00:52 -0000)]
Bug #218854 - Fix depgraph._iter_atoms_for_pkg() so that argument atoms
only match the highest visible slot.

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

16 years agoFix the EbuildQuote check to ignore "echo" and the elog functions since
Zac Medico [Sun, 27 Apr 2008 21:25:20 +0000 (21:25 -0000)]
Fix the EbuildQuote check to ignore "echo" and the elog functions since
people might not want quotes in those cases.

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

16 years ago* Remove the only remaining sys.exit() calls inside the depgraph class.
Zac Medico [Sun, 27 Apr 2008 20:52:22 +0000 (20:52 -0000)]
* Remove the only remaining sys.exit() calls inside the depgraph class.
* Fix _unknown_internal_error() to work with zero arguments.

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

16 years agoNever uninstall sys-apps/portage except through replacement.
Zac Medico [Sun, 27 Apr 2008 20:15:57 +0000 (20:15 -0000)]
Never uninstall sys-apps/portage except through replacement.

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

16 years agoBug #219369 - Enable automatic upgrage or downgrade to a version
Zac Medico [Sun, 27 Apr 2008 19:52:09 +0000 (19:52 -0000)]
Bug #219369 - Enable automatic upgrage or downgrade to a version
with visible KEYWORDS when the installed version is masked by
KEYWORDS, but never reinstall the same exact version only due to
a KEYWORDS mask.

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

16 years agofix logic error
Marius Mauch [Sun, 27 Apr 2008 09:19:20 +0000 (09:19 -0000)]
fix logic error

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

16 years agoactually use rpath for the internal lib check
Marius Mauch [Sun, 27 Apr 2008 08:56:53 +0000 (08:56 -0000)]
actually use rpath for the internal lib check

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

16 years agosome minor code fixes
Marius Mauch [Sun, 27 Apr 2008 08:22:29 +0000 (08:22 -0000)]
some minor code fixes

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

16 years agoTake the classes that initialize variables in __slots__ with keyword
Zac Medico [Sun, 27 Apr 2008 07:22:58 +0000 (07:22 -0000)]
Take the classes that initialize variables in __slots__ with keyword
constructor arguments and make them all derive from a new SlotObject
class.

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

16 years agoCreate a digraph.difference_update() method and use it to amortize the
Zac Medico [Sun, 27 Apr 2008 06:31:11 +0000 (06:31 -0000)]
Create a digraph.difference_update() method and use it to amortize the
cost of removing nodes from the digraph.order list.

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

16 years agoRemove unnecessary "mydbapi" variable in depgraph.display().
Zac Medico [Sun, 27 Apr 2008 00:43:46 +0000 (00:43 -0000)]
Remove unnecessary "mydbapi" variable in depgraph.display().

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

16 years agoBug #172812 - When a package needs to be uninstalled in advance rather
Zac Medico [Sun, 27 Apr 2008 00:10:17 +0000 (00:10 -0000)]
Bug #172812 - When a package needs to be uninstalled in advance rather
than through replacement, show the corresponding [blocks] entries in the
displayed list. In order to show more structure in the --tree display,
expand Package -> Uninstall edges into Package -> Blocker -> Uninstall
edges. Also, create edges between a package's own blockers and it's
Uninstall task since it's blockers become irrelevant as soon as it's
uninstalled.

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

16 years agoAdd a PackageVirtualDbapi.copy() method.
Zac Medico [Sat, 26 Apr 2008 20:23:58 +0000 (20:23 -0000)]
Add a PackageVirtualDbapi.copy() method.

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

16 years agoUse digraphs to clean up blocker reference counting in the depgraph.
Zac Medico [Sat, 26 Apr 2008 20:16:02 +0000 (20:16 -0000)]
Use digraphs to clean up blocker reference counting in the depgraph.

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

16 years agoDon't assume that altlist() will succeed inside display_problems().
Zac Medico [Sat, 26 Apr 2008 05:13:39 +0000 (05:13 -0000)]
Don't assume that altlist() will succeed inside display_problems().

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

16 years ago* Add a Blocker class to use instead of tuples.
Zac Medico [Sat, 26 Apr 2008 03:55:41 +0000 (03:55 -0000)]
* Add a Blocker class to use instead of tuples.
* Fix the Task constructor to properly traverse __slots__ of all inherited
  classes.

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

16 years agoadd LibraryPackageMap replacement using NEEDED.2 files
Marius Mauch [Sat, 26 Apr 2008 01:10:52 +0000 (01:10 -0000)]
add LibraryPackageMap replacement using NEEDED.2 files

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

16 years agoRefactor the way that depgraph.altlist(), _complete_graph(), and
Zac Medico [Fri, 25 Apr 2008 22:26:23 +0000 (22:26 -0000)]
Refactor the way that depgraph.altlist(), _complete_graph(), and
validate_blockers() interact with eachother. This simplifies things
by eliminating the need for recursive calls to validate_blockers().

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

16 years agoBug #219251 - Fix typo in PORTDIR_OVERLAY when searching for sets.conf files.
Zac Medico [Fri, 25 Apr 2008 18:39:18 +0000 (18:39 -0000)]
Bug #219251 - Fix typo in PORTDIR_OVERLAY when searching for sets.conf files.
Thanks to Manuel Nickschas <sputnick@quassel-irc.org> for fixing this.

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

16 years agos/be only/only be/
Zac Medico [Fri, 25 Apr 2008 06:33:50 +0000 (06:33 -0000)]
s/be only/only be/

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

16 years agoremove debug output
Marius Mauch [Fri, 25 Apr 2008 03:41:11 +0000 (03:41 -0000)]
remove debug output

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

16 years agoas NEEDED files don't conain enough formation for e.g. preserve-libsto work properly...
Marius Mauch [Fri, 25 Apr 2008 03:39:58 +0000 (03:39 -0000)]
as NEEDED files don't conain enough formation for e.g. preserve-libsto work properly and we don't want to change the format of existing files create another file including additional information

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

16 years agoAdd some more spinner.update() calls in possibly time consuming loops.
Zac Medico [Fri, 25 Apr 2008 03:16:58 +0000 (03:16 -0000)]
Add some more spinner.update() calls in possibly time consuming loops.

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

16 years agoremove unused function
Marius Mauch [Fri, 25 Apr 2008 03:00:58 +0000 (03:00 -0000)]
remove unused function

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

16 years agoBug #172812 - If any Uninstall tasks need to be executed in order
Zac Medico [Fri, 25 Apr 2008 01:53:44 +0000 (01:53 -0000)]
Bug #172812 - If any Uninstall tasks need to be executed in order
to avoid a conflict, complete the graph with any dependencies that
may have been initially neglected (to ensure that unsafe Uninstall
tasks are properly identified and blocked from execution).

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

16 years agoUpdate description of "complete" depgraph param.
Zac Medico [Thu, 24 Apr 2008 20:43:16 +0000 (20:43 -0000)]
Update description of "complete" depgraph param.

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

16 years agoRename the "consistent" depgraph parameter to "complete" since what it
Zac Medico [Thu, 24 Apr 2008 20:40:11 +0000 (20:40 -0000)]
Rename the "consistent" depgraph parameter to "complete" since what it
really means is that the graph will be complete in the sense that no
known dependencies are neglected.

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

16 years agoAdd a note about automatic uninstallation to solve blockers.
Zac Medico [Thu, 24 Apr 2008 03:58:29 +0000 (03:58 -0000)]
Add a note about automatic uninstallation to solve blockers.

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

16 years agoFix interaction between automatic uninstall and options like --pretend,
Zac Medico [Thu, 24 Apr 2008 03:17:26 +0000 (03:17 -0000)]
Fix interaction between automatic uninstall and options like --pretend,
--fetchonly, and --buildpkgonly.

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

16 years agoHandle potential InvalidDependString exceptions when match packages to
Zac Medico [Thu, 24 Apr 2008 02:55:58 +0000 (02:55 -0000)]
Handle potential InvalidDependString exceptions when match packages to
system and world atoms in depgraph.altlist().

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

16 years agoFix broken mtimedb resume list handling for automatic uninstall tasks.
Zac Medico [Thu, 24 Apr 2008 02:48:45 +0000 (02:48 -0000)]
Fix broken mtimedb resume list handling for automatic uninstall tasks.

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

16 years agoCombine --nodeps spinner logic.
Zac Medico [Thu, 24 Apr 2008 02:31:09 +0000 (02:31 -0000)]
Combine --nodeps spinner logic.

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

16 years agoBug #172812 - When automatically uninstalling packages, build the next
Zac Medico [Thu, 24 Apr 2008 02:21:27 +0000 (02:21 -0000)]
Bug #172812 - When automatically uninstalling packages, build the next
package in the merge list before executing scheduled uninstall tasks.

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

16 years agoSplit out a _dequeue_uninstall_tasks() method.
Zac Medico [Thu, 24 Apr 2008 02:09:04 +0000 (02:09 -0000)]
Split out a _dequeue_uninstall_tasks() method.

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

16 years agoReset the state variables for leaf node selection in depgraph.altlist()
Zac Medico [Thu, 24 Apr 2008 01:49:25 +0000 (01:49 -0000)]
Reset the state variables for leaf node selection in depgraph.altlist()
when appropriate.

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

16 years agoBug #172812 - Protect packages from being removed from the world file
Zac Medico [Wed, 23 Apr 2008 23:58:20 +0000 (23:58 -0000)]
Bug #172812 - Protect packages from being removed from the world file
during automatic uninstallation.

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

16 years agoBug #172812 - Document new automatic uninstallation behavior in the
Zac Medico [Wed, 23 Apr 2008 23:53:01 +0000 (23:53 -0000)]
Bug #172812 - Document new automatic uninstallation behavior in the
"Conflict Avoidance" section.

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

16 years agos/unmerge/uninstall/ for consistency.
Zac Medico [Wed, 23 Apr 2008 23:04:28 +0000 (23:04 -0000)]
s/unmerge/uninstall/ for consistency.

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

16 years agoBug #172812 - Automatically uninstall packages to avoid blocker conflicts.
Zac Medico [Wed, 23 Apr 2008 22:37:51 +0000 (22:37 -0000)]
Bug #172812 - Automatically uninstall packages to avoid blocker conflicts.
The intention is to only uninstall packages that would be removed by
--depclean (after the updates) anyway. To prevent automatic uninstallation
of packages that the user probably wants to keep, the following types of
packages will not be automatically unmerged:

* Installed packages that have been pulled into the current dependency graph.
  Note that this check is not necessarily complete unless the --complete-graph
  option is enabled, making other sanity checks necessary.

* Installed packages matched by atoms from the system set. For safety,
  these are unmerged after being replaced by another version.

* Installed packages matched by atoms from the world set, if there is no
  matching replacement in the current dependency graph.

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

16 years agoBug #172812 - Add an Uninstall class derived from the Package class, for
Zac Medico [Tue, 22 Apr 2008 23:40:34 +0000 (23:40 -0000)]
Bug #172812 - Add an Uninstall class derived from the Package class, for
packages that may need to be uninstalled to avoid conflicts.

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

16 years agoMake dir_get_metadata() retry if a httplib.ResponseNotReady exception
Zac Medico [Tue, 22 Apr 2008 18:29:51 +0000 (18:29 -0000)]
Make dir_get_metadata() retry if a httplib.ResponseNotReady exception
occurs.

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

16 years agoSwap --nospinner and --oneshot for alphabetical ordering.
Zac Medico [Mon, 21 Apr 2008 19:43:55 +0000 (19:43 -0000)]
Swap --nospinner and --oneshot for alphabetical ordering.

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

16 years agoBug #218439 - Improve alignment in short emerge --help options output.
Zac Medico [Mon, 21 Apr 2008 19:41:20 +0000 (19:41 -0000)]
Bug #218439 - Improve alignment in short emerge --help options output.

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

16 years agoIn show_slot_collision_notice(), refer to the problem as a "slot conflict"
Zac Medico [Mon, 21 Apr 2008 18:54:38 +0000 (18:54 -0000)]
In show_slot_collision_notice(), refer to the problem as a "slot conflict"
since that's how I'm refering to it in the docs.

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

16 years agoIn action_metadata(), properly put the source cache in readonly mode.
Zac Medico [Mon, 21 Apr 2008 16:55:14 +0000 (16:55 -0000)]
In action_metadata(), properly put the source cache in readonly mode.

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

16 years agoDocument FEATURES="metadata-transfer" changes some more.
Zac Medico [Mon, 21 Apr 2008 05:14:53 +0000 (05:14 -0000)]
Document FEATURES="metadata-transfer" changes some more.

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

16 years agoFix portage version, should be >=2.1.5.
Zac Medico [Mon, 21 Apr 2008 04:26:46 +0000 (04:26 -0000)]
Fix portage version, should be >=2.1.5.

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

16 years ago* Make portdbapi.aux_get() automatically pull pre-generated metadata
Zac Medico [Mon, 21 Apr 2008 04:00:24 +0000 (04:00 -0000)]
* Make portdbapi.aux_get() automatically pull pre-generated metadata
  directly from the metadata/cache/ directory when metadata-transfer
  is not enabled in FEATURES. This makes all cache modules behave
  similar to existing metadata_overlay module, except when
  FEATURES="metadata-transfer" has been explicitly enabled.

* Remove metadata-transfer from FEATURES in make.globals so that it's
  no longer enabled by default. Users will be happy about this since
  the "Updating Portage cache" part of emerge --sync can be more time
  consuming than the rsync run itself. It's also nicer when when using
  PORTDIR over nfs or bind mounted in a chroot since there's no need
  to run emerge --metadata.

* Update FEATURES="metadata-transfer" docs to warn users of the rsync
  tree to modify eclases in PORTDIR_OVERLAY if necessary instead of
  doing it directly in the rsync tree.

* Relevant updates to /etc/portage/modules docs.

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

16 years agoBug #218559 - Make portdbapi automatically add sandbox write access to
Zac Medico [Sun, 20 Apr 2008 20:50:48 +0000 (20:50 -0000)]
Bug #218559 - Make portdbapi automatically add sandbox write access to
self.depcachedir when appropriate. This makes the portageq blanket sandbox
exemption unnecessary.

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

16 years agoAdd a new part for "Dependency Resolution".
Zac Medico [Fri, 18 Apr 2008 21:30:10 +0000 (21:30 -0000)]
Add a new part for "Dependency Resolution".

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

16 years agoBug #218202 - Make sure the spinner is quiet in --nodep mode.
Zac Medico [Fri, 18 Apr 2008 04:13:28 +0000 (04:13 -0000)]
Bug #218202 - Make sure the spinner is quiet in --nodep mode.

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

16 years agoMake the ccache userpriv permission check from bug #162542 less sensitive
Zac Medico [Fri, 18 Apr 2008 01:43:36 +0000 (01:43 -0000)]
Make the ccache userpriv permission check from bug #162542 less sensitive
by skipping permission checks on files and just checking the directories.

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

16 years agoRemove redundant version sorting in _expand_new_virtuals() since the
Zac Medico [Wed, 16 Apr 2008 22:29:20 +0000 (22:29 -0000)]
Remove redundant version sorting in _expand_new_virtuals() since the
dbapi match results are already sorted.

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

16 years agoFix portdbapi.getfetchlist() so that it doesn't unnecessarily calculate
Zac Medico [Wed, 16 Apr 2008 18:08:41 +0000 (18:08 -0000)]
Fix portdbapi.getfetchlist() so that it doesn't unnecessarily calculate
USE when the "all" parameter is True.

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

16 years agoIf the mysettings parameter is not passed in to portdbapi.getfetchlist()
Zac Medico [Wed, 16 Apr 2008 18:02:28 +0000 (18:02 -0000)]
If the mysettings parameter is not passed in to portdbapi.getfetchlist()
then substitue self.doebuild_settings since that one is mutable which
is necessary in case setcpv() needs to be called.

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

16 years agoBug #217905 - Fix portdbapi.getfetchlist() to correctly calculate
Zac Medico [Wed, 16 Apr 2008 17:54:52 +0000 (17:54 -0000)]
Bug #217905 - Fix portdbapi.getfetchlist() to correctly calculate
USE when the useflags parameter is not passed in.

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

16 years agoHandle potential InvalidDependString exceptions from visible().
Zac Medico [Wed, 16 Apr 2008 00:19:13 +0000 (00:19 -0000)]
Handle potential InvalidDependString exceptions from visible().

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

16 years agoInside dblink.unmerge(), call self.updateprotect() just in case anything
Zac Medico [Tue, 15 Apr 2008 23:11:40 +0000 (23:11 -0000)]
Inside dblink.unmerge(), call self.updateprotect() just in case anything
has changed since the dblink instance was constructed.

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

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