EAPI 4_pre1
Helpers
Removed dohard and dosed
The dohard and dosed helpers from previous EAPIs are no longer available.
dodoc -r
The dodoc helper now has a -r option which enables recursion.
doins and newins preserve symlinks
The doins and newins helpers now preserve symlinks. In earlier EAPIs
symlinks are dereferenced rather than preserved.
econf adds --disable-dependency-tracking
The econf helper now adds --disable-dependency-tracking to the
configure arguments.
Phases
New pkg_pretend Phase Function
The pkg_pretend function may be used to carry out sanity checks early on in the
install process. For example, if an ebuild requires a particular kernel
configuration, it may perform that check in pkg_pretend and call eerror and
then die with appropriate messages if the requirement is not met.
pkg_pretend is run separately from the main phase function sequence, and does
not participate in any kind of environment saving. There is no guarantee that
any of an ebuild's dependencies will be met at this stage, and no guarantee
that the system state will not have changed substantially before the next phase
is executed.
pkg_pretend must not write to the filesystem.
Default src_install no longer a no-op
src_install() {
if [[ -f Makefile || -f GNUmakefile || -f makefile ]] ; then
emake DESTDIR="${D}" install
fi
if [[ -z $DOCS ]] ; then
local d
for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \
THANKS BUGS FAQ CREDITS CHANGELOG ; do
[[ -s "${d}" ]] && dodoc "${d}"
done
elif [[ $(declare -p DOCS) == "declare -a "* ]] ; then
dodoc "${DOCS[@]}"
else
dodoc ${DOCS}
fi
}
Variables
AA and KV variables are no longer exported
The AA and KV variables are no longer exported to the ebuild environment.
REPLACING_VERSIONS and REPLACED_BY_VERSION
The REPLACING_VERSIONS variable
shall be defined in pkg_preinst and pkg_postinst. In addition, it may be
defined in pkg_pretend and pkg_setup, although ebuild authors should take care
to handle binary package creation and installation correctly when using it in
these phases.
REPLACING_VERSIONS is a list, not a single optional value, to handle
pathological cases such as installing foo-2:2 to replace foo-2:1 and foo-3:2.
The REPLACED_BY variable shall
be defined in pkg_prerm and pkg_postrm. It shall contain at most one value.