| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This is the same as commit 461564ae94ff936918eeaa18493bc1da3846796f
but this time with comments that make sense.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit 461564ae94ff936918eeaa18493bc1da3846796f.
Disabling the lock here doesn't really make sense, and I'm still
triggering EDEADLK is some other places.
|
|
|
|
|
| |
The preserve-libs code is too dependent on the filesystem state to
allow merging/unmerge/env_update to execute concurrently.
|
| |
|
|
|
|
|
|
| |
This allows us to avoid repeating any previous stat calls, which helps
to avoid potential race conditions due to inconsistent stat results
when the file system is being modified concurrently.
|
|
|
|
|
|
|
|
| |
Hopefully this avoids the following exception:
File "/usr/lib/portage/pym/portage/locks.py", line 138, in lockfile
fcntl.lockf(myfd, fcntl.LOCK_EX)
IOError: [Errno 35] Resource deadlock avoided
|
| |
|
|
|
|
|
|
|
| |
Since commit c64d4abee145d083c70273be8fd23bd56dffe7ec (bug #286714),
preserved libs have not been properly garbage collected when packages
are unmerged without replacement, due to a difference in LinkageMap
state. It should behave correcly now.
|
|
|
|
|
|
| |
Since commit c64d4abee145d083c70273be8fd23bd56dffe7ec, sometimes we
preserve libs for unmerged packages here (bug #286714), so we should
display them like we do in _add_preserve_libs_to_contents().
|
| |
|
|
|
|
|
|
|
|
|
| |
If the package is the latest avaiable it now uses >=cat/pkg-ver instead
of =cat/pkg-ver. If the package is not the latest, but the latest in
its slot, >=cat/pkg-ver:slot is used. In all other case =cat/pkg-ver
is used. Rational is that it's more likely that newer versions, added
in the future, will work with the same configuration changes as the
currently latest version than not.
|
|
|
|
|
|
| |
This will fix bug #286714. The emerge --depclean-lib-check option will
now be ignored when FEATURES=preserve-libs is enabled, since any
libraries that have consumers will simply be preserved.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This is a reponse to the following issue:
http://code.google.com/p/chromium-os/issues/detail?id=15234
|
|
|
|
| |
This will fix bug #366939.
|
| |
|
|
|
|
|
| |
If you want the graph as complete as possible, now you'll have to use
--with-bdeps=y together with --complete-graph.
|
|
|
|
|
| |
Since this implementation is only intended to check for existence of
new-style virtuals, it's a waste of time to return more than one cpv.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
--rebuild mode.
This should improve depgraph calculation performance.
TEST=Ran test suite.
BUG=chromium-os:15144
Change-Id: I9e06817201d7a17ae9b44b424d01c1a2bd89210a
|
| |
|
|
|
|
|
|
| |
Most of the memory is probably held on the heap by the installed
package instances anyway, and the cache is useful for being inherited
by subprocess in MergeProcess.
|
|
|
|
|
| |
It's more efficient to use cpv_all since cp_all calls cpv_all anyway,
and calls to cp_list induce additional stat calls.
|
|
|
|
|
|
|
|
|
|
| |
This improves merge times by up to 25%, since looping over the vardb for
each package install is slow.
TEST=Emerge a bunch of packages, notice 25% speed improvement.
BUG=chromium-os:15112
Change-Id: I51dd617219cd1820ceeb702291bd790990995be4
|
|
|
|
|
|
|
|
| |
This code has been unused since dep_check started passing
token_class=Atom to use_reduce in commit
c9f7930883d62fc26af72bff0c4623db0bbc8221. Since then, any atoms
without categories are dropped by dep_check because it returns
early after catching an InvalidDependString exception.
|
|
|
|
|
| |
This is used by dep_check since commit
6f9ee9c508c1506cdf8eb0dc46796dbe30f268db.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This typically isn't useful anymore, since Gentoo has stopped using
old-style virtuals.
|
|
|
|
|
| |
If old-style virtuals code is triggered here and we are given a
vartree, use it to avoid creating a temporary instance.
|
|
|
|
|
| |
This allows us to avoid triggering the old-style virtual code which
scans /var/db/pkg/*/*/PROVIDE.
|
| |
|
|
|
|
|
|
|
|
|
| |
Since commit 7535cabdf2fab76fc55df83643157613dfd66be9,
vardbapi.flush_cache() is often called within subprocesses spawned
from MergeProcess. The _aux_cache_threshold doesn't work as designed
if the cache is flushed from a subprocess like this, can lead to the
vdb cache being flushed for every single merge. This is a waste of
disk IO, so disable vdb cache updates in subprocesses.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This code dates back to commit 79a2ade5a6cb5a6c2d7ace838a39a634265c5522
and the preserve-libs logic was different back then. At that time, the
dblink._preserve_libs() method would earlier register preserved libs
for the new package currently being merged, while the vardb entry was
still a -MERGING- node. Current code does not register preserve_paths
until later, so this others_in_slot code is obsolete.
|
| |
|