summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2004-08-03 17:24:52 +0000
committerMike Frysinger <vapier@gentoo.org>2004-08-03 17:24:52 +0000
commit8188d076b7eeaad7abee1135805dc489d9e71005 (patch)
treef24dc2b637cdb3814a59260ddfe5625acdc9caf0 /eclass/eutils.eclass
parentadd ia64 keywords #56295 (Manifest recommit) (diff)
downloadgentoo-2-8188d076b7eeaad7abee1135805dc489d9e71005.tar.gz
gentoo-2-8188d076b7eeaad7abee1135805dc489d9e71005.tar.bz2
gentoo-2-8188d076b7eeaad7abee1135805dc489d9e71005.zip
strip-linguas
Diffstat (limited to 'eclass/eutils.eclass')
-rw-r--r--eclass/eutils.eclass56
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
+}