* [gentoo-pms] EAPI Cheat Sheet: Sync with EAPI 4 of PMS
@ 2010-12-19 10:51 Christian Faulhammer
2010-12-19 18:04 ` Ulrich Mueller
0 siblings, 1 reply; 6+ messages in thread
From: Christian Faulhammer @ 2010-12-19 10:51 UTC (permalink / raw
To: gentoo-pms
[-- Attachment #1.1: Type: text/plain, Size: 328 bytes --]
Hi,
only thing is removal of the slot operators. Anything else that needs
to be changed? Can I put the date of the last council meeting as
approval date?
V-Li
--
Christian Faulhammer, Gentoo Lisp project
<URL:http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode
<URL:http://gentoo.faulhammer.org/>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-EAPI-Cheat-Sheet-Remove-slot-operators-from-EAPI-4.patch --]
[-- Type: text/x-patch, Size: 1843 bytes --]
From 9a1d03eb6def677ac032f5993fe132af2fde4af3 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Sun, 19 Dec 2010 11:42:41 +0100
Subject: [PATCH] EAPI Cheat Sheet: Remove slot operators from EAPI 4
This did not make it to the final EAPI 4 set, so get the cheat sheet in sync with PMS
---
eapi-cheatsheet.tex | 15 ---------------
1 files changed, 0 insertions(+), 15 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index b100c56..028a0dd 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -174,21 +174,6 @@ nonetheless.
\item[No RDEPEND fall-back] The package manager will not fall back
to \code{RDEPEND=DEPEND} if RDEPEND is undefined. See
\featureref{rdepend-depend}
- \item[Slot operators] Dependencies that are both DEPEND and
- RDEPEND and that can match multiple slots should specify one of:
- \begin{description}
- \item[\code{:*}] Indicates that any slot value is
- acceptable. In addition, for runtime dependencies, indicates
- that the package will not break if the matched package is
- uninstalled and replaced by a different matching package in a
- different slot.
- \item[\code{:=}] Indicates that any slot value is
- acceptable. In addition, for runtime dependencies, indicates
- that the package will break unless a matching package with
- slot equal to the slot of the best installed version at the
- time the package was installed is available.
- \end{description}
- See \featureref{slot-operator-deps}.
\item[USE dependency defaults] In addition to the features offered
in EAPI 2 for USE dependencies, a \code{(+)} or \code{(-)} can be
added after a USE flag (mind the parentheses). The former
--
1.7.2.2
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [gentoo-pms] EAPI Cheat Sheet: Sync with EAPI 4 of PMS
2010-12-19 10:51 [gentoo-pms] EAPI Cheat Sheet: Sync with EAPI 4 of PMS Christian Faulhammer
@ 2010-12-19 18:04 ` Ulrich Mueller
2010-12-20 13:23 ` Christian Faulhammer
0 siblings, 1 reply; 6+ messages in thread
From: Ulrich Mueller @ 2010-12-19 18:04 UTC (permalink / raw
To: Christian Faulhammer; +Cc: gentoo-pms
>>>>> On Sun, 19 Dec 2010, Christian Faulhammer wrote:
> only thing is removal of the slot operators.
Yes, this should be removed.
> Anything else that needs to be changed?
I believe that all of the following are missing (from the list in
eapi-differences.tex):
\t{REQUIRED\_USE}
\t{S} to \t{WORKDIR} fallback restricted
\t{MERGE\_TYPE}
\t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}
Also the following are not mentioned, but I don't know which of them
qualify for the cheat sheet:
\t{PROPERTIES} support is mandatory
\t{DEFINED\_PHASES} support is mandatory
\t{AA} is gone
\t{KV} is gone
\t{econf} adds \t{-{}-disable-dependency-tracking}
\t{doman -i18n} option takes precedence
Ulrich
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-pms] EAPI Cheat Sheet: Sync with EAPI 4 of PMS
2010-12-19 18:04 ` Ulrich Mueller
@ 2010-12-20 13:23 ` Christian Faulhammer
2010-12-20 14:46 ` Ulrich Mueller
0 siblings, 1 reply; 6+ messages in thread
From: Christian Faulhammer @ 2010-12-20 13:23 UTC (permalink / raw
To: Ulrich Mueller, gentoo-pms
[-- Attachment #1.1: Type: text/plain, Size: 1316 bytes --]
Hi,
Should I merge all patches in one or feature by feature? Please
review, they might have some rough edges still.
Ulrich Mueller <ulm@gentoo.org>:
> > Anything else that needs to be changed?
>
> I believe that all of the following are missing (from the list in
> eapi-differences.tex):
>
> \t{S} to \t{WORKDIR} fallback restricted
I fail to find a short description of the exact exceptions, so for now
it just says: Fall back not there. How likely is it to hit the
exception?
> \t{REQUIRED\_USE}
> \t{MERGE\_TYPE}
> \t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}
Ok.
> Also the following are not mentioned, but I don't know which of them
> qualify for the cheat sheet:
>
> \t{DEFINED\_PHASES} support is mandatory
Not relevant to users.
> \t{PROPERTIES} support is mandatory
> \t{AA} is gone
> \t{KV} is gone
> \t{econf} adds \t{-{}-disable-dependency-tracking}
Ok. Although I am not too sure about the latter.
> \t{doman -i18n} option takes precedence
This is done in a separate patch already posted for review, but I
attach it for completeness.
V-Li
--
Christian Faulhammer, Gentoo Lisp project
<URL:http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode
<URL:http://gentoo.faulhammer.org/>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-EAPI-Cheat-sheet-Make-a-note-about-i18n-switch-of-do.patch --]
[-- Type: text/x-patch, Size: 927 bytes --]
From 892bcc9ed149ed984aff6fafe4030c0be5b585a6 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Sun, 19 Dec 2010 11:46:47 +0100
Subject: [PATCH 01/10] EAPI Cheat sheet: Make a note about -i18n switch of doman
---
eapi-cheatsheet.tex | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 028a0dd..7c97aea 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -137,7 +137,8 @@ nonetheless.
\featureref{default-func}.
\item[\code{doman} language support] The \code{doman} installation
function recognizes language specific man page extensions and
- behaves accordingly. See \featureref{doman-langs}.
+ behaves accordingly. This behaviour can be inhibited by the
+ \code{-i18n} switch with EAPI 4. See \featureref{doman-langs}.
\end{description}
\newpage
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0001-EAPI-Cheat-Sheet-Remove-slot-operators-from-EAPI-4.patch --]
[-- Type: text/x-patch, Size: 1843 bytes --]
From 9a1d03eb6def677ac032f5993fe132af2fde4af3 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Sun, 19 Dec 2010 11:42:41 +0100
Subject: [PATCH] EAPI Cheat Sheet: Remove slot operators from EAPI 4
This did not make it to the final EAPI 4 set, so get the cheat sheet in sync with PMS
---
eapi-cheatsheet.tex | 15 ---------------
1 files changed, 0 insertions(+), 15 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index b100c56..028a0dd 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -174,21 +174,6 @@ nonetheless.
\item[No RDEPEND fall-back] The package manager will not fall back
to \code{RDEPEND=DEPEND} if RDEPEND is undefined. See
\featureref{rdepend-depend}
- \item[Slot operators] Dependencies that are both DEPEND and
- RDEPEND and that can match multiple slots should specify one of:
- \begin{description}
- \item[\code{:*}] Indicates that any slot value is
- acceptable. In addition, for runtime dependencies, indicates
- that the package will not break if the matched package is
- uninstalled and replaced by a different matching package in a
- different slot.
- \item[\code{:=}] Indicates that any slot value is
- acceptable. In addition, for runtime dependencies, indicates
- that the package will break unless a matching package with
- slot equal to the slot of the best installed version at the
- time the package was installed is available.
- \end{description}
- See \featureref{slot-operator-deps}.
\item[USE dependency defaults] In addition to the features offered
in EAPI 2 for USE dependencies, a \code{(+)} or \code{(-)} can be
added after a USE flag (mind the parentheses). The former
--
1.7.2.2
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: 0002-EAPI-Cheat-Sheet-Mention-removal-of-KV-and-AA-variab.patch --]
[-- Type: text/x-patch, Size: 827 bytes --]
From cbe151c2e810a28b5fb2c65e0de59045e5f10ee8 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 13:12:13 +0100
Subject: [PATCH 02/10] EAPI Cheat Sheet: Mention removal of KV and AA variable
---
eapi-cheatsheet.tex | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 7c97aea..8f9a01d 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -206,6 +206,8 @@ nonetheless.
\begin{description}
\item[\code{dohard}, \code{dosed}] Both functions are not allowed
anymore. See \featureref{banned-commands}.
+ \item[\code{KV}, \code{AA}] These variables are not defined
+ anymore, see \featureref{KV} and \featureref{KV}.
\end{description}
\end{document}
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.5: 0003-EAPI-Cheat-Sheet-Add-PROPERTIES.patch --]
[-- Type: text/x-patch, Size: 845 bytes --]
From 8b79030f59948166bd72c2e2366ce30b4d9d5d18 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 13:15:49 +0100
Subject: [PATCH 03/10] EAPI Cheat Sheet: Add PROPERTIES
---
eapi-cheatsheet.tex | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 8f9a01d..f247034 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -200,6 +200,8 @@ nonetheless.
case of a failure (as is the default) but will return non-zero on
failure rather than aborting the build. See
\featureref{nonfatal}.
+ \item[\code{PROPERTIES}] Is allowed for all package managers now
+ to support interactive installs.
\end{description}
\subsection{Removals/Bans}
\label{sec:cs:eapi4-removalsbans}
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.6: 0004-EAPI-Cheat-Sheet-Describe-change-in-S-fallback.patch --]
[-- Type: text/x-patch, Size: 1214 bytes --]
From 59cdf80c9c8c343cbafc960c44af845644232fdb Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 13:28:11 +0100
Subject: [PATCH 04/10] EAPI Cheat Sheet: Describe change in S fallback
---
eapi-cheatsheet.tex | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index f247034..81401b1 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -208,6 +208,13 @@ nonetheless.
\begin{description}
\item[\code{dohard}, \code{dosed}] Both functions are not allowed
anymore. See \featureref{banned-commands}.
+ \item[No \code{RDEPEND} fall-back] The package manager will not fall back
+ to \code{RDEPEND=DEPEND} if \code{RDEPEND} is undefined. See
+ \featureref{rdepend-depend}.
+ \item[\code{S} fallback changes] The value of the variable
+ \code{S} will not automatically be changed to \code{WORKDIR}, if
+ \code{S} is not a directory, but abort. See
+ \featureref{s-workdir-fallback}.
\item[\code{KV}, \code{AA}] These variables are not defined
anymore, see \featureref{KV} and \featureref{KV}.
\end{description}
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.7: 0005-EAPI-Cheat-Sheet-Reformatting-on-RDEPEND-fallback.patch --]
[-- Type: text/x-patch, Size: 1155 bytes --]
From bfcde27b3e6918e4b86004ed1c64d0b1d27f1eb3 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 13:29:40 +0100
Subject: [PATCH 05/10] EAPI Cheat Sheet: Reformatting on RDEPEND fallback
Move to removal section, add a missing dot and output formatting
---
eapi-cheatsheet.tex | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 81401b1..e54d285 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -172,9 +172,6 @@ nonetheless.
\code{pkg\_info} phase can be called even for non-installed
packages. Be warned that dependencies might not have been
installed at execution time. See \featureref{pkg-info}.
- \item[No RDEPEND fall-back] The package manager will not fall back
- to \code{RDEPEND=DEPEND} if RDEPEND is undefined. See
- \featureref{rdepend-depend}
\item[USE dependency defaults] In addition to the features offered
in EAPI 2 for USE dependencies, a \code{(+)} or \code{(-)} can be
added after a USE flag (mind the parentheses). The former
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.8: 0006-EAPI-Cheat-Sheet-Describe-REPLACING_VERSIONS-and-REP.patch --]
[-- Type: text/x-patch, Size: 1083 bytes --]
From 0ed27e8245860df7a3a23c98d22aa2cd09ce49c9 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 13:43:21 +0100
Subject: [PATCH 06/10] EAPI Cheat Sheet: Describe REPLACING_VERSIONS and REPLACED_BY_VERSION
---
eapi-cheatsheet.tex | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index e54d285..ad807c3 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -199,6 +199,11 @@ nonetheless.
\featureref{nonfatal}.
\item[\code{PROPERTIES}] Is allowed for all package managers now
to support interactive installs.
+ \item[\code{REPLACING\_VERSIONS} and \code{REPLACED\_BY\_VERSION}]
+ For corner cases in upgrade paths those variables can be defined
+ in \code{pkg\_*} functions to define a package version that is
+ replaced by or is the replacement for the current one. See
+ \featureref{replace-version-vars}.
\end{description}
\subsection{Removals/Bans}
\label{sec:cs:eapi4-removalsbans}
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.9: 0007-EAPI-Cheat-Sheet-Describe-MERGE_TYPE-variable.patch --]
[-- Type: text/x-patch, Size: 1232 bytes --]
From b5f7fb2ef39ab0370d047185ddb4c45de12aacc6 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 13:49:07 +0100
Subject: [PATCH 07/10] EAPI Cheat Sheet: Describe MERGE_TYPE variable
---
eapi-cheatsheet.tex | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index ad807c3..627a9c6 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -204,6 +204,15 @@ nonetheless.
in \code{pkg\_*} functions to define a package version that is
replaced by or is the replacement for the current one. See
\featureref{replace-version-vars}.
+ \item[MERGE\_TYPE] This variable contains one of three possible
+ values to allow checks for the purpose of the current run:
+ \begin{description}
+ \item[\code{source}] Building and installing a package from
+ source.
+ \item[\code{binary}] Installing a binary package.
+ \item[\code{buildonly}] Building a binary package without installing it.
+ \end{description}
+ See \featureref{merge-type}.
\end{description}
\subsection{Removals/Bans}
\label{sec:cs:eapi4-removalsbans}
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.10: 0008-EAPI-Cheat-Sheet-Add-new-econf-default-options.patch --]
[-- Type: text/x-patch, Size: 1076 bytes --]
From 8515839ccaddb4bdd93e93192c7debc06c86664a Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 13:53:14 +0100
Subject: [PATCH 08/10] EAPI Cheat Sheet: Add new econf default options
---
eapi-cheatsheet.tex | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 627a9c6..cfc131d 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -172,6 +172,9 @@ nonetheless.
\code{pkg\_info} phase can be called even for non-installed
packages. Be warned that dependencies might not have been
installed at execution time. See \featureref{pkg-info}.
+ \item[\code{econf} changes] The helper function now always
+ activates \code{--disable-dependency-tracking}. See
+ \featureref{econf-options}.
\item[USE dependency defaults] In addition to the features offered
in EAPI 2 for USE dependencies, a \code{(+)} or \code{(-)} can be
added after a USE flag (mind the parentheses). The former
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.11: 0009-EAPI-Cheat-Sheet-Describe-REQUIRED_USE-and-pkg_requi.patch --]
[-- Type: text/x-patch, Size: 1755 bytes --]
From f9ec675b05b0444e4a0a12d90158811e88c47ae6 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 14:13:29 +0100
Subject: [PATCH 09/10] EAPI Cheat Sheet: Describe REQUIRED_USE and pkg_required_use
---
eapi-cheatsheet.tex | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index cfc131d..61a12dc 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -216,6 +216,24 @@ nonetheless.
\item[\code{buildonly}] Building a binary package without installing it.
\end{description}
See \featureref{merge-type}.
+ \item[\code{REQUIRED\_USE}] This variable can be used similar to
+ the \code{(R|P)DEPEND} variables and define sets of USE flag
+ combinations that are not allowed. All elements can be further
+ nested to achieve more functionality.
+ \begin{description}
+ \item[Forbidden combination] To prevent activation of
+ \code{flag1} if \code{flag2} is enabled use "\code{flag2? (
+ !flag1 )}".
+ \item[OR] If at least one USE flag out of many must be
+ activated on \code{flag1} use "\code{flag1? || ( flag2 flag3
+ \dots )}".
+ \item[XOR] To allow exactly one USE flag out of many use
+ "\code{\textasciicircum\textasciicircum ( flag1 flag2 \dots )}".
+ \end{description}
+ If those restrictions are violated by the user settings the
+ \code{pkg\_required\_use} function is run, where advise can be
+ given to the user how to set USE flags. See
+ \featureref{required-use}.
\end{description}
\subsection{Removals/Bans}
\label{sec:cs:eapi4-removalsbans}
--
1.7.2.5
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.12: 0010-EAPI-Cheat-Sheet-Optimise-line-breaking.patch --]
[-- Type: text/x-patch, Size: 1273 bytes --]
From 2913bcdff69365aab0ef479be4c9886d24ae748e Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 20 Dec 2010 14:21:39 +0100
Subject: [PATCH 10/10] EAPI Cheat Sheet: Optimise line breaking
---
eapi-cheatsheet.tex | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 61a12dc..453901b 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -182,9 +182,9 @@ nonetheless.
latter, disabled. Cannot be used with USE\_EXPAND flags. This
mimics parts of the behaviour of \code{-{}-missing} in
\code{built\_with\_use}. See \featureref{use-dep-defaults}.
- \item[Controllable compression] All items in
- \code{/usr/share\{doc,info,man\}} may be compressed on-disk after
- \code{src\_install}, except for
+ \item[Controllable compression] All items in the \code{doc},
+ \code{info}, \code{man} subdirectories of \code{/usr/share/} may
+ be compressed on-disk after \code{src\_install}, except for
\code{/usr/share/doc/\$\{PF\}/html}. \code{docompress path \dots}
adds paths to the inclusion list for compression.
\code{docompress -x path \dots} adds paths to the exclusion list.
--
1.7.2.5
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [gentoo-pms] EAPI Cheat Sheet: Sync with EAPI 4 of PMS
2010-12-20 13:23 ` Christian Faulhammer
@ 2010-12-20 14:46 ` Ulrich Mueller
2010-12-20 16:13 ` Christian Faulhammer
2010-12-21 12:24 ` Christian Faulhammer
0 siblings, 2 replies; 6+ messages in thread
From: Ulrich Mueller @ 2010-12-20 14:46 UTC (permalink / raw
To: Christian Faulhammer; +Cc: gentoo-pms
>>>>> On Mon, 20 Dec 2010, Christian Faulhammer wrote:
> Should I merge all patches in one or feature by feature?
I would commit everything at once, but I think that's really up to
you.
> Please review, they might have some rough edges still.
Thank you for all the work. See below for my comments.
>> \t{S} to \t{WORKDIR} fallback restricted
> I fail to find a short description of the exact exceptions, so for
> now it just says: Fall back not there. How likely is it to hit the
> exception?
The conditions for an exception are described in subsection "Initial
Working Directories". All of these must be true:
* The A variable contains no items.
* The phase function in question is not in DEFINED_PHASES.
* None of the phase functions unpack, prepare, configure, compile or
install, if supported by the EAPI in question and occurring prior
to the phase about to be executed, are in DEFINED_PHASES.
It more or less means "this is a virtual package".
> Subject: [PATCH 03/10] EAPI Cheat Sheet: Add PROPERTIES
> [...]
> + \item[\code{PROPERTIES}] Is allowed for all package managers now
> + to support interactive installs.
It's allowed already now (in all EAPIs), but in EAPI 4 support for
PROPERTIES is mandatory.
> Subject: [PATCH 07/10] EAPI Cheat Sheet: Describe MERGE_TYPE
> variable
> [...]
> + \item[MERGE\_TYPE] This variable contains one of three possible
> + values to allow checks for the purpose of the current run:
> + \begin{description}
> + \item[\code{source}] Building and installing a package from
> + source.
> + \item[\code{binary}] Installing a binary package.
> + \item[\code{buildonly}] Building a binary package without installing it.
> + \end{description}
> + See \featureref{merge-type}.
This is a little long, but it's a matter of taste of course.
> Subject: [PATCH 09/10] EAPI Cheat Sheet: Describe REQUIRED_USE and pkg_required_use
> [...]
> + \item[\code{REQUIRED\_USE}] This variable can be used similar to
> + the \code{(R|P)DEPEND} variables and define sets of USE flag
> + combinations that are not allowed. All elements can be further
> + nested to achieve more functionality.
> + \begin{description}
> + \item[Forbidden combination] To prevent activation of
> + \code{flag1} if \code{flag2} is enabled use "\code{flag2? (
> + !flag1 )}".
> + \item[OR] If at least one USE flag out of many must be
> + activated on \code{flag1} use "\code{flag1? || ( flag2 flag3
> + \dots )}".
> + \item[XOR] To allow exactly one USE flag out of many use
> + "\code{\textasciicircum\textasciicircum ( flag1 flag2 \dots )}".
> + \end{description}
> + If those restrictions are violated by the user settings the
> + \code{pkg\_required\_use} function is run, where advise can be
> + given to the user how to set USE flags. See
> + \featureref{required-use}.
The pkg_required_use function was rejected by the council, so the
sentence immediately after the description list should be deleted.
BTW, I had the same problem as above, that neither \t{^^} nor \t{\^\^}
work in LaTeX. Does anybody know a shorter solution than
\t{\textasciicircum\textasciicircum}?
Ulrich
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-pms] EAPI Cheat Sheet: Sync with EAPI 4 of PMS
2010-12-20 14:46 ` Ulrich Mueller
@ 2010-12-20 16:13 ` Christian Faulhammer
2010-12-21 12:24 ` Christian Faulhammer
1 sibling, 0 replies; 6+ messages in thread
From: Christian Faulhammer @ 2010-12-20 16:13 UTC (permalink / raw
To: Ulrich Mueller; +Cc: gentoo-pms
[-- Attachment #1: Type: text/plain, Size: 2987 bytes --]
Hi,
Ulrich Mueller <ulm@gentoo.org>:
> >>>>> On Mon, 20 Dec 2010, Christian Faulhammer wrote:
>
> > Should I merge all patches in one or feature by feature?
>
> I would commit everything at once, but I think that's really up to
> you.
Will probably do that to not pollute the trunk log.
> > Please review, they might have some rough edges still.
>
> Thank you for all the work. See below for my comments.
>
> >> \t{S} to \t{WORKDIR} fallback restricted
[...]
> It more or less means "this is a virtual package".
Ok, I read the exceptions but I was not sure how to do that shorter
(as it is minor stuff), but I will be a bit "incorrect" by saying
virtual.
>
> > Subject: [PATCH 03/10] EAPI Cheat Sheet: Add PROPERTIES
> > [...]
> > + \item[\code{PROPERTIES}] Is allowed for all package managers
> > now
> > + to support interactive installs.
>
> It's allowed already now (in all EAPIs), but in EAPI 4 support for
> PROPERTIES is mandatory.
Fixed locally. Will wait for other reviewers then post a new round.
> > Subject: [PATCH 07/10] EAPI Cheat Sheet: Describe MERGE_TYPE
> > variable
[...]
> This is a little long, but it's a matter of taste of course.
Will see if I can do anything about it.
> > Subject: [PATCH 09/10] EAPI Cheat Sheet: Describe REQUIRED_USE and
> > pkg_required_use [...]
> > + \item[\code{REQUIRED\_USE}] This variable can be used similar
> > to
> > + the \code{(R|P)DEPEND} variables and define sets of USE flag
> > + combinations that are not allowed. All elements can be further
> > + nested to achieve more functionality.
> > + \begin{description}
> > + \item[Forbidden combination] To prevent activation of
> > + \code{flag1} if \code{flag2} is enabled use "\code{flag2? (
> > + !flag1 )}".
> > + \item[OR] If at least one USE flag out of many must be
> > + activated on \code{flag1} use "\code{flag1? || ( flag2
> > flag3
> > + \dots )}".
> > + \item[XOR] To allow exactly one USE flag out of many use
> > + "\code{\textasciicircum\textasciicircum ( flag1 flag2
> > \dots )}".
> > + \end{description}
> > + If those restrictions are violated by the user settings the
> > + \code{pkg\_required\_use} function is run, where advise can be
> > + given to the user how to set USE flags. See
> > + \featureref{required-use}.
>
> The pkg_required_use function was rejected by the council, so the
> sentence immediately after the description list should be deleted.
Ok.
> BTW, I had the same problem as above, that neither \t{^^} nor \t{\^\^}
> work in LaTeX. Does anybody know a shorter solution than
> \t{\textasciicircum\textasciicircum}?
catcode redefinition...we do not want to do that.
V-Li
--
Christian Faulhammer, Gentoo Lisp project
<URL:http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode
<URL:http://gentoo.faulhammer.org/>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-pms] EAPI Cheat Sheet: Sync with EAPI 4 of PMS
2010-12-20 14:46 ` Ulrich Mueller
2010-12-20 16:13 ` Christian Faulhammer
@ 2010-12-21 12:24 ` Christian Faulhammer
1 sibling, 0 replies; 6+ messages in thread
From: Christian Faulhammer @ 2010-12-21 12:24 UTC (permalink / raw
To: Ulrich Mueller; +Cc: gentoo-pms
[-- Attachment #1.1: Type: text/plain, Size: 402 bytes --]
Hi,
Ulrich Mueller <ulm@gentoo.org>:
> I would commit everything at once, but I think that's really up to
> you.
One patch now. I shortened that MERGE_TYPE paragraph plus some more
fixups and adjusted the version numbering.
V-Li
--
Christian Faulhammer, Gentoo Lisp project
<URL:http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode
<URL:http://gentoo.faulhammer.org/>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-EAPI-Cheat-Sheet-Update-for-EAPI-4.patch --]
[-- Type: text/x-patch, Size: 11505 bytes --]
From 1e8b4d65e4124fd098a0c783024ca024d63db9e3 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Sun, 19 Dec 2010 11:42:41 +0100
Subject: [PATCH] EAPI Cheat Sheet: Update for EAPI 4
* Remove slot operators
* Make a note about -i18n switch of doman
* Mention removal of KV and AA variable
* Add PROPERTIES variable
* Describe change in S fallback
* Reformatting on RDEPEND fallback
* Describe REPLACING_VERSIONS and REPLACED_BY_VERSION variables
* Describe MERGE_TYPE variable
* Add new econf default options
* Describe REQUIRED_USE variable
* Optimise line breaking
* Change version number
---
eapi-cheatsheet.tex | 110 +++++++++++++++++++++++++++++++--------------------
1 files changed, 67 insertions(+), 43 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index b100c56..f51b9bb 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -13,10 +13,11 @@
}
\usepackage[orig,english]{isodate}
\usepackage[scaled=.90]{helvet}
-\newcommand{\code}[1]{\texttt{#1}}
-\newcommand{\version}{0.3}
+% This should reflect the latest approved EAPI version
+\newcommand{\version}{4.0}
\newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
\renewcommand{\familydefault}{\sfdefault}
+\DeclareUrlCommand\code{\urlstyle{tt}}
\urlstyle{sf}
\externaldocument{pms}
@@ -83,7 +84,8 @@ nonetheless.
not disabled explicitly by user configuration) with a \code{+}
sign in front. See \featureref{iuse-defaults}.
\item[Named slot dependencies] Dependencies can explicitly request
- a specific slot by using the \code{dev-libs/foo:\emph{SLOT\_name}} syntax. See
+ a specific slot by using the
+ \code{dev-libs/foo:}\emph{\texttt{SLOT\_name}} syntax. See
\featureref{slot-deps}.
\end{description}
\section{EAPI 2 (2008-09-25)}
@@ -91,13 +93,13 @@ nonetheless.
\subsection{Additions/Changes}
\label{sec:cs:eapi2-additions}
\begin{description}
- \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
- naming scheme. By using \code{SRC\_URI="http://some/url -> foo"}
+ \item[\code{SRC_URI} arrows] Allows redirection of upstream file
+ naming scheme. By using \code{SRC_URI="http://some/url -> foo"}
the file is saved as \code{foo} in DISTDIR. See
\featureref{src-uri-arrows}.
\item[USE dependencies] Dependencies can specify USE flag
requirements on their target, removing the need for
- \code{built\_with\_use} checks. A more powerful syntax that does
+ \code{built_with_use} checks. A more powerful syntax that does
not require the flag to be in IUSE is in EAPI 4.
\begin{description}
\item[{[opt]}] The flag must be enabled.
@@ -118,26 +120,27 @@ nonetheless.
be ignored by the package manager as long as the stated package is
uninstalled later on. Two exclamation marks are a strong blocker
and will always be respected. See \featureref{bang-strength}.
- \item[\code{src\_configure, src\_prepare}] Both new phases provide
+ \item[\code{src_configure, src_prepare}] Both new phases provide
finer granularity in the ebuild's structure. Configure calls
- should be moved from \code{src\_compile} to \code{src\_configure}.
+ should be moved from \code{src_compile} to \code{src_configure}.
Patching and similar preparation must now be done in
- \code{src\_prepare}, not \code{src\_unpack}. See
+ \code{src_prepare}, not \code{src_unpack}. See
\featureref{src-prepare} and \featureref{src-configure}.
\item[Default phase functions] The default functions for the
- phases \code{pkg\_nofetch}, \code{src\_unpack},
- \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
- and \code{src\_test} can be called via
- \code{default\_\emph{phasename}}, so duplicating the standard
+ phases \code{pkg_nofetch}, \code{src_unpack},
+ \code{src_prepare}, \code{src_configure}, \code{src_compile}
+ and \code{src_test} can be called via
+ \code{default_}\emph{\texttt{phasename}}, so duplicating the standard
implementation is no longer necessary for small additions. The
short-hand \code{default} function calls the current phase's
- \code{default\_} function automatically, so any small additions
+ \code{default_} function automatically, so any small additions
you need will not be accompanied by a complete reimplementation of
the phase. See \featureref{default-phase-funcs} and
\featureref{default-func}.
\item[\code{doman} language support] The \code{doman} installation
function recognizes language specific man page extensions and
- behaves accordingly. See \featureref{doman-langs}.
+ behaves accordingly. This behaviour can be inhibited by the
+ \code{-i18n} switch with EAPI 4. See \featureref{doman-langs}.
\end{description}
\newpage
@@ -148,7 +151,7 @@ nonetheless.
\begin{description}
\item[Support for \code{.xz}] Unpack of \code{.xz} and
\code{.tar.xz} files is possible without any custom
- \code{src\_unpack} functions. See \featureref{unpack-extensions}.
+ \code{src_unpack} functions. See \featureref{unpack-extensions}.
\item[Offset prefix] Supporting installation on Prefix-enabled
systems\footnote{\url{http://prefix.gentoo.org/}} will be easier
with this EAPI.
@@ -158,47 +161,32 @@ nonetheless.
\subsection{Additions/Changes}
\label{sec:cs:eapi4-additions}
\begin{description}
- \item[\code{pkg\_pretend}] Some useful checks (kernel options for
+ \item[\code{pkg_pretend}] Some useful checks (kernel options for
example) can be placed in this new phase to inform the user early
(when just pretending to emerge the package). Most checks should
- usually be repeated in \code{pkg\_setup}. See
+ usually be repeated in \code{pkg_setup}. See
\featureref{pkg-pretend}.
- \item[\code{src\_install}] The \code{src\_install} phase is no
+ \item[\code{src_install}] The \code{src_install} phase is no
longer empty but has a default now. This comes along with an
accompanying \code{default} function. See
\featureref{src-install-4}.
- \item[\code{pkg\_info} on non-installed packages] The
- \code{pkg\_info} phase can be called even for non-installed
+ \item[\code{pkg_info} on non-installed packages] The
+ \code{pkg_info} phase can be called even for non-installed
packages. Be warned that dependencies might not have been
installed at execution time. See \featureref{pkg-info}.
- \item[No RDEPEND fall-back] The package manager will not fall back
- to \code{RDEPEND=DEPEND} if RDEPEND is undefined. See
- \featureref{rdepend-depend}
- \item[Slot operators] Dependencies that are both DEPEND and
- RDEPEND and that can match multiple slots should specify one of:
- \begin{description}
- \item[\code{:*}] Indicates that any slot value is
- acceptable. In addition, for runtime dependencies, indicates
- that the package will not break if the matched package is
- uninstalled and replaced by a different matching package in a
- different slot.
- \item[\code{:=}] Indicates that any slot value is
- acceptable. In addition, for runtime dependencies, indicates
- that the package will break unless a matching package with
- slot equal to the slot of the best installed version at the
- time the package was installed is available.
- \end{description}
- See \featureref{slot-operator-deps}.
+ \item[\code{econf} changes] The helper function now always
+ activates \code{--disable-dependency-tracking}. See
+ \featureref{econf-options}.
\item[USE dependency defaults] In addition to the features offered
in EAPI 2 for USE dependencies, a \code{(+)} or \code{(-)} can be
added after a USE flag (mind the parentheses). The former
specifies that flags not in IUSE should be treated as enabled; the
latter, disabled. Cannot be used with USE\_EXPAND flags. This
mimics parts of the behaviour of \code{-{}-missing} in
- \code{built\_with\_use}. See \featureref{use-dep-defaults}.
- \item[Controllable compression] All items in
- \code{/usr/share\{doc,info,man\}} may be compressed on-disk after
- \code{src\_install}, except for
+ \code{built_with_use}. See \featureref{use-dep-defaults}.
+ \item[Controllable compression] All items in the \code{doc},
+ \code{info}, \code{man} subdirectories of \code{/usr/share/} may
+ be compressed on-disk after \code{src_install}, except for
\code{/usr/share/doc/\$\{PF\}/html}. \code{docompress path \dots}
adds paths to the inclusion list for compression.
\code{docompress -x path \dots} adds paths to the exclusion list.
@@ -214,12 +202,48 @@ nonetheless.
case of a failure (as is the default) but will return non-zero on
failure rather than aborting the build. See
\featureref{nonfatal}.
+ \item[\code{PROPERTIES}] Is mandatory for all package managers now
+ to support interactive installs.
+ \item[\code{REPLACING_VERSIONS} and \code{REPLACED_BY_VERSION}]
+ For corner cases in upgrade paths those variables can be defined
+ in \code{pkg_*} functions to define a package version that is
+ replaced by or is the replacement for the current one. See
+ \featureref{replace-version-vars}.
+ \item[\code{MERGE_TYPE}] This variable contains one of three
+ possible values to allow checks if it is normal merge with
+ compilation and installation (\code{source}), installation of a
+ binary package (\code{binary}), or a compilation without
+ installation (\code{buildonly}). See \featureref{merge-type}.
+ \item[\code{REQUIRED_USE}] This variable can be used similar to
+ the \code{(R|P)DEPEND} variables and define sets of USE flag
+ combinations that are not allowed. All elements can be further
+ nested to achieve more functionality.
+ \begin{description}
+ \item[Forbidden combination] To prevent activation of
+ \code{flag1} if \code{flag2} is enabled use "\code{flag2? (
+ !flag1 )}".
+ \item[OR] If at least one USE flag out of many must be
+ activated on \code{flag1} use "\code{flag1? || ( flag2 flag3
+ \dots )}".
+ \item[XOR] To allow exactly one USE flag out of many use
+ "\code{^^ ( flag1 flag2 \dots )}".
+ \end{description}
+ See \featureref{required-use}.
\end{description}
\subsection{Removals/Bans}
\label{sec:cs:eapi4-removalsbans}
\begin{description}
\item[\code{dohard}, \code{dosed}] Both functions are not allowed
anymore. See \featureref{banned-commands}.
+ \item[No \code{RDEPEND} fall-back] The package manager will not fall back
+ to \code{RDEPEND=DEPEND} if \code{RDEPEND} is undefined. See
+ \featureref{rdepend-depend}.
+ \item[\code{S} fallback changes] The value of the variable
+ \code{S} will not automatically be changed to \code{WORKDIR}, if
+ \code{S} is not a directory, but abort. Virtual packages are the only
+ exception. See \featureref{s-workdir-fallback}.
+ \item[\code{KV}, \code{AA}] These variables are not defined
+ anymore, see \featureref{KV} and \featureref{KV}.
\end{description}
\end{document}
--
1.7.2.5
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-12-21 12:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-19 10:51 [gentoo-pms] EAPI Cheat Sheet: Sync with EAPI 4 of PMS Christian Faulhammer
2010-12-19 18:04 ` Ulrich Mueller
2010-12-20 13:23 ` Christian Faulhammer
2010-12-20 14:46 ` Ulrich Mueller
2010-12-20 16:13 ` Christian Faulhammer
2010-12-21 12:24 ` Christian Faulhammer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox