summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2023-06-15 21:03:53 +0200
committerMichał Górny <mgorny@gentoo.org>2023-06-17 12:10:17 +0200
commitc8ac88e4cbea0e59e71422ef18d28909108827b2 (patch)
treee89b42ab195149049377f39a233f32f3ab15c532 /eclass/pypi.eclass
parentpython-utils-r1.eclass: Use @a instead of declare check for array (diff)
downloadgentoo-c8ac88e4cbea0e59e71422ef18d28909108827b2.tar.gz
gentoo-c8ac88e4cbea0e59e71422ef18d28909108827b2.tar.bz2
gentoo-c8ac88e4cbea0e59e71422ef18d28909108827b2.zip
pypi.eclass: Do extglob reset unconditionally
Change _pypi_normalize_name() to reset extglob unconditionally. This function is called only in two contexts: - inside a subshell, therefore making it unnecessary to restore the original extglob value, - in global scope, via _pypi_set_globals, where we know that extglob is not supposed to be set. This makes the code simpler. Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/31465 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'eclass/pypi.eclass')
-rw-r--r--eclass/pypi.eclass14
1 files changed, 6 insertions, 8 deletions
diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 8a842c450ebc..594216a7fd96 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -70,14 +70,12 @@ _PYPI_ECLASS=1
# Internal normalization function, returns the result
# via _PYPI_NORMALIZED_NAME variable.
_pypi_normalize_name() {
- local name=${1}
- if shopt -p -q extglob; then
- name=${name//+([._-])/_}
- else
- shopt -s extglob
- name=${name//+([._-])/_}
- shopt -u extglob
- fi
+ # NB: it's fine to alter it unconditionally since this function is
+ # always called from a subshell or in global scope
+ # (via _pypi_set_globals)
+ shopt -s extglob
+ local name=${1//+([._-])/_}
+ shopt -u extglob
_PYPI_NORMALIZED_NAME="${name,,}"
}