diff options
author | Ulrich Müller <ulm@gentoo.org> | 2018-01-12 22:31:04 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2018-01-19 10:15:30 +0100 |
commit | 89b97dce78f2fb9a4ed646c7110f06f36cb0346a (patch) | |
tree | 8c854388c286238bf2dde2626a0b410489d00516 /eclass | |
parent | check-reqs.eclass: Make obsolete usage fatal. (diff) | |
download | gentoo-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.eclass | 26 |
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}" } |