summaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorRodriguez Betancourt, Esteban <estebarb@hpe.com>2016-04-15 23:08:47 +0000
committerBen Pfaff <blp@ovn.org>2016-04-22 08:43:00 -0700
commit39916858552d43ceedf9b1680fb79734b336a19e (patch)
tree36ed933a2ed0ca327c030622d63bf7219ab900c3 /build-aux
parent7ab0b62b344758651676f55577acbc1a21e15110 (diff)
downloadopenvswitch-39916858552d43ceedf9b1680fb79734b336a19e.tar.gz
cksum: Refine schema cksum validation
Calculates the cksum removing the cksum line using a more strict regex than the used previously. It fixes a problem when calculating the cksum of a schema that has fields with the substring cksum (e.g.: a checksum column), lines that the previous cksum calculation incorrectly removes before running cksum. Also, the tool calculate-schema-cksum is introduced. This tool calculates the cksum of a schema file. It could be used in other programs, instead of calculating the cksum in an eventually different way than the expected by cksum-schema-check and other tools. Signed-off-by: Esteban Rodriguez Betancourt <estebarb@hpe.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'build-aux')
-rwxr-xr-xbuild-aux/calculate-schema-cksum4
-rwxr-xr-xbuild-aux/cksum-schema-check3
2 files changed, 6 insertions, 1 deletions
diff --git a/build-aux/calculate-schema-cksum b/build-aux/calculate-schema-cksum
new file mode 100755
index 000000000..4ce9bf807
--- /dev/null
+++ b/build-aux/calculate-schema-cksum
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+schema=$1
+sed '/"cksum": *"[0-9][0-9]* [0-9][0-9]*",/d' $schema | cksum
diff --git a/build-aux/cksum-schema-check b/build-aux/cksum-schema-check
index 0fe37e4af..335e6456a 100755
--- a/build-aux/cksum-schema-check
+++ b/build-aux/cksum-schema-check
@@ -3,7 +3,8 @@
schema=$1
stamp=$2
-sum=`sed '/cksum/d' $schema | cksum`
+cksumcheckpath=`dirname $0`
+sum=`$cksumcheckpath/calculate-schema-cksum $schema`
expected=`sed -n 's/.*"cksum": "\(.*\)".*/\1/p' $schema`
if test "X$sum" = "X$expected"; then
touch $stamp