[DRE-commits] [diaspora-installer] 03/21: cleanup and update handling
Praveen Arimbrathodiyil
praveen at moszumanska.debian.org
Mon May 11 12:36:48 UTC 2015
This is an automated email from the git hooks/post-receive script.
praveen pushed a commit to branch master
in repository diaspora-installer.
commit 041b5aff53144150134b9fc24bb29cc1bfffa438
Author: Praveen Arimbrathodiyil <praveen at debian.org>
Date: Mon May 11 10:37:19 2015 +0530
cleanup and update handling
---
debian/changelog | 2 +-
debian/diaspora-common.postinst | 107 ++++++++++++++++++++++------------------
debian/diaspora-common.preinst | 1 -
debian/postinst | 83 ++++++++++++++++++-------------
4 files changed, 108 insertions(+), 85 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 0b54bfa..6f974c5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,7 @@
diaspora-installer (0.5.0.1+debian2) UNRELEASED; urgency=medium
* Provide diaspora.conf from diaspora-common (so it gets removed when purged)
- * Don't run postinstall if database exist already
+ * Don't run postinstall if database exist already (run only migrations)
-- Pirate Praveen <praveen at debian.org> Sun, 10 May 2015 22:20:38 +0530
diff --git a/debian/diaspora-common.postinst b/debian/diaspora-common.postinst
index 31242a0..161f940 100755
--- a/debian/diaspora-common.postinst
+++ b/debian/diaspora-common.postinst
@@ -25,65 +25,74 @@ set -e
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
-if su diaspora -s /bin/sh -c "psql diaspora_production -c ''"
-then
- echo "You already have a PostgreSQL database named 'diaspora_production'."
- echo "Updating an existing diaspora installation is not supported yet."
-else
+case "$1" in
+ configure)
+ # Source varibales
+ . /etc/diaspora/diaspora-common.conf
+ # Check if there is another version installed
+ if su diaspora -s /bin/sh -c "psql diaspora_production -c ''"
+ then
+ # Show current version of package
+ installed_diaspora_version=`echo $2|cut -d+ -f1`
+ installed_diaspora_minor_version=`echo ${installed_diaspora_version} |cut -d. -f3,4`
+ diaspora_minor_version=`echo ${diaspora_version} |cut -d. -f3,4`
+ if test $(echo "${installed_diaspora_minor_version} < ${diaspora_minor_version}" |bc) -eq 1
+ then
+ echo "Trying update from ${installed_diaspora_version}..."
+ fi
- . /usr/share/debconf/confmodule
- . /usr/share/dbconfig-common/dpkg/postinst.pgsql
+ else
+ # Show debconf questions
+ . /usr/share/debconf/confmodule
+ . /usr/share/dbconfig-common/dpkg/postinst.pgsql
- dbc_dbname="diaspora_production"
- dbc_dbuser="diaspora"
+ dbc_dbname="diaspora_production"
+ dbc_dbuser="diaspora"
- dbc_go diaspora-common $@
-
- case "$1" in
- configure)
- . /etc/diaspora/diaspora-common.conf
- # Get ssl choice
- db_get diaspora-common/ssl
- if [ "${RET}" = "true" ]; then
- db_go
- # Configure pod address.
- db_get diaspora-common/url
- echo "SSL enabled, configuring nginx for ${RET}..."
- /usr/lib/diaspora-common/scripts/set-env-nginx.sh ${RET}
- db_go
- else
- db_go
- # Configure pod address.
- db_get diaspora-common/url
- echo "SSL disabled, skip nginx configuration for ${RET}..."
- if ! grep SERVERNAME /etc/diaspora.conf
- then
- echo export SERVERNAME=${RET} >> /etc/diaspora.conf
- export SERVERNAME=${RET}
- echo export ENVIRONMENT_URL="http://$SERVERNAME:3000" >> /etc/diaspora.conf
- fi
+ dbc_go diaspora-common $@
+ # Get ssl choice
+ db_get diaspora-common/ssl
+ if [ "${RET}" = "true" ]; then
+ db_go
+ # Configure pod address.
+ db_get diaspora-common/url
+ echo "SSL enabled, configuring nginx for ${RET}..."
+ /usr/lib/diaspora-common/scripts/set-env-nginx.sh ${RET}
+ db_go
+ else
+ db_go
+ # Configure pod address.
+ db_get diaspora-common/url
+ echo "SSL disabled, skip nginx configuration for ${RET}..."
+ if ! grep SERVERNAME /etc/diaspora.conf
+ then
+ echo export SERVERNAME=${RET} >> /etc/diaspora.conf
+ export SERVERNAME=${RET}
+ echo export ENVIRONMENT_URL="http://$SERVERNAME:3000" >> /etc/diaspora.conf
fi
- ${diaspora_scripts}/adduser.sh
- ${diaspora_scripts}/grantpriv.sh
- mkdir -p ${diaspora_nginx_log}
- mkdir -p ${diaspora_home}
- chown -R ${diaspora_user}: ${diaspora_home}
- ;;
+ ${diaspora_scripts}/adduser.sh
+ ${diaspora_scripts}/grantpriv.sh
+ mkdir -p ${diaspora_nginx_log}
+ mkdir -p ${diaspora_home}
+ chown -R ${diaspora_user}: ${diaspora_home}
+ db_stop
+ fi
+
+ fi
+ ;;
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
- esac
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+ esac
- db_stop
-fi
#DEBHELPER#
diff --git a/debian/diaspora-common.preinst b/debian/diaspora-common.preinst
index 4c4e944..d68417e 100755
--- a/debian/diaspora-common.preinst
+++ b/debian/diaspora-common.preinst
@@ -8,7 +8,6 @@ case "$1" in
echo "You already have a PostgreSQL database named 'diaspora_production'."
# Show current version of package
installed_diaspora_version=`echo $2|cut -d+ -f1`
- echo "Trying update from ${installed_diaspora_version}..."
installed_diaspora_major_version=`echo ${installed_diaspora_version} |cut -d. -f1,2`
if test $(echo "${installed_diaspora_major_version} < 0.5" |bc) -eq 1
then
diff --git a/debian/postinst b/debian/postinst
index c62d98c..e014091 100755
--- a/debian/postinst
+++ b/debian/postinst
@@ -28,56 +28,71 @@ set -e
case "$1" in
configure)
+ # Source varibales
. /etc/diaspora/diaspora-common.conf
cd ${diaspora_home}
- echo "Download diaspora tarball from github.com..."
- mkdir -p ${diaspora_cache}
- if ! test -f ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz
- then
- if test ${diaspora_release_type} = "branch"
+ if su diaspora -s /bin/sh -c "psql diaspora_production -c ''"
+ then
+ installed_diaspora_version=`echo $2|cut -d+ -f1`
+ installed_diaspora_minor_version=`echo ${installed_diaspora_version} |cut -d. -f3,4`
+ diaspora_minor_version=`echo ${diaspora_version} |cut -d. -f3,4`
+ if test $(echo "${installed_diaspora_minor_version} < ${diaspora_minor_version}" |bc) -eq 1
+ echo "Running migrations..."
+ echo "Some migrations may take upto 2 hours in large pods..."
+ su diaspora -s /bin/sh -c 'bundle exec rake db:migrate'
+ else
+ echo "This version is already installed..."
+ fi
+ else
+ echo "Download diaspora tarball from github.com..."
+ mkdir -p ${diaspora_cache}
+ if ! test -f ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz
+ then
+ if test ${diaspora_release_type} = "branch"
then
- wget -O ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz ${github_archive_url}/release/${diaspora_version}.tar.gz
- export diaspora_archive="diaspora-release-${diaspora_version}"
+ wget -O ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz ${github_archive_url}/release/${diaspora_version}.tar.gz
+ export diaspora_archive="diaspora-release-${diaspora_version}"
else
- wget -O ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz ${github_archive_url}/v${diaspora_version}.tar.gz
- export diaspora_archive="diaspora-${diaspora_version}"
+ wget -O ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz ${github_archive_url}/v${diaspora_version}.tar.gz
+ export diaspora_archive="diaspora-${diaspora_version}"
fi
- fi
- echo "Already downloaded..."
- echo "Extracting files..."
- tar -C ${diaspora_cache} -zxvf ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz >/dev/null
- echo "Copying files to ${diaspora_home}..."
- # Use system binaries from /usr/bin
- rm -rf ${diaspora_cache}/${diaspora_archive}/bin
- cp -r ${diaspora_cache}/${diaspora_archive}/* ${diaspora_home}
- chown -R ${diaspora_user}: ${diaspora_home}
+ fi
+ echo "Already downloaded..."
+ echo "Extracting files..."
+ tar -C ${diaspora_cache} -zxvf ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz >/dev/null
+ echo "Copying files to ${diaspora_home}..."
+ # Use system binaries from /usr/bin
+ rm -rf ${diaspora_cache}/${diaspora_archive}/bin
+ cp -r ${diaspora_cache}/${diaspora_archive}/* ${diaspora_home}
+ chown -R ${diaspora_user}: ${diaspora_home}
- echo "Copying source tarball to ${diaspora_home}/public..."
- sudo -u ${diaspora_user} cp ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz ${diaspora_home}/public/source.tar.gz
+ echo "Copying source tarball to ${diaspora_home}/public..."
+ sudo -u ${diaspora_user} cp ${diaspora_cache}/diaspora-${diaspora_version}.tar.gz ${diaspora_home}/public/source.tar.gz
- echo "Setting up environment varibales..."
- . /usr/lib/diaspora-common/scripts/set-env-diaspora.sh
- echo RAILS_ENV=$RAILS_ENV DB=$DB ENVIRONMENT_URL=$ENVIRONMENT_URL
+ echo "Setting up environment varibales..."
+ . /usr/lib/diaspora-common/scripts/set-env-diaspora.sh
+ echo RAILS_ENV=$RAILS_ENV DB=$DB ENVIRONMENT_URL=$ENVIRONMENT_URL
- echo "Installing gems with rubygems ..."
- sudo -u diaspora -E -H bundle install --path vendor/bundle
+ echo "Installing gems with rubygems ..."
+ sudo -u diaspora -E -H bundle install --path vendor/bundle
# echo "Setting up secret_token..."
# if ! grep config.secret_token ${diaspora_home}/config/initializers/secret_token.rb
# then
# echo Diaspora::Application.config.secret_token = \'$(sudo -u diaspora -E bundle exec rake secret)\' >> ${diaspora_home}/config/initializers/secret_token.rb
# fi
- echo "Running final rake tasks..."
- . /usr/lib/diaspora-common/scripts/rake-tasks.sh
- ;;
+ echo "Running final rake tasks..."
+ . /usr/lib/diaspora-common/scripts/rake-tasks.sh
+ fi
+ ;;
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
esac
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/diaspora-installer.git
More information about the Pkg-ruby-extras-commits
mailing list