1#!/bin/sh 2# 3 4# This script runs through what it can of the release checklist 5# run via: "sh tools/release_checklist.sh" 6# It assumes the current directory is the top directory of the build 7 8echo "Slony-I Release Checklist" 9 10echo "pulling version information from config.h.in" 11VERDOTTED=`egrep 'SLONY_I_VERSION_STRING.*"[0-9]+\.[0-9]+\.[0-9]+"' config.h.in | cut -d'"' -f 2` 12MAJOR=`echo $VERDOTTED | cut -d '.' -f 1` 13MINOR=`echo $VERDOTTED | cut -d '.' -f 2` 14PATCHLEVEL=`echo $VERDOTTED | cut -d '.' -f 3` 15 16echo "Slony-I version: ${VERDOTTED} - Major=${MAJOR} Minor=${MINOR} Patchlevel=${PATCHLEVEL} per config.h.in" 17 18VERCOMMA="${MAJOR},${MINOR},${PATCHLEVEL}" 19VERUNDERSCORE="${MAJOR}_${MINOR}_${PATCHLEVEL}" 20if egrep "#define SLONY_I_VERSION_STRING_DEC ${VERCOMMA}\$" config.h.in >/dev/null 2>&1; then 21 echo "SLONY_I_VERSION_STRING_DEC matches" 22else 23 echo "ERROR: SLONY_I_VERSION_STRING_DEC does not match ${VERCOMMA}" 24 grep SLONY_I_VERSION_STRING_DEC config.h.in 25fi 26 27echo "Verifying configure..." 28if egrep "^PACKAGE_VERSION='${VERDOTTED}'\$" configure >/dev/null 2>&1; then 29 echo "configure PACKAGE_VERSION matches ${VERDOTTED}" 30else 31 echo "ERROR: PACKAGE_VERSION in configure does not match ${VERDOTTED}" 32 egrep "PACKAGE_VERSION\=" configure 33fi 34 35if egrep "^PACKAGE_STRING='slony1 ${VERDOTTED}'\$" configure >/dev/null 2>&1; then 36 echo "PACKAGE_STRING in configure matches slony1 ${VERDOTTED}" 37else 38 echo "ERROR: configure PACKAGE_STRING does not match ${VERDOTTED}" 39 egrep "PACKAGE_STRING\=" configure 40fi 41 42FLIST="" 43for file in `find config -name "*.m4" -newer configure | sort`; do 44 FLIST="${FLIST} $file" 45done 46if [ x = x"$FLIST" ]; then 47 echo "autoconf has probably been run lately..." 48else 49 echo "WARNING:: The following ./configure constituents are newer than ./configure - you probably should run autoconf!" 50 echo "$FLIST" | fmt 51fi 52 53STOREDPROCVERS=`awk -f tools/awk-for-stored-proc-vers.awk src/backend/slony1_funcs.sql` 54 55if [ x"$STOREDPROCVERS" = x"$VERDOTTED" ]; then 56 OK=1 57 echo "Stored proc version numbers match ${VERDOTTED}" 58else 59 echo "ERROR: Stored proc versions in src/backend/slony1_funcs.sql indicates version [${STOREDPROCVERS}] (versus [${VERDOTTED}])" 60fi 61 62 63for file in `find src/slon -name "conf-file.l" -newer src/slon/conf-file.c | sort`; do 64 echo "WARNING: src/slon/conf-file.l newer than child file src/slon/conf-file.c" 65done 66 67for file in `find src/slonik -name "scan.l" -newer src/slonik/scan.c | sort`; do 68 echo "WARNING: src/slonik/scan.l newer than child file src/slonik/scan.c" 69done 70 71for file in `find src/slonik -name "parser.y" -newer src/slonik/parser.c | sort`; do 72 echo "WARNING: src/slonik/parser.y newer than child file src/slonik/parser.c" 73done 74