Browse Source

use pre-build hook to check for pre-export execution

Git-Dch: Ignore
David Kalnischkies 8 years ago
parent
commit
a95619d0ee
2 changed files with 21 additions and 6 deletions
  1. 3 2
      debian/gbp.conf
  2. 18 4
      prepare-release

+ 3 - 2
debian/gbp.conf

@@ -1,6 +1,7 @@
 [DEFAULT]
-; we need preexport here
-;prebuild = ./prepare-release pre-export
+; we need a preexport here
+;preexport = ./prepare-release pre-export
+prebuild = ./prepare-release pre-build
 postbuild = ./prepare-release post-build
 debian-branch = master
 debian-tag = %(version)s

+ 18 - 4
prepare-release

@@ -60,6 +60,7 @@ if [ "$1" = 'pre-export' ]; then
 	grep --files-with-matches '<date>' doc/*.xml | while read file; do \
 		LASTMOD="$(date -d "@$(git log --format='%at' --max-count=1 --invert-grep --fixed-strings --grep 'review
 typo
+release
 Git-Dch: Ignore' "$file")" '+%Y-%m-%dT00:00:00Z')"
 		sed -i -e "s#^\([ ]\+\)<date>.*</date>\$#\1<date>$LASTMOD</date>#" "$file"
 	done
@@ -69,6 +70,17 @@ Git-Dch: Ignore' "$file")" '+%Y-%m-%dT00:00:00Z')"
 		echo >&2 'POT files are not up-to-date. Execute »make update-po« for you…'
 		make update-po
 	fi
+elif [ "$1" = 'pre-build' ]; then
+	if [ "$DISTRIBUTION" = "UNRELEASED" ]; then
+		echo 'BUILDING AN UNRELEASED VERSION'
+	else
+		CONFVERSION="$(sed -ne "s/^PACKAGE_VERSION=\"\(.*\)\"$/\1/p" configure.ac)"
+		if [ "$VERSION" != "$CONFVERSION" ]; then
+			echo "changelog (${VERSION}) and configure (${CONFVERSION}) talk about different versions!"
+			echo "You probably want to run »./prepare-release pre-export« to fix this."
+			exit 1
+		fi
+	fi
 elif [ "$1" = 'post-build' ]; then
 	if [ "$DISTRIBUTION" != "UNRELEASED" ]; then
 		echo >&2 "REMEMBER: Tag this release with »git tag -s ${VERSION}« if you are satisfied"
@@ -166,12 +178,14 @@ elif [ "$1" = 'coverage' ]; then
 	genhtml --output-directory "${DIR}" "${DIR}/apt.coverage.fixed" ${LCOVRC}
 else
 	echo >&1 "Usage:\t$0 pre-export
+\t$0 pre-build
 \t$0 post-build
 
-If you use »gbp buildpackage« you can leave these alone as they will
-be run at the right places auto-magically. Otherwise you should use
-»pre-export« to update po and pot files as well as version numbering.
-»post-build« can be used to run some more or less useful checks later on.
+Updating po-files and versions as well as some basic checks are done
+by »pre-export« which needs to be run before package building.
+If you use »gbp buildpackage« you will be notified if you forget.
+»pre-build« and »post-build« can be used to run some more or less
+useful checks automatically run by »gbp« otherwise.
 
 \t$0 library
 \t$0 buildlog filename…