public inbox for gentoo-pms@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-pms@lists.gentoo.org
Cc: "Ulrich Müller" <ulm@gentoo.org>
Subject: [gentoo-pms] [PATCH] Ban empty groups in dependency specifications.
Date: Mon,  2 Oct 2017 18:52:41 +0200	[thread overview]
Message-ID: <20171002165241.22827-1-mgorny@gentoo.org> (raw)

From: Ulrich Müller <ulm@gentoo.org>

The specification for empty groups was originally added to match
historical Portage behaviour. However, Portage was changed in 2011
to treat empty dependency groups as an error, therefore ebuilds cannot
rely on any definite behaviour. Consequently, empty groups are not used
by any ebuild or eclass in the Gentoo repository.

Note that the explicit handling for empty groups is still retained for
the case of implicit empty groups resulting from collapsing USE
conditionals in any-of groups et al.

This is a retroactive change for all EAPIs.

Bug: https://bugs.gentoo.org/370565
---
 dependencies.tex | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 1aea135..ed3ea01 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -60,33 +60,33 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 \item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED_USE}.
 \item A simple string. Permitted in \t{RESTRICT} and \t{PROPERTIES}.
 \item An all-of group, which consists of an open parenthesis, followed by whitespace,
-    followed by zero or more of (a dependency item of any kind followed by whitespace), followed
+    followed by one or more of (a dependency item of any kind followed by whitespace), followed
     by a close parenthesis. More formally:
-    \t{all-of} \t{::=} \t{'(' whitespace (item whitespace)* ')'}. Permitted in all specification
+    \t{all-of} \t{::=} \t{'(' whitespace (item whitespace)+ ')'}. Permitted in all specification
     style variables.
 \item An any-of group, which consists of the string \t{||}, followed by whitespace,
-    followed by an open parenthesis, followed by whitespace, followed by zero or more
+    followed by an open parenthesis, followed by whitespace, followed by one 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)* ')'}.
+    More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)+ ')'}.
     Permitted in \t{DEPEND}, \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
+    one or more of (a dependency item of any kind followed by whitespace), followed by a close
     parenthesis. More formally: \t{exactly-one-of} \t{::=} \t{'\textasciicircum\textasciicircum'
-    whitespace '(' whitespace (item whitespace)* ')'}.
+    whitespace '(' whitespace (item whitespace)+ ')'}.
     Permitted in \t{REQUIRED_USE}.
 \item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??},
     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
+    one or more of (a dependency item of any kind followed by whitespace), followed by a close
     parenthesis. More formally: \t{at-most-one-of} \t{::=} \t{'??'\ whitespace '(' whitespace
-    (item whitespace)* ')'}. Permitted in \t{REQUIRED_USE} in EAPIs listed in
+    (item whitespace)+ ')'}. Permitted in \t{REQUIRED_USE} in EAPIs listed in
     table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED_USE ??}\ groups.
 \item A use-conditional group, which consists of an optional exclamation mark, followed by
     a use flag name, followed by a question mark, followed by whitespace, followed by
-    an open parenthesis, followed by whitespace, followed by zero or more of (a dependency item
+    an open parenthesis, followed by whitespace, followed by one or more of (a dependency item
     of any kind followed by whitespace), followed by a close parenthesis. More formally:
     \t{use-conditional} \t{::=} \t{'!'?\ flag-name '?'\ whitespace '(' whitespace (item
-    whitespace)* ')'}.
+    whitespace)+ ')'}.
     Permitted in all specification style variables.
 \end{compactitem}
 
-- 
2.14.2



             reply	other threads:[~2017-10-02 16:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-02 16:52 Michał Górny [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-08-23 17:48 [gentoo-pms] [PATCH] Ban empty groups in dependency specifications Ulrich Müller
2017-10-02 16:45 ` Michał Górny

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=20171002165241.22827-1-mgorny@gentoo.org \
    --to=mgorny@gentoo.org \
    --cc=gentoo-pms@lists.gentoo.org \
    --cc=ulm@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