diff Makefile.am @ 23969:4ecea8ae3d21

merge of '3c1dec61837db8f0f51fc35f7ca26ff948a4e4f4' and 'd03f77d92751b3104fa7f211c86084c46a8679b7'
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Tue, 26 Aug 2008 04:08:22 +0000
parents 6c8be58d0d04
children 27556c2710e3
line wrap: on
line diff
--- a/Makefile.am	Tue Aug 26 02:24:17 2008 +0000
+++ b/Makefile.am	Tue Aug 26 04:08:22 2008 +0000
@@ -30,6 +30,36 @@
 distcheck-hook: libpurple/plugins/perl/common/Purple.pm pidgin/plugins/perl/common/Pidgin.pm
 #	cp libpurple/plugins/perl/common/Gaim.pm $(distdir)/libpurple/plugins/perl/common
 
+version-check:
+# We don't want to release development versions.
+	test x`echo $(PACKAGE_VERSION) | grep dev` = x
+
+# Ensure NEWS has no spaces at the start of a line.
+# Using spaces instead of tabs there is a common mistake.
+	test x`grep "^ " NEWS` = x
+
+# When doing a new minor (or major) release (X.Y.0), there must be a section in
+# ChangeLog.API.
+	echo $(PACKAGE_VERSION) | grep -v "^[0-9]\+\.[0-9]\+\.0$$" >/dev/null || head ChangeLog.API | grep "^version $(PACKAGE_VERSION) (`date +%m/%d/%Y`):$$" >/dev/null
+
+# For all releases, check the ChangeLogs.
+	head ChangeLog | grep "^version $(PACKAGE_VERSION) (`date +%m/%d/%Y`):$$" >/dev/null
+	head ChangeLog.win32 | grep "^version $(PACKAGE_VERSION) (`date +%m/%d/%Y`):$$" >/dev/null
+	head po/ChangeLog | grep "^version $(PACKAGE_VERSION) (`date +%m/%d/%Y`):$$" >/dev/null
+
+# Ensure we're working from a tag...
+	test x`mtn automate select t:v$(PACKAGE_VERSION)` = x`mtn automate get_base_revision_id`
+# ... and have no changes in the working copy.
+	test x`mtn diff | grep -v '^#'` = x
+
+release: distcheck packages
+
+packages: version-check
+	gpg -ab pidgin-$(PACKAGE_VERSION).tar.gz
+	gpg -ab pidgin-$(PACKAGE_VERSION).tar.bz2
+	gpg --verify pidgin-$(PACKAGE_VERSION).tar.gz.asc pidgin-$(PACKAGE_VERSION).tar.gz
+	gpg --verify pidgin-$(PACKAGE_VERSION).tar.bz2.asc pidgin-$(PACKAGE_VERSION).tar.bz2
+
 if ENABLE_GTK
 appsdir = $(datadir)/applications
 apps_in_files = pidgin.desktop.in