#!/bin/sh set -e # Install a database server for packages that require one during postinst # but only recommend or suggest (or maybe not even this) the server # package to allow for remote db servers. MYSQL= POSTGRESQL= SQLITE3= FUSIONFORGE= CLIENT= INSTALL= case ${PIUPARTS_OBJECTS%%=*} in acidbase) MYSQL=yes ;; auth2db) MYSQL=yes ; CLIENT=yes ;; auth2db-common) MYSQL=yes ; CLIENT=yes ;; auth2db-frontend) MYSQL=yes ; CLIENT=yes ;; b2evolution) MYSQL=yes ;; bacula) POSTGRESQL=yes ;; bacula-director) POSTGRESQL=yes ;; bacula-director-dbgsym) POSTGRESQL=yes ;; bacula-director-mysql) MYSQL=yes ;; bacula-director-mysql-dbg) MYSQL=yes ;; bacula-director-pgsql) POSTGRESQL=yes ;; bacula-director-pgsql-dbg) POSTGRESQL=yes ;; bacula-server) POSTGRESQL=yes ;; bandwidthd-pgsql) POSTGRESQL=yes ;; bareos) POSTGRESQL=yes ;; bareos-database-common) POSTGRESQL=yes ;; bareos-database-common-dbgsym) POSTGRESQL=yes ;; bareos-database-mysql) POSTGRESQL=yes ; MYSQL=yes ;; bareos-database-postgresql) POSTGRESQL=yes ;; bareos-database-sqlite3) POSTGRESQL=yes ; SQLITE3=yes ;; bareos-database-tools) POSTGRESQL=yes ;; bareos-database-tools-dbgsym) POSTGRESQL=yes ;; bareos-director) POSTGRESQL=yes ;; bareos-director-dbgsym) POSTGRESQL=yes ;; bley) POSTGRESQL=yes ;; blootbot) MYSQL=yes ;; buddycloud-server) POSTGRESQL=yes ;; bugzilla3) MYSQL=yes ;; cacti) MYSQL=yes ;; cacti-cactid) MYSQL=yes ;; cacti-spine) MYSQL=yes ;; cacti-spine-dbgsym) MYSQL=yes ;; chado-utils) POSTGRESQL=yes ;; convirt) MYSQL=yes ;; docbookwiki) MYSQL=yes ;; dotclear) MYSQL=yes ;; dotlrn) POSTGRESQL=yes ;; drupal6) MYSQL=yes ;; drupal6-mod-*) MYSQL=yes ;; drupal6-thm-*) MYSQL=yes ;; drupal6-trans-ru) MYSQL=yes ;; drupal7) MYSQL=yes ;; drupal7-mod-*) MYSQL=yes ;; dtc-postfix-dovecot) MYSQL=yes ;; frontaccounting) MYSQL=yes ;; fossology-agents) POSTGRESQL=yes ;; fusionforge-plugin-*) FUSIONFORGE=yes ;; fusionforge-standard) POSTGRESQL=yes ;; fusioninventory-for-glpi) MYSQL=yes ;; gforge-db-postgresql) POSTGRESQL=yes ;; gforge-lists-mailman) POSTGRESQL=yes ;; gforge-plugin-extratabs) POSTGRESQL=yes ;; gforge-plugin-mediawiki) POSTGRESQL=yes ;; gforge-plugin-scmarch) POSTGRESQL=yes ;; gforge-plugin-scmcvs) POSTGRESQL=yes ;; gforge-plugin-scmdarcs) POSTGRESQL=yes ;; gforge-plugin-scmgit) POSTGRESQL=yes ;; gforge-plugin-scmhg) POSTGRESQL=yes ;; gforge-web-apache2) POSTGRESQL=yes ;; gforge-web-apache2-vhosts) POSTGRESQL=yes ;; glance) SQLITE3=yes ;; glance-api) SQLITE3=yes ;; glance-common) SQLITE3=yes ;; glance-registry) SQLITE3=yes ;; glpi) MYSQL=yes ;; gnuhealth-server) POSTGRESQL=yes ;; grr) MYSQL=yes ;; heat-api) SQLITE3=yes ;; heat-api-cfn) SQLITE3=yes ;; heat-api-cloudwatch) SQLITE3=yes ;; heat-common) SQLITE3=yes ;; heat-engine) SQLITE3=yes ;; icinga-idoutils) POSTGRESQL=yes ;; icinga-idoutils-dbgsym) POSTGRESQL=yes ;; icinga-phpapi) MYSQL=yes ;; icinga-web) POSTGRESQL=yes ;; icinga-web-config-icinga) POSTGRESQL=yes ;; icinga-web-config-icinga2-ido-mysql) MYSQL=yes ;; icinga-web-config-icinga2-ido-pgsql) POSTGRESQL=yes ;; icinga-web-pnp) POSTGRESQL=yes ;; icinga2-ido-mysql) MYSQL=yes ;; icinga2-ido-mysql-dbgsym) MYSQL=yes ;; icinga2-ido-pgsql) POSTGRESQL=yes ;; icinga2-ido-pgsql-dbgsym) POSTGRESQL=yes ;; jclicmoodle) POSTGRESQL=yes ;; jffnms) MYSQL=yes ;; kopano-core) MYSQL=yes ;; kopano-server) MYSQL=yes ;; kopano-server-dbgsym) MYSQL=yes ;; letodms) MYSQL=yes ;; letodms-webdav) MYSQL=yes ;; libchado-perl) POSTGRESQL=yes ;; libdspam7-dbg) POSTGRESQL=yes ;; libdspam7-drv-mysql) MYSQL=yes ;; libdspam7-drv-pgsql) POSTGRESQL=yes ;; mantis) MYSQL=yes ;; med-bio-dev) POSTGRESQL=yes ;; moodle) POSTGRESQL=yes ; MYSQL=yes ;; moodle-book) POSTGRESQL=yes ;; moodle-debian-edu-*) POSTGRESQL=yes ;; movabletype-opensource) SQLITE3=yes ;; movim) POSTGRESQL=yes ;; mtop) MYSQL=yes ;; mythtv-database) MYSQL=yes ;; nagvis) MYSQL=yes ;; ndoutils-common) MYSQL=yes ;; ndoutils-nagios3-mysql) MYSQL=yes ;; neutron-common) SQLITE3=yes ;; neutron-server) SQLITE3=yes ;; neutron-*-agent) SQLITE3=yes ;; nginx-naxsi-ui) MYSQL=yes ;; obs-api) MYSQL=yes ;; ocsinventory-reports) MYSQL=yes ;; ocsinventory-server) MYSQL=yes ;; openacs) POSTGRESQL=yes ;; opendmarc) MYSQL=yes ;; opendmarc-dbgsym) MYSQL=yes ;; openstack-dashboard) SQLITE3=yes ;; openstack-dashboard-apache) SQLITE3=yes ;; otrs) POSTGRESQL=yes ;; otrs2) POSTGRESQL=yes case "$PIUPARTS_DISTRIBUTION" in lenny*|squeeze*) MYSQL=yes ;; #707075 esac ;; pdns-backend-mysql) MYSQL=yes ;; pdns-backend-pgsql) POSTGRESQL=yes ;; phpbb3) MYSQL=yes ;; phpbb3-l10n) MYSQL=yes ;; phpgacl) MYSQL=yes ;; phpmyadmin) MYSQL=yes ;; phpwiki) MYSQL=yes ;; pinba-engine-mysql) MYSQL=yes ;; pinba-engine-mysql-5.5) MYSQL=yes ;; pinba-engine-mysql-5.6) MYSQL=yes ;; piwigo) MYSQL=yes ;; pnopaste) MYSQL=yes ;; poker-web) MYSQL=yes ;; postfix-policyd) MYSQL=yes ;; postfixadmin) MYSQL=yes ;; prelude-manager) MYSQL=yes ;; prelude-manager-dbgsym) MYSQL=yes ;; prewikka) MYSQL=yes ;; puppetdb) POSTGRESQL=yes ;; pybit-web) POSTGRESQL=yes ;; python-django-horizon) SQLITE3=yes ;; python-quantum) SQLITE3=yes ;; python-quantumclient) SQLITE3=yes ;; quantum-common) SQLITE3=yes ;; quantum-plugin-*) SQLITE3=yes ;; quantum-server) SQLITE3=yes ;; quantum-*-agent) SQLITE3=yes ;; redmine) MYSQL=yes ;; redmine-mysql) MYSQL=yes ;; redmine-pgsql) POSTGRESQL=yes ;; redmine-plugin-botsfilter) MYSQL=yes ;; redmine-plugin-recaptcha) MYSQL=yes ;; roundcube) MYSQL=yes ;; roundcube-core) MYSQL=yes ;; roundcube-plugins) MYSQL=yes ;; roundcube-plugins-extra) MYSQL=yes ;; rsyslog-mysql) MYSQL=yes ;; rsyslog-mysql-dbgsym) MYSQL=yes ;; rsyslog-pgsql) POSTGRESQL=yes ;; rsyslog-pgsql-dbgsym) POSTGRESQL=yes ;; scuttle) MYSQL=yes ;; semanticscuttle) MYSQL=yes ;; serendipity) MYSQL=yes ;; simba) MYSQL=yes ;; spotweb) MYSQL=yes ;; sshproxy-backend-mysql) MYSQL=yes ;; steam) MYSQL=yes ;; sympa) MYSQL=yes ;; tango-accesscontrol) MYSQL=yes ;; tango-accesscontrol-dbg) MYSQL=yes ;; tango-accesscontrol-dbgsym) MYSQL=yes ;; tango-db) MYSQL=yes ;; tango-db-dbg) MYSQL=yes ;; tango-db-dbgsym) MYSQL=yes ;; textpattern) MYSQL=yes ;; torrentflux) MYSQL=yes ;; tt-rss) MYSQL=yes ;; tuskar) SQLITE3=yes ;; tuskar-api) SQLITE3=yes ;; tuskar-common) SQLITE3=yes ;; tuskar-manager) SQLITE3=yes ;; typo3-dummy) MYSQL=yes ;; ukolovnik) MYSQL=yes ;; webcalendar) MYSQL=yes ;; webissues-server) MYSQL=yes ;; websimba) MYSQL=yes ;; wims-moodle) POSTGRESQL=yes ;; zabbix-frontend-php) MYSQL=yes ;; zabbix-proxy-mysql) MYSQL=yes ;; zabbix-proxy-pgsql) POSTGRESQL=yes ;; zabbix-server-mysql) MYSQL=yes ;; zabbix-server-pgsql) POSTGRESQL=yes ;; esac if [ "$FUSIONFORGE" = "yes" ]; then case "$PIUPARTS_DISTRIBUTION" in wheezy*|jessie|jessie/updates) POSTGRESQL=yes ;; *) INSTALL="$INSTALL fusionforge-db-local" ;; esac fi if [ "$MYSQL" = "yes" ]; then case "$PIUPARTS_DISTRIBUTION" in lenny*|squeeze*|wheezy*|jessie*) INSTALL="$INSTALL mysql-server ${CLIENT:+mysql-client}" ;; *) INSTALL="$INSTALL default-mysql-server ${CLIENT:+default-mysql-client}" ;; esac fi if [ "$POSTGRESQL" = "yes" ]; then INSTALL="$INSTALL postgresql" fi if [ "$SQLITE3" = "yes" ]; then INSTALL="$INSTALL sqlite3" fi if [ -n "$INSTALL" ]; then echo "Installing ${INSTALL# }..." apt-get -y install $INSTALL fi for pgconf in /etc/postgresql/*/main/postgresql.conf do test -f "$pgconf" && test -r "$pgconf" || continue port=$(awk '/^port/ { print $3 }' "$pgconf") if [ "-n" $port ] && [ "$port" != "5432" ] then echo "Non-default port in $pgconf" fi done exit 0