| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The break_refs call was unnecessary and it broke the state of the
frozen_config instance, causing the following error:
File "pym/_emerge/depgraph.py", line 1290, in
_wrapped_add_pkg_dep_string
inst_pkgs = vardb.match_pkgs(atom)
AttributeError: 'vardbapi' object has no attribute 'match_pkgs'
|
| |
|
|
|
|
|
|
|
| |
BUG=none
TEST=Merged some packages with new code. Ran test suite.
Change-Id: Ibb9380122631bf6c79e39691233cfd641931b75a
|
|
|
|
|
| |
This should prevent FEATURES=parallel-install from interfering with
the fixes from bug #256616 and bug #259954.
|
| |
|
|
|
|
|
|
|
|
| |
EbuildBuildDir also performs safe removal of the category when it is
empty, so ebuild.sh/dyn_clean doesn't need to do it anymore. This
fixes a race condition if one process is trying to remove the category
directory while another one is trying to create it for
PORTAGE_BUILDDIR.
|
|
|
|
|
| |
Also, add comments to store() about unobvious interaction with
locking due to atomic replacement of the inode.
|
|
|
|
|
|
| |
Since commit f36b9fa38b5268c2a5579db62acec026625f84a9, the
PreservedLibsRegistry automatically prunes itself each time
that it is loaded.
|
|
|
|
|
| |
Together with commit f36b9fa38b5268c2a5579db62acec026625f84a9,
hopefully this solves bug #366061.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes preserved lib modification atomic, and
prepares us for narrowing the scope of the merge lock.
BUG=chromium-os:14983
TEST=Ran test suite and some example emerges.
Change-Id: I39abb6a5ec72be3274e508ef807ac1d9e69db1a8
Review URL: http://gerrit.chromium.org/gerrit/417
|
| |
|