ffzg/recall_notices.pl: added --interval and --dedup
[koha.git] / debian / koha-common.postinst
index f22bcb0..b5f72cd 100644 (file)
@@ -78,6 +78,74 @@ EOF
     fi
 fi
 
+# Check if we need to rename the Apache vhost files
+RENAME_APACHE_FILES="no"
+for vhost in $(koha-list); do
+    if [ -f "/etc/apache2/sites-available/$vhost" ] && \
+       [ ! -f "/etc/apache2/sites-available/$vhost.conf" ]; then
+       RENAME_APACHE_FILES="yes"
+       break # at least one, trigger renaming
+    fi
+done
+
+if [ "$RENAME_APACHE_FILES" = "yes" ]; then
+    # If the user agreed we now rename their Apache files
+    db_get koha-common/rename-apache-vhost-files
+    if [ "$RET" = "false" ]; then
+        # We're not renaming the files, just print a warning
+        cat <<EOF >&2
+Warning: you have chosen not to migrate your Apache virtual hosts files to the
+Apache 2.4 naming schema. You can do it manually by running this for each
+Koha instance:
+
+    $ sudo a2dissite instance
+    $ sudo mv /etc/apache2/sites-available/instance \
+              /etc/apache2/sites-available/instance.conf
+    $ sudo a2ensite instance
+EOF
+    else
+        # We have to rename the Apache files
+        for site in $(koha-list); do
+            ENABLE_VHOST="yes"
+            if [ -f "/etc/apache2/sites-available/$site" ] && \
+               [ ! -f "/etc/apache2/sites-available/$site.conf" ]; then
+                if [ ! -f "/etc/apache2/sites-enabled/$site" ]; then
+                    ENABLE_VHOST="no"
+                fi
+                a2dissite $site > /dev/null 2>&1 || true
+                rm -f "/etc/apache2/sites-enabled/$site"
+                # Rename the vhost definition files
+                mv "/etc/apache2/sites-available/$site" \
+                   "/etc/apache2/sites-available/$site.conf"
+
+                if [ "$ENABLE_VHOST" = "yes" ]; then
+                    if ! {
+                        a2ensite "$site" > /dev/null 2>&1 ||
+                        a2ensite "${site}.conf" > /dev/null 2>&1
+                    }; then
+                        echo "Warning: problem enabling $site in Apache" >&2
+                    fi
+                fi
+            fi
+        done
+    fi
+fi
+
+# Bug 14106 - fix the modulePath of existing koha instances so that it'll
+# continue to work. This will only patch the files if the exact original string
+# that we're fixing them from is there, so we just run it every time. Maybe
+# in many years time we can get rid of this, when no one will be running
+# Koha < 3.20.
+for zfile in $( find /etc/koha/sites -name zebra-authorities-dom.cfg -or -name zebra-biblios-dom.cfg ); do
+    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
+done
+
 db_stop
 
+# Bug 18250: Correct startup order of koha-common and memcached
+# Since the init script has been updated, we can force the order in rc.d
+# by disabling and enabling again.
+update-rc.d koha-common disable
+update-rc.d koha-common enable
+
 exit 0