. /usr/share/dbconfig-common/dpkg/postinst
dbc_generate_include=php:/etc/roundcube/debian-db.php
dbc_generate_include_owner="www-data:www-data"
-dbc_generate_include_perms="660"
+dbc_generate_include_perms="640"
dbc_dbfile_owner="www-data:www-data"
dbc_dbfile_perms="0660"
dbc_dbuser=roundcube
case "$1" in
configure)
+ # We try to fix an incomplete upgrade (see #610725)
+ if [ -n "$2" ] && dpkg --compare-versions "$2" le 0.5.1+dfsg-2; then
+ db_get roundcube/dbconfig-upgrade || true
+ if [ x"$RET" = x"true" ]; then
+ # Ok, we may need to do some upgrade steps. Let's get
+ # database parameters
+ eval `sed -n 's/^\$\(.*\);$/\1/p' /etc/roundcube/debian-db.php`
+ if [ x"$dbtype" = x"mysql" ]; then
+ echo "Fixing MySQL indexes (you can ignore errors)..."
+ MYSQLARGS="-f -u $dbuser -p$dbpass $dbname"
+ [ -z "$dbserver" ] || MYSQLARGS="-h $dbserver $MYSQLARGS"
+ [ -z "$dbport" ] || MYSQLARGS="-P $dbport $MYSQLARGS"
+ cat <<EOF | mysql $MYSQLARGS || true
+ALTER TABLE \`messages\` ADD INDEX \`index_index\` (\`user_id\`, \`cache_key\`, \`idx\`);
+ALTER TABLE \`session\` CHANGE \`vars\` \`vars\` MEDIUMTEXT NOT NULL;
+ALTER TABLE \`contacts\`ADD INDEX \`user_contacts_index\` (\`user_id\`,\`email\`);
+ALTER TABLE \`identities\` ADD INDEX \`user_identities_index\` (\`user_id\`, \`del\`);
+EOF
+ fi
+ fi
+ fi
+
CONFFILE=/etc/roundcube/main.inc.php
touch $CONFFILE.ucftmp
chmod 640 $CONFFILE.ucftmp
chmod -R 750 /var/log/roundcube
chown -R www-data:www-data /var/lib/roundcube/temp
chmod -R 750 /var/lib/roundcube/temp
- chown www-data:adm /var/lib/roundcube/skins
;;