Policy: Run and PDEPEND
Concern: What must hold for Repo://Ebuild:run?
PMS / Portage: A package can “run” when it is installed (or will be) and its RDEPEND graph is satisfied. PDEPEND is post-merge oriented in Portage narrative; portage-ng still resolves it in the same prove pass via a prover literal hook (always on).
Literals:
Repo://Ebuild:run?{Ctx}- Body themes: install (if needed) + runtime grouped deps
- PDEPEND injected through
heuristic:proof_obligation/4(not a separate preference)
Owns: resolving.pl (:run), Rules/Resolving/candidate.pl, Rules/Resolving/dependency.pl,
prover hook path in Source/Pipeline/prover.pl.
Invariants:
:runobligates RDEPEND (and hook-resolved PDEPEND), not BDEPEND.- Same installed-USE short-circuit /
:updaterewrite as:install. - PDEPEND cycles are handled like other cycles (benign break or plan), not by disabling PDEPEND.
- Runtime missing packages are negative domain assumptions.
Examples: test01, test10,
test66, test79.
See also: Install, Cycle breaks.