From 2f9e7a89a7edcec5e116ac5d921d1ab9f2ab433c Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 18 Apr 2008 21:30:10 +0000 Subject: Add a new part for "Dependency Resolution". svn path=/main/trunk/; revision=9926 --- doc/dependency_resolution/package_modeling.docbook | 93 ++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 doc/dependency_resolution/package_modeling.docbook (limited to 'doc/dependency_resolution/package_modeling.docbook') diff --git a/doc/dependency_resolution/package_modeling.docbook b/doc/dependency_resolution/package_modeling.docbook new file mode 100644 index 000000000..84d01a9f2 --- /dev/null +++ b/doc/dependency_resolution/package_modeling.docbook @@ -0,0 +1,93 @@ + +Package Modeling + + + Constraint Satisfaction + + Constraint Types + + Dependency resolution involves satisfaction of + many constraints: + + + Persistent configuration parameters, like those that come from + make.profile, make.conf, and the /etc/portage directory. + + + Current command parameters, which may include options, atoms, or sets. + + + + Package Dependencies + + + + + + + Package Dependencies + + Common types of package dependencies: + + + Files required for building or installing. Downloads may + be necessary to satisfy these. + + + Other packages required to be installed for + buildtime or runtime. + + + Blockers that prevent conflicting packages from being installed + simultaneously. + + + + + + + + Conflicts + + Blocker Conflicts + + If one package blocks another package, the two packages + conflict such that they cannot be installed simultaneously. + These conflicts are often due to file collisions. + + + + Slot Conflicts + + If two different packages that occupy the same slot are chosen + to satisfy dependencies, a slot conflict occurs. The two packages + cannot be installed simultaneously and therefore the respective + dependencies will not be satisfied simultaneously. + + + + Indirect Conflicts + + If the dependencies of two parent packages cannot be installed + simultaneously, it creates an indirect conflict between the parent + packages since their respective dependencies cannot be satisfied + simultaneously. + + + + + + Dependency Neglection + + In order to significantly reduce the resources consumed by + the modeling process, the dependencies of + installed packages may be neglected. + + + If a more complete dependency calculation is desired, + there is a --complete-graph option which will ensure that the + dependencies of installed packages are properly considered. + + + + -- cgit v1.2.3-1-g7c22