[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