summaryrefslogtreecommitdiffstats
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
* Rename FEATURES=no-ebuild-locks to ebuild-locks.Zac Medico2011-05-072-7/+10
|
* Use finer grained locks for install.David James2011-05-075-79/+132
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* doebuild: use EbuildBuildDir for lockingZac Medico2011-05-071-2/+13
| | | | | | | | 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.
* PreserveLibsRegistry: add lock/unlock assertionsZac Medico2011-05-071-1/+12
| | | | | Also, add comments to store() about unobvious interaction with locking due to atomic replacement of the inode.
* Remove redundant pruneNonExisting() call.Zac Medico2011-05-061-1/+0
| | | | | | Since commit f36b9fa38b5268c2a5579db62acec026625f84a9, the PreservedLibsRegistry automatically prunes itself each time that it is loaded.
* preserve-libs: fix linkmap logic for new plibsZac Medico2011-05-062-11/+40
| | | | | Together with commit f36b9fa38b5268c2a5579db62acec026625f84a9, hopefully this solves bug #366061.
* Cleanup preserved lib locking in portage.David James2011-05-063-124/+114
| | | | | | | | | | | | 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
* depgraph: simplify break_refsv2.2.0_alpha31Zac Medico2011-05-052-21/+23
|
* emerge: fix misspell suggestion with categoryZac Medico2011-05-051-3/+2
| | | | A name collision in the "cp" variable caused it to malfunction.
* Update timestamps in headers of modified files.Zac Medico2011-05-052-2/+2
|
* add_pkg_deps: removal action discard DEPEND earlyZac Medico2011-05-041-0/+3
|
* add_pkg_deps: use dep priority to ignore blockersZac Medico2011-05-041-12/+10
|
* test_rebuild: test --rebuild-if-new-rev moreDavid James2011-05-041-0/+15
|
* add_pkg_dep_string: respect traverse_ignored_depsZac Medico2011-05-041-3/+6
| | | | | I don't think this makes any difference now, but it clarifies how traverse_ignored_deps should behave.
* emerge: replace --rebuild with finer grained optsDavid James2011-05-045-22/+145
| | | | | | | | | | | | | | | | | | | | | | 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
* Fix Manifest.updateAllHashes()Mike Gilbert2011-05-031-1/+1
|
* Add --rebuild-ignore flag.David James2011-05-034-1/+44
| | | | | | | | | 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
* rebuild_config: propagate runtime deps to parentsDavid James2011-05-032-6/+15
| | | | | | | | | | | | | 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
* cpv_expand: avoid old-style virtual codeZac Medico2011-05-021-14/+10
| | | | | This allows portageq calls to avoid loading vdb_metadata.pickle in most cases, which greatly improves performance.
* emerge: skip misspell suggestion if cp existsZac Medico2011-05-021-0/+8
|
* depgraph: autounmask account for optional depsZac Medico2011-05-021-0/+14
|
* emerge: rename --no*-atoms to --*-excludeZac Medico2011-05-024-19/+19
|
* Update timestamps in headers of modified files.Zac Medico2011-05-0110-9/+12
|
* depgraph: queue ignored deps for later traversalZac Medico2011-05-011-13/+28
| | | | | | 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.
* depgraph: account for new-style virtual/libcZac Medico2011-05-011-71/+93
| | | | This will fix bug #364681.
* trigger_rebuilds: handle circular depsZac Medico2011-05-011-1/+27
|
* depgraph: traverse bdeps in complete modeZac Medico2011-05-012-2/+9
| | | | | This makes the graph as complete as possible, and can help --rebuild to find more rebuilds.
* depgraph: ignore unwanted virtualsZac Medico2011-05-011-2/+3
| | | | | This fixes an unwanted side-effect from commit 470871eeafa89a05486d4eb6f3f7626c1f813e4d.
* emerge: add --rebuild and --norebuild-atoms optsDavid James2011-05-0112-26/+317
| | | | | | | | | | | | | | | | | | | | | | | 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
* repoman: remove most old-style virtual checksZac Medico2011-05-011-1/+2
| | | | | | | | | 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.
* depgraph: migrate implicit libc deps from SchedZac Medico2011-04-302-65/+65
| | | | | Now all the virtual/libc handling is done by the depgraph, which will be helpful when fixing bug #364681.
* emergelog: only set permission on creationZac Medico2011-04-291-3/+5
| | | | This will fix bug #365319.
* action_info: eliminate duplicate info_pkgs matchZac Medico2011-04-291-10/+21
| | | | | | | | | | 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.
* _postinst_bsdflags: apply to $ROOT, not $DZac Medico2011-04-281-1/+1
|
* Move preinst/postinst_bsdflags from bash to pyDavid James2011-04-282-15/+29
| | | | | | | | | | | | | 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
* display_preserved_libs: load plib_registryZac Medico2011-04-281-1/+3
| | | | | | | 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.
* emerge: add --misspell-suggestions=n optionZac Medico2011-04-283-1/+18
| | | | This will fix bug #363137.
* emerge: fix indent for --binpkg-respect-use helpZac Medico2011-04-281-1/+1
|
* emerge: add --help for 3 new optionsZac Medico2011-04-271-0/+20
|
* emerge: add 3 new options similar to --excludeDavid James2011-04-272-40/+116
| | | | | | | | | | | | | | | | | | | | | | | 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
* --autounmask: Don't change masked/forced flagsSebastian Luther2011-04-273-2/+35
| | | | This will fix bug #364701.
* expand_new_virt: don't traverse blockersZac Medico2011-04-271-0/+6
|
* expand_new_virt: validate EAPI, IUSE and USEZac Medico2011-04-271-4/+25
|
* expand_new_virt: eliminate cpv_getkeyZac Medico2011-04-271-2/+1
|
* expand_new_virt: use stack for recursionZac Medico2011-04-261-24/+25
|
* Fix a typo.Arfrever Frehtes Taifersar Arahesis2011-04-261-1/+1
|
* emerge --info: support new-style virtualsZac Medico2011-04-261-23/+62
| | | | This will fix bug #364673.
* repoman: deprecate more eclassesTomas Chvatal2011-04-201-0/+5
|
* Update timestamps in headers of modified files.Zac Medico2011-04-133-3/+3
|
* doins: tweak $DISTDIR symlink handlingZac Medico2011-04-111-1/+1
| | | | | Only match stuff inside $PORTAGE_ACTUAL_DISTDIR/ so that we don't stray from PMS.