From 76bf0f4cea57cb0c745b593f97f410c6b381ab79 Mon Sep 17 00:00:00 2001 From: Ulrich Mueller Date: Thu, 9 Dec 2010 23:00:03 +0100 Subject: [PATCH 2/2] New pkg_required_use function in EAPI 4, bug 347353. --- dependencies.tex | 3 ++- ebuild-env-vars.tex | 6 +++--- ebuild-functions.tex | 11 +++++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dependencies.tex b/dependencies.tex index 2e98d05..e5d2e42 100644 --- a/dependencies.tex +++ b/dependencies.tex @@ -281,7 +281,8 @@ flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a t must be enabled (or disabled if it has an exclamation mark prefix). If the package manager encounters a package version where \t{REQUIRED\_USE} assertions are not met, -it must treat this package version as if it was masked. No phase functions must be called. +it must treat this package version as if it was masked. \t{pkg\_required\_use} is run in this case. +No other phase functions must be called. It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE}. diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex index 8bb5ee6..a864bb6 100644 --- a/ebuild-env-vars.tex +++ b/ebuild-env-vars.tex @@ -166,9 +166,9 @@ variable. No & Takes one of the values \t{config}, \t{setup}, \t{nofetch}, \t{unpack}, \t{prepare}, \t{configure}, \t{compile}, \t{test}, \t{install}, \t{preinst}, \t{postinst}, \t{prerm}, - \t{postrm}, \t{info}, \t{pretend} according to the top level ebuild function that was executed - by the package manager. May be unset or any single word that is not any of the above when the - ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. \\ + \t{postrm}, \t{info}, \t{pretend}, \t{required\_use} according to the top level ebuild function + that was executed by the package manager. May be unset or any single word that is not any of + the above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. \\ \t{WORKDIR} & \t{src\_*} & Yes & diff --git a/ebuild-functions.tex b/ebuild-functions.tex index 36df355..ec2664b 100644 --- a/ebuild-functions.tex +++ b/ebuild-functions.tex @@ -395,6 +395,17 @@ source files from their respective locations, with notes concerning licensing if \t{pkg\_nofetch} must require no write access to any part of the filesystem. +\subsection{pkg\_required\_use} +\label{sec:pkg-required-use-function} + +\featurelabel{pkg-required-use} For EAPIs listed in table~\ref{tab:optional-vars-table} as +supporting \t{REQUIRED\_USE}, the \t{pkg\_required\_use} function may be called when at least one +assertion of the \t{REQUIRED\_USE} variable is not met. The function should output an appropriate +explanation why these assertions failed. It may also suggest \t{USE} flags to be adjusted by the +user. + +\t{pkg\_required\_use} must not write to the filesystem. + \subsection{\t{default\_} Phase Functions} \label{sec:default-phase-funcs} -- 1.7.3.3