Zac Medico [Sun, 11 May 2008 19:37:31 +0000 (19:37 -0000)]
Add back the warning for DISTDIR about storing stuff inside PORTDIR.
svn path=/main/trunk/; revision=10291
Zac Medico [Sun, 11 May 2008 19:35:26 +0000 (19:35 -0000)]
Sync make.conf.example with make.conf.5 for bug #220111.
svn path=/main/trunk/; revision=10290
Zac Medico [Sun, 11 May 2008 19:21:28 +0000 (19:21 -0000)]
Bug #220111 - Update the DISTDIR docs to clarify that it's safe to remove
any and all files from this location after packages are built.
svn path=/main/trunk/; revision=10289
Zac Medico [Sun, 11 May 2008 18:25:35 +0000 (18:25 -0000)]
Make the summary more accurate.
svn path=/main/trunk/; revision=10288
Zac Medico [Sat, 10 May 2008 18:12:44 +0000 (18:12 -0000)]
If the uninstall task did not need to be executed because
of an upgrade, display Blocker -> Upgrade edges since the
corresponding Blocker -> Uninstall edges will not be shown.
svn path=/main/trunk/; revision=10286
Zac Medico [Sat, 10 May 2008 17:09:36 +0000 (17:09 -0000)]
eachother -> each other
svn path=/main/trunk/; revision=10284
Zac Medico [Sat, 10 May 2008 08:47:45 +0000 (08:47 -0000)]
Always include satisfied blockers as an indicator that blocking
packages will be temporarily installed simultaneously.
svn path=/main/trunk/; revision=10281
Zac Medico [Sat, 10 May 2008 08:35:22 +0000 (08:35 -0000)]
When selecting leaf nodes, if there is a mix of merge and uninstall
nodes, save the uninstall nodes from later since sometimes a merge
node will render an install node unnecessary, and we want to avoid
doing a separate uninstall task in that case.
svn path=/main/trunk/; revision=10279
Zac Medico [Sat, 10 May 2008 08:07:35 +0000 (08:07 -0000)]
Fix another KeyError, reported in Bug #221107, comment #4. There's no need
to remove uninstall tasks from scheduled_uninstalls, so just keep them
in there.
svn path=/main/trunk/; revision=10277
Zac Medico [Fri, 9 May 2008 19:12:48 +0000 (19:12 -0000)]
Bug #221053 - Save the resume list before verifying the ebuild Manifests
since it might be possible for the user to use --resume --skipfirst get
past a non-essential package with a broken digest.
svn path=/main/trunk/; revision=10275
Zac Medico [Fri, 9 May 2008 19:04:14 +0000 (19:04 -0000)]
Bug #221071 - Prevent display_problems() from redundantly displaying
the exact same merge list a second time.
svn path=/main/trunk/; revision=10273
Zac Medico [Fri, 9 May 2008 18:36:19 +0000 (18:36 -0000)]
Bug #221107 - Fix depgraph._serialize_tasks() so that it doesn't
try to schedule an uninstall task that's already been scheduled
but hasn't been executed yet due to dependence on installation of
blocking packages.
svn path=/main/trunk/; revision=10271
Zac Medico [Fri, 9 May 2008 15:49:11 +0000 (15:49 -0000)]
Describe how file collisions between blocking packages are resolved when
they are temporarily installed simultaneously.
svn path=/main/trunk/; revision=10269
Zac Medico [Fri, 9 May 2008 08:45:05 +0000 (08:45 -0000)]
Simplify code for derived Package attributes.
svn path=/main/trunk/; revision=10266
Zac Medico [Fri, 9 May 2008 04:17:57 +0000 (04:17 -0000)]
For the "blockers" parameter that's passed into the dblink constructor
now, make it a callable since it really shouldn't be called until the
vdb lock has been acquired.
svn path=/main/trunk/; revision=10264
Zac Medico [Fri, 9 May 2008 03:41:41 +0000 (03:41 -0000)]
If an uninstall task fails inside MergeTask.merge(), use an UninstallFailure
exception to handle it instead of allowing unmerge() to call exit().
svn path=/main/trunk/; revision=10262
Zac Medico [Fri, 9 May 2008 03:00:10 +0000 (03:00 -0000)]
Use set.instersection() instead of a for loop.
svn path=/main/trunk/; revision=10260
Zac Medico [Fri, 9 May 2008 02:28:54 +0000 (02:28 -0000)]
Allow scheduled uninstalls to be selected the same way as other leaf nodes.
svn path=/main/trunk/; revision=10258
Zac Medico [Fri, 9 May 2008 02:14:38 +0000 (02:14 -0000)]
Make the fix for bug #220341 better by checking all selected packages for
matching cpv rather than just the last one.
svn path=/main/trunk/; revision=10256
Zac Medico [Fri, 9 May 2008 01:49:02 +0000 (01:49 -0000)]
Optimize BlockerDB.findInstalledBlockers() so that it doesn't unnecessarily
try to match packages against an empty set of blocker atoms.
svn path=/main/trunk/; revision=10254
Zac Medico [Thu, 8 May 2008 21:51:29 +0000 (21:51 -0000)]
Bug #220987 - Fix UnboundLocalError for 'skip' that only occurs when
using alternate ROOT. Thanks to Ryan Tandy <tarpman@gmail.com>.
svn path=/main/trunk/; revision=10252
Zac Medico [Thu, 8 May 2008 21:18:01 +0000 (21:18 -0000)]
Make some confmem behavior modifications in order to try and make it
less confusing for people who have forgotten about the --noconfmem
option or are completely unaware of it. Thanks to Joe Peterson
<lavajoe@gentoo.org> for suggesting these:
* Always behave like --noconfmem is enabled for downgrades.
* Purge confmem entries when a package is unmerged rather
than replaced.
svn path=/main/trunk/; revision=10250
Zac Medico [Thu, 8 May 2008 19:46:47 +0000 (19:46 -0000)]
Remove stale uninstall tasks from scheduled_uninstalls when necessary.
svn path=/main/trunk/; revision=10246
Zac Medico [Thu, 8 May 2008 19:03:42 +0000 (19:03 -0000)]
Remove unnecessary BlockerDB and BlockerCache _installed_pkgs attributes.
svn path=/main/trunk/; revision=10241
Zac Medico [Thu, 8 May 2008 18:35:39 +0000 (18:35 -0000)]
Don't save "uninstall" tasks in the resume list since they'll be regenerated
by dependency calculations upon resume.
svn path=/main/trunk/; revision=10239
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