From 0e231cefb2916fdd1dabba512a43e6116fcb3fc7 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Tue, 24 Sep 2013 14:45:07 -0300 Subject: [PATCH] Bug 10942: Provide a way for package upgrades to update template translations This patch adds a new config variable AUTOMATIC_TRANSLATIONS_UPDATE at /etc/default/koha-common that is used to control whether the upgrade process should trigger a $ koha-translate --update command for each installed template translation language. To test: - Have a koha-common setup with some languages installed (e.g. koha-translate --install es-ES) - Apply the patch and build a package for it. - Install it. - A new AUTOMATIC_TRANSLATIONS_UPDATE config variable should be in place at /etc/default/koha-common - Set AUTOMATIC_TRANSLATIONS_UPDATE to 'yes' - Re-install the package to trigger the post-install script - Verify that translations get updated. Regards To+ Sponsored-by: Universidad Nacional de Cordoba --- debian/koha-common.default | 13 +++++++++++++ debian/koha-common.postinst | 25 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/debian/koha-common.default b/debian/koha-common.default index d572f17..cbc6eba 100644 --- a/debian/koha-common.default +++ b/debian/koha-common.default @@ -1,3 +1,16 @@ ## General koha-common default options PERL5LIB="/usr/share/koha/lib" + +## Automatic template translation update +# +# This variable controls whether template translations should +# be updated automatically on koha-common package upgrades. +# Options: 'yes' +# 'no' (default) +# Note: if you choose 'no' then you will have to issue +# $ koha-translate --update +# +#AUTOMATIC_TRANSLATIONS_UPDATE="no" + +## End of general koha-common default options diff --git a/debian/koha-common.postinst b/debian/koha-common.postinst index 7fa4513..56933f5 100644 --- a/debian/koha-common.postinst +++ b/debian/koha-common.postinst @@ -2,8 +2,20 @@ set -e +NAME="koha-common" +AUTOMATIC_TRANSLATIONS_UPDATE='no' + . /usr/share/debconf/confmodule +# Read configuration variable file if it is present +if [ -r /etc/default/$NAME ]; then + # Debian / Ubuntu + . /etc/default/$NAME +elif [ -r /etc/sysconfig/$NAME ]; then + # RedHat / SuSE + . /etc/sysconfig/$NAME +fi + conf=/etc/mysql/koha-common.cnf if [ ! -e "$conf" ] && [ ! -L "$conf" ] then @@ -14,6 +26,19 @@ fi koha-upgrade-schema $(koha-list) +if [ "$AUTOMATIC_TRANSLATIONS_UPDATE" = "yes" ]; then + for lang in $(koha-translate --list | grep -v -x "en"); do + if koha-translate --update $lang; then + echo "Updated the $lang translations." + else + cat <