Bug 24268: Unit tests
[koha.git] / debian / koha-common.postinst
blobb5f72cdf5ffaf6e5bf3f321682e2a8c2c3d37b15
1 #!/bin/sh
3 set -e
5 # Default to "yes"
6 AUTOMATIC_TRANSLATIONS_UPDATE="yes"
8 . /usr/share/debconf/confmodule
10 # Read configuration variable file if it is present
11 CONFIG=/etc/koha/koha-common.conf
12 if [ -r $CONFIG ]; then
13 . $CONFIG
16 conf=/etc/mysql/koha-common.cnf
17 if [ ! -e "$conf" ] && [ ! -L "$conf" ]
18 then
19 ln -s debian.cnf "$conf"
22 #DEBHELPER#
24 koha-upgrade-schema $(koha-list)
26 # Generate a config file if one doesn't exist already
27 if [ ! -e $CONFIG ]; then
28 cat <<EOF > $CONFIG
29 ## Automatic template translation update
31 # This variable controls whether template translations should
32 # be updated automatically on koha-common package upgrades.
33 # Options: 'yes' (default)
34 # 'no'
35 # Note: if you choose 'no' then you will have to issue
36 # $ koha-translate --update <lang_code>
38 AUTOMATIC_TRANSLATIONS_UPDATE="yes"
39 EOF
42 # Substitute the values from debconf into the file.
43 db_get koha-common/automatically-update-translations
44 UPDATE="$RET"
45 if [ "$UPDATE" = "false" ]; then
46 UPDATE="no"
47 else
48 UPDATE="yes"
50 # In case they were removed/commented out, we add it in.
51 grep -Eq '^ *AUTOMATIC_TRANSLATIONS_UPDATE=' $CONFIG || \
52 echo "AUTOMATIC_TRANSLATIONS_UPDATE=" >> $CONFIG
54 sed -e "s/^ *AUTOMATIC_TRANSLATIONS_UPDATE=.*/AUTOMATIC_TRANSLATIONS_UPDATE=\"$UPDATE\"/" < $CONFIG > $CONFIG.tmp
55 mv -f $CONFIG.tmp $CONFIG
57 if [ "$AUTOMATIC_TRANSLATIONS_UPDATE" = "yes" ]; then
58 for lang in $(koha-translate --list | grep -v -x "en"); do
59 if koha-translate --update $lang; then
60 echo "Updated the $lang translations."
61 else
62 cat <<EOF >&2
63 ERROR: an error was found when updating '$lang' translations. Please manually
64 run 'koha-translate --update $lang'. Run man koha-translate for more options.
65 EOF
67 done
68 else
69 # no auto-update, check update needed and warn if needed
70 if koha-translate --list | grep -v -q -x "en"; then
71 # translations installed, update needed
72 cat <<EOF >&2
73 Warning: template translations are not set to be automatically updated.
74 Please manually run 'koha-translate --update lang_code' to update them.
76 You can run 'koha-translate --list' to get a list of the installed translations codes.
77 EOF
81 # Check if we need to rename the Apache vhost files
82 RENAME_APACHE_FILES="no"
83 for vhost in $(koha-list); do
84 if [ -f "/etc/apache2/sites-available/$vhost" ] && \
85 [ ! -f "/etc/apache2/sites-available/$vhost.conf" ]; then
86 RENAME_APACHE_FILES="yes"
87 break # at least one, trigger renaming
89 done
91 if [ "$RENAME_APACHE_FILES" = "yes" ]; then
92 # If the user agreed we now rename their Apache files
93 db_get koha-common/rename-apache-vhost-files
94 if [ "$RET" = "false" ]; then
95 # We're not renaming the files, just print a warning
96 cat <<EOF >&2
97 Warning: you have chosen not to migrate your Apache virtual hosts files to the
98 Apache 2.4 naming schema. You can do it manually by running this for each
99 Koha instance:
101 $ sudo a2dissite instance
102 $ sudo mv /etc/apache2/sites-available/instance \
103 /etc/apache2/sites-available/instance.conf
104 $ sudo a2ensite instance
106 else
107 # We have to rename the Apache files
108 for site in $(koha-list); do
109 ENABLE_VHOST="yes"
110 if [ -f "/etc/apache2/sites-available/$site" ] && \
111 [ ! -f "/etc/apache2/sites-available/$site.conf" ]; then
112 if [ ! -f "/etc/apache2/sites-enabled/$site" ]; then
113 ENABLE_VHOST="no"
115 a2dissite $site > /dev/null 2>&1 || true
116 rm -f "/etc/apache2/sites-enabled/$site"
117 # Rename the vhost definition files
118 mv "/etc/apache2/sites-available/$site" \
119 "/etc/apache2/sites-available/$site.conf"
121 if [ "$ENABLE_VHOST" = "yes" ]; then
122 if ! {
123 a2ensite "$site" > /dev/null 2>&1 ||
124 a2ensite "${site}.conf" > /dev/null 2>&1
125 }; then
126 echo "Warning: problem enabling $site in Apache" >&2
130 done
134 # Bug 14106 - fix the modulePath of existing koha instances so that it'll
135 # continue to work. This will only patch the files if the exact original string
136 # that we're fixing them from is there, so we just run it every time. Maybe
137 # in many years time we can get rid of this, when no one will be running
138 # Koha < 3.20.
139 for zfile in $( find /etc/koha/sites -name zebra-authorities-dom.cfg -or -name zebra-biblios-dom.cfg ); do
140 perl -p -i -e 's{^modulePath: /usr/lib/idzebra-2.0/modules$}{modulePath: /usr/lib/idzebra-2.0/modules:/usr/lib/x86_64-linux-gnu/idzebra-2.0/modules:/usr/lib/i386-linux-gnu/idzebra-2.0/modules:/usr/lib/aarch64-linux-gnu/idzebra-2.0/modules:/usr/lib/arm-linux-gnueabi/idzebra-2.0/modules:/usr/lib/arm-linux-gnueabihf/idzebra-2.0/modules:/usr/lib/mips-linux-gnu/idzebra-2.0/modules:/usr/lib/mipsel-linux-gnu/idzebra-2.0/modules:/usr/lib/powerpc-linux-gnu/idzebra-2.0/modules:/usr/lib/powerpc64le-linux-gnu/idzebra-2.0/modules:/usr/lib/s390x-linux-gnu/idzebra-2.0/modules}' $zfile
141 done
143 db_stop
145 # Bug 18250: Correct startup order of koha-common and memcached
146 # Since the init script has been updated, we can force the order in rc.d
147 # by disabling and enabling again.
148 update-rc.d koha-common disable
149 update-rc.d koha-common enable
151 exit 0