From 6518c0b88ea52e93513fa34dd63eeb4596875212 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Wed, 15 Oct 2014 17:26:59 +0900 Subject: [PATCH] Compile Horizon message catalogs during stack.sh Recently compiled message catalogs (mo files) were removed in Horizon and django_openstack_auth repositories. We need to compile message catalogs to make translations available for Horizon users. It is useful for developers too. Change-Id: I0831e8308205c116d8e3bb8b43be7f0dd6fa0c0a --- files/apts/general | 1 + files/rpms/general | 1 + lib/horizon | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/files/apts/general b/files/apts/general index c308c466e3..3fe7863de2 100644 --- a/files/apts/general +++ b/files/apts/general @@ -27,3 +27,4 @@ bc libyaml-dev libffi-dev libssl-dev # for pyOpenSSL +gettext # used for compiling message catalogs diff --git a/files/rpms/general b/files/rpms/general index 7a35961bc2..d4a9fcba55 100644 --- a/files/rpms/general +++ b/files/rpms/general @@ -26,6 +26,7 @@ wget which bc libyaml-devel +gettext # used for compiling message catalogs # [1] : some of installed tools have unversioned dependencies on this, # but others have versioned (<=0.7). So if a later version (0.7.1) diff --git a/lib/horizon b/lib/horizon index 755be18f3c..0213948633 100644 --- a/lib/horizon +++ b/lib/horizon @@ -84,6 +84,14 @@ function cleanup_horizon { # configure_horizon() - Set config files, create data dirs, etc function configure_horizon { setup_develop $HORIZON_DIR + + # Compile message catalogs. + # Horizon is installed as develop mode, so we can compile here. + # Message catalog compilation is handled by Django admin script, + # so compiling them after the installation avoids Django installation twice. + cd $HORIZON_DIR + ./run_tests.sh -N --compilemessages + cd - } # init_horizon() - Initialize databases, etc. @@ -138,6 +146,13 @@ function init_horizon { # install_django_openstack_auth() - Collect source and prepare function install_django_openstack_auth { git_clone $HORIZONAUTH_REPO $HORIZONAUTH_DIR $HORIZONAUTH_BRANCH + + # Compile message catalogs before installation + _prepare_message_catalog_compilation + cd $HORIZONAUTH_DIR + python setup.py compile_catalog + cd - + setup_install $HORIZONAUTH_DIR } @@ -160,6 +175,13 @@ function stop_horizon { stop_apache_server } +# NOTE: It can be moved to common functions, but it is only used by compilation +# of django_openstack_auth catalogs at the moment. +function _prepare_message_catalog_compilation { + local babel_package=$(grep ^Babel $REQUIREMENTS_DIR/global-requirements.txt) + pip_install "$babel_package" +} + # Restore xtrace $XTRACE