commit: 328a87e50b0559517ca4b6c016617afc5ac7a2f4
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 19 01:46:16 2022 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sat Apr 2 04:22:53 2022 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=328a87e5
Eliminate now-dead code from EAPIs 4-python and 5-progress
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
bin/eapi.sh | 32 ----
bin/ebuild.sh | 9 --
bin/phase-helpers.sh | 166 ---------------------
bin/save-ebuild-env.sh | 7 -
lib/_emerge/EbuildMetadataPhase.py | 17 ---
lib/_emerge/Package.py | 15 +-
lib/portage/dep/__init__.py | 138 ++++-------------
lib/portage/eapi.py | 26 ----
lib/portage/package/ebuild/_config/UseManager.py | 3 +-
.../package/ebuild/_config/unpack_dependencies.py | 55 -------
lib/portage/package/ebuild/config.py | 8 -
lib/portage/package/ebuild/doebuild.py | 9 --
lib/portage/tests/resolver/ResolverPlayground.py | 1 -
lib/portage/versions.py | 66 ++------
14 files changed, 45 insertions(+), 507 deletions(-)
diff --git a/bin/eapi.sh b/bin/eapi.sh
index b6d2e07f1..a39513b1c 100644
--- a/bin/eapi.sh
+++ b/bin/eapi.sh
@@ -144,34 +144,6 @@ ___eapi_has_useq() {
[[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-slot-abi|5|6|7)$ ]]
}
-___eapi_has_master_repositories() {
- [[ ${1-${EAPI-0}} =~ ^$ ]]
-}
-
-___eapi_has_repository_path() {
- [[ ${1-${EAPI-0}} =~ ^$ ]]
-}
-
-___eapi_has_available_eclasses() {
- [[ ${1-${EAPI-0}} =~ ^$ ]]
-}
-
-___eapi_has_eclass_path() {
- [[ ${1-${EAPI-0}} =~ ^$ ]]
-}
-
-___eapi_has_license_path() {
- [[ ${1-${EAPI-0}} =~ ^$ ]]
-}
-
-___eapi_has_package_manager_build_user() {
- [[ ${1-${EAPI-0}} =~ ^$ ]]
-}
-
-___eapi_has_package_manager_build_group() {
- [[ ${1-${EAPI-0}} =~ ^$ ]]
-}
-
# HELPERS BEHAVIOR
___eapi_best_version_and_has_version_support_--host-root() {
@@ -296,10 +268,6 @@ ___eapi_enables_failglob_in_global_scope() {
[[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-slot-abi|5)$ ]]
}
-___eapi_enables_globstar() {
- [[ ${1-${EAPI-0}} =~ ^$ ]]
-}
-
___eapi_bash_3_2() {
[[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-slot-abi|5)$ ]]
}
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 5b0b79585..628d7eb80 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -73,11 +73,6 @@ else
# These functions die because calls to them during the "depend" phase
# are considered to be severe QA violations.
funcs+=" best_version has_version portageq"
- ___eapi_has_master_repositories && funcs+=" master_repositories"
- ___eapi_has_repository_path && funcs+=" repository_path"
- ___eapi_has_available_eclasses && funcs+=" available_eclasses"
- ___eapi_has_eclass_path && funcs+=" eclass_path"
- ___eapi_has_license_path && funcs+=" license_path"
for x in ${funcs} ; do
eval "${x}() { die \"\${FUNCNAME}() calls are not allowed in
global scope\"; }"
done
@@ -573,10 +568,6 @@ if ! has "$EBUILD_PHASE" clean cleanrm depend && \
[[ -n $EAPI ]] || EAPI=0
fi
-if ___eapi_enables_globstar; then
- shopt -s globstar
-fi
-
# Convert quoted paths to array.
eval "PORTAGE_ECLASS_LOCATIONS=(${PORTAGE_ECLASS_LOCATIONS})"
diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index a6aaa7926..0a3bc5cb7 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -1210,169 +1210,3 @@ if ___eapi_has_in_iuse; then
has "${use}" "${liuse[@]#[+-]}"
}
fi
-
-if ___eapi_has_master_repositories; then
- master_repositories() {
- local output repository=$1 retval
- shift
- [[ $# -gt 0 ]] && die "${FUNCNAME[0]}: unused argument(s): $*"
-
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- "${PORTAGE_BIN_PATH}/ebuild-ipc" master_repositories
"${EROOT}" "${repository}"
- else
- output=$("${PORTAGE_BIN_PATH}/ebuild-helpers/portageq"
master_repositories "${EROOT}" "${repository}")
- fi
- retval=$?
- [[ -n ${output} ]] && echo "${output}"
- case "${retval}" in
- 0|1)
- return ${retval}
- ;;
- 2)
- die "${FUNCNAME[0]}: invalid repository:
${repository}"
- ;;
- *)
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- die "${FUNCNAME[0]}: unexpected
ebuild-ipc exit code: ${retval}"
- else
- die "${FUNCNAME[0]}: unexpected
portageq exit code: ${retval}"
- fi
- ;;
- esac
- }
-fi
-
-if ___eapi_has_repository_path; then
- repository_path() {
- local output repository=$1 retval
- shift
- [[ $# -gt 0 ]] && die "${FUNCNAME[0]}: unused argument(s): $*"
-
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- "${PORTAGE_BIN_PATH}/ebuild-ipc" repository_path
"${EROOT}" "${repository}"
- else
- output=$("${PORTAGE_BIN_PATH}/ebuild-helpers/portageq"
get_repo_path "${EROOT}" "${repository}")
- fi
- retval=$?
- [[ -n ${output} ]] && echo "${output}"
- case "${retval}" in
- 0|1)
- return ${retval}
- ;;
- 2)
- die "${FUNCNAME[0]}: invalid repository:
${repository}"
- ;;
- *)
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- die "${FUNCNAME[0]}: unexpected
ebuild-ipc exit code: ${retval}"
- else
- die "${FUNCNAME[0]}: unexpected
portageq exit code: ${retval}"
- fi
- ;;
- esac
- }
-fi
-
-if ___eapi_has_available_eclasses; then
- available_eclasses() {
- local output repository=${PORTAGE_REPO_NAME} retval
- [[ $# -gt 0 ]] && die "${FUNCNAME[0]}: unused argument(s): $*"
-
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- "${PORTAGE_BIN_PATH}/ebuild-ipc" available_eclasses
"${EROOT}" "${repository}"
- else
- output=$("${PORTAGE_BIN_PATH}/ebuild-helpers/portageq"
available_eclasses "${EROOT}" "${repository}")
- fi
- retval=$?
- [[ -n ${output} ]] && echo "${output}"
- case "${retval}" in
- 0|1)
- return ${retval}
- ;;
- 2)
- die "${FUNCNAME[0]}: invalid repository:
${repository}"
- ;;
- *)
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- die "${FUNCNAME[0]}: unexpected
ebuild-ipc exit code: ${retval}"
- else
- die "${FUNCNAME[0]}: unexpected
portageq exit code: ${retval}"
- fi
- ;;
- esac
- }
-fi
-
-if ___eapi_has_eclass_path; then
- eclass_path() {
- local eclass=$1 output repository=${PORTAGE_REPO_NAME} retval
- shift
- [[ $# -gt 0 ]] && die "${FUNCNAME[0]}: unused argument(s): $*"
-
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- "${PORTAGE_BIN_PATH}/ebuild-ipc" eclass_path "${EROOT}"
"${repository}" "${eclass}"
- else
- output=$("${PORTAGE_BIN_PATH}/ebuild-helpers/portageq"
eclass_path "${EROOT}" "${repository}" "${eclass}")
- fi
- retval=$?
- [[ -n ${output} ]] && echo "${output}"
- case "${retval}" in
- 0|1)
- return ${retval}
- ;;
- 2)
- die "${FUNCNAME[0]}: invalid repository:
${repository}"
- ;;
- *)
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- die "${FUNCNAME[0]}: unexpected
ebuild-ipc exit code: ${retval}"
- else
- die "${FUNCNAME[0]}: unexpected
portageq exit code: ${retval}"
- fi
- ;;
- esac
- }
-fi
-
-if ___eapi_has_license_path; then
- license_path() {
- local license=$1 output repository=${PORTAGE_REPO_NAME} retval
- shift
- [[ $# -gt 0 ]] && die "${FUNCNAME[0]}: unused argument(s): $*"
-
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- "${PORTAGE_BIN_PATH}/ebuild-ipc" license_path
"${EROOT}" "${repository}" "${license}"
- else
- output=$("${PORTAGE_BIN_PATH}/ebuild-helpers/portageq"
license_path "${EROOT}" "${repository}" "${license}")
- fi
- retval=$?
- [[ -n ${output} ]] && echo "${output}"
- case "${retval}" in
- 0|1)
- return ${retval}
- ;;
- 2)
- die "${FUNCNAME[0]}: invalid repository:
${repository}"
- ;;
- *)
- if [[ -n ${PORTAGE_IPC_DAEMON} ]]; then
- die "${FUNCNAME[0]}: unexpected
ebuild-ipc exit code: ${retval}"
- else
- die "${FUNCNAME[0]}: unexpected
portageq exit code: ${retval}"
- fi
- ;;
- esac
- }
-fi
-
-if ___eapi_has_package_manager_build_user; then
- package_manager_build_user() {
- echo "${PORTAGE_BUILD_USER}"
- }
-fi
-
-if ___eapi_has_package_manager_build_group; then
- package_manager_build_group() {
- echo "${PORTAGE_BUILD_GROUP}"
- }
-fi
diff --git a/bin/save-ebuild-env.sh b/bin/save-ebuild-env.sh
index 98808814b..17e4b1b3e 100644
--- a/bin/save-ebuild-env.sh
+++ b/bin/save-ebuild-env.sh
@@ -81,13 +81,6 @@ __save_ebuild_env() {
${QA_INTERCEPTORS}
___eapi_has_usex && unset -f usex
- ___eapi_has_master_repositories && unset -f master_repositories
- ___eapi_has_repository_path && unset -f repository_path
- ___eapi_has_available_eclasses && unset -f available_eclasses
- ___eapi_has_eclass_path && unset -f eclass_path
- ___eapi_has_license_path && unset -f license_path
- ___eapi_has_package_manager_build_user && unset -f
package_manager_build_user
- ___eapi_has_package_manager_build_group && unset -f
package_manager_build_group
# Clear out the triple underscore namespace as it is reserved by the PM.
unset -f $(compgen -A function ___)
diff --git a/lib/_emerge/EbuildMetadataPhase.py
b/lib/_emerge/EbuildMetadataPhase.py
index e85b3f707..4b6add973 100644
--- a/lib/_emerge/EbuildMetadataPhase.py
+++ b/lib/_emerge/EbuildMetadataPhase.py
@@ -14,8 +14,6 @@ from portage import os
from portage import _encodings
from portage import _unicode_decode
from portage import _unicode_encode
-from portage.dep import extract_unpack_dependencies
-from portage.eapi import eapi_has_automatic_unpack_dependencies
import fcntl
import io
@@ -216,21 +214,6 @@ class EbuildMetadataPhase(SubProcess):
metadata["_eclasses_"] = {}
metadata.pop("INHERITED", None)
- if
eapi_has_automatic_unpack_dependencies(metadata["EAPI"]):
- repo = self.portdb.repositories.get_name_for_location(
- self.repo_path
- )
- unpackers =
self.settings.unpack_dependencies.get(repo, {}).get(
- metadata["EAPI"], {}
- )
- unpack_dependencies = extract_unpack_dependencies(
- metadata["SRC_URI"], unpackers
- )
- if unpack_dependencies:
- metadata["DEPEND"] += (
- " " if metadata["DEPEND"] else ""
- ) + unpack_dependencies
-
# If called by egencache, this cache write is
# undesirable when metadata-transfer is disabled.
if self.write_auxdb is not False:
diff --git a/lib/_emerge/Package.py b/lib/_emerge/Package.py
index cc2cb07e1..7c4997aab 100644
--- a/lib/_emerge/Package.py
+++ b/lib/_emerge/Package.py
@@ -17,7 +17,7 @@ from portage.dep import (
)
from portage.dep.soname.parse import parse_soname_deps
from portage.versions import _pkg_str, _unknown_repo
-from portage.eapi import _get_eapi_attrs, eapi_has_use_aliases
+from portage.eapi import _get_eapi_attrs
from portage.exception import InvalidData, InvalidDependString
from portage.localization import _
from _emerge.Task import Task
@@ -628,9 +628,6 @@ class Package(Task):
self._expand_hidden = None
self._force = None
self._mask = None
- if eapi_has_use_aliases(pkg.eapi):
- for enabled_flag in enabled_flags:
-
enabled_flags.extend(pkg.iuse.alias_mapping.get(enabled_flag, []))
self.enabled = frozenset(enabled_flags)
if pkg.built:
# Use IUSE to validate USE settings for built packages,
@@ -756,25 +753,15 @@ class Package(Task):
enabled_aliases = []
disabled_aliases = []
other_aliases = []
- aliases_supported = eapi_has_use_aliases(eapi)
self.alias_mapping = {}
for x in tokens:
prefix = x[:1]
if prefix == "+":
enabled.append(x[1:])
- if aliases_supported:
- self.alias_mapping[x[1:]] = aliases.get(x[1:], [])
- enabled_aliases.extend(self.alias_mapping[x[1:]])
elif prefix == "-":
disabled.append(x[1:])
- if aliases_supported:
- self.alias_mapping[x[1:]] = aliases.get(x[1:], [])
- disabled_aliases.extend(self.alias_mapping[x[1:]])
else:
other.append(x)
- if aliases_supported:
- self.alias_mapping[x] = aliases.get(x, [])
- other_aliases.extend(self.alias_mapping[x])
self.enabled = frozenset(chain(enabled, enabled_aliases))
self.disabled = frozenset(chain(disabled, disabled_aliases))
self.all = frozenset(chain(enabled, disabled, other))
diff --git a/lib/portage/dep/__init__.py b/lib/portage/dep/__init__.py
index 13c0f4ef7..5ebf95e89 100644
--- a/lib/portage/dep/__init__.py
+++ b/lib/portage/dep/__init__.py
@@ -106,23 +106,18 @@ def _match_slot(atom, pkg):
return False
-_atom_re_cache = {}
+_atom_re = None
def _get_atom_re(eapi_attrs):
- cache_key = eapi_attrs.dots_in_PN
- atom_re = _atom_re_cache.get(cache_key)
- if atom_re is not None:
- return atom_re
-
- if eapi_attrs.dots_in_PN:
- cp_re = _cp["dots_allowed_in_PN"]
- cpv_re = _cpv["dots_allowed_in_PN"]
- else:
- cp_re = _cp["dots_disallowed_in_PN"]
- cpv_re = _cpv["dots_disallowed_in_PN"]
+ global _atom_re
+ if _atom_re is not None:
+ return _atom_re
+
+ cp_re = _cp
+ cpv_re = _cpv
- atom_re = re.compile(
+ _atom_re = re.compile(
"^(?P<without_use>(?:"
+ "(?P<op>"
+ _op
@@ -144,26 +139,20 @@ def _get_atom_re(eapi_attrs):
+ ")?$",
re.VERBOSE | re.UNICODE,
)
+ return _atom_re
- _atom_re_cache[cache_key] = atom_re
- return atom_re
-
-_atom_wildcard_re_cache = {}
+_atom_wildcard_re = None
def _get_atom_wildcard_re(eapi_attrs):
- cache_key = eapi_attrs.dots_in_PN
- atom_re = _atom_wildcard_re_cache.get(cache_key)
- if atom_re is not None:
- return atom_re
+ global _atom_wildcard_re
+ if _atom_wildcard_re is not None:
+ return _atom_wildcard_re
- if eapi_attrs.dots_in_PN:
- pkg_re = r"[\w+*][\w+.*-]*?"
- else:
- pkg_re = r"[\w+*][\w+*-]*?"
+ pkg_re = r"[\w+*][\w+*-]*?"
- atom_re = re.compile(
+ _atom_wildcard_re = re.compile(
r"((?P<simple>("
+ _extended_cat
+ r")/("
@@ -185,12 +174,10 @@ def _get_atom_wildcard_re(eapi_attrs):
+ r"))?$",
re.UNICODE,
)
+ return _atom_wildcard_re
- _atom_wildcard_re_cache[cache_key] = atom_re
- return atom_re
-
-_usedep_re_cache = {}
+_usedep_re = None
def _get_usedep_re(eapi_attrs):
@@ -201,27 +188,19 @@ def _get_usedep_re(eapi_attrs):
@return: A regular expression object that matches valid USE deps for the
given eapi.
"""
- cache_key = eapi_attrs.dots_in_use_flags
- usedep_re = _usedep_re_cache.get(cache_key)
- if usedep_re is not None:
- return usedep_re
-
- if eapi_attrs.dots_in_use_flags:
- _flag_re = r"[A-Za-z0-9][[email protected]]*"
- else:
- _flag_re = r"[A-Za-z0-9][A-Za-z0-9+_@-]*"
+ global _usedep_re
+ if _usedep_re is not None:
+ return _usedep_re
- usedep_re = re.compile(
+ _usedep_re = re.compile(
r"^(?P<prefix>[!-]?)(?P<flag>"
- + _flag_re
+ + r"[A-Za-z0-9][A-Za-z0-9+_@-]*"
+ r")(?P<default>(\(\+\)|\(\-\))?)(?P<suffix>[?=]?)$"
)
+ return _usedep_re
- _usedep_re_cache[cache_key] = usedep_re
- return usedep_re
-
-_useflag_re_cache = {}
+_useflag_re = None
def _get_useflag_re(eapi):
@@ -234,21 +213,12 @@ def _get_useflag_re(eapi):
@return: A regular expression object that matches valid USE flags for the
given eapi.
"""
- eapi_attrs = _get_eapi_attrs(eapi)
- cache_key = eapi_attrs.dots_in_use_flags
- useflag_re = _useflag_re_cache.get(cache_key)
- if useflag_re is not None:
- return useflag_re
-
- if eapi_attrs.dots_in_use_flags:
- flag_re = r"[A-Za-z0-9][[email protected]]*"
- else:
- flag_re = r"[A-Za-z0-9][A-Za-z0-9+_@-]*"
-
- useflag_re = re.compile(r"^" + flag_re + r"$")
+ global _useflag_re
+ if _useflag_re is not None:
+ return _useflag_re
- _useflag_re_cache[cache_key] = useflag_re
- return useflag_re
+ _useflag_re = re.compile(r"^[A-Za-z0-9][A-Za-z0-9+_@-]*$")
+ return _useflag_re
def cpvequal(cpv1, cpv2):
@@ -3229,53 +3199,3 @@ def extract_affecting_use(mystr, atom, eapi=None):
raise InvalidDependString(_("malformed syntax: '%s'") % mystr)
return affecting_use
-
-
-def extract_unpack_dependencies(src_uri, unpackers):
- """
- Return unpack dependencies string for given SRC_URI string.
-
- @param src_uri: SRC_URI string
- @type src_uri: String
- @param unpackers: Dictionary mapping archive suffixes to dependency strings
- @type unpackers: Dictionary
- @rtype: String
- @return: Dependency string specifying packages required to unpack archives.
- """
- src_uri = src_uri.split()
-
- depend = []
- for i in range(len(src_uri)):
- if src_uri[i][-1] == "?" or src_uri[i] in ("(", ")"):
- depend.append(src_uri[i])
- elif (i + 1 < len(src_uri) and src_uri[i + 1] == "->") or src_uri[i]
== "->":
- continue
- else:
- for suffix in sorted(unpackers, key=lambda x: len(x),
reverse=True):
- suffix = suffix.lower()
- if src_uri[i].lower().endswith(suffix):
- depend.append(unpackers[suffix])
- break
-
- while True:
- cleaned_depend = depend[:]
- for i in range(len(cleaned_depend)):
- if cleaned_depend[i] is None:
- continue
- elif cleaned_depend[i] == "(" and cleaned_depend[i + 1] == ")":
- cleaned_depend[i] = None
- cleaned_depend[i + 1] = None
- elif (
- cleaned_depend[i][-1] == "?"
- and cleaned_depend[i + 1] == "("
- and cleaned_depend[i + 2] == ")"
- ):
- cleaned_depend[i] = None
- cleaned_depend[i + 1] = None
- cleaned_depend[i + 2] = None
- if depend == cleaned_depend:
- break
- else:
- depend = [x for x in cleaned_depend if x is not None]
-
- return " ".join(depend)
diff --git a/lib/portage/eapi.py b/lib/portage/eapi.py
index 2987c54da..e3c951453 100644
--- a/lib/portage/eapi.py
+++ b/lib/portage/eapi.py
@@ -77,10 +77,6 @@ def eapi_exports_ECLASSDIR(eapi: str) -> bool:
return _get_eapi_attrs(eapi).exports_ECLASSDIR
-def eapi_exports_REPOSITORY(eapi: str) -> bool:
- return False
-
-
def eapi_has_pkg_pretend(eapi: str) -> bool:
return eapi not in ("0", "1", "2", "3")
@@ -113,14 +109,6 @@ def eapi_has_repo_deps(eapi: str) -> bool:
return _get_eapi_attrs(eapi).repo_deps
-def eapi_allows_dots_in_PN(eapi: str) -> bool:
- return _get_eapi_attrs(eapi).dots_in_PN
-
-
-def eapi_allows_dots_in_use_flags(eapi: str) -> bool:
- return _get_eapi_attrs(eapi).dots_in_use_flags
-
-
def eapi_supports_stable_use_forcing_and_masking(eapi: str) -> bool:
return eapi not in ("0", "1", "2", "3", "4", "4-slot-abi")
@@ -129,14 +117,6 @@ def
eapi_allows_directories_on_profile_level_and_repository_level(eapi: str) ->
return eapi not in ("0", "1", "2", "3", "4", "4-slot-abi", "5", "6")
-def eapi_has_use_aliases(eapi: str) -> bool:
- return False
-
-
-def eapi_has_automatic_unpack_dependencies(eapi: str) -> bool:
- return False
-
-
def eapi_allows_package_provided(eapi: str) -> bool:
return _get_eapi_attrs(eapi).allows_package_provided
@@ -171,8 +151,6 @@ _eapi_attrs = collections.namedtuple(
"allows_package_provided",
"bdepend",
"broot",
- "dots_in_PN",
- "dots_in_use_flags",
"exports_AA",
"exports_EBUILD_PHASE_FUNC",
"exports_ECLASSDIR",
@@ -247,8 +225,6 @@ def _get_eapi_attrs(eapi_str: Optional[str]) -> _eapi_attrs:
allows_package_provided=True,
bdepend=False,
broot=True,
- dots_in_PN=True,
- dots_in_use_flags=True,
empty_groups_always_true=False,
exports_AA=False,
exports_EBUILD_PHASE_FUNC=True,
@@ -282,8 +258,6 @@ def _get_eapi_attrs(eapi_str: Optional[str]) -> _eapi_attrs:
allows_package_provided=eapi <= Eapi("6"),
bdepend=eapi >= Eapi("7"),
broot=eapi >= Eapi("7"),
- dots_in_PN=False,
- dots_in_use_flags=False,
empty_groups_always_true=eapi <= Eapi("6"),
exports_AA=eapi <= Eapi("3"),
exports_EBUILD_PHASE_FUNC=eapi >= Eapi("5"),
diff --git a/lib/portage/package/ebuild/_config/UseManager.py
b/lib/portage/package/ebuild/_config/UseManager.py
index a0fb0254a..ea5ba1b42 100644
--- a/lib/portage/package/ebuild/_config/UseManager.py
+++ b/lib/portage/package/ebuild/_config/UseManager.py
@@ -15,7 +15,6 @@ from portage.dep import (
_repo_separator,
)
from portage.eapi import (
- eapi_has_use_aliases,
eapi_supports_stable_use_forcing_and_masking,
)
from portage.exception import InvalidAtom
@@ -651,7 +650,7 @@ class UseManager:
return frozenset(stack_lists(useforce, incremental=True))
def getUseAliases(self, pkg):
- if hasattr(pkg, "eapi") and not eapi_has_use_aliases(pkg.eapi):
+ if hasattr(pkg, "eapi"):
return {}
cp = getattr(pkg, "cp", None)
diff --git a/lib/portage/package/ebuild/_config/unpack_dependencies.py
b/lib/portage/package/ebuild/_config/unpack_dependencies.py
deleted file mode 100644
index 58b2fb16e..000000000
--- a/lib/portage/package/ebuild/_config/unpack_dependencies.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-from portage import os, _supported_eapis
-from portage.dep import use_reduce
-from portage.eapi import eapi_has_automatic_unpack_dependencies
-from portage.exception import InvalidDependString
-from portage.localization import _
-from portage.util import grabfile, writemsg
-
-
-def load_unpack_dependencies_configuration(repositories):
- repo_dict = {}
- for repo in repositories.repos_with_profiles():
- for eapi in _supported_eapis:
- if eapi_has_automatic_unpack_dependencies(eapi):
- file_name = os.path.join(
- repo.location, "profiles", "unpack_dependencies", eapi
- )
- lines = grabfile(file_name, recursive=True)
- for line in lines:
- elements = line.split()
- suffix = elements[0].lower()
- if len(elements) == 1:
- writemsg(
- _(
- "--- Missing unpack dependencies for '%s'
suffix in '%s'\n"
- )
- % (suffix, file_name)
- )
- depend = " ".join(elements[1:])
- try:
- use_reduce(depend, eapi=eapi)
- except InvalidDependString as e:
- writemsg(
- _(
- "--- Invalid unpack dependencies for '%s'
suffix in '%s': '%s'\n"
- % (suffix, file_name, e)
- )
- )
- else:
- repo_dict.setdefault(repo.name, {}).setdefault(eapi,
{})[
- suffix
- ] = depend
-
- ret = {}
- for repo in repositories.repos_with_profiles():
- for repo_name in [x.name for x in repo.masters] + [repo.name]:
- for eapi in repo_dict.get(repo_name, {}):
- for suffix, depend in (
- repo_dict.get(repo_name, {}).get(eapi, {}).items()
- ):
- ret.setdefault(repo.name, {}).setdefault(eapi, {})[suffix]
= depend
-
- return ret
diff --git a/lib/portage/package/ebuild/config.py
b/lib/portage/package/ebuild/config.py
index 99fd2c31e..5d9d5ce48 100644
--- a/lib/portage/package/ebuild/config.py
+++ b/lib/portage/package/ebuild/config.py
@@ -105,9 +105,6 @@ from portage.package.ebuild._config.helper import (
ordered_by_atom_specificity,
prune_incremental,
)
-from portage.package.ebuild._config.unpack_dependencies import (
- load_unpack_dependencies_configuration,
-)
_feature_flags_cache = {}
@@ -335,7 +332,6 @@ class config:
self.profiles = clone.profiles
self.packages = clone.packages
self.repositories = clone.repositories
- self.unpack_dependencies = clone.unpack_dependencies
self._default_features_use = clone._default_features_use
self._iuse_effective = clone._iuse_effective
self._iuse_implicit_match = clone._iuse_implicit_match
@@ -730,10 +726,6 @@ class config:
x = Atom(x.lstrip("*"))
self.prevmaskdict.setdefault(x.cp, []).append(x)
- self.unpack_dependencies = load_unpack_dependencies_configuration(
- self.repositories
- )
-
mygcfg = {}
if profiles_complex:
mygcfg_dlists = []
diff --git a/lib/portage/package/ebuild/doebuild.py
b/lib/portage/package/ebuild/doebuild.py
index eb719b1ea..2251cdb8d 100644
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@ -81,7 +81,6 @@ from portage.eapi import (
eapi_exports_KV,
eapi_exports_merge_type,
eapi_exports_replace_vars,
- eapi_exports_REPOSITORY,
eapi_has_required_use,
eapi_has_src_prepare_and_src_configure,
eapi_has_pkg_pretend,
@@ -539,14 +538,6 @@ def doebuild_environment(
if not eapi_is_supported(eapi):
raise UnsupportedAPIException(mycpv, eapi)
- if (
- eapi_exports_REPOSITORY(eapi)
- and "PORTAGE_REPO_NAME" in mysettings.configdict["pkg"]
- ):
- mysettings.configdict["pkg"]["REPOSITORY"] =
mysettings.configdict["pkg"][
- "PORTAGE_REPO_NAME"
- ]
-
if mydo != "depend":
if hasattr(mydbapi, "getFetchMap") and (
"A" not in mysettings.configdict["pkg"]
diff --git a/lib/portage/tests/resolver/ResolverPlayground.py
b/lib/portage/tests/resolver/ResolverPlayground.py
index 6805ca601..7852d0aaf 100644
--- a/lib/portage/tests/resolver/ResolverPlayground.py
+++ b/lib/portage/tests/resolver/ResolverPlayground.py
@@ -69,7 +69,6 @@ class ResolverPlayground:
"package.use.stable.force",
"package.use.stable.mask",
"soname.provided",
- "unpack_dependencies",
"use.aliases",
"use.force",
"use.mask",
diff --git a/lib/portage/versions.py b/lib/portage/versions.py
index 086ada555..3d8694a0e 100644
--- a/lib/portage/versions.py
+++ b/lib/portage/versions.py
@@ -47,48 +47,17 @@ _cat = r"[\w+][\w+.-]*"
# 2.1.2 A package name may contain any of the characters [A-Za-z0-9+_-].
# It must not begin with a hyphen,
# and must not end in a hyphen followed by one or more digits.
-_pkg = {
- "dots_disallowed_in_PN": r"[\w+][\w+-]*?",
- "dots_allowed_in_PN": r"[\w+][\w+.-]*?",
-}
+_pkg = r"[\w+][\w+-]*?"
_v = r"(\d+)((\.\d+)*)([a-z]?)((_(pre|p|beta|alpha|rc)\d*)*)"
_rev = r"\d+"
_vr = _v + "(-r(" + _rev + "))?"
-_cp = {
- "dots_disallowed_in_PN": "("
- + _cat
- + "/"
- + _pkg["dots_disallowed_in_PN"]
- + "(-"
- + _vr
- + ")?)",
- "dots_allowed_in_PN": "("
- + _cat
- + "/"
- + _pkg["dots_allowed_in_PN"]
- + "(-"
- + _vr
- + ")?)",
-}
-_cpv = {
- "dots_disallowed_in_PN": "(" + _cp["dots_disallowed_in_PN"] + "-" + _vr +
")",
- "dots_allowed_in_PN": "(" + _cp["dots_allowed_in_PN"] + "-" + _vr + ")",
-}
-_pv = {
- "dots_disallowed_in_PN": "(?P<pn>"
- + _pkg["dots_disallowed_in_PN"]
- + "(?P<pn_inval>-"
- + _vr
- + ")?)"
- + "-(?P<ver>"
- + _v
- + ")(-r(?P<rev>"
- + _rev
- + "))?",
- "dots_allowed_in_PN": "(?P<pn>"
- + _pkg["dots_allowed_in_PN"]
+_cp = "(" + _cat + "/" + _pkg + "(-" + _vr + ")?)"
+_cpv = "(" + _cp + "-" + _vr + ")"
+_pv = (
+ "(?P<pn>"
+ + _pkg
+ "(?P<pn_inval>-"
+ _vr
+ ")?)"
@@ -96,8 +65,8 @@ _pv = {
+ _v
+ ")(-r(?P<rev>"
+ _rev
- + "))?",
-}
+ + "))?"
+)
ver_regexp = re.compile("^" + _vr + "$")
suffix_regexp = re.compile("^(alpha|beta|rc|pre|p)(\\d*)$")
@@ -124,24 +93,17 @@ def _get_slot_re(eapi_attrs):
return slot_re
-_pv_re_cache = {}
+_pv_re = None
def _get_pv_re(eapi_attrs):
- cache_key = eapi_attrs.dots_in_PN
- pv_re = _pv_re_cache.get(cache_key)
- if pv_re is not None:
- return pv_re
-
- if eapi_attrs.dots_in_PN:
- pv_re = _pv["dots_allowed_in_PN"]
- else:
- pv_re = _pv["dots_disallowed_in_PN"]
+ global _pv_re
+ if _pv_re is not None:
+ return _pv_re
- pv_re = re.compile(r"^" + pv_re + r"$", re.VERBOSE | re.UNICODE)
+ _pv_re = re.compile(r"^" + _pv + r"$", re.VERBOSE | re.UNICODE)
- _pv_re_cache[cache_key] = pv_re
- return pv_re
+ return _pv_re
def ververify(myver, silent=1):