summaryrefslogtreecommitdiffstats
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
* Support returning multiple flag descriptions when restrict is used.Michał Górny2010-08-271-8/+6
| | | | | | | Return a dict of dicts in parse_metadata_use(), with second-level keys being the restrict strings (or None when no restrict). When generating use.local.desc, use the description from the possibly-highest-matching atom.
* Remove unused imports.Zac Medico2010-08-272-6/+6
|
* Bug #334817 - Make genconfig() warn about EISDIR instead of raisingZac Medico2010-08-271-1/+2
| | | | a IOError.
* fix ppkg type handling in slot_conflict_handlerSebastian Luther2010-08-271-2/+3
|
* config: Add special_env_varsSebastian Luther2010-08-272-152/+169
|
* config: Add LocationsManagerSebastian Luther2010-08-272-163/+212
|
* config: Add VirtualsManagerSebastian Luther2010-08-274-176/+274
|
* config: Add MaskManagerSebastian Luther2010-08-272-42/+75
|
* config: Avoid copying _license_managerSebastian Luther2010-08-274-54/+31
| | | | | | | | | Strictly speaking _license_manager is not immutable. Users need to ensure that extract_global_changes() is called right after __init__ (if at all). It also has the mutable member _undef_lic_groups. It is used to track undifiend license groups, to not display an error message for the same group again and again. Because of this, it's useful to share it between all LicenseManager instances.
* Add a IUSE.missing repoman category for packages that have a USEZac Medico2010-08-263-25/+33
| | | | | | 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-262-12/+29
| | | | | | about masked installed packages, customize the InvalidDependString display to show the path of the *DEPEND file that contains the invalid dependency.
* Do not include the whole input string in the use_reduce()Zac Medico2010-08-261-21/+21
| | | | | | | | InvalidDependString messages since the string is often extremely long which makes it flood the terminal when displayed. Instead we'll have to rely on the caller to display react appropriately to the exception (perhaps displaying the whole input if appropriate).
* Fix breakage from previous commit.Zac Medico2010-08-261-0/+2
|
* Use Package.visible to simplify visibility checks for installedZac Medico2010-08-261-11/+1
| | | | packages, no that it accounts for invalid metadata.
* Fix Package._visible() to mask installed packages with invalid metadata.Zac Medico2010-08-261-1/+3
|
* Use shallow copy for more immutable config attributes.Zac Medico2010-08-261-14/+15
|
* Make LicenseManager.__deepcopy__() do a shallow copy of _license_groupsZac Medico2010-08-261-1/+6
| | | | | since internal policy ensures lack of mutation, and fix memo usage for the other immutable attributes.
* Implement LicenseManager.__deepcopy__(), using shallow copy forZac Medico2010-08-261-1/+23
| | | | immutable attributes.
* Disable autouse support and add a deprecation warning to the autouse()Zac Medico2010-08-261-34/+5
| | | | function.
* Use frozenset for config.usemask and useforce attributes, so there'sZac Medico2010-08-262-8/+7
| | | | | no need to copy them during clone operations. Also, there's no need to copy config.puse since its an immutable string.
* Bug #334365 - Make dep_check() less strict with respect to EAPIZac Medico2010-08-261-17/+12
| | | | | | | | | | constraints for installed packages since previous validation will have already marked them as invalid when necessary and now we're more interested in evaluating dependencies so that things like --depclean work as well as possible in spite of partial invalidity. Also, remove obsolete EAPI atom validation code from _expand_new_virtuals() since it's handled by use_reduce() and the Atom constructor now.
* Various parse_metadata_use() fixes:Zac Medico2010-08-261-25/+35
| | | | | | | * Allow empty descriptions (backward compatibility). * Support multiple 'use' elements. * If multiple 'flag' elements have the same name attribute, use the first occurance.
* Make parse_metadata_use() tolerate empty flag descriptions.Zac Medico2010-08-261-8/+1
|
* Ensure SystemExit is never caught.Zac Medico2010-08-267-5/+17
|
* Make the Atom class add 'EAPI.incompatible' category attributes toZac Medico2010-08-263-6/+34
| | | | | | | | 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.
* Make parse_metadata_use() emulate the Element.itertext() method fromZac Medico2010-08-261-3/+19
| | | | | python-2.7, so egencache --update-use-local-desc gets all of the inner text.
* Fix up error handling for egencache --update-use-local-desc.Zac Medico2010-08-261-2/+6
|
* Fix breakage in use_reduce() calls where token_class=Atom is incorrect.Zac Medico2010-08-262-2/+13
|
* Remove unused max_parents variable.Zac Medico2010-08-261-2/+0
|
* Fix slot_conflict_handler breakage when callingZac Medico2010-08-261-2/+7
| | | | | Atom.unevaluated_atom.violated_conditionals() since in this case the parent_use argument is required.
* Parse flag descriptions in repoman.utilities.parse_metadata_use().Michał Górny2010-08-261-5/+12
| | | | | | Grab the USE descriptions from metadata.xml within parse_metadata_use(). Instead of a plain flag list, return a dict containing both the flag names and their descriptions.
* Make use_reduce() call Atom.evaluate_conditionals() when matchall is False,Zac Medico2010-08-264-28/+7
| | | | | and pass token_class=Atom in use_reduce() calls so that external Atom.evaluate_conditionals() calls can be eliminated.
* In slot_conflict_handler(), never pass parent_use toZac Medico2010-08-261-4/+3
| | | | | | Atom.violated_conditionals since the USE conditionals should have been evaluated in dep_check() and we don't want to accidentally pass a DependencyArg instance into _pkg_use_enabled().
* In slot_conflict_handler._prepare_conflict_msg_and_check_for_specificity()Zac Medico2010-08-261-5/+1
| | | | | don't pass parent_use to Atom.violated_conditionals() since these atoms already have already been through use_reduce() with the parent's USE.
* Fix slot_conflict_handler._prepare_conflict_msg_and_check_for_specificity()Zac Medico2010-08-261-1/+5
| | | | | so that it only passes Package instances (not DependencyArg instances) into _pkg_use_enabled().
* Add PORTAGE_SIGPIPE_STATUS to config._environ_whitelist.Zac Medico2010-08-261-1/+1
|
* Add code to dep_check(), borrowed from _expand_new_virtuals(), to passZac Medico2010-08-261-4/+16
| | | | eapi to use_reduce() when available.
* Let use_reduce and Atom do EAPI checksSebastian Luther2010-08-265-73/+56
|
* Fix UnboundLocalError for y on line 177 in _expand_new_virtuals()Zac Medico2010-08-261-1/+1
|
* Remove obsolete TODO comment.Zac Medico2010-08-251-3/+0
|
* Tweak grammar for unknown-features-warn message.Zac Medico2010-08-251-1/+1
|
* 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.
* Just raise InvalidDependString in cases when it shouldn't happen sinceZac Medico2010-08-251-11/+7
| | | | | the package is not installed and it should have been validated and masked already if necessary.
* Make _get_masking_status() return masking reasons for installed packagesZac Medico2010-08-251-11/+9
| | | | | | | with invalid metadata, and remove show_invalid_depstring_notice() calls for installed packages since depgraph.display_problems() will now show the invalid metadata masking reasons when it displays installed packages that are masked.
* Bug #334365 - Fix depgraph._wrapped_select_pkg_highest_available_imp()Zac Medico2010-08-251-4/+20
| | | | | | to avoid invalid or masked installed packages when necessary. This is especially important for invalid packages since they need be replaced so that their dependencies can be parsed for --depclean operations.
* 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-252-14/+73
| | | | | | 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.
* Use a PORTAGE_SIGPIPE_STATUS variable to export 128 + SIGPIPE to theZac Medico2010-08-252-3/+10
| | | | | ebuild environment. SIGPIPE is typically 13, but its better not to assume that.