Zac Medico [Fri, 11 Apr 2008 00:37:20 +0000 (00:37 -0000)]
Tweak --buildpkgonly and fakeroot logic so that --buildpkgonly can be
used by a non-root user to build binary packages with fakeroot.
svn path=/main/trunk/; revision=9825
Zac Medico [Thu, 10 Apr 2008 23:29:50 +0000 (23:29 -0000)]
Nest the DepcheckCompositeDB class inside the depgraph class since it's
not intended for use elsewhere.
svn path=/main/trunk/; revision=9823
Zac Medico [Thu, 10 Apr 2008 21:08:11 +0000 (21:08 -0000)]
Rename variable pkg_cpv to pkg_str.
svn path=/main/trunk/; revision=9821
Zac Medico [Thu, 10 Apr 2008 21:03:37 +0000 (21:03 -0000)]
Fix "pkg" variable name collisions in depgraph.display().
svn path=/main/trunk/; revision=9819
Zac Medico [Thu, 10 Apr 2008 20:44:13 +0000 (20:44 -0000)]
Make the CHOST visibility check tolerant of missing CHOST metadata.
svn path=/main/trunk/; revision=9817
Zac Medico [Thu, 10 Apr 2008 20:36:13 +0000 (20:36 -0000)]
Bug #217122 - When waiting for a parallel-fetch download to complete,
show a more friendly and informative message.
svn path=/main/trunk/; revision=9815
Zac Medico [Thu, 10 Apr 2008 18:03:17 +0000 (18:03 -0000)]
Remove an unused function.
svn path=/main/trunk/; revision=9810
Zac Medico [Thu, 10 Apr 2008 17:57:51 +0000 (17:57 -0000)]
Implement expansion of catgories in DepcheckCompositeDB.match() for old
installed packages that may contain atoms that are not fully qualified.
svn path=/main/trunk/; revision=9808
Zac Medico [Thu, 10 Apr 2008 09:11:22 +0000 (09:11 -0000)]
Iterate over a copy of the digraph nodes so that removal can't break
the iterator.
svn path=/main/trunk/; revision=9799
Zac Medico [Thu, 10 Apr 2008 08:41:28 +0000 (08:41 -0000)]
Make sure that everything except Package nodes is ignored when doing
the --buildpkgonly digraph.hasallzeros() check.
svn path=/main/trunk/; revision=9797
Zac Medico [Thu, 10 Apr 2008 06:34:52 +0000 (06:34 -0000)]
Use cached Package instances in depgraph.display().
svn path=/main/trunk/; revision=9794
Zac Medico [Thu, 10 Apr 2008 05:58:59 +0000 (05:58 -0000)]
* Make depclean/prune use cached Package instances for visibility checks.
* Make FakeVartree wrap dbapi.match() to make sure the metadata in Package
instances gets updated for any cpv that is returned from a match()
call, since the metadata can be accessed directly from the Package instance
instead of via aux_get().
svn path=/main/trunk/; revision=9789
Zac Medico [Thu, 10 Apr 2008 05:39:41 +0000 (05:39 -0000)]
Make FakeVartree use PackageVirtualDbapi instead of fakedbapi so that it can
populate and utilize a cache of Package instances.
svn path=/main/trunk/; revision=9788
Zac Medico [Thu, 10 Apr 2008 05:17:36 +0000 (05:17 -0000)]
Improve used of cached Package instances in depgraph._select_pkg_from_graph().
svn path=/main/trunk/; revision=9787
Zac Medico [Thu, 10 Apr 2008 05:01:49 +0000 (05:01 -0000)]
Replace the fakdbapi class that is used to track depgraph state with a
similar PackageVirtualDbapi class that uses Package instances internally.
This eliminates some redundancy since the Package instances can be reused
elsewhere, unlike the internal data structures used by fakedbapi.
svn path=/main/trunk/; revision=9786
Zac Medico [Wed, 9 Apr 2008 21:51:31 +0000 (21:51 -0000)]
Add some docs for the DepcheckCompositeDB class.
svn path=/main/trunk/; revision=9785
Zac Medico [Wed, 9 Apr 2008 18:31:59 +0000 (18:31 -0000)]
When checking atoms without categories against the installed packages, just
check for existence of the cat/pn rather that a full match.
svn path=/main/trunk/; revision=9779
Zac Medico [Wed, 9 Apr 2008 18:21:27 +0000 (18:21 -0000)]
Fix the docstring for depgraph._dep_expand().
svn path=/main/trunk/; revision=9777
Zac Medico [Wed, 9 Apr 2008 18:04:10 +0000 (18:04 -0000)]
Fix minor issues in the calculation of the number of parents omitted from
the slot collision display.
svn path=/main/trunk/; revision=9775
Zac Medico [Wed, 9 Apr 2008 17:55:09 +0000 (17:55 -0000)]
When pruning the list of parents for the slot collision display, always
show parents that themselves have been pulled into collision slots, since
those are more relevant that others. (branches/2.1.2 r9773)
svn path=/main/trunk/; revision=9774
Zac Medico [Wed, 9 Apr 2008 17:00:24 +0000 (17:00 -0000)]
Make DepcheckCompositeDB cache Package instances for aux_get() calls.
svn path=/main/trunk/; revision=9771
Zac Medico [Wed, 9 Apr 2008 16:14:55 +0000 (16:14 -0000)]
When depgraph.select_files() expands an atom category, in case of an old-style
virtual, defer category expansion so that the depgraph has more choices.
svn path=/main/trunk/; revision=9769
Zac Medico [Wed, 9 Apr 2008 07:15:42 +0000 (07:15 -0000)]
Create a new depgraph._dep_expand() method for select_files() to expand
atoms that have no category.
svn path=/main/trunk/; revision=9765
Zac Medico [Wed, 9 Apr 2008 05:29:31 +0000 (05:29 -0000)]
Handle issues with newlines in elog messages that can trigger an unhandled
ValueError to be raised from a split() call inside collect_ebuild_messages():
* Use \0 to delimit messages, so that that elog messages containing newlines
are handled correctly.
* Handle a potential ValueError when splitting the message type.
svn path=/main/trunk/; revision=9763
Zac Medico [Wed, 9 Apr 2008 00:37:10 +0000 (00:37 -0000)]
Make depgraph.select_files() detect when a package name given as an argument
is ambiguous due to the existence of a new-style virtual with the same
name (cpv_expand() will not always raise a ValueError in cases like this).
svn path=/main/trunk/; revision=9762
Zac Medico [Tue, 8 Apr 2008 23:55:25 +0000 (23:55 -0000)]
Split out a depgraph method to check if a specific new-style virtual
package exists.
svn path=/main/trunk/; revision=9761
Zac Medico [Tue, 8 Apr 2008 22:31:23 +0000 (22:31 -0000)]
Bug #162542 - When checking permissions inside CCACHE_DIR for compatibility
with FEATURES=userpriv, check the permissions on files inside the directory
to decide whether to fix the permissions.
svn path=/main/trunk/; revision=9759
Zac Medico [Tue, 8 Apr 2008 18:42:49 +0000 (18:42 -0000)]
Bug #197810 - Don't automatically downgrade packages for which available
matching versions are masked by corruption, but do automatically downgrade
installed packages that themselves have a valid mask such as from
package.mask.
svn path=/main/trunk/; revision=9756
Zac Medico [Tue, 8 Apr 2008 17:57:59 +0000 (17:57 -0000)]
Fix --update greedy atoms logic so that it only pulls in packages that
actually match the given atom.
svn path=/main/trunk/; revision=9755
Zac Medico [Tue, 8 Apr 2008 04:43:37 +0000 (04:43 -0000)]
Fix a little issue in the code from bug #197905 that causes some elog
messages to get lost.
svn path=/main/trunk/; revision=9747
Zac Medico [Tue, 8 Apr 2008 03:54:22 +0000 (03:54 -0000)]
Remove the depgraph._get_arg_for_pkg() method since _iter_atoms_for_pkg()
does the job.
svn path=/main/trunk/; revision=9745
Zac Medico [Tue, 8 Apr 2008 03:46:51 +0000 (03:46 -0000)]
Remove unused iter_atoms() function.
svn path=/main/trunk/; revision=9744
Zac Medico [Mon, 7 Apr 2008 23:47:17 +0000 (23:47 -0000)]
For repoman, only cache the metadata necessary for visibility
checks in order to reduce memory consumption.
svn path=/main/trunk/; revision=9743
Zac Medico [Mon, 7 Apr 2008 23:10:30 +0000 (23:10 -0000)]
When reading and writing the Packages index file, translate metadata keys
on the fly. Current translations:
DESC <-> DESCRIPTION
REPO <-> repository
svn path=/main/trunk/; revision=9742
Zac Medico [Mon, 7 Apr 2008 22:12:04 +0000 (22:12 -0000)]
* Optimize metadata caching in pordbapi and bindbapi so that cache is
never pulled for the same package twice.
* Cache a Package instances constructed during package selection
and reuse them during later package selections.
svn path=/main/trunk/; revision=9741
Zac Medico [Mon, 7 Apr 2008 07:33:05 +0000 (07:33 -0000)]
Handle empty KEYWORDS in the Packages file.
svn path=/main/trunk/; revision=9740
Zac Medico [Mon, 7 Apr 2008 06:32:16 +0000 (06:32 -0000)]
Fix broken IUSE defaults handling when filtering USE for the Packages file.
svn path=/main/trunk/; revision=9739
Zac Medico [Mon, 7 Apr 2008 02:36:56 +0000 (02:36 -0000)]
Move all the --update greedy slot logic to depgraph.select_files().
svn path=/main/trunk/; revision=9738
Zac Medico [Mon, 7 Apr 2008 02:04:39 +0000 (02:04 -0000)]
Move virtuals logic from DepcheckCompositeDB.match() to
depgraph._iter_atoms_for_pkg() since it's more generally
useful there.
svn path=/main/trunk/; revision=9737
Zac Medico [Sun, 6 Apr 2008 23:33:43 +0000 (23:33 -0000)]
Fix variable name collision in DepcheckCompositeDB.match().
svn path=/main/trunk/; revision=9736
Zac Medico [Sun, 6 Apr 2008 23:28:18 +0000 (23:28 -0000)]
Fix DepcheckCompositeDB.match() so that it doesn't assume that every
DependencyArg instance has an "atom" attribute.
svn path=/main/trunk/; revision=9735
Zac Medico [Sun, 6 Apr 2008 21:44:18 +0000 (21:44 -0000)]
Fix BASH_ARGC and BASH_ARGV offsets some more.
svn path=/main/trunk/; revision=9734
Zac Medico [Sun, 6 Apr 2008 21:37:34 +0000 (21:37 -0000)]
In dump_trace(), fix BASH_ARGV and BASH_ARGC offsets so that they are always
correct wrt eachother. Thanks to Betelgeuse for reporting.
svn path=/main/trunk/; revision=9733
Zac Medico [Sun, 6 Apr 2008 21:10:16 +0000 (21:10 -0000)]
Fix java.eclassesnotused logic. Thanks to Betelgeuse.
svn path=/main/trunk/; revision=9732
Zac Medico [Sun, 6 Apr 2008 19:20:36 +0000 (19:20 -0000)]
Rename the CompositDbapi class to DepcheckCompositeDB since it's really
a special pupose class just for dep_check() and it doesn't implement the
full dbapi interface.
svn path=/main/trunk/; revision=9731
Zac Medico [Sun, 6 Apr 2008 18:53:21 +0000 (18:53 -0000)]
Fix the CompositDbapi.match() logic wrt "selective" behavior and installed
packages so that it correctly handles false argument matches due to PROVIDE
when a corresponding new-style virtual exists.
svn path=/main/trunk/; revision=9729
Marius Mauch [Sun, 6 Apr 2008 17:12:41 +0000 (17:12 -0000)]
only preserve libraries if no copy exists in the libary search path (bug #215242)
svn path=/main/trunk/; revision=9728
Zac Medico [Sun, 6 Apr 2008 17:09:13 +0000 (17:09 -0000)]
* Use type -P which does not produce messages to stderr.
another option is to redirect both stderr and out.
* Avoid &> replace with > ... 2>&1
Thanks to Alon Bar-Lev for this patch.
svn path=/main/trunk/; revision=9727
Marius Mauch [Sun, 6 Apr 2008 14:20:52 +0000 (14:20 -0000)]
preserve order of ebuild messages even between different message types (bug #197905)
svn path=/main/trunk/; revision=9726
Zac Medico [Sat, 5 Apr 2008 23:22:59 +0000 (23:22 -0000)]
Clarify --with-bdeps behavior with example. Thanks to Griffon26 for
this patch.
svn path=/main/trunk/; revision=9725
Zac Medico [Sat, 5 Apr 2008 19:51:28 +0000 (19:51 -0000)]
When necessary, make quickpkg add missing metadata to the vdb entry before
creating the binary package.
svn path=/main/trunk/; revision=9723
Zac Medico [Sat, 5 Apr 2008 18:30:11 +0000 (18:30 -0000)]
Handle a potential InvalidDependString exception inside
CompositeDbapi.match().
svn path=/main/trunk/; revision=9720
Zac Medico [Sat, 5 Apr 2008 17:48:23 +0000 (17:48 -0000)]
Bug #216328 - Fix broken --newuse reinstallation logic.
svn path=/main/trunk/; revision=9718
Zac Medico [Sat, 5 Apr 2008 10:30:43 +0000 (10:30 -0000)]
Fix the depgraph package selection cache to update the "existing node"
state of packages if they've been added to the graph since the last
call.
svn path=/main/trunk/; revision=9717
Zac Medico [Sat, 5 Apr 2008 09:42:51 +0000 (09:42 -0000)]
Fix a typo.
svn path=/main/trunk/; revision=9716
Zac Medico [Sat, 5 Apr 2008 09:41:05 +0000 (09:41 -0000)]
Memoize package selection results in the depgraph for better performance.
svn path=/main/trunk/; revision=9715
Zac Medico [Sat, 5 Apr 2008 09:15:10 +0000 (09:15 -0000)]
Remove "selective" depgraph logic from dep_zapdeps() since it's now
handled by CompositeDbapi.
svn path=/main/trunk/; revision=9714
Zac Medico [Sat, 5 Apr 2008 08:50:01 +0000 (08:50 -0000)]
Replace the depgraph's fakedbapi of visible packages with a new
CompositeDbapi that is implemented on top of the depgraph's
existing package selection logic.
svn path=/main/trunk/; revision=9713
Zac Medico [Sat, 5 Apr 2008 06:25:49 +0000 (06:25 -0000)]
In dbapi.move_ent(), never assume that any of the expected metadata
entries exist (PF, CATEGORY, or *.ebuild).
svn path=/main/trunk/; revision=9712
Zac Medico [Fri, 4 Apr 2008 20:41:48 +0000 (20:41 -0000)]
Add missing "the" to fix grammar.
svn path=/main/trunk/; revision=9710
Zac Medico [Fri, 4 Apr 2008 18:58:49 +0000 (18:58 -0000)]
* In the event that a previously installed package has since been masked,
emerge will no longer perform an automatic downgrade as part of a "world"
update. You should either unmask such packages or else explicitly re-merge
them in order to have them dowgraded to an unmasked version.
svn path=/main/trunk/; revision=9708
Zac Medico [Fri, 4 Apr 2008 18:40:28 +0000 (18:40 -0000)]
Adjust newlines whitespace masked packages display.
svn path=/main/trunk/; revision=9706
Zac Medico [Fri, 4 Apr 2008 18:29:33 +0000 (18:29 -0000)]
Display the note referencing "masked packages" docs when there are
installed masked packages to display.
svn path=/main/trunk/; revision=9705
Zac Medico [Fri, 4 Apr 2008 06:32:55 +0000 (06:32 -0000)]
Fix a typo in the depclean USE flag handling when populating the
digraph for bug #201045.
svn path=/main/trunk/; revision=9702
Zac Medico [Fri, 4 Apr 2008 04:51:33 +0000 (04:51 -0000)]
Fix a typo.
svn path=/main/trunk/; revision=9700
Zac Medico [Fri, 4 Apr 2008 04:48:49 +0000 (04:48 -0000)]
When the user has given --depclean a list of atoms to clean, pull all
installed packages into the graph (not just those traversable from system
or world) to ensure that packages can not be uninstalled unless nothing
requires them.
svn path=/main/trunk/; revision=9699
Zac Medico [Fri, 4 Apr 2008 00:44:08 +0000 (00:44 -0000)]
Decrease priority on --onlydpes dependencies so that
--buildpkgonly hasallzeros() works correctly.
svn path=/main/trunk/; revision=9697
Zac Medico [Fri, 4 Apr 2008 00:30:32 +0000 (00:30 -0000)]
Add missing DepPriority instances to the graph so that the --buildpkgonly
hasallzeros() calculation works correctly again.
svn path=/main/trunk/; revision=9696
Zac Medico [Thu, 3 Apr 2008 22:40:56 +0000 (22:40 -0000)]
Eliminate a redundant atom from the --update greedy slot expansion code.
svn path=/main/trunk/; revision=9695
Zac Medico [Thu, 3 Apr 2008 22:34:46 +0000 (22:34 -0000)]
Fix package selection logic so that it always properly finds the highest
available version in a new slot even though the graph already contains
a matching version in a lower slot.
svn path=/main/trunk/; revision=9693
Zac Medico [Thu, 3 Apr 2008 20:03:40 +0000 (20:03 -0000)]
Add missing str.upper() call for PORTAGE_FETCH_RESUME_MIN_SIZE.
svn path=/main/trunk/; revision=9691
Zac Medico [Thu, 3 Apr 2008 19:58:22 +0000 (19:58 -0000)]
If PORTAGE_FETCH_RESUME_MIN_SIZE is undefined or empty, silently use
the default.
svn path=/main/trunk/; revision=9689
Zac Medico [Thu, 3 Apr 2008 19:23:16 +0000 (19:23 -0000)]
Implement a PORTAGE_FETCH_RESUME_MIN_SIZE variable that is useful for
helping to ensure that small garbage files such as html 404 pages are
properly discarded.
svn path=/main/trunk/; revision=9687
Zac Medico [Thu, 3 Apr 2008 16:45:56 +0000 (16:45 -0000)]
For old-style virtuals, we need to repeat the package.provided
check against the selected package.
svn path=/main/trunk/; revision=9685
Zac Medico [Thu, 3 Apr 2008 01:17:59 +0000 (01:17 -0000)]
In cpv_expand(), if the virtuals file contains a versioned atom (like
the base profile currently has for virtual/pam), properly remove the
operator and version from the atom before it is passed into
dbapi.cp_list().
svn path=/main/trunk/; revision=9683
Zac Medico [Wed, 2 Apr 2008 19:22:20 +0000 (19:22 -0000)]
Fix the previous commit so that the Package instance is created in the
correct scope.
svn path=/main/trunk/; revision=9681
Zac Medico [Wed, 2 Apr 2008 19:09:13 +0000 (19:09 -0000)]
Use Package.cp instead of dep_getkey(cpv).
svn path=/main/trunk/; revision=9680
Zac Medico [Wed, 2 Apr 2008 18:06:42 +0000 (18:06 -0000)]
Eliminate a redundant os.path.join() call.
svn path=/main/trunk/; revision=9678
Zac Medico [Wed, 2 Apr 2008 18:03:08 +0000 (18:03 -0000)]
Handle a potential FileNotFound exception in new_protect_filename() when
the last ._cfg* file happens to be a broken symlink. Thanks to bonsaikitten
for reporting.
svn path=/main/trunk/; revision=9677
Zac Medico [Tue, 1 Apr 2008 23:34:54 +0000 (23:34 -0000)]
Remove the digraph._parent_child_digraph since it's no longer needed. It's
main purpose was to track PDEPEND relationships but those are handled just
like the other deps now.
svn path=/main/trunk/; revision=9675
Zac Medico [Tue, 1 Apr 2008 22:13:59 +0000 (22:13 -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.
svn path=/main/trunk/; revision=9674
Zac Medico [Tue, 1 Apr 2008 21:58:37 +0000 (21:58 -0000)]
Use pkgcmp() instead of == and best() for correctness in case of implicit
-r0.
svn path=/main/trunk/; revision=9672
Zac Medico [Tue, 1 Apr 2008 18:36:03 +0000 (18:36 -0000)]
Remove some boolean logic that is obsolete now that the "selective" parameter
is passed into dep_zapdeps().
svn path=/main/trunk/; revision=9669
Zac Medico [Tue, 1 Apr 2008 18:08:06 +0000 (18:08 -0000)]
Exploid ascending order returned from dbapi.match() calls to avoid the need
to call best().
svn path=/main/trunk/; revision=9665
Zac Medico [Tue, 1 Apr 2008 06:55:27 +0000 (06:55 -0000)]
Handle missing LICENSE in the Packages index since that's allowed for
virtual packages.
svn path=/main/trunk/; revision=9662
Zac Medico [Tue, 1 Apr 2008 05:59:57 +0000 (05:59 -0000)]
When identifying a sys-apps/portage node, compare category too (not just
"portage".
svn path=/main/trunk/; revision=9660
Zac Medico [Tue, 1 Apr 2008 00:33:35 +0000 (00:33 -0000)]
Bug #215308 - Cache the paths of known bad manifests to ensure that the
same broken manifest is never checked twice.
svn path=/main/trunk/; revision=9658
Zac Medico [Mon, 31 Mar 2008 23:47:50 +0000 (23:47 -0000)]
When deps are forced to be satisfied by installed packages due to masking
or unavailability, only tolerate it when the atom comes from either the
system or world set since otherwise it's a good idea to bail so that the
user can correct the problem.
svn path=/main/trunk/; revision=9656
Zac Medico [Mon, 31 Mar 2008 23:12:14 +0000 (23:12 -0000)]
In the package selection loop, move the installed package rejection
code as early as possible.
svn path=/main/trunk/; revision=9654
Zac Medico [Mon, 31 Mar 2008 21:07:29 +0000 (21:07 -0000)]
Fix package selection logic to always properly reject the installed package
when another is available and the user wants to reinstall.
svn path=/main/trunk/; revision=9652
Zac Medico [Mon, 31 Mar 2008 20:25:30 +0000 (20:25 -0000)]
Remove some redundant and obsolete code for warning about installed
packages pulled into the graph.
svn path=/main/trunk/; revision=9650
Zac Medico [Mon, 31 Mar 2008 19:55:56 +0000 (19:55 -0000)]
When selecting packages and there is a mixture of old-style and new-style
virtual matches, filter out the old-style virtual matches.
svn path=/main/trunk/; revision=9648
Zac Medico [Mon, 31 Mar 2008 18:14:27 +0000 (18:14 -0000)]
Bug #197810 - Fix package selection logic so that it will always fall back
to an installed package when necessary.
svn path=/main/trunk/; revision=9646
Zac Medico [Mon, 31 Mar 2008 18:00:40 +0000 (18:00 -0000)]
Make depgraph creation more tolerant of missing or masked packages when
the relevant deps are satisfied by installed packages. This kind of
friendliness is especially desired in cases such as --emptytree where
it might not be possible to reinstall every single package. Also, it
allows multislot atoms from the world file (that are necessary to prevent
them from being removed by depclean) trigger warning messages while
still allowing a --emptytree to proceed.
svn path=/main/trunk/; revision=9645
Zac Medico [Mon, 31 Mar 2008 17:11:47 +0000 (17:11 -0000)]
Replace an package tuple with a real Package instance.
svn path=/main/trunk/; revision=9644
Zac Medico [Mon, 31 Mar 2008 07:21:57 +0000 (07:21 -0000)]
Pass Package instances into visible() so that the package instance can
be used to cache relevant visibility information such as whether or not
the package is corrupt or otherwise invalid.
svn path=/main/trunk/; revision=9643
Zac Medico [Sun, 30 Mar 2008 21:54:51 +0000 (21:54 -0000)]
When dblink.treewalk() queries for other packages in the same slot, filter
out old-style virtual matches since they are not desired.
svn path=/main/trunk/; revision=9637
Zac Medico [Sun, 30 Mar 2008 21:40:42 +0000 (21:40 -0000)]
Make sure the all resume lists are deleted when a stale one is encountered.
svn path=/main/trunk/; revision=9636
Zac Medico [Sun, 30 Mar 2008 19:51:32 +0000 (19:51 -0000)]
* Fix broken return value for doins.
* Make newins cleanup temp files after itself.
svn path=/main/trunk/; revision=9634
Zac Medico [Sun, 30 Mar 2008 19:20:46 +0000 (19:20 -0000)]
Fix typos. Thanks to Arfrever Frehtes Taifersar Arahesis
<Arfrever.FTA@GMail.Com>.
svn path=/main/trunk/; revision=9632