#! /bin/sh set -e if [ "$1" = "configure" ]; then . /etc/zm/zm.conf for i in /etc/zm/conf.d/*.conf; do . $i done; # The logs can contain passwords, etc... so by setting group root, only www-data can read them, not people in the www-data group. chown www-data:root /var/log/zm chown www-data:www-data /var/lib/zm if [ -z "$2" ]; then chown www-data:www-data /var/cache/zoneminder /var/cache/zoneminder/* fi # Do this every time the package is installed or upgraded if [ "$ZM_DB_HOST" = "localhost" ]; then if [ -e "/etc/init.d/mysql" ]; then # # Get mysql started if it isn't # if ! $(/etc/init.d/mysql status >/dev/null 2>&1); then invoke-rc.d mysql start fi if $(/etc/init.d/mysql status >/dev/null 2>&1); then mysqladmin --defaults-file=/etc/mysql/debian.cnf -f reload # test if database if already present... if ! $(echo quit | mysql --defaults-file=/etc/mysql/debian.cnf zm > /dev/null 2> /dev/null) ; then cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/debian.cnf if [ $? -ne 0 ]; then echo "Error creating db." exit 1; fi # This creates the user. echo "grant lock tables, alter,select,insert,update,delete,create,index on ${ZM_DB_NAME}.* to '${ZM_DB_USER}'@localhost identified by \"${ZM_DB_PASS}\";" | mysql --defaults-file=/etc/mysql/debian.cnf mysql else echo "grant lock tables, alter,select,insert,update,delete,create,index on ${ZM_DB_NAME}.* to '${ZM_DB_USER}'@localhost;" | mysql --defaults-file=/etc/mysql/debian.cnf mysql fi # Ensure zoneminder is stopped invoke-rc.d zoneminder stop || true zmupdate.pl --nointeractive zmupdate.pl --nointeractive -f echo "Done Updating, starting ZoneMinder" invoke-rc.d zoneminder start || true else echo 'NOTE: mysql not running, please start mysql and run dpkg-reconfigure zoneminder when it is running.' fi else echo 'mysql not found, assuming remote server.' fi else echo "Not doing database upgrade due to remote db server ($ZM_DB_HOST)" fi fi #DEBHELPER#