From: Christian Faulhammer <fauli@gentoo.org>
To: Ciaran McCreesh <ciaran.mccreesh@googlemail.com>
Cc: gentoo-pms@lists.gentoo.org
Subject: Re: [gentoo-pms] Patches for your reviewing pleasure: Various improvements, including cheat sheet
Date: Tue, 14 Apr 2009 15:55:43 +0200 [thread overview]
Message-ID: <20090414155543.16e78e66@terra.solaris> (raw)
In-Reply-To: <20090414140423.27055b57@snowcone>
[-- Attachment #1.1: Type: text/plain, Size: 1453 bytes --]
Hi,
Ciaran McCreesh <ciaran.mccreesh@googlemail.com>:
> On Tue, 14 Apr 2009 10:44:48 +0200
> Christian Faulhammer <fauli@gentoo.org> wrote:
> > It isn't about managing the files but about getting into the
> > code. A root directory with only five files is easier to grasp for
> > a beginner than with 20. The move isn't hard, so we can do this at
> > every point in the future.
>
> I agree with you on the principle, but not on the numbers. It's not
> worth using subdirectories until 'ls' output won't fit on one screen.
Having actually done the change, does make the thing look really
good. After a make run all the .log, .aux and whatever files are also
around.
> > > > I wanted to add it when all labels for all EAPIs are ready.
> > >
> > > I thought they were. Didn't I do labels for 1 and 2 things?
> >
> > I wasn't sure if they were complete...anyway, I now have EAPI 3
> > properly referenced. You want that version or should I go through 1
> > and 2, also?
>
> Might as well go for the whole thing.
See attached patches:
0001: Desk reference, updated and all issues you raised handled.
0002: Some Makefile tweaking (really minor).
0003: Use plainurl.bst from the system.
0004: Some proper using of the description environment.
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-Desk-reference-for-quick-look-up.patch --]
[-- Type: text/x-patch, Size: 12747 bytes --]
From 07a0d42ed1d963709739ffd509bf2b365355cf32 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Mon, 13 Apr 2009 12:11:54 +0200
Subject: [PATCH] Desk reference for quick look-up
This contains a short summary of all EAPI features so far, similar
to appendix E of PMS, but with more information.
---
Makefile | 8 +-
cheatsheet/eapi_cheatsheet.tex | 207 ++++++++++++++++++++++++++++++++++++++++
credits.tex | 5 +-
pms.cls | 1 +
pms.tex | 2 +
5 files changed, 219 insertions(+), 4 deletions(-)
create mode 100644 cheatsheet/eapi_cheatsheet.tex
diff --git a/Makefile b/Makefile
index e9c3dd4..b585411 100644
--- a/Makefile
+++ b/Makefile
@@ -5,13 +5,14 @@ clean :
rm -f *~ *.pdf *.dvi *.log *.aux *.bbl *.blg *.toc *.lol *.loa *.lox \
*.lot *.out *.html *.css *.png *.4ct *.4tc *.idv *.lg *.tmp *.xref vc.tex || true
-LATEXFILES = $(shell ls *.tex) pms.cls
+LATEXFILES = $(shell find -name '*.tex') pms.cls
LISTINGFILES = $(shell ls *.listing)
SOURCEFILES = $(LATEXFILES) $(LISTINGFILES)
-pms.pdf: $(SOURCEFILES) pms.bbl vc.tex
+pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi_cheatsheet.pdf
pdflatex pms
pdflatex pms
+ pdflatex cheatsheet/eapi_cheatsheet
pdflatex pms
pms.html: $(SOURCEFILES) pms.bbl
@@ -31,6 +32,9 @@ pms.bbl: pms.bib pms.tex vc.tex
latex pms
bibtex pms
+eapi_cheatsheet.pdf: vc.tex
+ pdflatex cheatsheet/eapi_cheatsheet
+
vc.tex: pms.tex
/bin/sh ./vc
diff --git a/cheatsheet/eapi_cheatsheet.tex b/cheatsheet/eapi_cheatsheet.tex
new file mode 100644
index 0000000..169318e
--- /dev/null
+++ b/cheatsheet/eapi_cheatsheet.tex
@@ -0,0 +1,207 @@
+\documentclass[a4paper,notumble]{leaflet}
+\input{vc}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{
+ url,
+ hyperref,
+ listings,
+ ifthen,
+ xr-hyper,
+ mathptmx,
+ courier
+}
+\usepackage[orig,english]{isodate}
+\usepackage[scaled=.90]{helvet}
+\newcommand{\code}[1]{\texttt{#1}}
+\newcommand{\version}{0.2}
+\newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
+\renewcommand{\familydefault}{\sfdefault}
+\urlstyle{sf}
+\externaldocument{pms}
+
+\title{EAPI Cheat Sheet}
+\author{Christian
+ Faulhammer\thanks{\href{mailto:fauli@gentoo.org}{fauli@gentoo.org}}}
+\ifthenelse{\equal{\VCDateISO}{}}
+{
+ \date{Version \version{}, generated on: \\\today}
+}{
+ \date{Version \version\\\printdate{\VCDateISO}}
+}
+\CutLine*{1}
+\CutLine*{3}
+\CutLine*{4}
+\CutLine*{6}
+\hypersetup{%
+ urlcolor=black,
+ colorlinks=true,
+ citecolor=black,
+ linkcolor=black,
+ pdftitle={EAPI Desk Reference},
+ pdfauthor={Christian Faulhammer},
+ pdfsubject={Making look-up faster for EAPI features},
+ pdflang={en},
+ pdfkeywords={Gentoo, package manager, reference},
+ pdfproducer={pdfLaTeX and hyperref},
+}
+\begin{document}
+\maketitle
+\thispagestyle{empty}
+\begin{abstract}
+ An overview of the main EAPI changes in Gentoo, for ebuild authors.
+ For full details, consult the Package Manager
+ Specification\footnote{\url{http://www.gentoo.org/proj/en/qa/pms/}};
+ this is an incomplete summary only.
+
+ Official Gentoo EAPIs are consecutively numbered integers (0, 1, 2,
+ \dots). Except where otherwise noted, an EAPI is the same as the
+ previous EAPI. All label refer to the PMS document itself, built
+ from the same checkout as this overview.
+
+ Please report mistakes or enhancements to this document via the
+ Gentoo bug tracking system\footnote{\url{http://bugs.gentoo.org/}}
+ to the original author or the PMS team.
+
+ This document is released under the Creative Commons
+ Attribution-Share Alike 3.0
+ Licence\footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}.
+\end{abstract}
+\section{EAPI 0}
+\label{sec:cs:eapi0}
+If there is no EAPI explicitely specified, EAPI 0 is assumed.
+Currently there is no full specification what EAPI 0 includes.
+Portage, official ebuild documentation and existing ebuilds set the
+standard here, although obvious errors are still errors.
+\newpage
+\section{EAPI 1}
+\label{sec:cs:eapi1}
+\subsection{Additions/Changes}
+\label{sec:cs:eapi1-additions}
+\begin{description}
+\item[IUSE defaults] An USE flag can be marked as mandatory (if not
+ disabled explicitely by user configuration) with a \code{+} sign in
+ front. See \featureref{iuse-defaults}.
+\item[Named slot dependencies] Dependencies can explicitely request a
+ specific slot by using the \code{dev-libs/foo:SLOT} syntax.
+ See \featureref{slot-deps}.
+\end{description}
+\section{EAPI 2 (2008-09-25)}
+\label{sec:cs:eapi2}
+\subsection{Additions/Changes}
+\label{sec:cs:eapi2-additions}
+\begin{description}
+\item[\code{SRC\_URI} arrows] Allows redirection of upstream file
+ naming scheme by using an "arrow" (\code{->}) to a new file name in
+ DISTDIR. See \featureref{src-uri-arrows}.
+\item[USE dependencies] Dependencies can be specified to be built with
+ or without a specific USE flag, thus getting rid of countless
+ \code{built\_with\_use} checks. A more sophisticated syntax is
+ available in EAPI 3.
+ \begin{description}
+ \item[{[opt]}] The flag must be enabled.
+ \item[{[opt=]}] The flag must be enabled if the flag is enabled for the
+ package with the dependency, or disabled otherwise.
+ \item[{[!opt=]}] The flag must be disabled if the flag is enabled for
+ the package with the dependency, or enabled otherwise.
+ \item[{[opt?]}] The flag must be enabled if the flag is enabled for the
+ package with the dependency.
+ \item[{[!opt?]}] The flag must be disabled if the use flag is disabled
+ for the package with the dependency.
+ \item[{[-opt]}] The flag must be disabled.
+ \end{description}
+ See \featureref{use-deps}.
+\item[Blocker syntax] A single exclamation mark as a blocker may 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
+ finer granularity in the ebuild's structure. Configure calls should
+ be moved from \code{src\_compile} to \code{src\_configure}.
+ Patching and other preparing tasks must no longer take place in
+ \code{src\_unpack} but in \code{src\_prepare}.
+ 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 small additions
+ you need will not be accompanied by a complete reimplementation of
+ the phase. Additionally as a shorthand for the current phase's
+ default definition \code{default} can be invoked.
+ See \featureref{default-phase-funcs} and \featureref{default-func}.
+\item[\code{doman} language support] The \code{doman} installation
+ function recognizes lanugage specific man page extensions and
+ behaves accordingly. See \featureref{doman-langs}
+\end{description}
+\newpage
+\section{EAPI 3 (not yet approved)}
+\label{sec:cs:eapi3}
+\subsection{Additions/Changes}
+\begin{description}
+\item[\code{pkg\_pretend}] Some useful checks (kernel options for
+ example) can be placed in this new phase to inform the user early.
+ Duplicating checks from the \code{pkg\_setup} phase may be
+ necessary. See \featureref{pkg-pretend}.
+\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-3}.
+\item[\code{pkg\_info} on non-installed packages] The \code{pkg\_info}
+ phase can be called even for non-installed packages. Do not depend
+ on any outside programs in that case! 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[Support for \code{.xz}] Unpack of \code{.xz} and \code{.tar.xz}
+ files is possible. See \featureref{unpack-extensions}.
+\item[Slot operators] There are two ways to define a wanted slot in a
+ dependency string:
+ \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] Additionally to the features offered in
+ EAPI 2 for USE dependencies, a \code{(+)} or \code{(-)} can be added
+ after a USE flag (mind the braces). The former leads to the
+ assumption that the USE flag is available when not found in the
+ dependency, the latter leads to the reverse behaviour. This mimicks
+ 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\}} are compressed on-disk after
+ \code{src\_install}, except for \code{/usr/share/doc/\$\{PF\}/html}.
+ With \code{docompress} all arguments are passed to the inclusion
+ list, while the behaviour can be inverted with the \code{-x}
+ switch. See \featureref{controllable-compress}.
+\item[\code{dodoc} recursion] If the \code{-r} switch is given as
+ first argument and followed by directories, files from there are
+ installed recursively. See \featureref{dodoc}.
+\item[\code{doins} symlink support] Symbolic links are now properly
+ installed when using recursion (\code{-r} switch).
+ See \featureref{doins}.
+\item[New installation functions] \code{doexample}, \code{newexample},
+ \code{doinclude} and \code{newinclude} install example and include
+ files respectively in the known manner. See \featureref{doexample} and
+ \featureref{doinclude}.
+\item[\code{nonfatal} for commands] If you call \code{nonfatal} the
+ command given as argument will not abort the build process in case
+ of a failure but preserve the exit status nonetheless. See
+ \featureref{nonfatal}.
+\end{description}
+\label{sec:cs:eapi3-additions}
+\subsection{Removals/Bans}
+\label{sec:cs:eapi3-removalsbans}
+\begin{description}
+\item[USE flags in any-of] Inside of \code{||} constructs USE flag
+ conditionals are forbidden (with exceptions). See \featureref{any-use}
+\item[\code{dohard}, \code{dosed}] Both functions are not allowed
+ anymore. See \featureref{banned-commands}.
+\end{description}
+\end{document}
diff --git a/credits.tex b/credits.tex
index 8494516..ceec6cf 100644
--- a/credits.tex
+++ b/credits.tex
@@ -3,8 +3,9 @@
Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}), Danny van
Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various sections) and
Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}) for contributions. Thanks to
-Christian Faulhammer for fixing some of the more horrible formatting screwups. Thanks also to Mike
-Frysinger and Brian Harring for proof-reading and suggestions for fixes and/or clarification.
+Christian Faulhammer for fixing some of the more horrible formatting screwups and providing the EAPI
+cheat sheet. Thanks also to Mike Frysinger and Brian Harring for proof-reading and suggestions for
+fixes and/or clarification.
\section*{Copyright and Licence}
diff --git a/pms.cls b/pms.cls
index ca0874c..acbcf00 100644
--- a/pms.cls
+++ b/pms.cls
@@ -32,6 +32,7 @@
marginnote,
paralist,
parskip,
+ pdfpages,
verbatim,
algorithm,
algorithmic
diff --git a/pms.tex b/pms.tex
index 8426706..745882b 100644
--- a/pms.tex
+++ b/pms.tex
@@ -46,6 +46,8 @@
\bibliography{pms}
+\includepdf[pages=-,landscape]{eapi_cheatsheet}
+
\end{document}
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
--
1.6.0.6
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-Make-vc.tex-target-depend-on-the-existence-of-vc-git.patch --]
[-- Type: text/x-patch, Size: 650 bytes --]
From 7ed565f95c4d2d19bc98a5991ac6d1fdaad60ea0 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Tue, 14 Apr 2009 08:43:58 +0200
Subject: [PATCH] Make vc.tex target depend on the existence of vc-git.awk
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index b585411..9a49a6b 100644
--- a/Makefile
+++ b/Makefile
@@ -35,7 +35,7 @@ pms.bbl: pms.bib pms.tex vc.tex
eapi_cheatsheet.pdf: vc.tex
pdflatex cheatsheet/eapi_cheatsheet
-vc.tex: pms.tex
+vc.tex: pms.tex vc-git.awk
/bin/sh ./vc
pms.dvi: $(SOURCEFILES) pms.bbl
--
1.6.0.6
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: 0003-Use-system-s-plainurl.bst.patch --]
[-- Type: text/x-patch, Size: 29212 bytes --]
From 04e3ca5c4bef9c66086071a509ddce927d8a1f99 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Tue, 14 Apr 2009 08:40:40 +0200
Subject: [PATCH] Use system's plainurl.bst
The one provided in the PMS repository is out of date and lacks
hyperref support. This can be avoided by using plainurl.bst from
dev-texlive/texlive-bibtexextra.
---
plainurl.bst | 1349 ----------------------------------------------------------
1 files changed, 0 insertions(+), 1349 deletions(-)
delete mode 100644 plainurl.bst
diff --git a/plainurl.bst b/plainurl.bst
deleted file mode 100644
index 2f6a0e7..0000000
--- a/plainurl.bst
+++ /dev/null
@@ -1,1349 +0,0 @@
-%%% Modification of BibTeX style file /usr/share/texmf/bibtex/bst/base/plain.bst
-%%% ... by urlbst, version 0.5 (marked with "% urlbst")
-%%% See <http://www.astro.gla.ac.uk/users/norman/distrib/urlbst/>
-%%% Added webpage entry type, and url and lastchecked fields.
-%%% Original headers follow...
-
-% BibTeX standard bibliography style `plain'
- % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
- % Copyright (C) 1985, all rights reserved.
- % Copying of this file is authorized only if either
- % (1) you make absolutely no changes to your copy, including name, or
- % (2) if you do make changes, you name it something other than
- % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
- % This restriction helps ensure that all standard styles are identical.
- % The file btxbst.doc has the documentation for this style.
-
-ENTRY
- { address
- author
- booktitle
- chapter
- edition
- editor
- howpublished
- institution
- journal
- key
- month
- note
- number
- organization
- pages
- publisher
- school
- series
- title
- type
- volume
- year
- eprint % urlbst
- doi % urlbst
- url % urlbst
- lastchecked % urlbst
- }
- {}
- { label }
-
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-
-STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl } % urlbst...
-INTEGERS { hrefform addeprints adddoiresolver }
-% Following constants may be adjusted by hand, if desired
-FUNCTION {init.config.constants}
-{
- "Available from: " 'urlintro := % prefix before URL
- "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
- "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
- "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
- "doi:" 'doiprefix := % text prefix printed before DOI ref
- #0 'addeprints := % 0=no eprints; 1=include eprints
- #0 'adddoiresolver := % 0=no DOI resolver; 1=include it
- #0 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
-}
-INTEGERS {
- bracket.state
- outside.brackets
- open.brackets
- within.brackets
- close.brackets
-}
-% ...urlbst to here
-FUNCTION {init.state.consts}
-{ #0 'outside.brackets := % urlbst
- #1 'open.brackets :=
- #2 'within.brackets :=
- #3 'close.brackets :=
-
- #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-STRINGS { s t }
-
-% urlbst
-FUNCTION {output.nonnull.original}
-{ 's :=
- output.state mid.sentence =
- { ", " * write$ }
- { output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-% urlbst...
-FUNCTION {output.nonnull}
-{ % Save the thing we've been asked to output
- 's :=
- % If the bracket-state is close.brackets, then add a close-bracket to
- % what is currently at the top of the stack, and set bracket.state
- % to outside.brackets
- bracket.state close.brackets =
- { "]" *
- outside.brackets 'bracket.state :=
- }
- 'skip$
- if$
- bracket.state outside.brackets =
- { % We're outside all brackets -- this is the normal situation.
- % Write out what's currently at the top of the stack, using the
- % original output.nonnull function.
- s
- output.nonnull.original
- }
- { % Still in brackets. Add open-bracket or (continuation) comma, add the
- % new text (in s) to the top of the stack, and move to the close-brackets
- % state, ready for next time (unless inbrackets resets it). If we come
- % into this branch, then output.state is carefully undisturbed.
- bracket.state open.brackets =
- { " [" * }
- { ", " * } % bracket.state will be within.brackets
- if$
- s *
- close.brackets 'bracket.state :=
- }
- if$
-}
-
-% Call this function just before adding something which should be presented in
-% brackets. bracket.state is handled specially within output.nonnull.
-FUNCTION {inbrackets}
-{ bracket.state close.brackets =
- { within.brackets 'bracket.state := } % reset the state: not open nor closed
- { open.brackets 'bracket.state := }
- if$
-}
-
-FUNCTION {format.lastchecked}
-{ lastchecked empty$
- { "" }
- { inbrackets "cited " lastchecked * }
- if$
-}
-% ...urlbst to here
-
-FUNCTION {output}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull
- if$
-}
-
-FUNCTION {output.check}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull
- if$
-}
-
-FUNCTION {output.bibitem}
-{ outside.brackets 'bracket.state := % urlbst
- newline$
- "\bibitem{" write$
- cite$ write$
- "}" write$
- newline$
- ""
- before.all 'output.state :=
-}
-
-FUNCTION {fin.entry}
-{
- bracket.state close.brackets = % urlbst
- { "]" * }
- 'skip$
- if$
- add.period$
- write$
- newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
- 'skip$
- { after.block 'output.state := }
- if$
-}
-
-FUNCTION {new.sentence}
-{ output.state after.block =
- 'skip$
- { output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
- if$
- }
- if$
-}
-
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.sentence.checka}
-{ empty$
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {new.sentence.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.sentence
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-FUNCTION {emphasize}
-{ duplicate$ empty$
- { pop$ "" }
- { "{\em " swap$ * "}" * }
- if$
-}
-
-INTEGERS { nameptr namesleft numnames }
-
-FUNCTION {format.names}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { ", " * t * }
- { numnames #2 >
- { "," * }
- 'skip$
- if$
- t "others" =
- { " et~al." * }
- { " and " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names }
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { editor format.names
- editor num.names$ #1 >
- { ", editors" * }
- { ", editor" * }
- if$
- }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- month
- }
- if$
- }
- { month empty$
- 'year
- { month " " * year * }
- if$
- }
- if$
-}
-
-FUNCTION {format.btitle}
-{ title emphasize
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { "volume" volume tie.or.space.connect
- series empty$
- 'skip$
- { " of " * series emphasize * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
-
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { output.state mid.sentence =
- { "number" }
- { "Number" }
- if$
- number tie.or.space.connect
- series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { " in " * series * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { edition "l" change.case$ " edition" * }
- { edition "t" change.case$ " edition" * }
- if$
- }
- if$
-}
-
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { "pages" pages n.dashify tie.or.space.connect }
- { "page" pages tie.or.space.connect }
- if$
- }
- if$
-}
-
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
- number empty$
- 'skip$
- { "(" number * ")" * *
- volume empty$
- { "there's a number but no volume in " cite$ * warning$ }
- 'skip$
- if$
- }
- if$
- pages empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages }
- { ":" * pages n.dashify * }
- if$
- }
- if$
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- 'format.pages
- { type empty$
- { "chapter" }
- { type "l" change.case$ }
- if$
- chapter tie.or.space.connect
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- if$
-}
-
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { "In " booktitle emphasize * }
- { "In " format.editors * ", " * booktitle emphasize * }
- if$
- }
- if$
-}
-
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$
- type "t" change.case$
- }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { "Technical Report" }
- 'type
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.article.crossref}
-{ key empty$
- { journal empty$
- { "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
- }
- { "In {\em " journal * "\/}" * }
- if$
- }
- { "In " key * }
- if$
- " \cite{" * crossref * "}" *
-}
-
-FUNCTION {format.crossref.editor}
-{ editor #1 "{vv~}{ll}" format.name$
- editor num.names$ duplicate$
- #2 >
- { pop$ " et~al." * }
- { #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " et~al." * }
- { " and " * editor #2 "{vv~}{ll}" format.name$ * }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.book.crossref}
-{ volume empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- "In "
- }
- { "Volume" volume tie.or.space.connect
- " of " *
- }
- if$
- editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { "{\em " * series * "\/}" * }
- if$
- }
- { key * }
- if$
- }
- { format.crossref.editor * }
- if$
- " \cite{" * crossref * "}" *
-}
-
-FUNCTION {format.incoll.inproc.crossref}
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { "In {\em " booktitle * "\/}" * }
- if$
- }
- { "In " key * }
- if$
- }
- { "In " format.crossref.editor * }
- if$
- " \cite{" * crossref * "}" *
-}
-
-% urlbst...
-% Functions for making hypertext links.
-% In all cases, the stack has (link-text href-url)
-%
-% make 'null' specials
-FUNCTION {make.href.null}
-{
- pop$
-}
-% make hypertex specials
-FUNCTION {make.href.hypertex}
-{
- "\special {html:<a href=" quote$ *
- swap$ * quote$ * "> }" * swap$ *
- "\special {html:</a>}" *
-}
-% make hyperref specials
-FUNCTION {make.href.hyperref}
-{
- "\href {" swap$ * "} {" * swap$ * "}" *
-}
-FUNCTION {make.href}
-{ hrefform #2 =
- 'make.href.hyperref % hrefform = 2
- { hrefform #1 =
- 'make.href.hypertex % hrefform = 1
- 'make.href.null % hrefform = 0 (or anything else)
- if$
- }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { hrefform #1 =
- { % special case -- add HyperTeX specials
- urlintro "\url{" url * "}" * url make.href.hypertex * }
- { urlintro "\url{" * url * "}" * }
- if$
- }
- if$
-}
-
-FUNCTION {format.eprint}
-{ eprint empty$
- { "" }
- { eprintprefix eprint * eprinturl eprint * make.href }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$
- { "" }
- { doiprefix doi * doiurl doi * make.href }
- if$
-}
-
-% Output a URL. We can't use the more normal idiom (something like
-% `format.url output'), because the `inbrackets' within
-% format.lastchecked applies to everything between calls to `output',
-% so that `format.url format.lastchecked * output' ends up with both
-% the URL and the lastchecked in brackets.
-FUNCTION {output.url}
-{ url empty$
- 'skip$
- { new.block
- format.url output
- format.lastchecked output
- }
- if$
-}
-
-FUNCTION {output.web.refs}
-{
- new.block
- output.url
- addeprints eprint empty$ not and
- { format.eprint output.nonnull }
- 'skip$
- if$
- adddoiresolver doi empty$ not and
- { format.doi output.nonnull }
- 'skip$
- if$
-% addeprints
-% { eprint empty$
-% 'skip$
-% { format.eprint output.nonnull }
-% if$
-% }
-% 'skip$
-% if$
-}
-
-% Webpage entry type.
-% Title and url fields required;
-% author, note, year, month, and lastchecked fields optional
-% See references
-% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
-% http://www.classroom.net/classroom/CitingNetResources.html
-% http://neal.ctstateu.edu/history/cite.html
-% http://www.cas.usf.edu/english/walker/mla.html
-% for citation formats for web pages.
-FUNCTION {webpage}
-{ output.bibitem
- author empty$
- { editor empty$
- 'skip$ % author and editor both optional
- { format.editors output.nonnull }
- if$
- }
- { editor empty$
- { format.authors output.nonnull }
- { "can't use both author and editor fields in " cite$ * warning$ }
- if$
- }
- if$
-% author empty$
-% 'skip$
-% { format.authors output.nonnull }
-% if$
- new.block
- format.title "title" output.check
- inbrackets "online" output
- new.block
- year empty$
- 'skip$
- { format.date "year" output.check }
- if$
- lastchecked empty$
- 'skip$
- { format.lastchecked output }
- if$
- new.block
- format.url "url" output.check
- new.block
- note output
- fin.entry
-}
-% ...urlbst to here
-
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check
- new.block
- format.title "title" output.check
- new.block
- crossref missing$
- { journal emphasize "journal" output.check
- format.vol.num.pages output
- format.date "year" output.check
- }
- { format.article.crossref output.nonnull
- format.pages output
- }
- if$
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check }
- { format.authors output.nonnull
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
- if$
- }
- if$
- new.block
- format.btitle "title" output.check
- crossref missing$
- { format.bvolume output
- new.block
- format.number.series output
- new.sentence
- publisher "publisher" output.check
- address output
- }
- { new.block
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- format.date "year" output.check
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- new.block
- format.title "title" output.check
- howpublished address new.block.checkb
- howpublished output
- address output
- format.date output
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check }
- { format.authors output.nonnull
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
- if$
- }
- if$
- new.block
- format.btitle "title" output.check
- crossref missing$
- { format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- new.block
- format.number.series output
- new.sentence
- publisher "publisher" output.check
- address output
- }
- { format.chapter.pages "chapter and pages" output.check
- new.block
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- format.date "year" output.check
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check
- new.block
- format.title "title" output.check
- new.block
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
- format.bvolume output
- format.number.series output
- format.chapter.pages output
- new.sentence
- publisher "publisher" output.check
- address output
- format.edition output
- format.date "year" output.check
- }
- { format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- new.block
- format.title "title" output.check
- new.block
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
- format.bvolume output
- format.number.series output
- format.pages output
- address empty$
- { organization publisher new.sentence.checkb
- organization output
- publisher output
- format.date "year" output.check
- }
- { address output.nonnull
- format.date "year" output.check
- new.sentence
- organization output
- publisher output
- }
- if$
- }
- { format.incoll.inproc.crossref output.nonnull
- format.pages output
- }
- if$
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull
- address output
- }
- if$
- }
- { format.authors output.nonnull }
- if$
- new.block
- format.btitle "title" output.check
- author empty$
- { organization empty$
- { address new.block.checka
- address output
- }
- 'skip$
- if$
- }
- { organization address new.block.checkb
- organization output
- address output
- }
- if$
- format.edition output
- format.date output
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.block
- format.title "title" output.check
- new.block
- "Master's thesis" format.thesis.type output.nonnull
- school "school" output.check
- address output
- format.date "year" output.check
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- title howpublished new.block.checkb
- format.title output
- howpublished new.block.checka
- howpublished output
- format.date output
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
- empty.misc.check
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- new.block
- format.btitle "title" output.check
- new.block
- "PhD thesis" format.thesis.type output.nonnull
- school "school" output.check
- address output
- format.date "year" output.check
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output }
- { format.editors output.nonnull }
- if$
- new.block
- format.btitle "title" output.check
- format.bvolume output
- format.number.series output
- address empty$
- { editor empty$
- { publisher new.sentence.checka }
- { organization publisher new.sentence.checkb
- organization output
- }
- if$
- publisher output
- format.date "year" output.check
- }
- { address output.nonnull
- format.date "year" output.check
- new.sentence
- editor empty$
- 'skip$
- { organization output }
- if$
- publisher output
- }
- if$
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- new.block
- format.title "title" output.check
- new.block
- format.tr.number output.nonnull
- institution "institution" output.check
- address output
- format.date "year" output.check
- new.block
- note output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- new.block
- format.title "title" output.check
- new.block
- note "note" output.check
- format.date output
- output.web.refs % urlbst
- fin.entry
-}
-
-FUNCTION {default.type} { misc }
-
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-MACRO {dec} {"December"}
-
-MACRO {acmcs} {"ACM Computing Surveys"}
-
-MACRO {acta} {"Acta Informatica"}
-
-MACRO {cacm} {"Communications of the ACM"}
-
-MACRO {ibmjrd} {"IBM Journal of Research and Development"}
-
-MACRO {ibmsj} {"IBM Systems Journal"}
-
-MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
-
-MACRO {ieeetc} {"IEEE Transactions on Computers"}
-
-MACRO {ieeetcad}
- {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
-
-MACRO {ipl} {"Information Processing Letters"}
-
-MACRO {jacm} {"Journal of the ACM"}
-
-MACRO {jcss} {"Journal of Computer and System Sciences"}
-
-MACRO {scp} {"Science of Computer Programming"}
-
-MACRO {sicomp} {"SIAM Journal on Computing"}
-
-MACRO {tocs} {"ACM Transactions on Computer Systems"}
-
-MACRO {tods} {"ACM Transactions on Database Systems"}
-
-MACRO {tog} {"ACM Transactions on Graphics"}
-
-MACRO {toms} {"ACM Transactions on Mathematical Software"}
-
-MACRO {toois} {"ACM Transactions on Office Information Systems"}
-
-MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
-
-MACRO {tcs} {"Theoretical Computer Science"}
-
-READ
-
-FUNCTION {sortify}
-{ purify$
- "l" change.case$
-}
-
-INTEGERS { len }
-
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { " " * }
- 'skip$
- if$
- s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { "et al" * }
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {author.editor.sort}
-{ author empty$
- { editor empty$
- { key empty$
- { "to sort, need author, editor, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-FUNCTION {presort}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- " "
- *
- year field.or.null sortify
- *
- " "
- *
- title field.or.null
- sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
-}
-
-ITERATE {presort}
-
-SORT
-
-STRINGS { longest.label }
-
-INTEGERS { number.label longest.label.width }
-
-FUNCTION {initialize.longest.label}
-{ "" 'longest.label :=
- #1 'number.label :=
- #0 'longest.label.width :=
-}
-
-FUNCTION {longest.label.pass}
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
- }
- 'skip$
- if$
-}
-
-EXECUTE {initialize.longest.label}
-
-ITERATE {longest.label.pass}
-
-FUNCTION {begin.bib}
-{ preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- "\begin{thebibliography}{" longest.label * "}" * write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.config.constants}
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
--
1.6.0.6
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.5: 0004-Make-item-recognise-its-optional-argument.patch --]
[-- Type: text/x-patch, Size: 3540 bytes --]
From 9aa62bfb269fc718900a13a31211288f3307d080 Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Tue, 14 Apr 2009 15:01:13 +0200
Subject: [PATCH] Make \item recognise its optional argument
---
dependencies.tex | 28 ++++++++++++++--------------
1 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/dependencies.tex b/dependencies.tex
index 9d26378..beda6f3 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -449,19 +449,19 @@ is only for package manager use and must not be used by ebuilds.
A kdebuild-style use dependency consists of one of the following:
\begin{description}
- \item{[opt]} The flag must be enabled.
- \item{[opt=]} The flag must be enabled if the flag is enabled for the package with the
+ \item[{[opt]}] The flag must be enabled.
+ \item[{[opt=]}] The flag must be enabled if the flag is enabled for the package with the
dependency, or disabled otherwise.
- \item{[opt!=]} The flag must be disabled if the flag is enabled for the package with the
+ \item[{[opt!=]}] The flag must be disabled if the flag is enabled for the package with the
dependency, or enabled otherwise.
- \item{[opt?]} The flag must be enabled if the flag is enabled for the package with the
+ \item[{[opt?]}] The flag must be enabled if the flag is enabled for the package with the
dependency.
- \item{[opt!?]} The flag must be enabled if the use flag is disabled for the package with the
+ \item[{[opt!?]}] The flag must be enabled if the use flag is disabled for the package with the
dependency.
- \item{[-opt]} The flag must be disabled.
- \item{[-opt?]} The flag must be disabled if the flag is enabled for the package with the
+ \item[{[-opt]}] The flag must be disabled.
+ \item[{[-opt?]}] The flag must be disabled if the flag is enabled for the package with the
dependency.
- \item{[-opt!?]} The flag must be disabled if the flag is disabled for the package with the
+ \item[{[-opt!?]}] The flag must be disabled if the flag is disabled for the package with the
dependency.
\end{description}
@@ -479,16 +479,16 @@ is only for package manager use and must not be used by ebuilds.
A 2-style or 3-style use dependency consists of one of the following:
\begin{description}
-\item{[opt]} The flag must be enabled.
-\item{[opt=]} The flag must be enabled if the flag is enabled for the package with the
+\item[{[opt]}] The flag must be enabled.
+\item[{[opt=]}] The flag must be enabled if the flag is enabled for the package with the
dependency, or disabled otherwise.
-\item{[!opt=]} The flag must be disabled if the flag is enabled for the package with the
+\item[{[!opt=]}] The flag must be disabled if the flag is enabled for the package with the
dependency, or enabled otherwise.
-\item{[opt?]} The flag must be enabled if the flag is enabled for the package with the
+\item[{[opt?]}] The flag must be enabled if the flag is enabled for the package with the
dependency.
-\item{[!opt?]} The flag must be disabled if the use flag is disabled for the package with the
+\item[{[!opt?]}] The flag must be disabled if the use flag is disabled for the package with the
dependency.
-\item{[-opt]} The flag must be disabled.
+\item[{[-opt]}] The flag must be disabled.
\end{description}
Multiple requirements may be combined using commas, e.g. \t{[first,-second,third?]}.
--
1.6.0.6
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2009-04-14 13:56 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-12 19:14 [gentoo-pms] Patches for your reviewing pleasure: Various improvements, including cheat sheet Christian Faulhammer
2009-04-12 19:36 ` Ciaran McCreesh
2009-04-13 9:01 ` Christian Faulhammer
2009-04-13 16:01 ` Ciaran McCreesh
2009-04-14 8:44 ` Christian Faulhammer
2009-04-14 13:04 ` Ciaran McCreesh
2009-04-14 13:55 ` Christian Faulhammer [this message]
2009-04-14 14:46 ` Ciaran McCreesh
2009-04-15 15:28 ` Christian Faulhammer
2009-04-15 20:35 ` Ciaran McCreesh
2009-04-15 21:58 ` Christian Faulhammer
2009-04-15 22:10 ` Ciaran McCreesh
2009-04-15 22:46 ` Christian Faulhammer
2009-04-16 14:16 ` Ciaran McCreesh
2009-04-16 22:23 ` Christian Faulhammer
2009-04-17 14:11 ` Yannick Mortier
2009-04-12 21:25 ` David Leverton
2009-04-13 9:05 ` Christian Faulhammer
2009-04-13 21:16 ` [gentoo-pms] [PATCH] Work around TeX4ht being weird David Leverton
2009-04-14 8:32 ` Christian Faulhammer
2009-04-15 19:03 ` David Leverton
2009-04-15 21:59 ` Christian Faulhammer
2009-04-16 7:25 ` David Leverton
2009-04-16 19:37 ` [gentoo-pms] [PATCH 1/2] " David Leverton
2009-04-16 19:37 ` [gentoo-pms] [PATCH 2/2] Update TeX4ht sed hacks David Leverton
2009-04-16 19:42 ` Ciaran McCreesh
2009-04-17 14:13 ` Yannick Mortier
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=20090414155543.16e78e66@terra.solaris \
--to=fauli@gentoo.org \
--cc=ciaran.mccreesh@googlemail.com \
--cc=gentoo-pms@lists.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