summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2010-05-26 15:53:57 -0700
committerBen Pfaff <blp@nicira.com>2010-05-27 09:44:11 -0700
commit208d496f15787e55777c2ef541595f9e750ef771 (patch)
treef00491e11d424bb6b40da8a4125335254fb3e578
parent609d182a8161e9e87300cc680ff55c50d02b6e22 (diff)
downloadopenvswitch-208d496f15787e55777c2ef541595f9e750ef771.tar.gz
debian: Attempt to keep debian/changelog up-to-date.
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.
-rw-r--r--Makefile.am4
-rwxr-xr-xboot.sh4
-rwxr-xr-xbuild-aux/update-debian-changelog37
-rw-r--r--debian/automake.mk4
4 files changed, 48 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index c23b670a5..3a3ddb7ed 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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 05dd35996..dce5625c5 100755
--- 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
index 000000000..2007d4ff7
--- /dev/null
+++ b/build-aux/update-debian-changelog
@@ -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
diff --git a/debian/automake.mk b/debian/automake.mk
index 1b649453f..2658e392d 100644
--- a/debian/automake.mk
+++ b/debian/automake.mk
@@ -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