summaryrefslogtreecommitdiff
path: root/ovsdb
diff options
context:
space:
mode:
authorGurucharan Shetty <gshetty@nicira.com>2013-07-31 09:24:46 -0700
committerGurucharan Shetty <gshetty@nicira.com>2013-07-31 10:33:44 -0700
commit54c18b66f669a243d43625ec39b2ddc55a28a056 (patch)
tree1a225bd4f0a918659afa07de90a38900678b0cd4 /ovsdb
parent6ba7f5cccd68b2f014c5a6b71cbc39e045a3d14d (diff)
downloadopenvswitch-54c18b66f669a243d43625ec39b2ddc55a28a056.tar.gz
ovsdb-doc: Add ovsdb-doc to distribution tar ball.
Certain platforms like xenserver do not have the latest python libraries that are needed by ovsdb-doc (which in-turn creates ovs-vswitchd.conf.db.5). When we run 'make dist' and copy over the tar ball to xenserver ddk environemt, we already include ovs-vswitchd.conf.db.5. But the absence of ovsdb-doc results in an attempt to regenerate ovs-vswitchd.conf.db.5 and that fails because of the missing python libraries. Instead of producing ovsdb-doc from ovsdb-doc.in dynamically, we statically provide ovsdb-doc and pass on the version information to it through the command line option --version. Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'ovsdb')
-rw-r--r--ovsdb/automake.mk6
-rwxr-xr-xovsdb/ovsdb-doc (renamed from ovsdb/ovsdb-doc.in)24
2 files changed, 16 insertions, 14 deletions
diff --git a/ovsdb/automake.mk b/ovsdb/automake.mk
index 448bbf740..3884d3ffd 100644
--- a/ovsdb/automake.mk
+++ b/ovsdb/automake.mk
@@ -89,10 +89,8 @@ BUILT_SOURCES += $(OVSIDL_BUILT)
$(OVSIDL_BUILT): ovsdb/ovsdb-idlc.in
# ovsdb-doc
-EXTRA_DIST += ovsdb/ovsdb-doc.in
-noinst_SCRIPTS += ovsdb/ovsdb-doc
-DISTCLEANFILES += ovsdb/ovsdb-doc
-OVSDB_DOC = $(run_python) $(builddir)/ovsdb/ovsdb-doc
+EXTRA_DIST += ovsdb/ovsdb-doc
+OVSDB_DOC = $(run_python) $(srcdir)/ovsdb/ovsdb-doc
# ovsdb-dot
EXTRA_DIST += ovsdb/ovsdb-dot.in ovsdb/dot2pic
diff --git a/ovsdb/ovsdb-doc.in b/ovsdb/ovsdb-doc
index acca3751c..662ed974a 100755
--- a/ovsdb/ovsdb-doc.in
+++ b/ovsdb/ovsdb-doc
@@ -1,4 +1,4 @@
-#! @PYTHON@
+#! /usr/bin/python
from datetime import date
import getopt
@@ -251,7 +251,7 @@ def tableToNroff(schema, tableXml):
s += body
return s
-def docsToNroff(schemaFile, xmlFile, erFile, title=None):
+def docsToNroff(schemaFile, xmlFile, erFile, title=None, version=None):
schema = ovs.db.schema.DbSchema.from_json(ovs.json.from_file(schemaFile))
doc = xml.dom.minidom.parse(xmlFile).documentElement
@@ -262,10 +262,13 @@ def docsToNroff(schemaFile, xmlFile, erFile, title=None):
if title == None:
title = schema.name
+ if version == None:
+ version = "UNKNOWN"
+
# Putting '\" p as the first line tells "man" that the manpage
# needs to be preprocessed by "pic".
s = r''''\" p
-.TH "%s" 5 @VERSION@ "Open vSwitch" "Open vSwitch Manual"
+.TH "%s" 5 "%s" "Open vSwitch" "Open vSwitch Manual"
.\" -*- nroff -*-
.de TQ
. br
@@ -281,7 +284,7 @@ def docsToNroff(schemaFile, xmlFile, erFile, title=None):
.SH NAME
%s \- %s database schema
.PP
-''' % (title, textToNroff(schema.name), schema.name)
+''' % (title, version, textToNroff(schema.name), schema.name)
tables = ""
introNodes = []
@@ -357,8 +360,8 @@ where SCHEMA is an OVSDB schema in JSON format
The following options are also available:
--er-diagram=DIAGRAM.PIC include E-R diagram from DIAGRAM.PIC
--title=TITLE use TITLE as title instead of schema name
- -h, --help display this help message
- -V, --version display version information\
+ --version=VERSION use VERSION to display on document footer
+ -h, --help display this help message\
""" % {'argv0': argv0}
sys.exit(0)
@@ -367,22 +370,23 @@ if __name__ == "__main__":
try:
options, args = getopt.gnu_getopt(sys.argv[1:], 'hV',
['er-diagram=', 'title=',
- 'help', 'version'])
+ 'version=', 'help'])
except getopt.GetoptError, geo:
sys.stderr.write("%s: %s\n" % (argv0, geo.msg))
sys.exit(1)
er_diagram = None
title = None
+ version = None
for key, value in options:
if key == '--er-diagram':
er_diagram = value
elif key == '--title':
title = value
+ elif key == '--version':
+ version = value
elif key in ['-h', '--help']:
usage()
- elif key in ['-V', '--version']:
- print "ovsdb-doc (Open vSwitch) @VERSION@"
else:
sys.exit(0)
@@ -392,7 +396,7 @@ if __name__ == "__main__":
sys.exit(1)
# XXX we should warn about undocumented tables or columns
- s = docsToNroff(args[0], args[1], er_diagram, title)
+ s = docsToNroff(args[0], args[1], er_diagram, title, version)
for line in s.split("\n"):
line = line.strip()
if len(line):