Policy: Install obligations
Concern: What must hold for Repo://Ebuild:install?
PMS / Portage: Building/installing a package requires fetch (when needed), satisfied REQUIRED_USE, build-time deps (DEPEND / BDEPEND), and a coherent slot occupancy. Already-installed packages with matching USE are skipped (unless emptytree / forced rebuild).
Literals:
Repo://Ebuild:install?{Ctx}- Typical body themes: download / required_use / compile-time grouped
deps / slot constraints /
selected_cndomain locks - May rewrite to
:updatewhen installed USE ≠ requestedbuild_with_use
Owns: resolving.pl (:install), Rules/Resolving/candidate.pl (eligible,
resolve), Rules/Resolving/use.pl, Rules/Resolving/dependency.pl.
Invariants:
:installobligates build-time deps, not RDEPEND (those are:run).- Installed + matching plan USE ⇒ empty body (nomerge / keep).
- Installed + mismatched USE ⇒ transactional
:updatewithrebuild_reason(build_with_use). --nodepsempties the obligation list; it does not invent new meaning.
Examples: test01, test50,
test65, test67,
test76.
See also: Run, USE, REQUIRED_USE.