blob: 3e8c85ae50906871363277a2dbfa8ec0521fa926 [file] [log] [blame]
<section id='package-ebuild-eapi-3'>
<title>EAPI 3</title>
<section id='package-ebuild-eapi-3-helpers'>
<title>Helpers</title>
<section id='package-ebuild-eapi-3-helpers-unpack'>
<title>unpack</title>
<section id='package-ebuild-eapi-3-helpers-unpack-xz'>
<title>Support for the xz file extension</title>
<para>
The unpack helper now supports the xz file extension.
</para>
</section>
</section>
</section>
<section id='package-ebuild-eapi-3-prefix'>
<title>Support for installation prefix</title>
<section id='package-ebuild-eapi-3-prefix-helpers'>
<title>Helpers</title>
<para>
Beginning with EAPI 3, all helpers use ${ED} instead of ${D}
when appropriate. For example, see econf and einstall below.
</para>
<section id='package-ebuild-eapi-3-prefix-helpers-econf'>
<title>econf</title>
<programlisting>
${ECONF_SOURCE:-.}/configure \
${CBUILD:+--build=${CBUILD}} \
--datadir="${EPREFIX}"/usr/share \
--host=${CHOST} \
--infodir="${EPREFIX}"/usr/share/info \
--localstatedir="${EPREFIX}"/var/lib \
--prefix="${EPREFIX}"/usr \
--mandir="${EPREFIX}"/usr/share/man \
--sysconfdir="${EPREFIX}"/etc \
${CTARGET:+--target=${CTARGET}} \
${EXTRA_ECONF} \
configure options || die "econf failed"
</programlisting>
</section>
<section id='package-ebuild-eapi-3-prefix-helpers-einstall'>
<title>einstall</title>
<para>
Note that, for make-based packages, 'emake install DESTDIR=${D}' (with
DESTDIR=${D} rather than ${ED}) is still preferred over einstall.
</para>
<programlisting>
make \
prefix=${ED}/usr \
datadir=${ED}/usr/share \
infodir=${ED}/usr/share/info \
localstatedir=${ED}/var/lib \
mandir=${ED}/usr/share/man \
sysconfdir=${ED}/etc \
${EXTRA_EINSTALL} \
make options \
install
</programlisting>
</section>
</section>
<section id='package-ebuild-eapi-3-prefix-variables'>
<title>Variables</title>
<table><title>Installation Prefix Variables</title>
<tgroup cols='2' align='left' >
<colspec colname='name'/>
<colspec colname='description'/>
<thead>
<row>
<entry>Variable Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>ED</entry>
<entry>Contains the path
"${D%/}${EPREFIX}/" for convenience purposes.
For EAPI values prior to EAPI 3 which do not
support ${ED}, helpers use ${D} where they would
otherwise use ${ED}. Do not modify this variable.
</entry>
</row>
<row>
<entry>EPREFIX</entry>
<entry>Contains the offset
that this Portage was configured for during
installation. The offset is sometimes necessary
in an ebuild or eclass, and is available in such
cases as ${EPREFIX}. EPREFIX does not contain a
trailing slash, therefore an absent offset is
represented by the empty string. Do not modify
this variable. </entry>
</row>
<row>
<entry>EROOT</entry>
<entry>Contains
"${ROOT%/}${EPREFIX}/" for convenience purposes.
Do not modify this variable. </entry>
</row>
</tbody>
</tgroup>
</table>
</section>
</section>
</section>