Zac Medico [Mon, 5 May 2008 06:35:57 +0000 (06:35 -0000)]
Add "package" to EBUILD_PHASES since it's possible for einfo to be called
by install_mask() during that phase.
svn path=/main/trunk/; revision=10198
Zac Medico [Mon, 5 May 2008 05:56:52 +0000 (05:56 -0000)]
Bug #219286 - Whitelist INSTALL_MASK so that it works properly for binary
packages. Also, filter INSTALL_MASK when saving or loading environment.bz2.
This also applies to PKG_INSTALL_MASK and DOC_SYMLINKS_DIR, so add them
too.
svn path=/main/trunk/; revision=10195
Zac Medico [Mon, 5 May 2008 05:07:35 +0000 (05:07 -0000)]
* Fix --buildpkgonly logic to avoid an unwanted code path.
* Remove unnecessary mtimedb.pop("resume", None) call.
svn path=/main/trunk/; revision=10194
Zac Medico [Mon, 5 May 2008 04:44:30 +0000 (04:44 -0000)]
Bug #220171 - Filter out 'lost+found' directories in vardbapi.cpv_all()
in order to avoid fatal 'Permission denied' errors. Currently, CVS and
names beginning with '.' are also filtered.
svn path=/main/trunk/; revision=10192
Zac Medico [Mon, 5 May 2008 03:30:24 +0000 (03:30 -0000)]
Use writemsg() to warn about InvalidDependString exceptions that may
occur for installed packages.
svn path=/main/trunk/; revision=10190
Zac Medico [Mon, 5 May 2008 03:27:30 +0000 (03:27 -0000)]
Use a separate digraph to preserve irrelevant blocker relationships that
are removed from depgraph._blocker_parents since the irrelevant blockers
are still needed for the blocker cache.
svn path=/main/trunk/; revision=10188
Zac Medico [Mon, 5 May 2008 03:18:45 +0000 (03:18 -0000)]
Fix misplaced variable.
svn path=/main/trunk/; revision=10186
Zac Medico [Sun, 4 May 2008 19:41:52 +0000 (19:41 -0000)]
In the package uninstall sanity check, use RDEPEND from the currently
running 'sys-apps/portage' instance to create a set of protected atoms.
svn path=/main/trunk/; revision=10184
Marius Mauch [Sun, 4 May 2008 14:16:14 +0000 (14:16 -0000)]
actually remove libraries that aren't strictly needed from the preservation candidate list
svn path=/main/trunk/; revision=10182
Marius Mauch [Sun, 4 May 2008 13:00:53 +0000 (13:00 -0000)]
remove NEEDED from list of metadata variables (and associated special handling) as it's no longer used
svn path=/main/trunk/; revision=10180
Marius Mauch [Sun, 4 May 2008 12:55:24 +0000 (12:55 -0000)]
remove obsolete class
svn path=/main/trunk/; revision=10179
Zac Medico [Sun, 4 May 2008 08:06:58 +0000 (08:06 -0000)]
Similar to the sys-apps/portage protection, also add protection against
inappropriately uninstalling either app-shells/bash or dev-lang/python.
svn path=/main/trunk/; revision=10171
Zac Medico [Sun, 4 May 2008 06:39:58 +0000 (06:39 -0000)]
Do more validation of resume data from the mtimedb.
svn path=/main/trunk/; revision=10165
Zac Medico [Sun, 4 May 2008 05:25:14 +0000 (05:25 -0000)]
In order to fix --tree display behave normally in --resume mode,
properly add to the digraph all packages matched by arguments.
svn path=/main/trunk/; revision=10162
Zac Medico [Sun, 4 May 2008 04:20:24 +0000 (04:20 -0000)]
Fix misplaced variable used as parameter to _load_favorites().
svn path=/main/trunk/; revision=10160
Zac Medico [Sun, 4 May 2008 03:46:19 +0000 (03:46 -0000)]
Fix package counters in depgraph.display() so they're only incremented
for "ordered" display nodes.
svn path=/main/trunk/; revision=10157
Zac Medico [Sun, 4 May 2008 03:24:27 +0000 (03:24 -0000)]
Fix some unwanted interaction between --tree display and unsatisfied
blockers in depgraph.display().
svn path=/main/trunk/; revision=10155
Zac Medico [Sun, 4 May 2008 02:09:34 +0000 (02:09 -0000)]
Remove obsolete tuple() usage inside depgraph.display().
svn path=/main/trunk/; revision=10153
Zac Medico [Sun, 4 May 2008 01:48:04 +0000 (01:48 -0000)]
Fix spelling of _show_unsatisfied_blockers().
svn path=/main/trunk/; revision=10151
Zac Medico [Sun, 4 May 2008 01:04:44 +0000 (01:04 -0000)]
In BlockerData._load(), salvage as much cache as possible when some
seems to be corrupt.
svn path=/main/trunk/; revision=10149
Zac Medico [Sun, 4 May 2008 00:48:45 +0000 (00:48 -0000)]
Validate all the data types inside BlockerCache._load() so that
any corruption is detected as soon as possible.
svn path=/main/trunk/; revision=10147
Zac Medico [Sat, 3 May 2008 23:09:17 +0000 (23:09 -0000)]
When a resume list is rejected, display the invalid resume list data
in case the user is interested. This is enabled with --verbose or
--debug.
svn path=/main/trunk/; revision=10145
Zac Medico [Sat, 3 May 2008 21:57:15 +0000 (21:57 -0000)]
When a --resume list is rejected due to unsatisfied deps, display a
list of missing deps and which packages they belong to.
svn path=/main/trunk/; revision=10143
Zac Medico [Sat, 3 May 2008 21:22:20 +0000 (21:22 -0000)]
Don't clean out old resume lists when in --ask or --pretend mode.
svn path=/main/trunk/; revision=10141
Zac Medico [Sat, 3 May 2008 21:08:27 +0000 (21:08 -0000)]
When loadResumeCommand() rejects a resume list, give a more informative
explanation.
svn path=/main/trunk/; revision=10139
Zac Medico [Sat, 3 May 2008 19:48:13 +0000 (19:48 -0000)]
Fix display_problems() logic some more.
svn path=/main/trunk/; revision=10137
Zac Medico [Sat, 3 May 2008 19:39:49 +0000 (19:39 -0000)]
Fix logic so display_problems() gets called every time display() does.
svn path=/main/trunk/; revision=10136
Zac Medico [Sat, 3 May 2008 19:00:47 +0000 (19:00 -0000)]
Improve --resume handling of saved "favorites" argument atoms:
* Save the favorites in oneshot mode too since they're still useful for
restoring state upon --resume.
* Add a depgraph._load_favorites() method to resume state from a previous
select_files() call. This allows Package instances to be matched with
DependencyArg instances during graph creation.
svn path=/main/trunk/; revision=10134
Zac Medico [Sat, 3 May 2008 08:21:02 +0000 (08:21 -0000)]
* Move circular deps and blocker displays to depgraph.display_problems().
* Always call display_problems() since calling it from inside display()
can lead to unwanted recursion.
svn path=/main/trunk/; revision=10132
Zac Medico [Sat, 3 May 2008 05:53:06 +0000 (05:53 -0000)]
Similar to the circular dependency display, handle the unsatisfied blocker
display inside _serialize_tasks() since that's a convenient place to bail
out.
svn path=/main/trunk/; revision=10130
Zac Medico [Sat, 3 May 2008 04:16:44 +0000 (04:16 -0000)]
Use absolute paths for files in ${DISTDIR}. Thanks to RB <aoz.syn@gmail.com>
for this patch.
svn path=/main/trunk/; revision=10127
Zac Medico [Sat, 3 May 2008 04:13:39 +0000 (04:13 -0000)]
Buf #219294 - Fix 'date' and 'cut' arguments for BSD userland. Thanks to
RB <aoz.syn@gmail.com> for this patch.
svn path=/main/trunk/; revision=10126
Zac Medico [Sat, 3 May 2008 03:47:21 +0000 (03:47 -0000)]
Also move mtimedb resume list validation earlier.
svn path=/main/trunk/; revision=10124
Zac Medico [Sat, 3 May 2008 03:43:19 +0000 (03:43 -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.
svn path=/main/trunk/; revision=10123
Zac Medico [Sat, 3 May 2008 03:27:09 +0000 (03:27 -0000)]
Make --nodepa automatically disable --tree.
svn path=/main/trunk/; revision=10121
Zac Medico [Sat, 3 May 2008 02:55:16 +0000 (02:55 -0000)]
Fix depgraph.loadResumeCommand() to identify an unsatisfied dependency
and invalidate the resume list in that case.
svn path=/main/trunk/; revision=10119
Zac Medico [Sat, 3 May 2008 02:24:40 +0000 (02:24 -0000)]
Delete the resume list(s) if there is an unsatisfied block.
svn path=/main/trunk/; revision=10117
Zac Medico [Sat, 3 May 2008 02:17:23 +0000 (02:17 -0000)]
Add --nodeps to the parallel-fetch --resume options since recalculation of
deps is a a waste here.
svn path=/main/trunk/; revision=10116
Zac Medico [Sat, 3 May 2008 02:14:08 +0000 (02:14 -0000)]
Fix --resume mode to check for unsatisfied blockers and bail out when
necessary.
svn path=/main/trunk/; revision=10115
Zac Medico [Sat, 3 May 2008 01:42:25 +0000 (01:42 -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.
svn path=/main/trunk/; revision=10114
Zac Medico [Fri, 2 May 2008 22:32:01 +0000 (22:32 -0000)]
Add a PackageVirtualDbapi.__iter__() method and use it to iterate over
all installed packages in depgraph.validate_blockers().
svn path=/main/trunk/; revision=10112
Zac Medico [Fri, 2 May 2008 22:11:25 +0000 (22:11 -0000)]
Use match_pkgs() to simplify package comparison.
svn path=/main/trunk/; revision=10110
Zac Medico [Fri, 2 May 2008 21:47:50 +0000 (21:47 -0000)]
Move the blocker cache validation into depgraph.validate_blockers().
svn path=/main/trunk/; revision=10108
Zac Medico [Fri, 2 May 2008 21:09:20 +0000 (21:09 -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.
svn path=/main/trunk/; revision=10106
Zac Medico [Fri, 2 May 2008 20:30:01 +0000 (20:30 -0000)]
When searching for a "sys-apps/portage" installation task, use match_pkgs()
instead of sequential search.
svn path=/main/trunk/; revision=10104
Zac Medico [Fri, 2 May 2008 20:16:06 +0000 (20:16 -0000)]
Use Package.cp attribute instead of calling cpv_getkey().
svn path=/main/trunk/; revision=10102
Zac Medico [Fri, 2 May 2008 19:58:13 +0000 (19:58 -0000)]
Use Package instance attributes to clean up and simplify
depgraph.validate_blockers().
svn path=/main/trunk/; revision=10100
Zac Medico [Fri, 2 May 2008 19:20:29 +0000 (19:20 -0000)]
In depgraph._serialize_tasks(), filter "nomerge" nodes at a more appropriate
place.
svn path=/main/trunk/; revision=10098
Zac Medico [Fri, 2 May 2008 19:02:46 +0000 (19:02 -0000)]
In depgraph._complete_graph(), use cached Package instances instead
of constructing new ones.
svn path=/main/trunk/; revision=10096
Zac Medico [Fri, 2 May 2008 18:27:16 +0000 (18:27 -0000)]
Validate resume list data some more.
svn path=/main/trunk/; revision=10094
Zac Medico [Fri, 2 May 2008 17:47:48 +0000 (17:47 -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.
svn path=/main/trunk/; revision=10092
Marius Mauch [Fri, 2 May 2008 10:46:47 +0000 (10:46 -0000)]
Update documentation for package set configuration. Original patch by Arfrever Frehtes Taifersar Arahesis
svn path=/main/trunk/; revision=10086
Marius Mauch [Fri, 2 May 2008 10:04:20 +0000 (10:04 -0000)]
rename NEEDED.2 to NEEDED.ELF.2 to allow other ABI formats to use a different syntax
svn path=/main/trunk/; revision=10085
Marius Mauch [Fri, 2 May 2008 09:35:56 +0000 (09:35 -0000)]
fix typo
svn path=/main/trunk/; revision=10083
Marius Mauch [Fri, 2 May 2008 09:28:37 +0000 (09:28 -0000)]
use special symlink comparison code (original patch from prefix r9499)
svn path=/main/trunk/; revision=10082
Marius Mauch [Fri, 2 May 2008 08:20:39 +0000 (08:20 -0000)]
v2 of FEATURES=preserved-libs, using LinkageMap instead of the now removed LibraryPackageMap class
svn path=/main/trunk/; revision=10081
Marius Mauch [Fri, 2 May 2008 05:09:48 +0000 (05:09 -0000)]
do not consider sets to be installed that are about to be unmerged
svn path=/main/trunk/; revision=10080
Marius Mauch [Fri, 2 May 2008 05:00:46 +0000 (05:00 -0000)]
move cleaning of sets out of package loop
svn path=/main/trunk/; revision=10079
Marius Mauch [Fri, 2 May 2008 04:57:52 +0000 (04:57 -0000)]
properly remove sets from 'world' when unmerging
svn path=/main/trunk/; revision=10078
Marius Mauch [Fri, 2 May 2008 04:17:52 +0000 (04:17 -0000)]
add config option for package sets to not be recorded in 'world'
svn path=/main/trunk/; revision=10077
Marius Mauch [Fri, 2 May 2008 03:24:30 +0000 (03:24 -0000)]
check if a given package set is defined more than once
svn path=/main/trunk/; revision=10075
Marius Mauch [Fri, 2 May 2008 03:23:38 +0000 (03:23 -0000)]
remove 'sets/' name-prefix for file-based package sets
svn path=/main/trunk/; revision=10073
Zac Medico [Fri, 2 May 2008 03:23:36 +0000 (03:23 -0000)]
Fix broken variable references found by pyflakes.
svn path=/main/trunk/; revision=10072
Zac Medico [Fri, 2 May 2008 02:56:45 +0000 (02:56 -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.
svn path=/main/trunk/; revision=10070
Marius Mauch [Fri, 2 May 2008 02:53:14 +0000 (02:53 -0000)]
check if PORTAGE_TMPDIR is mounted readonly/noexec (bug #219957)
svn path=/main/trunk/; revision=10069
Zac Medico [Fri, 2 May 2008 02:27:37 +0000 (02:27 -0000)]
Bug #219837 - Adjust date calculations some more and show an
informative ewarn message when bailing out due to a newer
snapshot being unavailable.
svn path=/main/trunk/; revision=10067
Zac Medico [Thu, 1 May 2008 20:33:03 +0000 (20:33 -0000)]
Fix variable rename breakage: pkg -> pkg.cpv
svn path=/main/trunk/; revision=10065
Zac Medico [Thu, 1 May 2008 19:15:26 +0000 (19:15 -0000)]
When adding blockers for installed packages to the graph, use cached
Package instances instead of constructing new ones.
svn path=/main/trunk/; revision=10062
Zac Medico [Thu, 1 May 2008 07:26:36 +0000 (07:26 -0000)]
Detect an old version of tarsync and use bzip2 compression in that case.
svn path=/main/trunk/; revision=10056
Zac Medico [Thu, 1 May 2008 05:42:55 +0000 (05:42 -0000)]
Sort blockers when caching them.
svn path=/main/trunk/; revision=10054
Zac Medico [Thu, 1 May 2008 05:30:55 +0000 (05:30 -0000)]
Don't add blockers to the graph more times than necessary.
svn path=/main/trunk/; revision=10052
Zac Medico [Thu, 1 May 2008 04:17:34 +0000 (04:17 -0000)]
* Add a Package.operation attribute and use it to distinguish "uninstall"
operations.
svn path=/main/trunk/; revision=10050
Zac Medico [Wed, 30 Apr 2008 18:25:10 +0000 (18:25 -0000)]
Bug #219837 - Adjust date calculations to improve accuracy.
svn path=/main/trunk/; revision=10047
Zac Medico [Wed, 30 Apr 2008 09:00:24 +0000 (09:00 -0000)]
Handle a KeyError when validating the blocker cache.
svn path=/main/trunk/; revision=10045
Zac Medico [Wed, 30 Apr 2008 08:46:34 +0000 (08:46 -0000)]
Fix broken comparison, compare with None instead of nonzero.
svn path=/main/trunk/; revision=10043
Zac Medico [Wed, 30 Apr 2008 08:40:58 +0000 (08:40 -0000)]
Fix logic to re-use blockers from the graph when populating the blocker cache.
svn path=/main/trunk/; revision=10042
Zac Medico [Wed, 30 Apr 2008 08:30:11 +0000 (08:30 -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 every time.
svn path=/main/trunk/; revision=10041
Zac Medico [Wed, 30 Apr 2008 00:09:25 +0000 (00:09 -0000)]
Fix "deep" logic in depgraph._complete_graph() so that it always
properly recognizes whether or not "deep" was previously enabled.
svn path=/main/trunk/; revision=10039
Zac Medico [Tue, 29 Apr 2008 18:02:09 +0000 (18:02 -0000)]
Make unmerge() group packages by cat/pn when the order doesn't matter, so
the display appears like earlier versions of portage.
svn path=/main/trunk/; revision=10037
Zac Medico [Tue, 29 Apr 2008 03:13:32 +0000 (03:13 -0000)]
Prevent some more visible downgrades from possibly being missed (bug #219369).
svn path=/main/trunk/; revision=10035
Zac Medico [Tue, 29 Apr 2008 03:02:20 +0000 (03:02 -0000)]
Prevent some more visible downgrades from possibly being missed (bug #219369).
svn path=/main/trunk/; revision=10034
Zac Medico [Mon, 28 Apr 2008 22:22:52 +0000 (22:22 -0000)]
Handle a potential KeyError in depgraph.display() when in --resume mode
and a package scheduled for uninstall is no longer installed.
svn path=/main/trunk/; revision=10032
Zac Medico [Mon, 28 Apr 2008 21:15:27 +0000 (21:15 -0000)]
When a package scheduled for uninstall isn't installed anymore, move
on to the next task.
svn path=/main/trunk/; revision=10030
Zac Medico [Mon, 28 Apr 2008 20:44:19 +0000 (20:44 -0000)]
Fix spelling.
svn path=/main/trunk/; revision=10028
Zac Medico [Mon, 28 Apr 2008 20:29:04 +0000 (20:29 -0000)]
Add a Package.pv_split attibute to optimize version comparison
operators.
svn path=/main/trunk/; revision=10026
Zac Medico [Mon, 28 Apr 2008 17:33:38 +0000 (17:33 -0000)]
For bug #211833, be explicit that the pkg_prerm() and pkg_postrm() removal
phases are the ones that are skipped.
svn path=/main/trunk/; revision=10024
Zac Medico [Mon, 28 Apr 2008 17:20:42 +0000 (17:20 -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.
svn path=/main/trunk/; revision=10022
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
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
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
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
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
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
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
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
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
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
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
Marius Mauch [Sun, 27 Apr 2008 09:19:20 +0000 (09:19 -0000)]
fix logic error
svn path=/main/trunk/; revision=9998
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