[Piuparts-commits] [piuparts] 14/23: run pg_upgradecluster during dist-upgrades

Holger Levsen holger at layer-acht.org
Tue Jan 17 12:39:46 UTC 2017


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch develop
in repository piuparts.

commit bb09a6598bbf281914284b8999b914322e154520
Author: Andreas Beckmann <anbe at debian.org>
Date:   Mon Jan 16 12:44:34 2017 +0100

    run pg_upgradecluster during dist-upgrades
    
    Signed-off-by: Andreas Beckmann <anbe at debian.org>
    Signed-off-by: Holger Levsen <holger at layer-acht.org>
---
 .../scripts/pre_distupgrade_zz_database-server     | 48 ++++++++++++++++++++++
 debian/changelog                                   |  2 +
 master-bin/detect_piuparts_issues.in               |  1 +
 3 files changed, 51 insertions(+)

diff --git a/custom-scripts/scripts/pre_distupgrade_zz_database-server b/custom-scripts/scripts/pre_distupgrade_zz_database-server
index 2fe58a3..40d9cf0 100755
--- a/custom-scripts/scripts/pre_distupgrade_zz_database-server
+++ b/custom-scripts/scripts/pre_distupgrade_zz_database-server
@@ -22,6 +22,8 @@ CANDIDATES="$CANDIDATES mysql-server"
 CANDIDATES="$CANDIDATES postgresql"
 CANDIDATES="$CANDIDATES postgresql-8.4"
 CANDIDATES="$CANDIDATES postgresql-9.1"
+CANDIDATES="$CANDIDATES postgresql-9.4"
+CANDIDATES="$CANDIDATES postgresql-9.6"
 
 case "$PIUPARTS_DISTRIBUTION_NEXT" in
 	jessie)
@@ -49,9 +51,55 @@ do
 	fi
 done
 
+test ! -x /usr/bin/pg_lsclusters || pg_lsclusters
+
 if [ -n "$PACKAGES" ]
 then
 	echo "Upgrading ${PACKAGES# } early"
 	apt-get update
 	apt-get -y install $PACKAGES
 fi
+
+upgrade_pg_cluster()
+{
+	local from=$1
+	local to=$2
+
+	if ! is_installed postgresql-${from}
+	then
+		return 0
+	fi
+
+	if ! is_installed postgresql-${to}
+	then
+		apt-get -y install postgresql-${to}
+	fi
+
+	if is_installed postgresql-${from} && is_installed postgresql-${to}
+	then
+		echo "Updating PostgreSQL Cluster from ${from} to ${to}"
+		pg_dropcluster ${to} main --stop
+		pg_upgradecluster -v ${to} ${from} main
+		pg_dropcluster ${from} main
+	fi
+}
+
+case "${PIUPARTS_DISTRIBUTION}:${PIUPARTS_DISTRIBUTION_NEXT}" in
+	lenny:squeeze)
+		upgrade_pg_cluster 8.3 8.4
+		;;
+	squeeze:wheezy)
+		upgrade_pg_cluster 8.4 9.1
+		;;
+	wheezy:jessie)
+		upgrade_pg_cluster 9.1 9.4
+		;;
+	jessie:stretch)
+		upgrade_pg_cluster 9.4 9.6
+		;;
+	jessie:sid)
+		upgrade_pg_cluster 9.4 9.6
+		;;
+esac
+
+test ! -x /usr/bin/pg_lsclusters || pg_lsclusters
diff --git a/debian/changelog b/debian/changelog
index b3a7688..fec1ea1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,8 @@ piuparts (0.75) UNRELEASED; urgency=medium
     - Add new suite: stretch-pu (test packages in stretch-proposed-updates).
     - Add new suite: stretch2proposed.
   * Add/adjust some exceptions for ancient packages.
+  * scripts/pre_distupgrade_zz_database-server: Run pg_upgradecluster during
+    dist-upgrades.
 
  -- Andreas Beckmann <anbe at debian.org>  Sun, 15 Jan 2017 20:34:58 +0100
 
diff --git a/master-bin/detect_piuparts_issues.in b/master-bin/detect_piuparts_issues.in
index 264177a..3fe6506 100755
--- a/master-bin/detect_piuparts_issues.in
+++ b/master-bin/detect_piuparts_issues.in
@@ -57,6 +57,7 @@ for SECTION in $SECTIONS ; do
 		rgrep -l -e 'userdel: user .* is currently logged in' $MASTER/$SECTION/$subdir >> $FILE
 		rgrep -l -i -E 'invoke-rc.d: initscript mysql, action "(start|restart)" failed.' $MASTER/$SECTION/$subdir >> $FILE
 		rgrep -l -i -e 'invoke-rc.d: initscript postgresql, action "start" failed.' $MASTER/$SECTION/$subdir >> $FILE
+		rgrep -l -e 'The PostgreSQL server failed to start.' $MASTER/$SECTION/$subdir >> $FILE
 		rgrep -l -i -e 'FATAL:  could not create shared memory segment: No space left on device' $MASTER/$SECTION/$subdir >> $FILE
 		rgrep -l -e 'No database found online on port 5432' $MASTER/$SECTION/$subdir >> $FILE
 		rgrep -l -e 'unable to connect to postgresql server' $MASTER/$SECTION/$subdir >> $FILE

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/piuparts/piuparts.git



More information about the Piuparts-commits mailing list