summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Package.py
Commit message (Collapse)AuthorAgeFilesLines
* Use EROOT instead of ROOT for keys everywhere.Zac Medico2011-10-251-4/+4
| | | | | | | | | | It makes more sense to use EROOT instead of ROOT for keys in mappings like portage.db, since it allows for multiple prefixes to exist simultaneously within the same map without having a key collision. This affects all portageq commands which take a <root> parameter, since that parameter now corresponds to EROOT instead of ROOT. None of this makes any difference for non-prefix users, since EROOT and ROOT are identical when EPREFIX is empty.
* Package: remove unused profile.system mask typeZac Medico2011-08-081-1/+0
|
* Remove "profile" mask support as per PMS 5.2.7.Zac Medico2011-08-081-5/+0
| | | | | | | | Since this is considered a "legacy" feature by PMS 5.2.7, there shouldn't be any need to support it anymore. Profiles can use package.mask to get similar results, and package.mask additionally allows for comments which are conveniently displayed by emerge. This will fix bug #377907.
* Package.use: share identical frozenset instancesZac Medico2011-06-261-4/+12
|
* Package: add use.expand/expand_hidden attributesZac Medico2011-06-261-1/+20
| | | | | This allows the merge list display to account for repository-level USE_EXPAND and USE_EXPAND_HIDDEN settings (see bug #370693).
* MergeListItem: fix "unknown repo" displayZac Medico2011-06-051-1/+2
| | | | | The Package class uses an UNKNOWN_REPO constant so that MergeListItem can distinguish this case.
* Package: add new _gen_hash_key methodZac Medico2011-05-221-6/+39
|
* Task: precalculate _hash_valueZac Medico2011-05-191-0/+1
|
* Task: remove unnecessary _get_hash_key() methodZac Medico2011-05-191-4/+1
|
* Package: precalculate _hash_keyMarat Radchenko2011-05-191-11/+9
| | | | | This eliminates an expensive getattr call in _get_hash_key(), which greatly improves depgraph performance on a weak ARM cpu.
* 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.
* Display: Simplify mask code for bug #58416.Zac Medico2011-01-311-15/+16
| | | | | | Hopefully this makes the logic more understandable, though it may support fewer cases. If we want to handle more cases then hopefully we can do it without making the code too complex.
* fix the problem of mixing "**" and ebuild keywords for only some archsBrian Dolbec2011-01-301-1/+6
|
* Fix a typo.Arfrever Frehtes Taifersar Arahesis2011-01-301-2/+2
|
* Use the new _getRawMissingKeyword() which optimizes the keyword display. ↵Brian Dolbec2011-01-301-13/+13
| | | | Misc. whitespace cleanup
* add a new function to MaskManager that optimizies getting any raw mask atomsBrian Dolbec2011-01-301-23/+6
|
* optimize isHardMasked() a little moreBrian Dolbec2011-01-301-5/+2
|
* Move most of the code to _emerge's Package object. Refine the hardmasking ↵Brian Dolbec2011-01-301-0/+45
| | | | code, optimizing as much as possible.
* depgraph: prefer highest priority repo more oftenZac Medico2011-01-021-0/+7
| | | | | | Prefer the highest priority repo, even when the ebuild from the higher priority repo requires USE adjustments due to USE deps or REQUIRED_USE. This will fix bug #350254.
* Package.operation: eliminate duplicate codeZac Medico2010-12-221-9/+5
|
* Package: Use IUSE to validate built USEZac Medico2010-12-041-0/+8
|
* Add Package.use.force/mask attributes.Zac Medico2010-11-201-10/+57
|
* Fix 'repository' KeyError in Package constructor.Zac Medico2010-10-051-1/+1
|
* Ensure valid Package.metadata['repository'].Zac Medico2010-10-051-6/+7
|
* Ensure that Package.repo is always valid.Zac Medico2010-10-051-1/+4
|
* Clean up repo handling for depgraph pkg_cache.Zac Medico2010-10-041-1/+7
|
* Omit repo from mtimedb resume mergelist entries since the formatZac Medico2010-09-271-0/+10
| | | | is intended to be frozen.
* reposyntax: Add support all over the placeSebastian Luther2010-09-261-5/+11
|
* Make Package __str__ and __unicode__ methods more like DependencyArg.Zac Medico2010-09-161-1/+9
|
* In Package._validate_deps(), force unicode format string inZac Medico2010-09-141-1/+4
| | | | check_required_use() exception handling (for python-2.x safety).
* Make Package._metadata_exception() use unicode format strings in orderZac Medico2010-09-141-3/+14
| | | | | | | | | | | | | | | | | | to avoid UnicodeDecodeError in python-2.x. This issue was reported in forum thread http://forums.gentoo.org/viewtopic-t-844623.html where the following traceback was posted: File "/usr/lib/portage/pym/_emerge/FakeVartree.py", line 195, in _pkg type_name="installed") File "/usr/lib/portage/pym/_emerge/Package.py", line 64, in __init__ self._validate_deps() File "/usr/lib/portage/pym/_emerge/Package.py", line 93, in _validate_deps self._metadata_exception(k, e) File "/usr/lib/portage/pym/_emerge/Package.py", line 242, in _metadata_exception "%s: %s in '%s'" % (k, e, path)) UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 22: ordinal not in range(128)
* Only initialize Package.inherited to an empty set when it is None.Zac Medico2010-09-141-1/+2
|
* Ensure that Package.inherited is always initialized, even if there is noZac Medico2010-09-141-0/+1
| | | | INHERITED metadata available (like for binary packages).
* Make Package.metadata.defined_phases return all possible phases whenZac Medico2010-09-091-1/+11
| | | | | DEFINED_PHASES is undefined. This makes it easy to do containment checks to see if it's safe to skip execution of a given phase.
* Fix Package._validate_deps() to pass matchall=True to use_reduce().Zac Medico2010-08-271-4/+4
|
* Use InvalidDependString import instead ofZac Medico2010-08-271-6/+6
| | | | portage.exception.InvalidDependString.
* Use Package._metadata_exception() to handle invalid LICENSE, PROPERTIES,Zac Medico2010-08-271-12/+22
| | | | | PROVIDE, and RESTRICT, and generate IUSE.missing errors for repoman when appropriate.
* Add a IUSE.missing repoman category for packages that have a USEZac Medico2010-08-261-22/+25
| | | | | | conditional which references a flag that is not listed in IUSE. Also split out a Package._metadata_exception() method to handle IUSE.missing for *DEPEND and SRC_URI.
* Bug #334365 - Selectively ignore invalid metadata of installed packagesZac Medico2010-08-261-5/+17
| | | | | | | | | | in cases when it's irrelevant (should re-evaluate these when new EAPIs are deployed): * EAPI.incompatible IUSE defaults * EAPI.incompatible *DEPEND * *DEPEND conditionals missing from IUSE * SRC_URI.syntax
* Bug #334365 - When depgraph.display_problems() shows the messageZac Medico2010-08-261-11/+20
| | | | | | about masked installed packages, customize the InvalidDependString display to show the path of the *DEPEND file that contains the invalid dependency.
* Fix Package._visible() to mask installed packages with invalid metadata.Zac Medico2010-08-261-1/+3
|
* Make the Atom class add 'EAPI.incompatible' category attributes toZac Medico2010-08-261-1/+12
| | | | | | | | InvalidAtom exceptions, make use_reduce() raise InvalidDependString exceptions that encapsulate InvalidAtom exceptions, and make Package._validate_deps() use the InvalidAtom categories when recording the invalid metadata for use by repoman. Also, remove the EAPI.incompatible code from repoman that's no longer used.
* Let use_reduce and Atom do EAPI checksSebastian Luther2010-08-261-37/+4
|
* Use EAPI.incompatible repoman category for REQUIRED_USE setting inZac Medico2010-08-251-1/+1
| | | | EAPI that does not support it.
* Make Package._validate_deps() use check_required_use() to validateZac Medico2010-08-251-5/+15
| | | | REQUIRED_USE.
* Make Package._validate_deps() check USE conditionals in SRC_URI.Zac Medico2010-08-251-1/+2
|
* Bug #334365 - Mask packages with invalid metadata as early as possible,Zac Medico2010-08-251-3/+63
| | | | | | so that the depgraph won't select them unless they are already installed and there is no other choice. This should trigger automatic reinstallation of installed packages that have invalid metadata.
* * Replace config._iuse_implicit_re with a callable _iuse_implicit_matchZac Medico2010-08-181-6/+6
| | | | | | | object that simply returns boolean, and update consumers. * Make check_required_use() take a callable for the iuse parameter, and pass in Package.use.is_valid_flag or iuse.__contains__ as appropriate.
* Pass is_valid_flag to use_reduce if possibleSebastian Luther2010-08-161-1/+2
|
* portage.dep.use_reduce: Better validation of use flags in use conditionalsSebastian Luther2010-08-161-1/+1
| | | | | use_reduce now uses either a regex or, if provided, a is_valid_flag function to validate use flags