| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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=Try unmerging some packages.
Change-Id: Ib643ec95b8da14b49a6b519e445fe57f8995c52c
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Use a separate queue for ebuild-locks when the merge
queue allows more than 1 job (due to parallel-install),
since the portage.locks module does not behave as desired
if we try to lock the same file multiple times
concurrently from the same process.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Narrow scope of merge locks to improve performance.
Instead of locking the DB for the entire package merge, just lock it
when we actually need to do so. Also add locks around conf_mem_file
updating and pkg_* phases.
Locking in pkg_* phases can be turned off with
FEATURES="no-ebuild-locks" if you use ebuilds that are careful not
to mess with each other during theses phases. The default is to leave
this locking enabled.
Given this new locking, I've improved the scheduler to run merge jobs
in parallel.
Time required for merging 348 packages with --usepkgonly:
- Before patch: 29m50s
- After patch: 10m2s
- After patch w/o locks: 7m9s
Change-Id: I63588c4cc59fa6fe2f8327ea1e4a9e71b241d4fe
Review URL: http://gerrit.chromium.org/gerrit/498
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
A name collision in the "cp" variable caused it to malfunction.
|
| |
|
|
|
|
|
| |
This will give third-party repoman users some time to migrate their
repos away old-style virtuals.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I don't think this makes any difference now, but it clarifies how
traverse_ignored_deps should behave.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace --rebuild option with --rebuild-if-* options.
--rebuild-if-new-rev [ y | n ]
Rebuild packages when dependencies that are used at both build-time and
run-time are built, if the dependency is not already installed with the
same version and revision.
--rebuild-if-new-ver [ y | n ]
Rebuild packages when dependencies that are used at both build-time and
run-time are built, if the dependency is not already installed with the
same version. Revision numbers are ignored.
--rebuild-if-unbuilt [ y | n ]
Rebuild packages when dependencies that are used at both build-time and
run-time are built.
Change-Id: Ia50c1702bfe1b98a8d1891740e7bbb045921a905
Review URL: http://gerrit.chromium.org/gerrit/280
|
|
|
|
|
|
| |
The reasoning for the code from commit
55b3150af635a418ba3f1424132359c894db7ec4 is not really obvious, so
it's helpful to reference the corresponding bug report.
|
| |
|
|
|
|
|
|
|
|
|
| |
A space separated list of package names or slot atoms. Emerge will not rebuild
packages that depend on matching packages due to \fB\-\-rebuild\fR.
Change-Id: Ia58fe632ed06c97a22413da0341d7f8da2d65ba8
Review URL: http://gerrit.chromium.org/gerrit/209
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update rebuild option to propagate runtime deps to parents.
Suggested by SebastianLuther@gmx.de
BUG=chromium-os:14858
TEST=Added unit test. Ran unit tests.
Change-Id: I7228a8558eddd1956c590de39430172476c66228
Review URL: http://gerrit.chromium.org/gerrit/202
|
|
|
|
|
| |
This allows portageq calls to avoid loading vdb_metadata.pickle in
most cases, which greatly improves performance.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
When EBUILD_PHASE != depend, INHERITED comes pre-initialized
from cache. In order to make INHERITED content independent of
EBUILD_PHASE during inherit() calls, we unset INHERITED after
we make a backup copy for QA checks.
|
| |
|
|
|
|
|
|
| |
This will fix an issue with some build-time deps being ignored by
--complete-graph in cases when --with-bdeps is not enabled. It
should help --rebuild to find more rebuilds in this case.
|
|
|
|
| |
This will fix bug #364681.
|
| |
|
|
|
|
|
| |
This makes the graph as complete as possible, and can help --rebuild to
find more rebuilds.
|