Modify build script to install locales

When fpdb is built, the prebuilt .mo files from locale/$LANG/$TYPE/ are
now automatically copied to target directory. For debian builds this
means that all locales are placed in $INSTROOT/usr/share/locale and
should be instantly usable for inclusion.
This commit is contained in:
Mika Bostrom 2010-08-23 16:35:01 +03:00
parent 96f547b3df
commit 9949185214

View File

@ -10,6 +10,36 @@
# Python packaging for fpdb # Python packaging for fpdb
from distutils.core import setup from distutils.core import setup
from distutils.command.install_data import install_data as INST
import glob, string, os
class inst_translations(INST):
# Return triples for installations
def __locales(self, rootdir):
_globstr = '%s/*/*/*.mo' % rootdir
paths = glob.glob(_globstr)
_locales = []
for p in paths:
rp = string.split(p, '/', 2)
(lang, loc, mo) = string.split(rp[2], '/')
_locales.append( (lang, loc, mo) )
return _locales
def run(self):
locales = self.__locales('pyfpdb/locale')
for (lang, loc, mo_file) in locales:
lang_dir = os.path.join('share', 'locale', lang, loc)
lang_file = os.path.join('pyfpdb/locale', lang, loc, mo_file)
self.data_files.append( (lang_dir, [lang_file]) )
INST.run(self)
commands = {
'install_data': inst_translations
}
setup(name = 'fpdb', setup(name = 'fpdb',
description = 'Free Poker Database', description = 'Free Poker Database',
@ -18,6 +48,7 @@ setup(name = 'fpdb',
author_email = 'fpdb-main@lists.sourceforge.net', author_email = 'fpdb-main@lists.sourceforge.net',
packages = ['fpdb'], packages = ['fpdb'],
package_dir = { 'fpdb' : 'pyfpdb' }, package_dir = { 'fpdb' : 'pyfpdb' },
cmdclass = commands,
data_files = [ data_files = [
('/usr/share/pixmaps', ('/usr/share/pixmaps',
['gfx/fpdb-icon.png', 'gfx/fpdb-icon2.png', ['gfx/fpdb-icon.png', 'gfx/fpdb-icon2.png',