summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* preserve-libs: use vardbapi _fs_lock/unlockZac Medico2011-05-141-0/+6
| | | | | The preserve-libs code is too dependent on the filesystem state to allow merging/unmerge/env_update to execute concurrently.
* vardbapi: add reentrant _fs_lock/unlock methodsZac Medico2011-05-141-22/+43
|
* _LibGraphNode: re-use the _key attributeZac Medico2011-05-142-6/+13
| | | | | | 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.
* counter_tick_core: don't lock if parallel-installZac Medico2011-05-141-2/+11
| | | | | | | | 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
* Fix a typo in a comment.Arfrever Frehtes Taifersar Arahesis2011-05-151-1/+1
|
* find_unused_preserved_libs: fix unmerge handlingZac Medico2011-05-141-15/+31
| | | | | | | 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.
* prune_plib_registry: display preserved libsZac Medico2011-05-141-0/+7
| | | | | | 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().
* treewalk: fix plib_collisions with same cpvZac Medico2011-05-141-8/+14
|
* --autounmask: Use >= atoms if possibleSebastian Luther2011-05-141-3/+49
| | | | | | | | | 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.
* preserve-libs: preserve during uninstallZac Medico2011-05-144-22/+82
| | | | | | 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.
* cache.sqlite: handle readonly morev2.2.0_alpha33Zac Medico2011-05-121-1/+1
|
* porttree: use pure volatile cache if necessaryZac Medico2011-05-121-6/+12
|
* cache.volatile: discard "perms" paramZac Medico2011-05-121-1/+2
|
* cache.sqlite: handle readonlyZac Medico2011-05-121-2/+3
|
* expand_new_virt: return early for non-virtual catZac Medico2011-05-121-0/+5
|
* expand_new_virt: skip match for non-virtual catZac Medico2011-05-121-1/+2
|
* treewalk: fix inverted counter init logicZac Medico2011-05-111-1/+1
|
* portdbapi: tweak cache permission handlingZac Medico2011-05-111-8/+12
| | | | | | This is a reponse to the following issue: http://code.google.com/p/chromium-os/issues/detail?id=15234
* EbuildPhase: extract binpkg env for pkg_pretendZac Medico2011-05-111-1/+1
| | | | This will fix bug #366939.
* unmerge: use frozenset for syslistZac Medico2011-05-111-0/+1
|
* depgraph: in complete mode respect --with-bdepsZac Medico2011-05-113-8/+9
| | | | | If you want the graph as complete as possible, now you'll have to use --with-bdeps=y together with --complete-graph.
* dep_check_composite_db: return early from cp_listZac Medico2011-05-101-1/+4
| | | | | 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.
* depgraph: traverse ignored DEPEND if "complete"Zac Medico2011-05-101-2/+5
|
* Strip build-time dependencies when they're ignored and we're not in ↵David James2011-05-101-0/+5
| | | | | | | | | | | --rebuild mode. This should improve depgraph calculation performance. TEST=Ran test suite. BUG=chromium-os:15144 Change-Id: I9e06817201d7a17ae9b44b424d01c1a2bd89210a
* MergeProcess: lock vdb earlier when appropriateZac Medico2011-05-101-1/+29
|
* depgraph: don't clear vardbapi cache in _load_vdbZac Medico2011-05-091-8/+0
| | | | | | 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.
* get_counter_tick_core: use cpv_allZac Medico2011-05-091-9/+7
| | | | | It's more efficient to use cpv_all since cp_all calls cpv_all anyway, and calls to cp_list induce additional stat calls.
* Cache counter values, avoiding I/O when it doesn't change.David James2011-05-092-34/+40
| | | | | | | | | | 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
* dep_check_composite_db: remove unused _dep_expandZac Medico2011-05-091-43/+1
| | | | | | | | 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.
* dep_check_composite_db: implement cp_listZac Medico2011-05-091-0/+17
| | | | | This is used by dep_check since commit 6f9ee9c508c1506cdf8eb0dc46796dbe30f268db.
* config: call _populate_treeVirtuals directlyZac Medico2011-05-091-1/+1
|
* cpv_expand: avoid old-style virtuals moreZac Medico2011-05-091-1/+8
|
* dep_check: avoid old-style virtuals codeZac Medico2011-05-092-3/+18
|
* display_news_notification: don't populate virtsZac Medico2011-05-081-4/+0
| | | | | This typically isn't useful anymore, since Gentoo has stopped using old-style virtuals.
* cpv_expand: populate old-style virts on demandZac Medico2011-05-081-0/+4
| | | | | If old-style virtuals code is triggered here and we are given a vartree, use it to avoid creating a temporary instance.
* unmerge: skip getvirtuals() if cat is not virtualZac Medico2011-05-081-2/+8
| | | | | This allows us to avoid triggering the old-style virtual code which scans /var/db/pkg/*/*/PROVIDE.
* unmerge: use expand_new_virt for sys pkg warningsZac Medico2011-05-083-63/+76
|
* vardbapi: disable subprocess vdb cache updatesZac Medico2011-05-082-1/+10
| | | | | | | | | 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.
* LinkageMapELF: remove unused importsv2.2.0_alpha32Zac Medico2011-05-083-5/+3
|
* PreservedLibsRegistry: normalize counter as strZac Medico2011-05-081-4/+22
|
* Add back cpv_exists check from previous commit.Zac Medico2011-05-081-0/+2
|
* Remove obsolete others_in_slot plibs code.Zac Medico2011-05-081-12/+2
| | | | | | | | | 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.
* treewalk: always initialize "needed"Zac Medico2011-05-081-3/+3
|
* merge_wait_queue: use deque.clear()Zac Medico2011-05-081-1/+1
|
* resume_depgraph: don't call break_refs in loopZac Medico2011-05-081-2/+1
| | | | | | | | | | 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'
* Fix typos in unmerge function.David James2011-05-081-5/+5
| | | | | | | BUG=none TEST=Try unmerging some packages. Change-Id: Ib643ec95b8da14b49a6b519e445fe57f8995c52c
* linkmap: use exclude_pkgs for the registry tooZac Medico2011-05-081-2/+9
|
* Use new vardbapi lock function in FakeVartree.David James2011-05-071-11/+6
| | | | | | | BUG=none TEST=Merged some packages with new code. Ran test suite. Change-Id: Ibb9380122631bf6c79e39691233cfd641931b75a
* Be careful with system pkgs + parallel-install.Zac Medico2011-05-071-10/+18
| | | | | This should prevent FEATURES=parallel-install from interfering with the fixes from bug #256616 and bug #259954.
* linkmap: check for access before locking vardbapiZac Medico2011-05-071-2/+5
|