2014-12-01 00:55:26 +08:00
|
|
|
#!/bin/sh
|
2014-12-02 07:58:18 +08:00
|
|
|
# config maintainer script for zoneminder
|
2014-12-01 00:55:26 +08:00
|
|
|
|
2014-12-07 00:50:13 +08:00
|
|
|
set -e
|
2014-12-01 00:55:26 +08:00
|
|
|
|
2014-12-02 07:58:18 +08:00
|
|
|
# Source the debconf stuff
|
2014-12-01 00:55:26 +08:00
|
|
|
. /usr/share/debconf/confmodule
|
|
|
|
|
2014-12-03 20:40:30 +08:00
|
|
|
CONFIGFILE=/etc/zm/zm.conf
|
|
|
|
|
2014-12-07 00:50:13 +08:00
|
|
|
if [ "$1" = "configure" ]; then
|
|
|
|
|
|
|
|
# Ask the user if debconf shall be used to configure the package
|
|
|
|
db_set zoneminder/debconf_install true
|
|
|
|
db_input high zoneminder/debconf_install || true
|
|
|
|
db_go || true
|
2014-12-01 00:55:26 +08:00
|
|
|
|
2014-12-07 00:50:13 +08:00
|
|
|
# Exit if the user does not want to use debconf
|
|
|
|
db_get zoneminder/debconf_install
|
2014-12-07 22:18:08 +08:00
|
|
|
[ "$RET" = "false" ] && exit 0
|
|
|
|
dbc_install="$RET"
|
2014-12-01 00:55:26 +08:00
|
|
|
fi
|
|
|
|
|
2014-12-02 07:58:18 +08:00
|
|
|
# Source the config file if exists
|
|
|
|
if [ -e $CONFIGFILE ]; then
|
|
|
|
. $CONFIGFILE || true
|
|
|
|
else
|
2014-12-07 22:18:08 +08:00
|
|
|
# Display a message if no config file
|
2014-12-07 00:50:13 +08:00
|
|
|
db_input high zoneminder/debconf_confmissingerror || true
|
|
|
|
db_go || true
|
2014-12-02 07:58:18 +08:00
|
|
|
fi
|
2014-12-01 00:55:26 +08:00
|
|
|
|
2014-12-07 00:50:13 +08:00
|
|
|
if [ ! "$ZM_DB_TYPE" = "mysql" ]; then
|
2014-12-07 22:18:08 +08:00
|
|
|
# Display a message if wrong database type
|
2014-12-07 00:50:13 +08:00
|
|
|
db_input high zoneminder/debconf_dbtypeerror || true
|
|
|
|
db_go || true
|
|
|
|
fi
|
|
|
|
|
2014-12-07 22:18:08 +08:00
|
|
|
DB_OK=false
|
|
|
|
|
2014-12-07 00:50:13 +08:00
|
|
|
# Ask the user if the database shall be installed locally or remotely
|
2014-12-07 07:04:26 +08:00
|
|
|
db_input high zoneminder/debconf_dblocation || true
|
2014-12-07 00:50:13 +08:00
|
|
|
db_go || true
|
|
|
|
db_get zoneminder/debconf_dblocation
|
|
|
|
if [ "$RET" = "local" ]; then
|
2014-12-02 07:58:18 +08:00
|
|
|
if [ ! -e "/usr/sbin/mysqld" ]; then
|
2014-12-07 22:18:08 +08:00
|
|
|
# Display a message if the user want a local database but no database
|
|
|
|
# server is available
|
2014-12-07 07:04:26 +08:00
|
|
|
db_input high zoneminder/debconf_dblocalmissingerror || true
|
2014-12-02 07:58:18 +08:00
|
|
|
db_go || true
|
2014-12-07 22:18:08 +08:00
|
|
|
else
|
|
|
|
DB_OK=true
|
|
|
|
# Set the database server to localhost
|
|
|
|
dbc_dbserver="localhost"
|
2014-12-02 07:58:18 +08:00
|
|
|
fi
|
2014-12-04 01:22:19 +08:00
|
|
|
else
|
2014-12-07 00:50:13 +08:00
|
|
|
# Source the dbconfig main configuration file
|
|
|
|
if [ -f /etc/dbconfig-common/config ]; then
|
|
|
|
. /etc/dbconfig-common/config
|
|
|
|
fi
|
|
|
|
if [ "$dbc_remote_questions_default" = "false" ]; then
|
2014-12-07 22:18:08 +08:00
|
|
|
# Display a message if the dbconfig configuration does not allow
|
2014-12-07 00:50:13 +08:00
|
|
|
# installation of databases on remote servers from this assistant
|
2014-12-07 22:18:08 +08:00
|
|
|
# Note: It would be nice to override the default configuration by
|
|
|
|
# setting dbc_remote_questions_default to true here but unfortunately
|
|
|
|
# this does not work
|
2014-12-07 00:50:13 +08:00
|
|
|
# https://bugs.launchpad.net/ubuntu/+source/dbconfig-common/+bug/1065331
|
2014-12-07 07:04:26 +08:00
|
|
|
db_input high zoneminder/debconf_dbconfigerror || true
|
2014-12-07 00:50:13 +08:00
|
|
|
db_go || true
|
2014-12-07 22:18:08 +08:00
|
|
|
else
|
|
|
|
DB_OK=true
|
2014-12-07 00:50:13 +08:00
|
|
|
fi
|
2014-12-02 07:58:18 +08:00
|
|
|
fi
|
2014-12-01 00:55:26 +08:00
|
|
|
|
2014-12-07 22:18:08 +08:00
|
|
|
if [ "$DB_OK" = "true" ] && [ -f /usr/share/dbconfig-common/dpkg/config ]; then
|
2014-12-07 00:50:13 +08:00
|
|
|
|
|
|
|
# Set the first version in which dbconfig-common was introduced in the
|
|
|
|
# package
|
2014-12-02 07:58:18 +08:00
|
|
|
dbc_first_version="1.28.0"
|
2014-12-01 00:55:26 +08:00
|
|
|
|
2014-12-07 00:50:13 +08:00
|
|
|
# Currently we only support mysql database
|
|
|
|
dbc_dbtypes="mysql"
|
|
|
|
|
|
|
|
# Set authentication method to password
|
|
|
|
dbc_authmethod_user="password"
|
|
|
|
|
|
|
|
if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ]; then
|
|
|
|
# Force the use of the database name and application user name set in
|
|
|
|
# the zoneminder configuration file
|
2014-12-04 06:21:41 +08:00
|
|
|
dbc_dbname="$ZM_DB_NAME"
|
|
|
|
dbc_dbuser="$ZM_DB_USER"
|
2014-12-07 00:50:13 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Reuse custom hostname and password when reconfiguring
|
|
|
|
if [ "$1" = "reconfigure" ]; then
|
|
|
|
dbc_dbserver="$ZM_DB_HOST"
|
2014-12-04 06:21:41 +08:00
|
|
|
dbc_dbpass="$ZM_DB_PASS"
|
|
|
|
fi
|
2014-12-01 00:55:26 +08:00
|
|
|
|
2014-12-02 07:58:18 +08:00
|
|
|
# Source the dbconfig-common stuff
|
|
|
|
. /usr/share/dbconfig-common/dpkg/config
|
|
|
|
|
|
|
|
# Ask the user for all other settings about the database
|
|
|
|
dbc_go zoneminder $@
|
2014-12-01 00:55:26 +08:00
|
|
|
fi
|
|
|
|
|
2014-12-02 07:58:18 +08:00
|
|
|
# Ask the user for the administrator login and password
|
|
|
|
db_input high zoneminder/admin_login || true
|
|
|
|
db_input high zoneminder/admin_password || true
|
|
|
|
db_go || true
|
|
|
|
|
|
|
|
# Ask the user for the web server(s) to configure
|
|
|
|
db_input high zoneminder/webserver || true
|
|
|
|
db_go || true
|
|
|
|
|
2014-12-03 21:12:26 +08:00
|
|
|
#DEBHELPER#
|
|
|
|
|
2014-12-01 00:55:26 +08:00
|
|
|
exit 0
|