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.

Reply via email to