Zac Medico [Thu, 8 May 2008 17:37:38 +0000 (17:37 -0000)]
Bug #220341 - USE=multislot can make an installed package appear as if
it doesn't satisfy a slot dependency. Rebuilding the ebuild won't do
any good as long as USE=multislot is enabled since the newly built
package still won't have the expected slot. Therefore, assume that
such SLOT dependencies are already satisfied rather than forcing a
rebuild.
svn path=/main/trunk/; revision=10237
Zac Medico [Thu, 8 May 2008 17:08:13 +0000 (17:08 -0000)]
Bug #220775 - Source isolated-functions.sh before trying to call vecho.
svn path=/main/trunk/; revision=10235
Zac Medico [Thu, 8 May 2008 16:52:45 +0000 (16:52 -0000)]
Bug #220689 - Fix package selection logic so that it doesn't trigger the
code path from bug 219369 in some unwanted cases.
svn path=/main/trunk/; revision=10233
Zac Medico [Thu, 8 May 2008 10:33:30 +0000 (10:33 -0000)]
Don't use try/finally to close atomic_ofstream since we don't want to
call close() on this stream if an error occurs.
svn path=/main/trunk/; revision=10231
Zac Medico [Thu, 8 May 2008 09:26:47 +0000 (09:26 -0000)]
Fix findInstalledBlockers() to check for blockers in both directions.
svn path=/main/trunk/; revision=10229
Zac Medico [Thu, 8 May 2008 07:48:59 +0000 (07:48 -0000)]
Instead of doing automatic uninstalls in advance, install conflicting
packages first and then do the uninstall afterwards. This requires
special handling for file collisions occur, but it's preferred
because it ensures that package files remain installed in a usable
state whenever possible.
When file collisions occur between conflicting packages, the contents
entries for those files are removed from the packages that are
scheduled for uninstallation. This prevents uninstallation operations
from removing overlapping files that have been claimed by conflicting
packages.
svn path=/main/trunk/; revision=10225
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