summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bzr-builddeb/default.conf4
-rw-r--r--debian/changelog6
-rwxr-xr-xdebian/rules14
-rwxr-xr-xprepare-release37
4 files changed, 46 insertions, 15 deletions
diff --git a/.bzr-builddeb/default.conf b/.bzr-builddeb/default.conf
index 9c55498c..c33445b5 100644
--- a/.bzr-builddeb/default.conf
+++ b/.bzr-builddeb/default.conf
@@ -1,2 +1,6 @@
[BUILDDEB]
native = true
+
+[HOOKS]
+pre-export = ./prepare-release pre-export
+post-build = ./prepare-release post-build
diff --git a/debian/changelog b/debian/changelog
index 72ecc2f2..6eee11b4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -51,8 +51,12 @@ apt (0.8.16~exp14) UNRELEASED; urgency=low
- bump Standards-Version to 3.9.3 (no changes needed)
* doc/apt-get.8.xml:
- typofix: respect → respecting, thanks Mike Erickson! (Closes: #664833)
+ * debian/rules:
+ - do not sed in configure.in to set the version-number
+ * prepare-release:
+ - add as a small script to lazy check and prepare releases
- -- David Kalnischkies <kalnischkies@gmail.com> Thu, 22 Mar 2012 12:53:34 +0100
+ -- David Kalnischkies <kalnischkies@gmail.com> Thu, 22 Mar 2012 19:23:57 +0100
apt (0.8.16~exp13) experimental; urgency=low
diff --git a/debian/rules b/debian/rules
index b819460c..4b951066 100755
--- a/debian/rules
+++ b/debian/rules
@@ -34,9 +34,6 @@ build:
PKG=apt
DEB_BUILD_PROG:=debuild --preserve-envvar PATH --preserve-envvar CCACHE_DIR -us -uc $(DEB_BUILD_PROG_OPTS)
-APT_DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p' | sed -e 's/\+.*$$//')
-APT_CONFVER=$(shell sed -n -e 's/^PACKAGE_VERSION="\(.*\)"/\1/p' configure.in)
-APT_CVSTAG=$(shell echo "$(APT_DEBVER)" | sed -e 's/^/v/' -e 's/\./_/g')
# Determine the build directory to use
BASE=.
@@ -53,17 +50,6 @@ ifeq ($(words $(BLD)),0)
override BLD := ./build
endif
-# Rebuild configure.in to have the correct version from the change log
-ifneq ($(APT_DEBVER),$(APT_CONFVER))
-ifneq ($(APT_DEBVER),)
-.PHONY: configure.in
-configure.in:
- sed -e 's/$(APT_CONFVER)/$(APT_DEBVER)/' $@ > $@.$$$$ && mv $@.$$$$ $@
-endif
-else
-configure.in:
-endif
-
# APT Programs in apt-utils
APT_UTILS=ftparchive sortpkgs extracttemplates internal-solver
diff --git a/prepare-release b/prepare-release
new file mode 100755
index 00000000..e02157b2
--- /dev/null
+++ b/prepare-release
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+VERSION=$(dpkg-parsechangelog | sed -n -e '/^Version:/s/^Version: //p')
+DISTRIBUTION=$(dpkg-parsechangelog | sed -n -e '/^Distribution:/s/^Distribution: //p')
+
+if [ "$1" = 'pre-export' ]; then
+ if [ "$DISTRIBUTION" = 'sid' ]; then
+ echo >&2 '»sid« is not a valid distribution. Replace it with »unstable« for you'
+ sed -i -e 's/) sid; urgency=/) unstable; urgency=/' debian/changelog
+ DISTRIBUTION='unstable'
+ elif [ "$DISTRIBUTION" = 'UNRELEASED' ]; then
+ echo >&2 'WARNING: Remember to change to a valid distribution for release'
+ VERSION="$VERSION~$(date +%Y%m%d)"
+ fi
+
+ if [ "$(date +%Y-%m-%d)" != "$(grep --max-count=1 '^"POT-Creation-Date: .*\n"$' po/apt-all.pot | cut -d' ' -f 2)" -o \
+ "$(date +%Y-%m-%d)" != "$(grep --max-count=1 '^"POT-Creation-Date: .*\n"$' doc/po/apt-doc.pot | cut -d' ' -f 2)" ]; then
+ echo >&2 'POT files are not up-to-date. Execute »make update-po« for you…'
+ make update-po
+ fi
+
+ sed -i -e "s/^PACKAGE_VERSION=\".*\"$/PACKAGE_VERSION=\"${VERSION}\"/" configure.in
+elif [ "$1" = 'post-build' ]; then
+ if [ "$DISTRIBUTION" != "UNRELEASED" ]; then
+ echo >&2 "REMEMBER: Tag this release with »bzr tag ${VERSION}« if you are satisfied"
+ else
+ echo >&2 'REMEMBER: Change to a valid distribution before release'
+ fi
+else
+ echo >&1 "Usage:\t$0 pre-export
+\t$0 post-build
+
+If you use »bzr builddeb« you can leave this script alone as it 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."
+fi