| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This allows us to avoid triggering the old-style virtual code which
scans /var/db/pkg/*/*/PROVIDE.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Since commit f36b9fa38b5268c2a5579db62acec026625f84a9, the
PreservedLibsRegistry automatically prunes itself each time
that it is loaded.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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 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.
|
|
|
|
|
| |
This fixes an unwanted side-effect from commit
470871eeafa89a05486d4eb6f3f7626c1f813e4d.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rebuild when build-time/run-time deps are upgraded.
If pkgA has been updated, and pkgB depends on pkgA at both
build-time and run-time, pkgB needs to be rebuilt. This
feature ensures that all packages are consistent when
dependencies that are used at both runtime and build time
are changed.
This feature only rebuilds packages one layer deep. That
means that if you upgrade libcros, for example, packages
that depend directly on libcros will be rebuilt and
reinstalled, but indirect dependencies will not be rebuilt.
BUG=chromium-os:14296
TEST=Test whether packages rebuilding a bunch of packages.
Change-Id: Idbc0532b4b1de28fd9e5a0abe3b7dbe1a3abd2c8
Review URL: http://codereview.chromium.org/6905107
|
|
|
|
|
|
|
|
|
| |
PROVIDE virtuals have been banned from Gentoo's tree (see bug #365505),
so these checks aren't needed anymore. The PROVIDE.syntax check is kept
in the Package class since PROVIDE is still supported for backward
compatibility, and therefore invalid syntax can still have negative
effects. This check can be removed if/when backward compatibilty is
completely dropped.
|
|
|
|
|
| |
Now all the virtual/libc handling is done by the depgraph, which
will be helpful when fixing bug #364681.
|
|
|
|
| |
This will fix bug #365319.
|
|
|
|
|
|
|
|
|
|
| |
Currently, sys-kernel/linux-headers is matched by both a plain
sys-kernel/linux-headers atom and by the virtual/os-headers new-style
virtual. For backward compatibility, we're going to have duplicates
like this for at least a few months (see bug #364673, comment #5).
Therefore, automatically eliminate duplicates in the display. Entries
that include virtual provider info are preferred over those that do
not.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving these commands from shell to Python helps avoid an unnecessary
call to misc-functions.sh for the postinst_bsdflags. This improves
performance.
BUG=none
TEST=Run emerge-x86-generic -eg --jobs=16 libchrome
Change-Id: I0c2af50b4d2f7644cabac84fde7fe4d682010c69
Review URL: http://codereview.chromium.org/6676107
|
|
|
|
|
|
|
| |
Since commit 7535cabdf2fab76fc55df83643157613dfd66be9, the
plib_registry is modified in a subprocess, and the parent
process' copy can become stale because of this. Therefore,
explicitly load it.
|
|
|
|
| |
This will fix bug #363137.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add --nousepkg-atoms, --useoldpkg-atoms, and --reinstall-atoms flag
to Portage
reinstall-atoms accepts a space separated list of package names or
slot atoms. Emerge will treat matching packages as if they are not
installed, and reinstall them if necessary.
useoldpkg-atoms accepts a space separated list of package names or
slot atoms. Emerge will prefer matching binary packages over newer
unbuilt packages. This is useful in case you want to request that a
particular package won't be rebuilt from source.
nousepkg-atoms accepts a space separated list of package names or
slot atoms. Emerge will ignore matching binary packages.
Change-Id: I0d73039c6a4cd63695b28ffc80215628e0e05c95
BUG=chromium-os:12507 TEST=Try out the flag
Review URL: http://codereview.chromium.org/6577024
|
|
|
|
| |
This will fix bug #364701.
|
| |
|