summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2018-01-12 22:31:04 +0100
committerUlrich Müller <ulm@gentoo.org>2018-01-19 10:15:30 +0100
commit89b97dce78f2fb9a4ed646c7110f06f36cb0346a (patch)
tree8c854388c286238bf2dde2626a0b410489d00516 /eclass
parentcheck-reqs.eclass: Make obsolete usage fatal. (diff)
downloadgentoo-89b97dce78f2fb9a4ed646c7110f06f36cb0346a.tar.gz
gentoo-89b97dce78f2fb9a4ed646c7110f06f36cb0346a.tar.bz2
gentoo-89b97dce78f2fb9a4ed646c7110f06f36cb0346a.zip
l10n.eclass: Disabled locales are the complement of enabled ones.
Disabled locales returned by l10n_get_locales() should be the complement of enabled locales: disabled = PLOCALES \ enabled. So far, in the case of the enabled set falling back to PLOCALE_BACKUP, the backup locale would end up being both enabled and disabled. Closes: https://bugs.gentoo.org/547790
Diffstat (limited to 'eclass')
-rw-r--r--eclass/l10n.eclass26
1 files changed, 11 insertions, 15 deletions
diff --git a/eclass/l10n.eclass b/eclass/l10n.eclass
index 4b0111934d72..82f4ab113f52 100644
--- a/eclass/l10n.eclass
+++ b/eclass/l10n.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: l10n.eclass
@@ -102,26 +102,22 @@ l10n_find_plocales_changes() {
# are selected, fall back on PLOCALE_BACKUP. When the disabled argument
# is given, return the disabled locales instead of the enabled ones.
l10n_get_locales() {
- local disabled_locales enabled_locales loc locs
+ local loc locs
if [[ -z ${LINGUAS+set} ]]; then
# enable all if unset
- enabled_locales=${PLOCALES}
- elif [[ -z ${LINGUAS} ]]; then
- # disable all if empty
- disabled_locales=${PLOCALES}
+ locs=${PLOCALES}
else
- for loc in ${PLOCALES}; do
- if has ${loc} ${LINGUAS}; then
- enabled_locales+="${loc} "
- else
- disabled_locales+="${loc} "
- fi
+ for loc in ${LINGUAS}; do
+ has ${loc} ${PLOCALES} && locs+="${loc} "
done
fi
+ [[ -z ${locs} ]] && locs=${PLOCALE_BACKUP}
if [[ ${1} == disabled ]]; then
- locs=${disabled_locales}
- else
- locs=${enabled_locales:-${PLOCALE_BACKUP}}
+ local disabled_locs
+ for loc in ${PLOCALES}; do
+ has ${loc} ${locs} || disabled_locs+="${loc} "
+ done
+ locs=${disabled_locs}
fi
printf "%s" "${locs}"
}