fi
case "$EAPI" in
- 0|1|2)
+ 0|1|2|3)
PRESERVE_SYMLINKS=n
;;
*)
rm -rf "${T}/${2}" || exit $?
case "$EAPI" in
- 0|1|2)
+ 0|1|2|3)
cp "$1" "$T/$2" || exit $?
;;
*)
# Skip this for older EAPIs since lots of ebuilds/eclasses
# have stuff in global scope that really belongs somewhere
# like pkg_setup or src_configure.
- if [[ -n $EAPI ]] && ! hasq "$EAPI" 0 1 2 ; then
+ if [[ -n $EAPI ]] && ! hasq "$EAPI" 0 1 2 3 ; then
die "use() called during invalid phase: $EBUILD_PHASE"
fi
_unpack_tar lzma
;;
xz)
- if hasq $eapi 0 1 2 ; then
+ if hasq $eapi 0 1 2 3 ; then
vecho "unpack ${x}: file format not recognized. Ignoring."
else
_unpack_tar xz
fi
# EAPI=3 adds --disable-dependency-tracking to econf
- if ! hasq "$EAPI" 0 1 2 ; then
+ if ! hasq "$EAPI" 0 1 2 3 ; then
set -- --disable-dependency-tracking "$@"
fi
fi
}
-_eapi3_src_install() {
+_eapi4_src_install() {
if [[ -f Makefile || -f GNUmakefile || -f makefile ]] ; then
emake DESTDIR="${D}" install
fi
if [[ -d $S ]] ; then
cd "${S}"
- elif hasq $EAPI 0 1 2; then
+ elif hasq $EAPI 0 1 2 3; then
cd "${WORKDIR}"
elif [[ -z ${A} ]] && ! has_phase_defined_up_to prepare; then
cd "${WORKDIR}"
if [[ -d $S ]] ; then
cd "${S}"
- elif hasq $EAPI 0 1 2; then
+ elif hasq $EAPI 0 1 2 3; then
cd "${WORKDIR}"
elif [[ -z ${A} ]] && ! has_phase_defined_up_to configure; then
cd "${WORKDIR}"
if [[ -d $S ]] ; then
cd "${S}"
- elif hasq $EAPI 0 1 2; then
+ elif hasq $EAPI 0 1 2 3; then
cd "${WORKDIR}"
elif [[ -z ${A} ]] && ! has_phase_defined_up_to compile; then
cd "${WORKDIR}"
mkdir "${PORTAGE_BUILDDIR}/image"
if [[ -d $S ]] ; then
cd "${S}"
- elif hasq $EAPI 0 1 2; then
+ elif hasq $EAPI 0 1 2 3; then
cd "${WORKDIR}"
elif [[ -z ${A} ]] && ! has_phase_defined_up_to install; then
cd "${WORKDIR}"
case "$arg" in
pretend)
- ! hasq $eapi 0 1 2 && \
+ ! hasq $eapi 0 1 2 3 && \
phase_func=pkg_pretend
;;
setup)
declare -F src_compile >/dev/null || \
src_compile() { _eapi2_src_compile "$@" ; }
- [[ $eapi == 2 ]] || declare -F src_install >/dev/null || \
- src_install() { _eapi3_src_install "$@" ; }
+ has $eapi 2 3 || declare -F src_install >/dev/null || \
+ src_install() { _eapi4_src_install "$@" ; }
if hasq $phase_func $default_phases ; then
[[ -n $EAPI ]] || EAPI=0
- if has "$EAPI" 0 1 2 ; then
+ if has "$EAPI" 0 1 2 3 ; then
export RDEPEND=${RDEPEND-${DEPEND}}
debug-print "RDEPEND: not set... Setting to: ${DEPEND}"
fi
pkg_nofetch pkg_postinst pkg_postrm pkg_preinst pkg_prerm
pkg_setup src_test src_unpack"
;;
- 2)
+ 2|3)
_valid_phases="src_compile pkg_config src_configure pkg_info
src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst
src_prepare pkg_prerm pkg_setup src_test src_unpack"
}
nonfatal() {
- if has "${EAPI:-0}" 0 1 2; then
+ if has "${EAPI:-0}" 0 1 2 3; then
die "$FUNCNAME() not supported in this EAPI"
fi
if [[ $# -lt 1 ]]; then
for x in pkg_setup pkg_nofetch src_unpack src_prepare src_configure \
src_compile src_test src_install pkg_preinst pkg_postinst \
pkg_prerm pkg_postrm ; do
- unset -f default_$x _eapi{0,1,2}_$x
+ unset -f default_$x _eapi{0,1,2,3,4}_$x
done
unset x
mydict["USE"] = self.get("PORTAGE_USE", "")
# Don't export AA to the ebuild environment in EAPIs that forbid it
- if eapi not in ("0", "1", "2"):
+ if eapi not in ("0", "1", "2", "3"):
mydict.pop("AA", None)
# sandbox's bashrc sources /etc/profile which unsets ROOTPATH,
if mydo == "prepare" and eapi in ("0", "1"):
return os.EX_OK
- if mydo == "pretend" and eapi in ("0", "1", "2"):
+ if mydo == "pretend" and eapi in ("0", "1", "2", "3"):
return os.EX_OK
kwargs = actionmap[mydo]["args"]
return rval
_testing_eapis = frozenset()
-_deprecated_eapis = frozenset(["2_pre3", "2_pre2", "2_pre1"])
+_deprecated_eapis = frozenset(["3_pre1", "2_pre3", "2_pre2", "2_pre1"])
def _eapi_is_deprecated(eapi):
return eapi in _deprecated_eapis
mysettings["PORTAGE_BUILDDIR"], ".exit_status")
#set up KV variable -- DEP SPEEDUP :: Don't waste time. Keep var persistent.
- if eapi not in ('0', '1', '2'):
+ if eapi not in ('0', '1', '2', '3'):
# Discard KV for EAPIs that don't support it. Cache KV is restored
# from the backupenv whenever config.reset() is called.
mysettings.pop('KV', None)
return ("'%s'" % m.group(1)) + \
" call should be moved to src_prepare from line: %d"
-# EAPI-3 checks
-class Eapi3IncompatibleFuncs(LineCheck):
+# EAPI-4 checks
+class Eapi4IncompatibleFuncs(LineCheck):
repoman_check_name = 'EAPI.incompatible'
ignore_line = re.compile(r'(^\s*#)')
banned_commands_re = re.compile(r'^\s*(dosed|dohard)')
self.eapi = pkg.metadata['EAPI']
def check_eapi(self, eapi):
- return self.eapi not in ('0', '1', '2')
+ return self.eapi not in ('0', '1', '2', '3')
def check(self, num, line):
m = self.banned_commands_re.match(line)
if m is not None:
return ("'%s'" % m.group(1)) + \
- " has been banned in EAPI=3 on line: %d"
+ " has been banned in EAPI=4 on line: %d"
-class Eapi3GoneVars(LineCheck):
+class Eapi4GoneVars(LineCheck):
repoman_check_name = 'EAPI.incompatible'
ignore_line = re.compile(r'(^\s*#)')
undefined_vars_re = re.compile(r'.*\$(\{(AA|KV)\}|(AA|KV))')
self.eapi = pkg.metadata['EAPI']
def check_eapi(self, eapi):
- return self.eapi not in ('0', '1', '2')
+ return self.eapi not in ('0', '1', '2', '3')
def check(self, num, line):
m = self.undefined_vars_re.match(line)
if m is not None:
return ("variable '$%s'" % m.group(1)) + \
- " is gone in EAPI=3 on line: %d"
+ " is gone in EAPI=4 on line: %d"
_constant_checks = tuple((c() for c in (
IUseUndefined, InheritAutotools,
EMakeParallelDisabled, EMakeParallelDisabledViaMAKEOPTS,
DeprecatedBindnowFlags, SrcUnpackPatches, WantAutoDefaultValue,
- SrcCompileEconf, Eapi3IncompatibleFuncs, Eapi3GoneVars)))
+ SrcCompileEconf, Eapi4IncompatibleFuncs, Eapi4GoneVars)))
_here_doc_re = re.compile(r'.*\s<<[-]?(\w+)$')