Zac Medico [Wed, 7 May 2008 18:49:19 +0000 (18:49 -0000)]
Tolerate InvalidDependString exceptions when checking visibility of
installed packages.
svn path=/main/trunk/; revision=10224
Zac Medico [Wed, 7 May 2008 17:06:39 +0000 (17:06 -0000)]
Fix spelling of "SATISFIED". Thanks to Arfrever.
svn path=/main/trunk/; revision=10222
Zac Medico [Tue, 6 May 2008 20:26:05 +0000 (20:26 -0000)]
In install_mask(), discard stderr messages from the 'find' command
since some tokens from INSTALL_MASK can trigger lots of warnings
and errors that are irrelevant for our purposes.
svn path=/main/trunk/; revision=10220
Zac Medico [Tue, 6 May 2008 01:34:39 +0000 (01:34 -0000)]
Make satisfied blockers "darkblue" by default.
svn path=/main/trunk/; revision=10218
Zac Medico [Tue, 6 May 2008 00:36:04 +0000 (00:36 -0000)]
For consistency with the merge list display, show "block" instead
of "blocker" in the summary.
svn path=/main/trunk/; revision=10216
Zac Medico [Tue, 6 May 2008 00:12:51 +0000 (00:12 -0000)]
Display satisfied blockers in green and show a small "b" instead of a
big "B" (similar to "f" for satisfied fetch restrictions).
svn path=/main/trunk/; revision=10214
Zac Medico [Mon, 5 May 2008 21:50:08 +0000 (21:50 -0000)]
Use find -path -or -name to match basenames of files in INSTALL_MASK
as suggested by solar in bug #219286, comment #8.
svn path=/main/trunk/; revision=10212
Zac Medico [Mon, 5 May 2008 21:06:30 +0000 (21:06 -0000)]
Cache results for Task.__hash__() calls.
svn path=/main/trunk/; revision=10210
Zac Medico [Mon, 5 May 2008 19:29:54 +0000 (19:29 -0000)]
Use vardbapi._excluded_dirs to filter results inside cp_list().
svn path=/main/trunk/; revision=10208
Zac Medico [Mon, 5 May 2008 19:22:42 +0000 (19:22 -0000)]
Add -MERGING-.* to vardbapi._excluded_dirs.
svn path=/main/trunk/; revision=10206
Zac Medico [Mon, 5 May 2008 18:40:49 +0000 (18:40 -0000)]
* In vardbapi.cpv_all() use catpkgsplit() for validation since that's what
with cp_all() uses.
* Use the listdir() dirsonly=1 parameter to avoid unnecessary stat calls
via os.path.isdir().
svn path=/main/trunk/; revision=10204
Zac Medico [Mon, 5 May 2008 16:55:18 +0000 (16:55 -0000)]
Handle a potential InvalidData exception in vardbapi.cp_all().
svn path=/main/trunk/; revision=10202
Marius Mauch [Mon, 5 May 2008 08:58:05 +0000 (08:58 -0000)]
fix preserve_libs logic to properly account for the current package instance
svn path=/main/trunk/; revision=10200
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