Dependency Resolution
[Paludis]


Files

file  dep_list-fwd.hh
file  dep_list.hh
file  handled_information-fwd.hh
file  handled_information.hh
file  override_functions.hh
file  query_visitor.hh
file  range_rewriter.hh
file  show_suggest_visitor.hh
file  uninstall_list.hh

Classes

struct  paludis::DepListEntry
struct  paludis::DepListOptions
class  paludis::DepList
class  paludis::DepListError
class  paludis::AllMaskedError
class  paludis::AdditionalRequirementsNotMetError
class  paludis::DowngradeNotAllowedError
class  paludis::BlockError
class  paludis::CircularDependencyError
class  paludis::NoDestinationError
struct  paludis::DepTagEntry
struct  paludis::DepTagEntryComparator
class  paludis::DepListEntryHandled
class  paludis::DepListEntryUnhandled
class  paludis::DepListEntryNoHandlingRequired
class  paludis::DepListEntryHandledSuccess
class  paludis::DepListEntryHandledFetchSuccess
class  paludis::DepListEntryHandledSkippedUnsatisfied
class  paludis::DepListEntryHandledSkippedDependent
class  paludis::DepListEntryHandledFailed
class  paludis::DepListEntryHandledFetchFailed
class  paludis::QueryVisitor
class  paludis::RangeRewriter
class  paludis::ShowSuggestVisitor
struct  paludis::UninstallListOptions
struct  paludis::UninstallListEntry
class  paludis::UninstallList

Typedefs

typedef Sequence
< std::tr1::function< bool(const
PackageID &, const Mask &)> > 
paludis::DepListOverrideMasksFunctions

Enumerations

enum  paludis::DepListUseOption { paludis::dl_use_deps_standard, paludis::dl_use_deps_take_all, paludis::last_dl_use_deps }
enum  paludis::DepListUpgradeOption { paludis::dl_upgrade_always, paludis::dl_upgrade_as_needed, paludis::last_dl_upgrade }
enum  paludis::DepListTargetType { paludis::dl_target_package, paludis::dl_target_set, paludis::last_dl_target }
enum  paludis::DepListSuggestedOption { paludis::dl_suggested_show, paludis::dl_suggested_discard, paludis::dl_suggested_install, paludis::last_dl_suggested }
enum  paludis::DepListReinstallScmOption {
  paludis::dl_reinstall_scm_never, paludis::dl_reinstall_scm_always, paludis::dl_reinstall_scm_daily, paludis::dl_reinstall_scm_weekly,
  paludis::last_dl_reinstall_scm
}
enum  paludis::DepListReinstallOption { paludis::dl_reinstall_never, paludis::dl_reinstall_always, paludis::dl_reinstall_if_use_changed, paludis::last_dl_reinstall }
enum  paludis::DepListNewSlotsOption { paludis::dl_new_slots_always, paludis::dl_new_slots_as_needed, paludis::last_dl_new_slots }
enum  paludis::DepListFallBackOption { paludis::dl_fall_back_as_needed_except_targets, paludis::dl_fall_back_as_needed, paludis::dl_fall_back_never, paludis::last_dl_fall_back }
enum  paludis::DepListEntryState { paludis::dle_no_deps, paludis::dle_has_pre_deps, paludis::dle_has_all_deps, paludis::last_dle }
enum  paludis::DepListEntryKind {
  paludis::dlk_package, paludis::dlk_subpackage, paludis::dlk_already_installed, paludis::dlk_virtual,
  paludis::dlk_provided, paludis::dlk_suggested, paludis::dlk_block, paludis::dlk_masked,
  paludis::last_dlk
}
enum  paludis::DepListDowngradeOption { paludis::dl_downgrade_as_needed, paludis::dl_downgrade_warning, paludis::dl_downgrade_error, paludis::last_dl_downgrade }
enum  paludis::DepListDepsOption {
  paludis::dl_deps_discard, paludis::dl_deps_pre, paludis::dl_deps_pre_or_post, paludis::dl_deps_post,
  paludis::dl_deps_try_post, paludis::last_dl_deps
}
enum  paludis::DepListCircularOption { paludis::dl_circular_error, paludis::dl_circular_discard, paludis::dl_circular_discard_silently, paludis::last_dl_circular }
enum  paludis::DepListBlocksOption {
  paludis::dl_blocks_accumulate, paludis::dl_blocks_error, paludis::dl_blocks_discard, paludis::dl_blocks_discard_completely,
  paludis::last_dl_blocks
}
enum  paludis::UninstallListEntryKind {
  paludis::ulk_package, paludis::ulk_requires, paludis::ulk_required_by, paludis::ulk_virtual,
  paludis::last_ulk
}

Functions

bool paludis::is_viable_any_child (const DependencySpecTree::BasicNode &i)
bool paludis::override_tilde_keywords (const Environment *const e, const PackageID &i, const Mask &m) PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE
bool paludis::override_unkeyworded (const Environment *const e, const PackageID &i, const Mask &m) PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE
bool paludis::override_repository_masks (const Mask &m) PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE
bool paludis::override_license (const Mask &m) PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE

Detailed Description

There are two classes that provide dependency resolution: DepList (for installing) and UninstallList (for uninstalling). Actual installing and uninstalling is usually done by InstallTask and UninstallTask respectively.

Examples


Typedef Documentation

typedef Sequence<std::tr1::function<bool (const PackageID &, const Mask &)> > paludis::DepListOverrideMasksFunctions

A sequence of functions to try, in order, when overriding masks.


Enumeration Type Documentation

enum paludis::DepListBlocksOption

How we handle blocks.

Enumerator:
dl_blocks_accumulate  Accumulate them and show all errors together.
dl_blocks_error  Error on the first one.
dl_blocks_discard  Discard (dangerous).
dl_blocks_discard_completely  Discard completely (not for user visible use).
last_dl_blocks  Number of keys in paludis::DepListBlocksOption.

enum paludis::DepListCircularOption

How we should handle circular deps.

See also:
DepListOptions
Enumerator:
dl_circular_error  As an error.
dl_circular_discard  Discard them.
dl_circular_discard_silently  Discard them silently.
last_dl_circular  Number of keys in paludis::DepListCircularOption.

enum paludis::DepListDepsOption

How we should handle a dep class.

See also:
DepListOptions
Enumerator:
dl_deps_discard  Discard it.
dl_deps_pre  As a pre dependency.
dl_deps_pre_or_post  As a pre dependency with fallback to post.
dl_deps_post  As a post dependency.
dl_deps_try_post  As an optional post dependency.
last_dl_deps  Number of keys in paludis::DepListDepsOption.

enum paludis::DepListDowngradeOption

What to do when we downgrade.

See also:
DepListOptions
Enumerator:
dl_downgrade_as_needed  As needed.
dl_downgrade_warning  As needed, but warn.
dl_downgrade_error  Refuse to downgrade.
last_dl_downgrade  Number of keys in paludis::DepListDowngradeOption.

enum paludis::DepListEntryKind

Kind of a DepListEntry.

Enumerator:
dlk_package  A package to be installed.
dlk_subpackage  A package to be installed as part of the previous dlk_package.
dlk_already_installed  An already installed package.
dlk_virtual  A virtual package.
dlk_provided  A package provided by the previous dlk_package.
dlk_suggested  A package suggested by the previous dlk_package.
dlk_block  A blocked package that must be removed.
dlk_masked  A masked package that must be unmasked.
last_dlk  Number of keys in paludis::DepListEntryKind.

enum paludis::DepListEntryState

State of a DepListEntry.

Enumerator:
dle_no_deps  Dependencies have yet to be added.
dle_has_pre_deps  Predependencies have been added.
dle_has_all_deps  All dependencies have been added.
last_dle  Number of keys in paludis::DepListEntryState.

enum paludis::DepListFallBackOption

When we should fall back to an installed package.

See also:
DepListOptions
Enumerator:
dl_fall_back_as_needed_except_targets  As needed, except for targets.
dl_fall_back_as_needed  As needed.
dl_fall_back_never  Never.
last_dl_fall_back  Number of keys in paludis::DepListFallBackOption.

enum paludis::DepListNewSlotsOption

When we should pull in a new slot.

See also:
DepListOptions
Enumerator:
dl_new_slots_always  Always.
dl_new_slots_as_needed  Only where necessary.
last_dl_new_slots  Number of keys in paludis::DepListNewSlotsOption.

enum paludis::DepListReinstallOption

When we should reinstall.

See also:
DepListOptions
Enumerator:
dl_reinstall_never  Never.
dl_reinstall_always  Always.
dl_reinstall_if_use_changed  If a USE flag has changed.
last_dl_reinstall  Number of keys in paludis::DepListReinstallOption.

enum paludis::DepListReinstallScmOption

When we should reinstall SCM packages.

See also:
DepListOptions
Enumerator:
dl_reinstall_scm_never  Never.
dl_reinstall_scm_always  Always.
dl_reinstall_scm_daily  Daily.
dl_reinstall_scm_weekly  Weekly.
last_dl_reinstall_scm  Number of keys in paludis::DepListReinstallScmOption.

enum paludis::DepListSuggestedOption

How we should handle suggested deps.

See also:
DepListOptions
Enumerator:
dl_suggested_show  Show.
dl_suggested_discard  Discard.
dl_suggested_install  Install.
last_dl_suggested  Number of keys in paludis::DepListSuggestedOption.

enum paludis::DepListTargetType

Type of target being handled at the top level.

See also:
DepListOptions
Enumerator:
dl_target_package  A package, so force reinstalls.
dl_target_set  A set, so don't force reinstalls.
last_dl_target  Number of keys in paludis::DepListTargetType.

enum paludis::DepListUpgradeOption

When we should upgrade.

See also:
DepListOptions
Enumerator:
dl_upgrade_always  Always.
dl_upgrade_as_needed  Only as needed.
last_dl_upgrade  Number of keys in paludis::DepListUpgradeOption.

enum paludis::DepListUseOption

How we handle use deps.

Not for end user use. Used by adjutrix and qa.

Enumerator:
dl_use_deps_standard  Behave as standard.
dl_use_deps_take_all  Take both sides of use conditionals except on masks.
last_dl_use_deps  Number of keys in paludis::DepListUseOption.

enum paludis::UninstallListEntryKind

Kind of an UninstallListEntry.

Enumerator:
ulk_package  A package to be uninstalled.
ulk_requires  A package that requires its tags.
ulk_required_by  A package that is required by its tags.
ulk_virtual  A virtual.
last_ulk  Number of keys in paludis::UninstallListEntryKind.


Function Documentation

bool paludis::is_viable_any_child ( const DependencySpecTree::BasicNode &  i  ) 

Is an item a valid child in an AnyDepSpec?

bool paludis::override_license ( const Mask &  m  ) 

Override a mask if it is a license mask.

Since:
0.26

bool paludis::override_repository_masks ( const Mask &  m  ) 

Override a mask if it is a repository mask.

Since:
0.26

bool paludis::override_tilde_keywords ( const Environment *const   e,
const PackageID &  i,
const Mask &  m 
)

Override a mask if it is a ~keyword mask, and keyword is accepted.

Since:
0.26

bool paludis::override_unkeyworded ( const Environment *const   e,
const PackageID &  i,
const Mask &  m 
)

Override a mask if it is due to a missing keyword.

Since:
0.26


Generated on Mon Sep 21 10:36:09 2009 for paludis by  doxygen 1.5.4