commit: 69170c2727f4c936b6ea15335820586753834b1f
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 28 12:47:19 2026 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 14 22:08:16 2026 +0000
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=69170c27
dependencies.tex: HOMEPAGE is no dependency style variable
In particular, Portage does not evaluate use-conditional groups in
HOMEPAGE but treats the variable as an opaque string. Pkgcheck does
not support them either, but warns:
BadHomepage: version 1: HOMEPAGE='(' lacks protocol
BadHomepage: version 1: HOMEPAGE=')' lacks protocol
BadHomepage: version 1: HOMEPAGE='foo?' lacks protocol
Paludis parses HOMEPAGE as a dependency-style specification variable.
The construct isn't currently used in the Gentoo repository
(Pkgcheck would warn) and apparently was never used historically.
The previous wording had been added in commit 2d3e41c.
Also update the wording: the accurate technical term isn't "protocol"
but "scheme component" (RFC 3986).
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
dependencies.tex | 10 +++++-----
ebuild-vars.tex | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dependencies.tex b/dependencies.tex
index ce6e670..d74deaf 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -108,8 +108,8 @@ Table~\ref{tab:phase-function-dependency-classes} lists
dependencies which must
a particular phase function is executed. Table~\ref{tab:dep-class-api}
summarises additional
interfaces related to the dependency classes.
-In addition, \t{HOMEPAGE}, \t{SRC_URI}, \t{LICENSE}, \t{REQUIRED_USE},
\t{PROPERTIES} and
-\t{RESTRICT} use dependency-style specifications to specify their values.
+In addition, \t{SRC_URI}, \t{LICENSE}, \t{REQUIRED_USE}, \t{PROPERTIES} and
\t{RESTRICT} use
+dependency-style specifications to specify their values.
\section{Dependency specification format}
\label{sec:dependency-spec}
@@ -120,10 +120,10 @@ be surrounded on both sides by whitespace, except at the
start and end of the st
\begin{compactitem}
\item A package dependency specification. Permitted in \t{DEPEND},
\t{BDEPEND}, \t{RDEPEND},
\t{PDEPEND}, \t{IDEPEND}.
-\item A URI, in the form \t{proto://host/path}. Permitted in \t{HOMEPAGE} and
\t{SRC_URI}\@.
+\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC_URI}\@.
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
- in \t{SRC_URI}\@. For \t{SRC_URI} behaviour, see
section~\ref{sec:src-uri-behaviour}.
+ optionally be followed by whitespace, then \t{->}, then whitespace, then a
simple filename.
+ See section~\ref{sec:src-uri-behaviour}.
\item A flat filename. Permitted in \t{SRC_URI}.
\item A license name (e.\,g.\ \t{GPL-2}). Permitted in \t{LICENSE}.
\item A use flag name, optionally preceded by an exclamation mark. Permitted
in \t{REQUIRED_USE}.
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 9979ce9..d58f793 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -48,8 +48,8 @@ defined by an eclass.
\begin{description}
\item[EAPI] The EAPI\@. See below in section~\ref{sec:eapi}.
-\item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
- See section~\ref{sec:dependency-spec} for full syntax.
+\item[HOMEPAGE] The URI or whitespace separated URIs for a package's homepage,
including the scheme
+ component.
\item[SRC_URI] A list of source URIs for the package. Valid protocols are
\t{http://},
\t{https://}, \t{ftp://} and \t{mirror://} (see
section~\ref{sec:thirdpartymirrors} for mirror
behaviour). Fetch restricted packages may include URL parts consisting of
just a filename.