From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/pms:eapi-7 commit in: /
Date: Wed, 4 Oct 2017 20:25:53 +0000 (UTC) [thread overview]
Message-ID: <1507148577.e7bd3ae55adcccce24e7a19b09bdbacb6cf246f8.mgorny@gentoo> (raw)
commit: e7bd3ae55adcccce24e7a19b09bdbacb6cf246f8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 4 16:19:16 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 4 20:22:57 2017 +0000
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=e7bd3ae5
EAPI 7 has BDEPEND
Bug: https://bugs.gentoo.org/317337
dependencies.tex | 36 ++++++++++++++++++++++++++++++++----
eapi-differences.tex | 4 ++++
ebuild-vars.tex | 1 +
eclasses.tex | 10 +++++-----
metadata-cache.tex | 2 ++
5 files changed, 44 insertions(+), 9 deletions(-)
diff --git a/dependencies.tex b/dependencies.tex
index 258b394..92e7bb9 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -15,7 +15,7 @@
None (ebuilds can rely only on the packages in the system~set) \\
\addlinespace
\t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test},
- \t{src_install} & \t{DEPEND} \\
+ \t{src_install} & \t{DEPEND}, \t{BDEPEND} \\
\addlinespace
\t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} &
\t{RDEPEND} (unless the particular dependency results in a circular dependency, in which
@@ -38,6 +38,18 @@ There are three classes of dependencies supported by ebuilds:
the package manager finishes the batch of installs.
\end{compactitem}
+\featurelabel{bdepend} Additionally, in EAPIs listed in table~\ref{tab:depend-table}
+as supporting \t{BDEPEND}, the build dependencies are split into two subclasses:
+
+\begin{compactitem}
+\item Build dependencies that are binary compatible with the native build system
+ / CBUILD (\t{BDEPEND}). The ebuild is allowed to call binary executables
+ installed by this kind of dependency.
+\item Build dependencies that are binary compatible with the system being built
+ / CHOST (\t{DEPEND}). The ebuild must not execute binary executables installed
+ by this kind of dependency.
+\end{compactitem}
+
Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before
a particular phase function is executed.
@@ -50,7 +62,8 @@ The following elements are recognised in at least one class of specification. Al
be surrounded on both sides by whitespace, except at the start and end of the string.
\begin{compactitem}
-\item A package dependency specification. Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}.
+\item A package dependency specification. Permitted in \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND},
+ \t{PDEPEND}.
\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC_URI} and \t{HOMEPAGE}\@.
In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC_URI} arrows, may
optionally be followed by whitespace, then \t{->}, then whitespace, then a simple filename when
@@ -68,7 +81,7 @@ be surrounded on both sides by whitespace, except at the start and end of the st
followed by an open parenthesis, followed by whitespace, followed by zero or more
of (a dependency item of any kind followed by whitespace), followed by a close parenthesis.
More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)* ')'}.
- Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED_USE}.
+ Permitted in \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED_USE}.
\item An exactly-one-of group, which consists of the string \t{\textasciicircum\textasciicircum},
followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
zero or more of (a dependency item of any kind followed by whitespace), followed by a close
@@ -93,6 +106,20 @@ be surrounded on both sides by whitespace, except at the start and end of the st
In particular, note that whitespace is not optional.
\ChangeWhenAddingAnEAPI{7}
+\begin{centertable}{EAPIs supporting additional dependency types}
+ \label{tab:depend-table}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Supports \t{BDEPEND}?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6 & No \\
+ 7 & Yes \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
+\ChangeWhenAddingAnEAPI{7}
\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
\label{tab:uri-arrows-table}
\begin{tabular}{ll}
@@ -285,7 +312,8 @@ indicates that the package will not break if the matched package is uninstalled
a different matching package in a different slot.
\item[=] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
indicates that the package will break unless a matching package with slot and sub-slot equal to the
-slot and sub-slot of the best installed version at the time the package was built is available.
+slot and sub-slot of the best version installed to \t{ESYSROOT} at the time the package was built
+is available.
\item[slot=] Indicates that only a specific slot value is acceptable, and otherwise behaves
identically to the plain equals slot operator.
\end{description}
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 31cc5f6..9205125 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
\bottomrule
\endlastfoot
+\t{BDEPEND} & \compactfeatureref{bdepend} &
+ No & No & No & No & Yes \\
+
\t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} &
No & No & No & No & Yes \\
@@ -409,6 +412,7 @@ EAPI 7 is EAPI 6 with the following changes:
\item \t{patch} is compatible with GNU patch 2.7, \featureref{gnu-patch}.
\item \t{SYSROOT} and \t{ESYSROOT} added, \featureref{sysroot}.
\item \t{econf} adds \t{-{}-with-sysroot}, \featureref{econf-options}.
+\item \t{BDEPEND}, \featureref{bdepend}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{7}
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 32f853c..e4efcae 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -83,6 +83,7 @@ Ebuilds may define any of the following variables:
for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
details.
\item[PDEPEND] See section~\ref{sec:dependencies}.
+\item[BDEPEND] See section~\ref{sec:dependencies}.
\end{description}
\ChangeWhenAddingAnEAPI{7}
diff --git a/eclasses.tex b/eclasses.tex
index 49c6c4e..44683b5 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -34,11 +34,11 @@ The \t{inherit} command must also ensure that:
\section{Eclass-defined Metadata Keys}
-The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{RDEPEND} and \t{PDEPEND} variables are handled
-specially when set by an eclass. They must be accumulated across eclasses, appending the value set
-by each eclass to the resulting value after the previous one is loaded. Then the eclass-defined
-value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after the
-implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
+The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND} and \t{PDEPEND} variables are
+handled specially when set by an eclass. They must be accumulated across eclasses, appending
+the value set by each eclass to the resulting value after the previous one is loaded. Then
+the eclass-defined value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this
+is done after the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
\section{EXPORT_FUNCTIONS}
diff --git a/metadata-cache.tex b/metadata-cache.tex
index 80018e4..df4b8ed 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -35,6 +35,8 @@ order. Other lines may be present following these; their meanings are not define
metadata; see table~\ref{tab:optional-vars-table}.
\item Defined phases (\t{DEFINED_PHASES}). In some EAPIs, may optionally be blank, regardless of
ebuild metadata; see table~\ref{tab:defined-phases-table}.
+\item Build-time dependencies for \t{CBUILD} host (\t{BDEPEND}).
+ Blank in some EAPIs; see table~\ref{tab:depend-table}.
\item Blank lines to pad the file to 22 lines long
\end{compactenum}
next reply other threads:[~2017-10-04 20:26 UTC|newest]
Thread overview: 207+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-04 20:25 Michał Górny [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-04-30 22:13 [gentoo-commits] proj/pms:eapi-7 commit in: / Ulrich Müller
2018-04-26 20:16 Ulrich Müller
2018-04-26 20:16 Ulrich Müller
2018-04-26 6:30 Ulrich Müller
2018-04-05 16:57 Ulrich Müller
2018-04-05 16:57 Ulrich Müller
2018-04-05 16:57 Ulrich Müller
2018-03-09 16:51 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-24 12:58 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2018-02-18 13:36 Ulrich Müller
2017-11-12 19:14 Ulrich Müller
2017-11-09 20:57 Michał Górny
2017-11-09 16:51 Michał Górny
2017-11-07 18:22 Ulrich Müller
2017-11-07 17:23 Ulrich Müller
2017-11-07 17:23 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-09 17:31 Ulrich Müller
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 20:25 Michał Górny
2017-10-04 17:44 Michał Górny
2017-10-04 17:36 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:48 Michał Górny
2017-10-04 16:42 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:25 Michał Górny
2017-10-04 16:10 Michał Górny
2017-10-01 7:11 Michał Górny
2017-10-01 7:11 Michał Górny
2017-10-01 7:11 Michał Górny
2017-09-29 14:33 Michał Górny
2017-09-29 14:33 Michał Górny
2017-09-29 14:03 Michał Górny
2017-09-29 14:03 Michał Górny
2017-09-29 13:42 Michał Górny
2017-09-29 3:17 Michał Górny
2017-09-29 3:17 Michał Górny
2017-09-29 3:17 Michał Górny
2017-09-28 20:53 Michał Górny
2017-09-28 20:53 Michał Górny
2017-09-28 20:53 Michał Górny
2017-09-28 20:53 Michał Górny
2017-09-28 20:53 Michał Górny
2017-09-28 20:53 Michał Górny
2017-09-28 17:51 Michał Górny
2017-09-28 16:58 Michał Górny
2017-09-28 16:58 Michał Górny
2017-09-28 16:58 Michał Górny
2017-09-28 16:58 Michał Górny
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:12 Ulrich Müller
2017-04-10 18:11 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-04-09 8:47 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-29 5:12 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-20 19:28 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-18 7:23 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-12 15:33 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-02-23 7:46 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-02-11 7:58 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-02-11 7:58 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-02-08 20:15 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2016-11-29 7:33 [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 ` [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2015-12-05 20:15 Ulrich Müller
2015-12-05 20:15 Ulrich Müller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1507148577.e7bd3ae55adcccce24e7a19b09bdbacb6cf246f8.mgorny@gentoo \
--to=mgorny@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox