summaryrefslogtreecommitdiffstats
path: root/pym/portage/util/_dyn_libs/LinkageMapELF.py
Commit message (Collapse)AuthorAgeFilesLines
* LinkageMapELF: handle null bytes in NEEDED.ELF.2Zac Medico2012-01-311-0/+7
| | | | | This avoids an error from os.stat: TypeError: must be encoded string without NULL bytes, not str
* python3.2 fixes: ResourceWarning: unclosed fileZac Medico2011-08-261-0/+1
|
* Fix a typo in the previous commit.v2.2.0_alpha47Zac Medico2011-07-231-1/+1
|
* LinkageMapELF.getOwners(): add note about plibsZac Medico2011-07-231-0/+5
| | | | | | For preserved libraries, the owner(s) may have been been previously uninstalled, but these uninstalled owners can be returned by this method since they are registered in the PreservedLibsRegistry.
* LinkageMapELF: fix reversed x, cpv var refsZac Medico2011-07-231-1/+1
| | | | This was an error in commit f393413c3f823ef4a60acfcc41c3920933510fc1.
* LinkageMapELF: remove 5-tuple unpack codeZac Medico2011-07-221-17/+22
|
* LinkageMapELF: add getOwners() method and use itZac Medico2011-07-221-13/+41
| | | | | | This preserves the owner information inside LinkageMap.rebuild() and uses it to implement a getOwners() method, which makes it possible to efficiently lookup owners of library providers and consumers.
* LinkageMapELF: use a class for _obj_properiesZac Medico2011-07-221-11/+31
| | | | | This simplifies the interface, avoiding the need for hardcoded indexes and making it easy to add new attributes.
* LinkageMapELF: optimize memory usageZac Medico2011-07-221-9/+20
| | | | | | | This reduces memory consumption by approximately 30%, by replacing mutable set instances with arrays, tuples, and frozensets where appropriate. Also, identical frozenset instances are shared when available.
* Optimize LinkageMapELF.findConsumers().Zac Medico2011-07-201-7/+8
| | | | | If there are no non-excluded providers then there's no need to search for satisfied consumers.
* Fix unused case in LinkageMapELF.findConsumers().Zac Medico2011-07-191-8/+12
| | | | | | Currently, we never pass in more that one package via the exclude_providers argument, so we never trigger the flaw in the logic that this fixes.
* preserve-libs: search for alt providers of sonameZac Medico2011-07-171-8/+50
| | | | | | This will fix bug #289180 by making LinkageMapELF.findconsumers() exclude consumers from the results in cases when they are satisfied by an alternative provider of the required soname.
* LinkageMapElf.findConsumers(): fix $ROOT handlingZac Medico2011-06-301-1/+2
| | | | | The code which checks the soname symlink was missing a join with $ROOT.
* LinkageMapElf: clarify findConsumers soname codeZac Medico2011-06-301-4/+4
| | | | | | Here it referred to an soname symlink as a "master" link, which was inconsistent with the meaning of "master" link used in the isMasterLink() method.
* LinkageMapElf.isMasterLink(): handle libprocZac Medico2011-06-301-1/+10
| | | | | The version component of the libproc-3.2.8.so soname is formed slightly differently than most other libraries.
* Fix a typo in a docstring.Zac Medico2011-06-301-1/+1
|
* LinkageMapELF.isMasterLink(): literally compareZac Medico2011-06-301-3/+5
| | | | | | Comparing the lengths of the names alone seems like too much of an assumption, so literally compare the beginning of the soname to the basename of the given file.
* Only create soname symlinks in global libdirs.Zac Medico2011-06-291-1/+1
| | | | | This prevents false positives for private libraries installed by pre-built packages under /opt.
* _LibGraphNode: re-use the _key attributeZac Medico2011-05-141-3/+10
| | | | | | 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.
* LinkageMapELF: remove unused importsv2.2.0_alpha32Zac Medico2011-05-081-3/+1
|
* linkmap: use exclude_pkgs for the registry tooZac Medico2011-05-081-2/+9
|
* linkmap: check for access before locking vardbapiZac Medico2011-05-071-2/+5
|
* Use EROOT with VDB_PATH in recent changes.Zac Medico2011-05-071-3/+2
|
* Use finer grained locks for install.David James2011-05-071-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* preserve-libs: fix linkmap logic for new plibsZac Medico2011-05-061-6/+27
| | | | | Together with commit f36b9fa38b5268c2a5579db62acec026625f84a9, hopefully this solves bug #366061.
* Show paths of corrupt NEEDED.ELF.2 files.Zac Medico2010-10-211-6/+10
|
* remove double prefix in LinkageMapELFFabian Groffen2010-09-291-6/+6
|
* Rename vardbapi.plib_registry to vardbapi._plib_registry since I'mZac Medico2010-08-291-2/+2
| | | | | | trying to minimize the diff between the master branch and upcoming 2.1.9 branch which will not have preserve-libs support but will still have the code in private and disabled form.
* Move LinkageMap to a new portage.util._dyn_libs.LinkageMapELF module.Zac Medico2010-08-291-0/+633