summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-03-01 09:57:12 +0100
committerMichał Górny <mgorny@gentoo.org>2017-03-08 08:35:48 +0100
commitbc3e1df73bf55eeba8c113ca42f87e981866b1e0 (patch)
tree4ad2a0a210f3ffce252d104ab197d490b5d564c4 /eclass/python-r1.eclass
parentpython-r1.eclass: Refactor globals to use local vars, NFC (diff)
downloadgentoo-bc3e1df73bf55eeba8c113ca42f87e981866b1e0.tar.gz
gentoo-bc3e1df73bf55eeba8c113ca42f87e981866b1e0.tar.bz2
gentoo-bc3e1df73bf55eeba8c113ca42f87e981866b1e0.zip
python-r1.eclass: Add integrity checks for globals
Diffstat (limited to 'eclass/python-r1.eclass')
-rw-r--r--eclass/python-r1.eclass42
1 files changed, 37 insertions, 5 deletions
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index 856f7554dd59..df57cf1e1322 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -51,6 +51,8 @@ fi
[[ ${EAPI} == [45] ]] && inherit eutils
inherit multibuild python-utils-r1
+fi
+
# @ECLASS-VARIABLE: PYTHON_COMPAT
# @REQUIRED
# @DESCRIPTION:
@@ -198,15 +200,45 @@ _python_set_globals() {
deps+=">=dev-lang/python-exec-2:=[${usedep}]"
fi
- PYTHON_DEPS=${deps}
- IUSE=${flags[*]}
- PYTHON_REQUIRED_USE=${requse}
- PYTHON_USEDEP=${usedep}
- readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP
+ if [[ ${PYTHON_DEPS+1} ]]; then
+ # IUSE is magical, so we can't really check it
+ # (but we verify PYTHON_COMPAT already)
+
+ if [[ ${PYTHON_DEPS} != "${deps}" ]]; then
+ eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!"
+ eerror "Before: ${PYTHON_DEPS}"
+ eerror "Now : ${deps}"
+ die "PYTHON_DEPS integrity check failed"
+ fi
+
+ # these two are formality -- they depend on PYTHON_COMPAT only
+ if [[ ${PYTHON_REQUIRED_USE} != ${requse} ]]; then
+ eerror "PYTHON_REQUIRED_USE have changed between inherits!"
+ eerror "Before: ${PYTHON_REQUIRED_USE}"
+ eerror "Now : ${requse}"
+ die "PYTHON_REQUIRED_USE integrity check failed"
+ fi
+
+ if [[ ${PYTHON_USEDEP} != "${usedep}" ]]; then
+ eerror "PYTHON_USEDEP have changed between inherits!"
+ eerror "Before: ${PYTHON_USEDEP}"
+ eerror "Now : ${usedep}"
+ die "PYTHON_USEDEP integrity check failed"
+ fi
+ else
+ IUSE=${flags[*]}
+
+ PYTHON_DEPS=${deps}
+ PYTHON_REQUIRED_USE=${requse}
+ PYTHON_USEDEP=${usedep}
+ readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP
+ fi
}
_python_set_globals
unset -f _python_set_globals
+if [[ ! ${_PYTHON_R1} ]]; then
+
# @FUNCTION: _python_validate_useflags
# @INTERNAL
# @DESCRIPTION: