debian/noosfero-chat.postinst
#!/bin/bash
set -e
. /usr/share/debconf/confmodule
db_get noosfero-chat/environment
if [ ! -z "$RET" ]; then
environment="${RET}_production"
else
environment="production"
fi
domain=$(noosfero-runner 'puts Environment.default.default_hostname(true)' $environment)
echo " [domain = $domain]"
db_get noosfero-chat/admin
if [ ! -z "$RET" ]; then
admin="$RET@$domain"
else
admin="admin@$domain"
fi
echo " [admin = $admin]"
ejabberd_config='/etc/ejabberd/ejabberd.yml'
if test -f $ejabberd_config; then
sed -i "s/HOST_DOMAIN/$domain/" /etc/ejabberd/ejabberd.yml
sed -i "s/ACL_ADMIN_ACCOUNT/$admin/" /etc/ejabberd/ejabberd.yml
fi
echo -n 'Fetching noosfero database name ...'
noosfero_database=$(noosfero-runner 'puts Environment.connection_config[:database]' $environment)
echo " [database = $noosfero_database]"
echo 'Creating ejabberd schema ...'
. /etc/default/noosfero
noosfero_user="$NOOSFERO_USER"
if dpkg -s postgresql &> /dev/null ; then
su - postgres -c "psql -c 'GRANT CREATE ON DATABASE $noosfero_database TO $noosfero_user;' > /dev/null"
else
echo "[W]: No postgres installed. You're probably using noosfero's database in another machine. Make sure user $noosfero_user has CREATE permissions on $noosfero_database database by running:"
echo " => GRANT CREATE ON DATABASE $noosfero_database TO $noosfero_user;"
fi
su - $noosfero_user -c "rails dbconsole $environment < /usr/share/noosfero/util/chat/postgresql/ejabberd.sql > /dev/null"
if which update-noosfero-odbc &> /dev/null ; then
update-noosfero-odbc
fi
ejabberd_default='/etc/default/ejabberd'
noosfero_chat_default='/etc/default/noosfero-chat'
if test -f $ejabberd_default; then
if ! cat $ejabberd_default | grep "^\. $noosfero_chat_default" > /dev/null ; then
echo 'Extending ejabberd defaults with noosfero-chat defaults ...'
echo ". $noosfero_chat_default" >> $ejabberd_default
fi
fi
a2enmod proxy_http
invoke-rc.d ejabberd restart
invoke-rc.d noosfero restart
invoke-rc.d apache2 restart
# stop debconf to avoid the problem with infinite hanging, cfe
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295477
db_stop
#DEBHELPER#