summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2018-01-06 19:09:54 +0100
committerAndreas K. Hüttel <dilfridge@gentoo.org>2018-01-06 19:09:54 +0100
commitf2bdf8bc5a521c5d516cf51f623bebc134b14fa9 (patch)
tree297c838cd6c4183d397ff2f253b0bf275e76644b /decisions
parentImprove 5/2010 (diff)
downloadcouncil-f2bdf8bc5a521c5d516cf51f623bebc134b14fa9.tar.gz
council-f2bdf8bc5a521c5d516cf51f623bebc134b14fa9.tar.bz2
council-f2bdf8bc5a521c5d516cf51f623bebc134b14fa9.zip
Improve 5/2010 and 6/2010
Diffstat (limited to 'decisions')
-rw-r--r--decisions/decisions.ded6
-rw-r--r--decisions/decisions.kilepr46
-rw-r--r--decisions/decisions.tex27
-rw-r--r--decisions/documents.tex165
-rw-r--r--decisions/summary-20100517.tex9
-rw-r--r--decisions/summary-20100614.tex18
6 files changed, 230 insertions, 41 deletions
diff --git a/decisions/decisions.ded b/decisions/decisions.ded
index 873fb38..613c89a 100644
--- a/decisions/decisions.ded
+++ b/decisions/decisions.ded
@@ -37,6 +37,9 @@ https://wiki.gentoo.org/wiki/User:Cardoe
ciaranm
Ciaran McCreesh
+chainsaw
+Tony Vroon
+
dberkholz
Donnie Berkholz
@@ -190,6 +193,9 @@ https://wiki.gentoo.org/wiki/User:Vapier
welp
Peter Weller
+wired
+Alex Alexander
+
wolf31o2
Chris Gianelloni
diff --git a/decisions/decisions.kilepr b/decisions/decisions.kilepr
index dc19778..2219636 100644
--- a/decisions/decisions.kilepr
+++ b/decisions/decisions.kilepr
@@ -4,7 +4,7 @@ img_extIsRegExp=false
img_extensions=.eps .jpg .jpeg .png .pdf .ps .fig .gif
kileprversion=2
kileversion=2.1.3
-lastDocument=summary-20100419.tex
+lastDocument=decisions.ded
masterDocument=
name=Gentoo Council Decicisions Index
pkg_extIsRegExp=false
@@ -1200,10 +1200,10 @@ order=1
[item:decisions.ded]
archive=true
-column=39
+column=14
encoding=UTF-8
highlight=None
-line=164
+line=196
mode=
open=true
order=2
@@ -1220,20 +1220,20 @@ order=4
[item:decisions.tex]
archive=true
-column=26
+column=0
encoding=UTF-8
highlight=LaTeX
-line=327
+line=358
mode=LaTeX
open=true
order=0
[item:documents.tex]
archive=true
-column=28
+column=35
encoding=UTF-8
highlight=LaTeX
-line=229
+line=419
mode=LaTeX
open=true
order=3
@@ -1895,7 +1895,7 @@ encoding=UTF-8
highlight=LaTeX
line=33
mode=LaTeX
-open=true
+open=false
order=5
[item:summary-20100517.tex]
@@ -1903,7 +1903,7 @@ archive=true
column=0
encoding=UTF-8
highlight=LaTeX
-line=0
+line=54
mode=LaTeX
open=false
order=-1
@@ -1913,7 +1913,7 @@ archive=true
column=0
encoding=UTF-8
highlight=LaTeX
-line=0
+line=25
mode=LaTeX
open=false
order=-1
@@ -2855,10 +2855,10 @@ JumpList=
ViMarks=.,49,14,[,48,0,],49,14
[view-settings,view=0,item:decisions.ded]
-CursorColumn=39
-CursorLine=164
+CursorColumn=14
+CursorLine=196
JumpList=
-ViMarks=.,164,0,[,164,0,],164,38
+ViMarks=.,196,13,[,195,0,],196,13
[view-settings,view=0,item:decisions.gld]
CursorColumn=25
@@ -2867,16 +2867,16 @@ JumpList=
ViMarks=.,0,0,[,0,0,],-1,-1
[view-settings,view=0,item:decisions.tex]
-CursorColumn=26
-CursorLine=327
+CursorColumn=0
+CursorLine=358
JumpList=
-ViMarks=.,320,52,[,320,52,],320,52
+ViMarks=.,358,0,[,358,0,],358,0
[view-settings,view=0,item:documents.tex]
-CursorColumn=28
-CursorLine=229
+CursorColumn=35
+CursorLine=419
JumpList=
-ViMarks=.,229,27,[,229,22,],229,27
+ViMarks=.,575,8,[,575,0,],575,8
[view-settings,view=0,item:summary-20050915.tex]
CursorColumn=0
@@ -3276,15 +3276,15 @@ ViMarks=.,33,21,[,33,21,],33,21
[view-settings,view=0,item:summary-20100517.tex]
CursorColumn=0
-CursorLine=0
+CursorLine=54
JumpList=
-ViMarks=
+ViMarks=.,43,42,[,43,22,],43,42
[view-settings,view=0,item:summary-20100614.tex]
CursorColumn=0
-CursorLine=0
+CursorLine=25
JumpList=
-ViMarks=
+ViMarks=.,24,24,[,24,16,],-1,-1
[view-settings,view=0,item:summary-20100714.tex]
CursorColumn=0
diff --git a/decisions/decisions.tex b/decisions/decisions.tex
index a9f857e..98519a6 100644
--- a/decisions/decisions.tex
+++ b/decisions/decisions.tex
@@ -320,12 +320,6 @@ Election master ballot and results:
subsequent meetings. No unanimous acceptance of \dev{patrick} as next in list
was possible, so an election for the open seat was called.
\item
-Call for nominations:
-\agoref{gentoo-dev}{538084afe1e88c7a70a9d4857bedd0fd}
-\item
-Election master ballot and results:
-\agoref{gentoo-dev}{3364f83c94ec660c5f8556ea05a7659c}
-\item
{\bf Council members: \dev{betelgeuse}, \dev{calchan}, \dev{dertobi123},
\dev{leio}, \dev{lu_zero} (until 12/2009), \dev{scarabeus} (starting 1/2010),
\dev{solar}, \dev{ulm}}
@@ -346,10 +340,23 @@ Election master ballot and results:
\chapter{Meeting summaries 2010/11}
-Council members: betelgeuse, bonsaikitten (starting 1/2011), chainsaw,
-ferringb, halyc0n (until 12/2010), jmbsvicetto, scarabeus, wired
-
-All summaries have been added here.
+\begin{itemize}
+\item
+Call for nominations:
+\agoref{gentoo-dev}{36194ace30bbfd8ce2249a3e2a1ba60b}
+\item
+Election results:
+\agoref{gentoo-dev}{f86214d689286a1c491442e1b1ded2d9}
+\item
+Election master ballot:
+\agoref{gentoo-dev}{4fc60082256c9c6ee8f3313f803dca68}
+\item
+todo: changes
+\item
+{\bf Council members: \dev{betelgeuse}, \dev{patrick} (starting 1/2011),
+\dev{chainsaw}, \dev{ferringb}, \dev{halyc0n} (until 12/2010),
+\dev{jmbsvicetto}, \dev{scarabeus}, \dev{wired}}
+\end{itemize}
\include{summary-20100714}
\include{summary-20100726}
diff --git a/decisions/documents.tex b/decisions/documents.tex
index cc8301b..1cfd6c2 100644
--- a/decisions/documents.tex
+++ b/decisions/documents.tex
@@ -414,3 +414,168 @@ Copyright
This document has been placed in the public domain.
\end{verbatim}}
+
+
+\section{REQUIRED_USE USE state constraints}
+\label{2010-05-feringb-requireduse}
+
+Source:
+\url{
+https://web.archive.org/web/20100812050720/http://dev.gentoo.org/~ferringb/requi
+red-use.html}
+\index{developer!feringb}
+
+\vspace*{1cm}
+
+{\small
+\begin{verbatim}
+GLEP: 61
+Title: REQUIRED_USE USE state constraints
+Version: 1.1
+Author: Brian Harring <ferringb at gentoo.org>
+Last-Modified: 2010/04/10 17:03:27
+Status: Draft
+Type: Standards Track
+Content-Type: text/x-rst
+Created: 10-April-2010
+Post-History: 10-April-2010
+
+Abstract
+========
+
+This GLEP proposes the addition of a new metadata key to specify what USE flag
+combinations are disallowed for a specific pkg.
+
+Motivation
+==========
+
+It's a semi common occurence that an ebuild may need to state that they disallow
+USE flags in specific combinations- either mysql or sqlite for example, but not
+both.
+
+Existing solutions rely on checking the the USE configuration in pkg_setup which
+is non-optimal due to pkg_setup being ran potentially hours after the initial
+emerge -p invocation.
+
+Current versions of EAPI4 support a phase hook pkg_pretend that is intended to
+move pre-build checks to just after resolution. It has been proposed that
+pkg_pretend should continue the tradition of adhoc shell code validating the USE
+state- this too is non optimal for the following reasons-
+
+1. The only way to find out if the USE state is disallowed is to run the code
+2. The common implementation of this can result in an iterative process where
+the user hits a USE constraint, fixs it, reruns the emerge invocation only to
+find that there is another constraint still violated for the ebuild, thus
+requiring them to fix it, rerun emerge, etc.
+3. For a package manager to classify the error, the only option it has is to
+try and parse adhoc output written by an ebuild dev. This effectively disallows
+package manager options for providing a more informative error message. A simple
+example would be if the package manager wanted to integrate in the flag
+descriptions from use.desc/use.local.desc; this would be effectively impossible.
+4. Fundamentally these constraints are data, yet they're being encoded as
+executable code- this effectively blocks the possibility of doing a wide variety
+of QA/tree scans. For example it blocks the possibility of sanely scanning for
+USE flag induced hard dependency cycles, because the tools in question cannot
+get that info out of adhoc shell code.
+5. More importantly if the manager cannot know what the allowed USE states are
+for the ebuild in question, this eliminates the possibility of ever sanely
+breaking dependency cycles caused by USE flags.
+
+Just as .sh scripts are considered a poor archival form due to their opaqueness,
+pkg_setup and pkg_pretend aren't a proper solution for this. pkg_pretend in
+particular makes the situation slightly worse due to ebuild devs being expected
+to convert their ebuilds to the pkg_pretend form when using EAPI4. In doing so
+they'll have to do work w/out the gains REQUIRED_USE provides and have to repeat
+the same conversion work when REQUIRED_USE lands in a later EAPI.
+
+It's due to this and a few lesser reasons that EAPI4 is strongly recommended as
+the target for this functionality.
+
+Specification
+=============
+
+Essentially REQUIRED_USE is proposed to be an analogue of DEPENDS style syntax-
+a list of assertions that must be met for this USE configuration to be valid for
+this ebuild. For example, to state "if build is set, python must be unset":
+
+REQUIRED_USE="build? ( !python )"
+
+To state "either mysql or sqlite must be set, but not both":
+
+REQUIRED_USE="mysql? ( !sqlite ) !mysql? ( sqlite )"
+
+Note that the mysql/sqlite relationship is that of an Exclusive OR (XOR). While
+an XOR can be formed from existing syntax, it's suggested that a specific
+operator be added for this case using ^^. Reformatting the "mysql or sqlite, but
+not both" with XOR results in:
+
+REQUIRED_USE="^^ ( mysql sqlite )"
+
+Like any block operator, this can be combined with other constraints. For
+example if the user has flipped on the client flag, one gui must be choosen:
+
+REQUIRED_USE="client? ( ^^ ( gtk qt motif ) )"
+
+If the pkg is implemented sanely and requires at least one gui, but can support
+multiple it would be:
+
+REQUIRED_USE="client? ( || ( gtk qt motif ) )"
+
+Because ARCH is integrated into the USE space, this also allows for specifying
+corner cases like "at least one gui must be specified, but on mips only one gui
+can be specified":
+
+REQUIRED_USE="client? ( !mips? ( || ( gtk qt motif ) ) mips? ( ^^ ( gtk qt
+motif ) ) )"
+
+Please note that the AND operator is of course supported- if to enable client
+you must choose at least one gui and enable the python bindings the syntax would
+be:
+
+REQUIRED_USE="client? ( python || ( gtk qt motif x11 ) )"
+
+Finally, please note that this new metadata key can be set by eclasses, and the
+inherit implementation should protect the eclass set value just the same as how
+eclass defined DEPEND is protected.
+Implementation
+
+Implementing this for EAPI4, currently 'few' (Sebastion Luther) has a working
+git branch available at [portage-implementation] implementing this
+functionality.
+
+For getting this implemented in pkgcore, the author of the glep will handle it.
+As for paludis, presumably they can manage it due to MYOPTIONS existing in
+exheres already.
+
+Backwards Compatibility
+=======================
+
+EAPI already makes this a non issue for backwards compatibility. Additionally
+the rsync metadata caches (enumerated flat file format) is designed for key
+expansion so there is no issue there either.
+
+References
+==========
+
+Original ML proposal:
+http://archives.gentoo.org/gentoo-dev/msg_b0e868626019f497eba47194c34e5421.xml
+[portage-implementation]
+http://github.com/few/fews-portage-branch/tree/REQUIRED_USE
+
+Thanks to
+=========
+
+David Leverton, Brian Dolbec, and Jorge Manuel Vicetto for proofreading this and
+correcting the innumerable typos, run on sentences and general abuse of english
+the GLEP author is known for.
+
+Additionally, many thanks to Sebastion Luther ('few') for stepping up and
+writing the portage patch on short notice.
+
+Copyright
+=========
+
+This document has been placed in the public domain.
+\end{verbatim}
+}
+
diff --git a/decisions/summary-20100517.tex b/decisions/summary-20100517.tex
index 21f7b2c..e2537cf 100644
--- a/decisions/summary-20100517.tex
+++ b/decisions/summary-20100517.tex
@@ -26,21 +26,22 @@ References:
A discussion on the voting procedures summarized in the
\agoref{gentoo-project}{df5433a1e6cbe479462da8f5fe588299} took place. It was
decided that all 5 options from that e-mail should be present in a future
-ballot on voting procedures.
+ballot on voting procedures. \index{council!votes!by mail}
+\index{council!meeting}
Regarding present and future changes to the council structure, see the
\agoref{gentoo-project}{76311b25ccb18fff4764955db55ad0ea}, consensus was that
the new text should be a ``constitution'', which can only be updated with an
-all developer vote.
+all developer vote. \index{constitution} \index{metastructure}
Regarding the role of the council (e.g., responsive versus proactive), see the
\agoref{gentoo-project}{6009db554b00ae9de67047206c7698be}, an additional option
``Each council should set its mode of operation after being elected.'' was
-proposed. The trustee option should be a separate vote.
+proposed. The trustee option should be a separate vote. \index{council!role}
The options on potentially selecting a council lead, see the
\agoref{gentoo-project}{3806fe4e42dc8ce013e247a081e3d4a0}, were seen to be
-suitable for a ballot.
+suitable for a ballot. \index{council!lead}
There was consensus that such a central re-organization of Gentoo structure as
proposed here should not be rushed, with sufficient time for discussion on the
diff --git a/decisions/summary-20100614.tex b/decisions/summary-20100614.tex
index ea27481..15eb693 100644
--- a/decisions/summary-20100614.tex
+++ b/decisions/summary-20100614.tex
@@ -1,15 +1,25 @@
\summary{2010}{6}{14}
+Agenda call: ---
+
+Agenda announcement: ---
\agendaitem{REQUIRED_USE eapi addition}
-\index{REQUIRED_USE}
+\index{REQUIRED_USE}\index{PMS}\index{EAPI!4}
+
+Reference: http://dev.gentoo.org/~ferringb/required-use.html (dead link, see
+\ref{2010-05-feringb-requireduse} for the text)
-Reference: http://dev.gentoo.org/~ferringb/required-use.html (dead link)
+Discussion touched the precise proposed syntax of REQUIRED_USE as well as its
+relationship to PMS.
-Voting delayed till next council to ensure everyone knew the details
+Voting on this issue was delayed until the next council is in office to ensure
+everyone knows the details.
\agendaitem{Attempted post mortem discussion for the outgoing council's term}
-Primarily discussion, no real recommendations/resolutions
+Primarily discussion took place, without real recommendations or resolutions.
+Suggestions included that the council be more decisive and proactive, and
+postpone decisions less.