debian: Attempt to keep debian/changelog up-to-date.
authorBen Pfaff <blp@nicira.com>
Wed, 26 May 2010 22:53:57 +0000 (15:53 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 27 May 2010 16:44:11 +0000 (09:44 -0700)
Invariably we forget to update the version number in debian/changelog as
we change OVS's own version number.  This is embarrassing.

This commit introduces two different times to automatically update the
debian/changelog version number: whenever boot.sh runs and whenever
"make dist" runs.  In the latter case, only the version number in the
distributed tarball is updated, but that seems OK.

Reported by Joan Cirer <joan@ev0.net> most recently, and by others over
the last year or so too.

Makefile.am
boot.sh
build-aux/update-debian-changelog [new file with mode: 0755]
debian/automake.mk

index c23b670..3a3ddb7 100644 (file)
@@ -52,7 +52,9 @@ noinst_SCRIPTS =
 OVSIDL_BUILT =
 SUFFIXES =
 
-EXTRA_DIST += soexpand.pl
+EXTRA_DIST += \
+       build-aux/update-debian-changelog \
+       soexpand.pl
 
 ro_c = echo '/* -*- mode: c; buffer-read-only: t -*- */'
 
diff --git a/boot.sh b/boot.sh
index 05dd359..dce5625 100755 (executable)
--- a/boot.sh
+++ b/boot.sh
@@ -1,2 +1,6 @@
 #! /bin/sh
 autoreconf --install --force
+
+# Ensure that debian/changelog is up-to-date.
+VERSION=`autom4te --language=autoconf -t 'AC_INIT:$2' configure.ac`
+build-aux/update-debian-changelog debian/changelog "$VERSION"
diff --git a/build-aux/update-debian-changelog b/build-aux/update-debian-changelog
new file mode 100755 (executable)
index 0000000..2007d4f
--- /dev/null
@@ -0,0 +1,37 @@
+#! /bin/sh
+
+if test $# != 2; then
+    cat <<EOF 
+$0, to update version information a Debian changelog
+usage: $0 CHANGELOG VERSION
+
+This utility checks whether CHANGELOG, which should be a Debian changelog
+file, contains a record for VERSION.  If not, then it adds one at the top.
+EOF
+    exit 1
+fi
+
+CHANGELOG=$1
+VERSION=$2
+if test ! -e "$CHANGELOG"; then
+    echo "$0: $CHANGELOG does not exist (use --help for help"
+    exit 1
+fi
+
+if grep '($(VERSION))' debian/changelog >/dev/null 2>&1; then
+    :
+else
+    echo "Adding change log record for $VERSION to $CHANGELOG"
+    {
+        cat <<EOF
+openvswitch ($VERSION) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Open vSwitch team <dev@openvswitch.org>  `date -u +"%a, %d %b %Y %H:%M:%S +0000"`
+
+EOF
+        cat "$CHANGELOG"
+    } > "$CHANGELOG".new
+    mv "$CHANGELOG".new "$CHANGELOG"
+fi
index 1b64945..2658e39 100644 (file)
@@ -61,3 +61,7 @@ EXTRA_DIST += \
        debian/reconfigure \
        debian/rules \
        debian/rules.modules
+
+dist-hook:
+       $(srcdir)/build-aux/update-debian-changelog '$(distdir)/debian/changelog' '$(VERSION)'
+EXTRA_DIST += build-aux/check-structs