From b9cd27550f1be35116ad5e47c50afd35bef4e13b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Rapinat?= Date: Mon, 31 Dec 2012 09:44:49 +0000 Subject: [PATCH] Fix structure of build directory for locale files (merged from trunk; changes by Nick.H), road to alpha2 svn: r20899 --- gramps/gen/const.py.in | 14 +------------- gramps/gen/utils/trans.py | 20 +++++++------------- setup.py | 24 +++++++++++++----------- 3 files changed, 21 insertions(+), 37 deletions(-) diff --git a/gramps/gen/const.py.in b/gramps/gen/const.py.in index d7bbc0c66..2265f83b5 100644 --- a/gramps/gen/const.py.in +++ b/gramps/gen/const.py.in @@ -89,19 +89,7 @@ APP_VCARD = ["text/x-vcard", "text/x-vcalendar"] # system paths # #------------------------------------------------------------------------- -if sys.platform == "win32": - if sys.prefix == os.path.dirname(os.getcwd()): - PREFIXDIR = sys.prefix - SYSCONFDIR = os.path.join(sys.prefix, "etc") - else: - PREFIXDIR = os.path.join(os.path.dirname(__file__), os.pardir) - SYSCONFDIR = os.path.join(PREFIXDIR, "etc") -elif sys.platform == "darwin" and sys.prefix != sys.exec_prefix: - PREFIXDIR = sys.prefix - SYSCONFDIR = os.path.join(sys.prefix, "etc") -else: - PREFIXDIR = "@prefix@" - SYSCONFDIR = "@sysconfdir@" +LOCALE_DIR = "@LOCALE_DIR@" #------------------------------------------------------------------------- # diff --git a/gramps/gen/utils/trans.py b/gramps/gen/utils/trans.py index 9f0aa39a5..0371e317b 100644 --- a/gramps/gen/utils/trans.py +++ b/gramps/gen/utils/trans.py @@ -41,7 +41,7 @@ import logging # gramps modules # #------------------------------------------------------------------------- -from ..const import PREFIXDIR, ROOT_DIR +from ..const import LOCALE_DIR from ..constfunc import mac, UNITYPE #------------------------------------------------------------------------- # @@ -49,22 +49,16 @@ from ..constfunc import mac, UNITYPE # #------------------------------------------------------------------------- if "GRAMPSI18N" in os.environ: - if os.path.exists(os.environ["GRAMPSI18N"]): - LOCALEDIR = os.environ["GRAMPSI18N"] - else: - LOCALEDIR = None -elif os.path.exists( os.path.join(ROOT_DIR, "lang") ): - LOCALEDIR = os.path.join(ROOT_DIR, "lang") -elif os.path.exists(os.path.join(PREFIXDIR, "share/locale")): - LOCALEDIR = os.path.join(PREFIXDIR, "share/locale") -else: + LOCALEDIR = os.environ["GRAMPSI18N"] +else: + LOCALEDIR = LOCALE_DIR + +if not os.path.exists(LOCALEDIR): lang = os.environ.get('LANG', 'en') if lang and lang[:2] == 'en': pass # No need to display warning, we're in English else: - logging.warning('Locale dir does not exist at ' + - os.path.join(PREFIXDIR, "share/locale")) - logging.warning('Running python setup.py install --prefix=YourPrefixDir might fix the problem') + logging.warning('Locale dir does not exist at ' + LOCALEDIR) LOCALEDIR = None LOCALEDOMAIN = 'gramps' diff --git a/setup.py b/setup.py index 724312795..c17802824 100644 --- a/setup.py +++ b/setup.py @@ -47,7 +47,7 @@ if sys.version_info[0] < 3: import commands from stat import ST_MODE -VERSION = '4.0.0-alpha1' +VERSION = '4.0.0-alpha2' ALL_LINGUAS = ('bg', 'ca', 'cs', 'da', 'de', 'el', 'en_GB', 'es', 'fi', 'fr', 'he', 'hr', 'hu', 'it', 'ja', 'lt', 'nb', 'nl', 'nn', 'pl', 'pt_BR', 'pt_PT', 'ru', 'sk', 'sl', 'sq', 'sv', 'uk', 'vi', 'zh_CN') @@ -87,8 +87,10 @@ def build_trans(build_cmd): data_files = build_cmd.distribution.data_files for lang in ALL_LINGUAS: po_file = os.path.join('po', lang + '.po') - mo_file = os.path.join(build_cmd.build_base, 'mo', lang, 'gramps.mo') - mo_file_unix = build_cmd.build_base + '/mo/' + lang + '/gramps.mo' + mo_file = os.path.join(build_cmd.build_base, 'mo', lang, 'LC_MESSAGES', + 'gramps.mo') + mo_file_unix = (build_cmd.build_base + '/mo/' + lang + + '/LC_MESSAGES/gramps.mo') mo_dir = os.path.dirname(mo_file) if not(os.path.isdir(mo_dir) or os.path.islink(mo_dir)): os.makedirs(mo_dir) @@ -231,24 +233,24 @@ def write_gramps_script(install_cmd, build_scripts): log.info('changing mode of %s to %o', filename, mode) os.chmod(filename, mode) -def write_const_py(install_cmd): +def write_const_py(command): ''' Write the const.py file. ''' const_py_in = os.path.join('gramps', 'gen', 'const.py.in') const_py = os.path.join('gramps', 'gen', 'const.py') - if hasattr(install_cmd, 'install_data'): + if hasattr(command, 'install_data'): #during install - prefix = "'%s'" % install_cmd.install_data - sysconfdir = "'%s'" % os.path.join(install_cmd.install_data, 'etc') # Is this correct? + locale_dir = os.path.join(command.install_data, 'share', 'locale') else: #in build - prefix = 'os.path.join(os.path.dirname(__file__), os.pardir)' - sysconfdir = prefix + ' + "' + os.sep + 'etc"' # Is this correct? + if os.access(const_py, os.F_OK): + # Prevent overwriting version created during install + return + locale_dir = os.path.join(command.build_base, 'mo') subst_vars = (('@VERSIONSTRING@', VERSION), - ('"@prefix@"', prefix), - ('"@sysconfdir@"', sysconfdir)) + ('@LOCALE_DIR@', locale_dir)) substitute_variables(const_py_in, const_py, subst_vars)