Zac Medico [Sat, 3 May 2008 03:49:45 +0000 (03:49 -0000)]
Move --resume options handling to the beginning of action_build() so
that the current options are updated with the saved options as soon
as possible. (trunk r10122:10124)
svn path=/main/branches/2.1.2/; revision=10125
Zac Medico [Sat, 3 May 2008 03:28:06 +0000 (03:28 -0000)]
Make --nodeps automatically disable --tree. (trunk r10121)
svn path=/main/branches/2.1.2/; revision=10122
Zac Medico [Sat, 3 May 2008 02:57:06 +0000 (02:57 -0000)]
Fix depgraph.loadResumeCommand() to identify an unsatisfied dependency
and invalidate the resume list in that case. (trunk r10119)
svn path=/main/branches/2.1.2/; revision=10120
Zac Medico [Sat, 3 May 2008 02:31:39 +0000 (02:31 -0000)]
* Check for masked packages in the --resume merge list and bail
out in that case (bug #199408).
* In depgraph.loadResumeCommand(), create a dependency graph from
the resume list. This ensures that the merge list has it's
dependencies satisfied. It also enables --tree display together
with --resume.
* Fix --resume mode to check for unsatisfied blockers and bail out when
necessary.
* Add --nodeps to the parallel-fetch --resume options since recalculation of
deps is a a waste here.
* Delete the resume list(s) if there is an unsatisfied block.
(trunk r10113:10117)
svn path=/main/branches/2.1.2/; revision=10118
Zac Medico [Fri, 2 May 2008 22:33:31 +0000 (22:33 -0000)]
Add a PackageVirtualDbapi.__iter__() method and use it to iterate over
all installed packages in depgraph.validate_blockers(). (trunk r10112)
svn path=/main/branches/2.1.2/; revision=10113
Zac Medico [Fri, 2 May 2008 22:13:02 +0000 (22:13 -0000)]
Use match_pkgs() to simplify package comparison. (trunk r10110)
svn path=/main/branches/2.1.2/; revision=10111
Zac Medico [Fri, 2 May 2008 21:49:26 +0000 (21:49 -0000)]
Move the blocker cache validation into depgraph.validate_blockers().
(trunk r10108)
svn path=/main/branches/2.1.2/; revision=10109
Zac Medico [Fri, 2 May 2008 21:10:37 +0000 (21:10 -0000)]
In depgraph.validate_blockers(), discard any "uninstall" tasks scheduled
by previous calls, since those tasks may not make sense given the current
graph state. (trunk r10106)
svn path=/main/branches/2.1.2/; revision=10107
Zac Medico [Fri, 2 May 2008 20:31:33 +0000 (20:31 -0000)]
When searching for a "sys-apps/portage" installation task, use match_pkgs()
instead of sequential search. (trunk r10104)
svn path=/main/branches/2.1.2/; revision=10105
Zac Medico [Fri, 2 May 2008 20:17:04 +0000 (20:17 -0000)]
Use Package.cp attribute instead of calling cpv_getkey(). (trunk r10102)
svn path=/main/branches/2.1.2/; revision=10103
Zac Medico [Fri, 2 May 2008 20:02:45 +0000 (20:02 -0000)]
Use Package instance attributes to clean up and simplify
depgraph.validate_blockers(). (trunk r10100)
svn path=/main/branches/2.1.2/; revision=10101
Zac Medico [Fri, 2 May 2008 19:22:09 +0000 (19:22 -0000)]
In depgraph._serialize_tasks(), filter "nomerge" nodes at a more appropriate
place. (trunk r10098)
svn path=/main/branches/2.1.2/; revision=10099
Zac Medico [Fri, 2 May 2008 19:03:28 +0000 (19:03 -0000)]
In depgraph._complete_graph(), use cached Package instances instead
of constructing new ones. (trunk r10096)
svn path=/main/branches/2.1.2/; revision=10097
Zac Medico [Fri, 2 May 2008 18:28:56 +0000 (18:28 -0000)]
Validate resume list data some more. (trunk r10094)
svn path=/main/branches/2.1.2/; revision=10095
Zac Medico [Fri, 2 May 2008 17:56:21 +0000 (17:56 -0000)]
Clean up merge list handling:
* In depgraph.loadResumeCommand(), populate _serialized_tasks_cache so that
it can be returned from depgraph.altlist().
* Handle --skipfirst instide depgraph.loadResumeCommand(), and fix it to skip
the first "merge" task and never skip "uninstall" tasks.
* Always get the merge list from depgraph.altlist() instead of using
the mtimedb directly. The list returned from depgraph.altlist()
contains Package instances with cached metadata.
* Remove obsolete code from depgraph.display() and MergeTask.merge() since
the merge list always comes from depgraph.altlist() now, and never directly
from the mtimedb.
(trunk r10092)
svn path=/main/branches/2.1.2/; revision=10093
Zac Medico [Fri, 2 May 2008 03:33:09 +0000 (03:33 -0000)]
check if PORTAGE_TMPDIR is mounted readonly/noexec (bug #219957)
(trunk r10069)
svn path=/main/branches/2.1.2/; revision=10076
Zac Medico [Fri, 2 May 2008 03:24:05 +0000 (03:24 -0000)]
Fix broken variable references found by pyflakes. (trunk r10072)
svn path=/main/branches/2.1.2/; revision=10074
Zac Medico [Fri, 2 May 2008 02:57:45 +0000 (02:57 -0000)]
Skip group/owner tarsync options for tarsync if chown on /usr/portage
fails, since the user might still be able to sync even though the
chown call is not permitted. (trunk r10070)
svn path=/main/branches/2.1.2/; revision=10071
Zac Medico [Fri, 2 May 2008 02:28:20 +0000 (02:28 -0000)]
Bug #219837 - Adjust date calculations some more and show an
informative ewarn message when bailing out due to a newer
snapshot being unavailable. (trunk r10067)
svn path=/main/branches/2.1.2/; revision=10068
Zac Medico [Thu, 1 May 2008 20:34:51 +0000 (20:34 -0000)]
Fix variable rename breakage: pkg -> pkg.cpv (trunk r10065)
svn path=/main/branches/2.1.2/; revision=10066
Zac Medico [Thu, 1 May 2008 19:20:44 +0000 (19:20 -0000)]
When adding blockers for installed packages to the graph, use cached
Package instances instead of constructing new ones. (trunk r10062)
svn path=/main/branches/2.1.2/; revision=10063
Zac Medico [Thu, 1 May 2008 18:11:22 +0000 (18:11 -0000)]
Bug #219918 - Remove the last traces of PORTAGE_TMPFS.
svn path=/main/branches/2.1.2/; revision=10061
Marius Mauch [Thu, 1 May 2008 11:55:00 +0000 (11:55 -0000)]
remove PORTAGE_TMPFS comment
svn path=/main/branches/2.1.2/; revision=10058
Zac Medico [Thu, 1 May 2008 07:27:31 +0000 (07:27 -0000)]
Detect an old version of tarsync and use bzip2 compression in that case.
(trunk r10056)
svn path=/main/branches/2.1.2/; revision=10057
Zac Medico [Thu, 1 May 2008 05:43:32 +0000 (05:43 -0000)]
Sort blockers when caching them. (trunk r10054)
svn path=/main/branches/2.1.2/; revision=10055
Zac Medico [Thu, 1 May 2008 05:31:45 +0000 (05:31 -0000)]
Don't add blockers to the graph more times than necessary. (trunk r10052)
svn path=/main/branches/2.1.2/; revision=10053
Zac Medico [Thu, 1 May 2008 04:20:51 +0000 (04:20 -0000)]
* Add a Package.operation attribute and use it to distinguish "uninstall"
operations. (trunk r10050)
svn path=/main/branches/2.1.2/; revision=10051
Zac Medico [Wed, 30 Apr 2008 19:45:54 +0000 (19:45 -0000)]
Fix 2 more types.InstanceType comparisons that are broken by
the transition of dbapi to new-style classes. (trunk r6188)
svn path=/main/branches/2.1.2/; revision=10049
Zac Medico [Wed, 30 Apr 2008 18:28:16 +0000 (18:28 -0000)]
Bug #219837 - Adjust date calculations to improve accuracy. (trunk r10047)
svn path=/main/branches/2.1.2/; revision=10048
Zac Medico [Wed, 30 Apr 2008 09:00:46 +0000 (09:00 -0000)]
Handle a KeyError when validating the blocker cache. (trunk r10045)
svn path=/main/branches/2.1.2/; revision=10046
Zac Medico [Wed, 30 Apr 2008 08:50:44 +0000 (08:50 -0000)]
* Fix dep_check() so that it doesn't expand virtual blockers since the
un-expanded virtual atom is more useful for maintaining a cache of
blocker atoms.
* Expand virtual blockers in depgraph.validate_blockers(), since it's
not done by dep_check() anymore.
* If blocker data from the graph is available, use it to validate the
blocker cache and update the cache if it seems invalid.
* Make BlockerCache._load() more tolerant to installs/uninstalls so
so that cache isn't rebuilt so often.
(trunk r10040:10043)
svn path=/main/branches/2.1.2/; revision=10044
Zac Medico [Wed, 30 Apr 2008 00:11:58 +0000 (00:11 -0000)]
Fix "deep" logic in depgraph._complete_graph() so that it always
properly recognizes whether or not "deep" was previously enabled.
(trunk r10039)
svn path=/main/branches/2.1.2/; revision=10040
Zac Medico [Tue, 29 Apr 2008 18:33:35 +0000 (18:33 -0000)]
Make unmerge() group packages by cat/pn when the order doesn't matter, so
the display appears like earlier versions of portage. (trunk r10037)
svn path=/main/branches/2.1.2/; revision=10038
Zac Medico [Tue, 29 Apr 2008 03:33:29 +0000 (03:33 -0000)]
Prevent some more visible downgrades from possibly being missed (bug #219369).
(trunk r10033:10035)
svn path=/main/branches/2.1.2/; revision=10036
Zac Medico [Mon, 28 Apr 2008 22:23:32 +0000 (22:23 -0000)]
Handle a potential KeyError in depgraph.display() when in --resume mode
and a package scheduled for uninstall is no longer installed. (trunk r10032)
svn path=/main/branches/2.1.2/; revision=10033
Zac Medico [Mon, 28 Apr 2008 21:16:37 +0000 (21:16 -0000)]
When a package scheduled for uninstall isn't installed anymore, move
on to the next task. (trunk r10030)
svn path=/main/branches/2.1.2/; revision=10031
Zac Medico [Mon, 28 Apr 2008 20:44:56 +0000 (20:44 -0000)]
Fix spelling. (trunk r10028)
svn path=/main/branches/2.1.2/; revision=10029
Zac Medico [Mon, 28 Apr 2008 20:31:12 +0000 (20:31 -0000)]
Add a Package.pv_split attibute to optimize version comparison
operators. (trunk r10026)
svn path=/main/branches/2.1.2/; revision=10027
Zac Medico [Mon, 28 Apr 2008 17:35:13 +0000 (17:35 -0000)]
For bug #211833, be explicit that the pkg_prerm() and pkg_postrm() removal
phases are the ones that are skipped. (trunk r10024)
svn path=/main/branches/2.1.2/; revision=10025
Zac Medico [Mon, 28 Apr 2008 17:25:48 +0000 (17:25 -0000)]
As suggested by Chr. Schaefer in bug #211833, comment #15, note that
removal of the environment.bz2 file is preferred since it may allow the
removal phases to execute successfully. (trunk r10022)
svn path=/main/branches/2.1.2/; revision=10023
Zac Medico [Mon, 28 Apr 2008 06:00:59 +0000 (06:00 -0000)]
Add comma to ("__weakref__",) so that it's a tuple instead of a string.
Thanks to ferringb. (trunk r10020)
svn path=/main/branches/2.1.2/; revision=10021
Zac Medico [Mon, 28 Apr 2008 03:41:31 +0000 (03:41 -0000)]
Try to format the elog message better for bug #211833, separating
paragraphs for easier reading. (trunk r10018)
svn path=/main/branches/2.1.2/; revision=10019
Zac Medico [Mon, 28 Apr 2008 02:34:44 +0000 (02:34 -0000)]
Use write_atomic() for manifest updates. (trunk r10016)
svn path=/main/branches/2.1.2/; revision=10017
Zac Medico [Mon, 28 Apr 2008 02:03:48 +0000 (02:03 -0000)]
Fix PackageVirtualDbapi.cpv_inject() to make sure packages with duplicate
cpv or slot are handled correctly. (trunk r10014)
svn path=/main/branches/2.1.2/; revision=10015
Zac Medico [Mon, 28 Apr 2008 01:46:58 +0000 (01:46 -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.
(trunk r10009)
svn path=/main/branches/2.1.2/; revision=10013
Zac Medico [Mon, 28 Apr 2008 01:41:15 +0000 (01:41 -0000)]
Bug #218854 - Fix depgraph._iter_atoms_for_pkg() so that argument atoms
only match the highest visible slot. (trunk r10006:10008)
svn path=/main/branches/2.1.2/; revision=10012
Zac Medico [Mon, 28 Apr 2008 01:30:49 +0000 (01:30 -0000)]
Fix the EbuildQuote check to ignore "echo" and the elog functions since
people might not want quotes in those cases. (trunk r10006)
svn path=/main/branches/2.1.2/; revision=10011
Zac Medico [Mon, 28 Apr 2008 01:29:34 +0000 (01:29 -0000)]
* Remove the only remaining sys.exit() calls inside the depgraph class.
* Fix _unknown_internal_error() to work with zero arguments.
(trunk r10005)
svn path=/main/branches/2.1.2/; revision=10010
Zac Medico [Sun, 27 Apr 2008 20:16:52 +0000 (20:16 -0000)]
Never uninstall sys-apps/portage except through replacement. (trunk r10003)
svn path=/main/branches/2.1.2/; revision=10004
Zac Medico [Sun, 27 Apr 2008 19:56:50 +0000 (19:56 -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. (trunk r10001)
svn path=/main/branches/2.1.2/; revision=10002
Zac Medico [Sun, 27 Apr 2008 07:26:25 +0000 (07:26 -0000)]
Take the classes that initialize variables in __slots__ with keyword
constructor arguments and make them all derive from a new SlotObject
class. (trunk r9994)
svn path=/main/branches/2.1.2/; revision=9995
Zac Medico [Sun, 27 Apr 2008 06:38:37 +0000 (06:38 -0000)]
Create a digraph.difference_update() method and use it to amortize the
cost of removing nodes from the digraph.order list. (trunk r9992)
svn path=/main/branches/2.1.2/; revision=9993
Zac Medico [Sun, 27 Apr 2008 00:44:34 +0000 (00:44 -0000)]
Remove unnecessary "mydbapi" variable in depgraph.display(). (trunk r9990)
svn path=/main/branches/2.1.2/; revision=9991
Zac Medico [Sun, 27 Apr 2008 00:32:06 +0000 (00:32 -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. (trunk r9983)
svn path=/main/branches/2.1.2/; revision=9989
Zac Medico [Sun, 27 Apr 2008 00:26:28 +0000 (00:26 -0000)]
Add a PackageVirtualDbapi.copy() method. (trunk r9982)
svn path=/main/branches/2.1.2/; revision=9988
Zac Medico [Sun, 27 Apr 2008 00:25:51 +0000 (00:25 -0000)]
Use digraphs to clean up blocker reference counting in the depgraph.
(trunk r9981)
svn path=/main/branches/2.1.2/; revision=9987
Zac Medico [Sun, 27 Apr 2008 00:23:47 +0000 (00:23 -0000)]
Don't assume that altlist() will succeed inside display_problems().
(trunk r9980)
svn path=/main/branches/2.1.2/; revision=9986
Zac Medico [Sun, 27 Apr 2008 00:23:03 +0000 (00:23 -0000)]
* Add a Blocker class to use instead of tuples.
* Fix the Task constructor to properly traverse __slots__ of all inherited
classes.
(trunk r9979)
svn path=/main/branches/2.1.2/; revision=9985
Zac Medico [Sun, 27 Apr 2008 00:21:24 +0000 (00:21 -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().
(trunk r9977)
svn path=/main/branches/2.1.2/; revision=9984
Zac Medico [Fri, 25 Apr 2008 17:33:28 +0000 (17:33 -0000)]
Don't duplicate "system" in xterm titles either.
svn path=/main/branches/2.1.2/; revision=9975
Zac Medico [Fri, 25 Apr 2008 17:31:10 +0000 (17:31 -0000)]
Don't show "world" twice in the xterm titles. Thanks to armin76 for reporting.
svn path=/main/branches/2.1.2/; revision=9974
Zac Medico [Fri, 25 Apr 2008 06:34:17 +0000 (06:34 -0000)]
s/be only/only be/ (trunk r9972)
svn path=/main/branches/2.1.2/; revision=9973
Zac Medico [Fri, 25 Apr 2008 03:18:56 +0000 (03:18 -0000)]
Add some more spinner.update() calls in possibly time consuming loops.
(trunk r9968)
svn path=/main/branches/2.1.2/; revision=9969
Zac Medico [Fri, 25 Apr 2008 02:30:39 +0000 (02:30 -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).
(trunk r9962:9965)
svn path=/main/branches/2.1.2/; revision=9966
Zac Medico [Thu, 24 Apr 2008 03:59:59 +0000 (03:59 -0000)]
Add a note about automatic uninstallation to solve blockers. (trunk r9959)
svn path=/main/branches/2.1.2/; revision=9960
Zac Medico [Thu, 24 Apr 2008 03:37:44 +0000 (03:37 -0000)]
Combine --nodeps spinner logic. (trunk r9953)
svn path=/main/branches/2.1.2/; revision=9958
Zac Medico [Thu, 24 Apr 2008 03:34:07 +0000 (03:34 -0000)]
Bug #172812 - Automatically uninstall packages to avoid blocker conflicts.
(trunk r9944:9956)
svn path=/main/branches/2.1.2/; revision=9957
Zac Medico [Tue, 22 Apr 2008 18:30:54 +0000 (18:30 -0000)]
Make dir_get_metadata() retry if a httplib.ResponseNotReady exception
occurs. (trunk r9943)
svn path=/main/branches/2.1.2/; revision=9944
Zac Medico [Mon, 21 Apr 2008 19:44:51 +0000 (19:44 -0000)]
Bug #218439 - Improve alignment in short emerge --help options output.
(trunk r9939:9941)
svn path=/main/branches/2.1.2/; revision=9942
Zac Medico [Mon, 21 Apr 2008 18:55:14 +0000 (18:55 -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. (trunk r9938)
svn path=/main/branches/2.1.2/; revision=9939
Zac Medico [Mon, 21 Apr 2008 16:56:04 +0000 (16:56 -0000)]
In action_metadata(), properly put the source cache in readonly mode.
(trunk r9936)
svn path=/main/branches/2.1.2/; revision=9937
Zac Medico [Mon, 21 Apr 2008 05:16:24 +0000 (05:16 -0000)]
Document FEATURES="metadata-transfer" changes some more. (trunk r9934)
svn path=/main/branches/2.1.2/; revision=9935
Zac Medico [Mon, 21 Apr 2008 04:27:08 +0000 (04:27 -0000)]
Fix portage version, should be >=2.1.5. (trunk r9932)
svn path=/main/branches/2.1.2/; revision=9933
Zac Medico [Mon, 21 Apr 2008 04:18:12 +0000 (04:18 -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.
(trunk r9930)
svn path=/main/branches/2.1.2/; revision=9931
Zac Medico [Sun, 20 Apr 2008 20:53:33 +0000 (20:53 -0000)]
Bug #218559 - Make portdbapi automatically add sandbox write access to
self.depcachedir when appropriate. This makes the portageq blanket sandbox
exemption unnecessary. (trunk r9928)
svn path=/main/branches/2.1.2/; revision=9929
Zac Medico [Sat, 19 Apr 2008 13:12:11 +0000 (13:12 -0000)]
Add a new part for "Dependency Resolution". (trunk r9926)
svn path=/main/branches/2.1.2/; revision=9927
Zac Medico [Fri, 18 Apr 2008 04:15:07 +0000 (04:15 -0000)]
Bug #218202 - Make sure the spinner is quiet in --nodep mode. (trunk r9924)
svn path=/main/branches/2.1.2/; revision=9925
Zac Medico [Fri, 18 Apr 2008 01:44:15 +0000 (01:44 -0000)]
Make the ccache userpriv permission check from bug #162542 less sensitive
by skipping permission checks on files and just checking the directories.
(trunk r9922)
svn path=/main/branches/2.1.2/; revision=9923
Zac Medico [Wed, 16 Apr 2008 22:31:23 +0000 (22:31 -0000)]
Remove redundant version sorting in _expand_new_virtuals() since the
dbapi match results are already sorted. (trunk r9920)
svn path=/main/branches/2.1.2/; revision=9921
Zac Medico [Wed, 16 Apr 2008 18:09:27 +0000 (18:09 -0000)]
Fix portdbapi.getfetchlist() so that it doesn't unnecessarily calculate
USE when the "all" parameter is True. (trunk r9918)
svn path=/main/branches/2.1.2/; revision=9919
Zac Medico [Wed, 16 Apr 2008 18:02:48 +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. (trunk r9916)
svn path=/main/branches/2.1.2/; revision=9917
Zac Medico [Wed, 16 Apr 2008 17:55:24 +0000 (17:55 -0000)]
Bug #217905 - Fix portdbapi.getfetchlist() to correctly calculate
USE when the useflags parameter is not passed in. (trunk r9914)
svn path=/main/branches/2.1.2/; revision=9915
Zac Medico [Wed, 16 Apr 2008 00:19:56 +0000 (00:19 -0000)]
Handle potential InvalidDependString exceptions from visible(). (trunk r9912)
svn path=/main/branches/2.1.2/; revision=9913
Zac Medico [Tue, 15 Apr 2008 23:12:58 +0000 (23:12 -0000)]
Inside dblink.unmerge(), call self.updateprotect() just in case anything
has changed since the dblink instance was constructed. (trunk r9910)
svn path=/main/branches/2.1.2/; revision=9911
Zac Medico [Tue, 15 Apr 2008 17:56:20 +0000 (17:56 -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. (trunk r9906)
svn path=/main/branches/2.1.2/; revision=9907
Zac Medico [Tue, 15 Apr 2008 17:16:01 +0000 (17:16 -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. (trunk r9904)
svn path=/main/branches/2.1.2/; revision=9905
Zac Medico [Tue, 15 Apr 2008 06:32:24 +0000 (06:32 -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
Bug #163801#c17, where we want kaffe to satisfy virtual/jdk-1.4
without an extra jvm being pulled in unnecessarily. (trunk r9901)
svn path=/main/branches/2.1.2/; revision=9903
Zac Medico [Tue, 15 Apr 2008 06:17:54 +0000 (06:17 -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. (trunk r9900)
svn path=/main/branches/2.1.2/; revision=9902
Zac Medico [Mon, 14 Apr 2008 23:54:18 +0000 (23:54 -0000)]
Bug #217664 - Fix emerge 'by path' package argument handling so that
Package instances are properly cached (avoiding a KeyError later).
(trunk r9898)
svn path=/main/branches/2.1.2/; revision=9899
Zac Medico [Mon, 14 Apr 2008 21:56:16 +0000 (21:56 -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. (trunk r9896)
svn path=/main/branches/2.1.2/; revision=9897
Zac Medico [Mon, 14 Apr 2008 01:35:25 +0000 (01:35 -0000)]
* Call depgraph._add_dep() to add package dependencies to the graph
as soon as possible rather than pushing them onto the stack. (trunk r9885)
* Fix some breakage in the allow_unsatisfied handling. (trunk r9886)
svn path=/main/branches/2.1.2/; revision=9889
Zac Medico [Mon, 14 Apr 2008 01:32:24 +0000 (01:32 -0000)]
Split out a depgraph._add_dep() method. (trunk r9884)
svn path=/main/branches/2.1.2/; revision=9888
Zac Medico [Mon, 14 Apr 2008 01:27:41 +0000 (01:27 -0000)]
s/timetasmp/timestamp/ (trunk r9883)
svn path=/main/branches/2.1.2/; revision=9887
Zac Medico [Sun, 13 Apr 2008 23:21:13 +0000 (23:21 -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.
(trunk r9879)
svn path=/main/branches/2.1.2/; revision=9880
Zac Medico [Sun, 13 Apr 2008 22:22:14 +0000 (22:22 -0000)]
To optimize consistency of atom selections, add all of the root packages
to the graph before processing any dependencies. (trunk r9874)
svn path=/main/branches/2.1.2/; revision=9878
Zac Medico [Sun, 13 Apr 2008 22:19:47 +0000 (22:19 -0000)]
Improve lookahead for new-style virtuals:
* Substitute the graph tree for the vartree in dep_check() since we
want atom selections to be consistent with package selections
that 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 all 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.
(trunk r9873)
svn path=/main/branches/2.1.2/; revision=9877
Zac Medico [Sun, 13 Apr 2008 22:13:59 +0000 (22:13 -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. (trunk r9869:9872)
svn path=/main/branches/2.1.2/; revision=9876
Zac Medico [Sun, 13 Apr 2008 22:07:18 +0000 (22:07 -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.
(trunk r9863:9865)
svn path=/main/branches/2.1.2/; revision=9875
Zac Medico [Sun, 13 Apr 2008 05:40:33 +0000 (05:40 -0000)]
Bug #215673 - Make ebuild.sh leave IUSE defaults intact instead of filtering
them out. The built_with_use() function in eutils.eclass needs to be updated
for compatibility. (trunk r9674)
svn path=/main/branches/2.1.2/; revision=9863
Zac Medico [Sun, 13 Apr 2008 01:56:35 +0000 (01:56 -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).
(trunk r9860)
svn path=/main/branches/2.1.2/; revision=9861