Bug 16844: (follow-up of 15656) Remove export of GetMemberRelatives from C4::Members
[koha.git] / debian / koha-common.postinst
1 #!/bin/sh
2
3 set -e
4
5 # Default to "yes"
6 AUTOMATIC_TRANSLATIONS_UPDATE="yes"
7
8 . /usr/share/debconf/confmodule
9
10 # Read configuration variable file if it is present
11 CONFIG=/etc/koha/koha-common.conf
12 if [ -r $CONFIG ]; then
13     . $CONFIG
14 fi
15
16 conf=/etc/mysql/koha-common.cnf
17 if [ ! -e "$conf" ] && [ ! -L "$conf" ]
18 then
19     ln -s debian.cnf "$conf"
20 fi
21
22 #DEBHELPER#
23
24 koha-upgrade-schema $(koha-list)
25
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
30 #
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>
37 #
38 AUTOMATIC_TRANSLATIONS_UPDATE="yes"
39 EOF
40 fi
41
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"
49 fi
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
53
54 sed -e "s/^ *AUTOMATIC_TRANSLATIONS_UPDATE=.*/AUTOMATIC_TRANSLATIONS_UPDATE=\"$UPDATE\"/" < $CONFIG > $CONFIG.tmp
55 mv -f $CONFIG.tmp $CONFIG
56
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
66         fi
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.
75
76 You can run 'koha-translate --list' to get a list of the installed translations codes.
77 EOF
78     fi
79 fi
80
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
88     fi
89 done
90
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:
100
101     $ sudo a2dissite instance
102     $ sudo mv /etc/apache2/sites-available/instance \
103               /etc/apache2/sites-available/instance.conf
104     $ sudo a2ensite instance
105 EOF
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"
114                 fi
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"
120
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
127                     fi
128                 fi
129             fi
130         done
131     fi
132 fi
133
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.cfg -or -name zebra-authorities-dom.cfg -or -name zebra-biblios.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
142
143 db_stop
144
145 exit 0