diff options
author | 2004-08-03 17:24:52 +0000 | |
---|---|---|
committer | 2004-08-03 17:24:52 +0000 | |
commit | 7b0199316487880a1abf3222db6990ba0ffc2971 (patch) | |
tree | 3c3c23271e78253312a78fd5c8dc2ea762365583 /eclass/eutils.eclass | |
parent | add ia64 keywords #56295 (diff) | |
download | historical-7b0199316487880a1abf3222db6990ba0ffc2971.tar.gz historical-7b0199316487880a1abf3222db6990ba0ffc2971.tar.bz2 historical-7b0199316487880a1abf3222db6990ba0ffc2971.zip |
strip-linguas
Diffstat (limited to 'eclass/eutils.eclass')
-rw-r--r-- | eclass/eutils.eclass | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass index 8784a44b889f..299d774c64d7 100644 --- a/eclass/eutils.eclass +++ b/eclass/eutils.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.91 2004/07/23 11:11:57 usata Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.92 2004/08/03 17:24:52 vapier Exp $ # # Author: Martin Schlemmer <azarah@gentoo.org> # @@ -1248,3 +1248,57 @@ cdrom_locate_file_on_cd() { fi done } + +# Make sure that LINGUAS only contains languages that +# a package can support +# +# usage: strip-linguas <allow LINGUAS> +# strip-linguas -i <directories of .po files> +# strip-linguas -u <directories of .po files> +# +# The first form allows you to specify a list of LINGUAS. +# The -i builds a list of po files found in all the +# directories and uses the intersection of the lists. +# The -u builds a list of po files found in all the +# directories and uses the union of the lists. +strip-linguas() { + local ls newls + if [ "$1" == "-i" ] || [ "$1" == "-u" ] ; then + local op="$1"; shift + ls=" $(find "$1" -name '*.po' -printf '%f ') "; shift + local d f + for d in "$@" ; do + if [ "${op}" == "-u" ] ; then + newls="${ls}" + else + newls="" + fi + for f in $(find "$d" -name '*.po' -printf '%f ') ; do + if [ "${op}" == "-i" ] ; then + [ "${ls/ ${f} /}" != "${ls}" ] && newls="${newls} ${f}" + else + [ "${ls/ ${f} /}" == "${ls}" ] && newls="${newls} ${f}" + fi + done + ls="${newls}" + done + ls="${ls//.po}" + else + ls="$@" + fi + + ls=" ${ls} " + newls="" + for f in ${LINGUAS} ; do + if [ "${ls/ ${f} /}" != "${ls}" ] ; then + nl="${newls} ${f}" + else + ewarn "Sorry, but ${PN} does not support the ${f} LINGUA" + fi + done + if [ -z "${newls}" ] ; then + unset LINGUAS + else + export LINGUAS="${newls}" + fi +} |