From 3a496cd2c06bf00d8386ff9c56e2fd26eb61ec5a Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 22 Mar 2012 19:29:53 +0100 Subject: [PATCH 1/1] * 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 --- .bzr-builddeb/default.conf | 4 ++++ debian/changelog | 6 +++++- debian/rules | 14 -------------- prepare-release | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 46 insertions(+), 15 deletions(-) create mode 100755 prepare-release diff --git a/.bzr-builddeb/default.conf b/.bzr-builddeb/default.conf index 9c55498ce..c33445b56 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 72ecc2f27..6eee11b41 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 Thu, 22 Mar 2012 12:53:34 +0100 + -- David Kalnischkies 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 b819460c1..4b9510663 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 000000000..e02157b24 --- /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 -- 2.45.2