Bug 10942: (follow-up) debconfing the update option

This causes a question to be asked at installation time as to whether
translations should be updated or not. The answer is written to the
config file, and stored in debconf. Effort is taken to ensure that if
the admin changes the config file, the update will be picked up and
reflected in debconf (i.e. that the admin's decision is always the
correct one.)

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Fixed two typos that made it fail and it worked like a charm.

Tested like this:

- Install the package
=> no errors, the file is created, defaults to 'yes'
- Install a language (koha-translate --install es-ES)
- Re-install the package (simulating an upgrade)
=> es-ES gets updated
- Set preference to 'no'
- Re-install
=> es-ES doesn't get updated, the warning is printed correctly
- Installed a second language (koha-translate --install pt-BR)
- did all the tests again
=> Success

Note: on master there are obvious template translation warnings.
A copy of the generated package can be grabbed from:
http://es.koha-community.org/koha-common_3.15+20140312172225.af7c0a23_all.deb

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
Robin Sheat 2014-03-12 17:24:36 +13:00 committed by Galen Charlton
parent acd8a10251
commit ee4e4917eb
4 changed files with 61 additions and 4 deletions

View file

@ -21,8 +21,26 @@ set -e
. /usr/share/debconf/confmodule
CONFIGFILE=/etc/koha/koha-common.conf
if [ -e $CONFIGFILE ]; then
. $CONFIGFILE || true
# Put the current values into debconf
UPDATE="true"
if [ "$AUTOMATIC_TRANSLATIONS_UPDATE" = "no" ] ; then
UPDATE="false"
fi
db_set koha-common/automatically-update-translations "$UPDATE"
else
# True is the default
db_set koha-common/automatically-update-translations true
fi
if dpkg --compare-versions "$2" lt-nl 3.4 ; then
db_input high koha-common/3.2-3.4-upgrade-notice || true
fi
db_go
db_input medium koha-common/automatically-update-translations || true
db_go || true

View file

@ -8,8 +8,9 @@ AUTOMATIC_TRANSLATIONS_UPDATE="yes"
. /usr/share/debconf/confmodule
# Read configuration variable file if it is present
if [ -r /etc/koha/koha-common.conf ]; then
. /etc/koha/koha-common.conf
CONFIG=/etc/koha/koha-common.conf
if [ -r $CONFIG ]; then
. $CONFIG
fi
conf=/etc/mysql/koha-common.cnf
@ -22,6 +23,37 @@ fi
koha-upgrade-schema $(koha-list)
# Generate a config file if one doesn't exist already
if [ ! -e $CONFIG ]; then
cat <<EOF > $CONFIG
## Automatic template translation update
#
# This variable controls whether template translations should
# be updated automatically on koha-common package upgrades.
# Options: 'yes' (default)
# 'no'
# Note: if you choose 'no' then you will have to issue
# $ koha-translate --update <lang_code>
#
AUTOMATIC_TRANSLATIONS_UPDATE="yes"
EOF
fi
# Substitute the values from debconf into the file.
db_get koha-common/automatically-update-translations
UPDATE="$RET"
if [ "$UPDATE" = "false" ]; then
UPDATE="no"
else
UPDATE="yes"
fi
# In case they were removed/commented out, we add it in.
grep -Eq '^ *AUTOMATIC_TRANSLATIONS_UPDATE=' $CONFIG || \
echo "AUTOMATIC_TRANSLATIONS_UPDATE=" >> $CONFIG
sed -e "s/^ *AUTOMATIC_TRANSLATIONS_UPDATE=.*/AUTOMATIC_TRANSLATIONS_UPDATE=\"$UPDATE\"/" < $CONFIG > $CONFIG.tmp
mv -f $CONFIG.tmp $CONFIG
if [ "$AUTOMATIC_TRANSLATIONS_UPDATE" = "yes" ]; then
for lang in $(koha-translate --list | grep -v -x "en"); do
if koha-translate --update $lang; then

View file

@ -8,3 +8,10 @@ Description: koha-common upgrade actions required
should be largely operational during the process, but some things,
particularly to do with items, may appear strange until the upgrade and
re-index is complete.
Template: koha-common/automatically-update-translations
Type: boolean
Default: true
Description: automatically update translations
When Koha is upgraded, any existing translated templates can be regenerated
to keep everything in sync. Select "yes" if you want this.

View file

@ -14,4 +14,4 @@
# Note: if you choose 'no' then you will have to issue
# $ koha-translate --update <lang_code>
#
#AUTOMATIC_TRANSLATIONS_UPDATE="yes"
AUTOMATIC_TRANSLATIONS_UPDATE="yes"