Blob Blame History Raw
--- lib/libvcc/vmodtool.py.orig	2015-03-05 14:20:35.982791597 +0100
+++ lib/libvcc/vmodtool.py	2015-03-05 14:34:46.896115280 +0100
@@ -33,8 +33,8 @@
 	vmod_${name}.rst -- Extracted documentation
 """
 
-# This script should work with both Python 2 and Python 3.
-from __future__ import print_function
+## This script should work with both Python 2 and Python 3.
+#from __future__ import print_function
 
 import sys
 import re
@@ -67,6 +67,15 @@
 
 #######################################################################
 
+# __future__ print_function is not available on python2.4 in rhel5, so
+# make a local simple variant _print
+
+def _print(*objects, **kwargs):
+  sep = kwargs.get('sep', ' ')
+  end = kwargs.get('end', '\n')
+  out = kwargs.get('file', sys.stdout)
+  out.write(sep.join(objects) + end)
+
 def write_file_warning(fo, a, b, c):
 	fo.write(a + "\n")
 	fo.write(b + " NB:  This file is machine generated, DO NOT EDIT!\n")
@@ -741,8 +750,8 @@
 			if opts.strict:
 				raise FormatError(m, details)
 			else:
-				print("WARNING: %s:" % m, file=sys.stderr)
-				print(details, file=sys.stderr)
+				_print("WARNING: %s:" % m, file=sys.stderr)
+				_print(details, file=sys.stderr)
 		else:
 			for ln, i in self.l:
 				o.doc(i)
@@ -784,9 +793,12 @@
 def runmain(inputvcc, outputname="vcc_if"):
 	# Read the file in
 	lines = []
-	with open(inputvcc, "r") as fp:
+	fp = open(inputvcc, "r")
+	try:
 		for i in fp:
 			lines.append(i.rstrip())
+	finally:
+		fp.close
 	ln = 0
 
 	#######################################################################
@@ -839,11 +851,11 @@
 		for i in sl:
 			i.parse(vx)
 			assert len(i.tl) == 0
-	except ParseError as e:
+	except ParseError, e:
 		print("ERROR: Parse error reading \"%s\":" % inputvcc)
 		pprint(str(e))
 		exit(-1)
-	except FormatError as e:
+	except FormatError, e:
 		print("ERROR: Format error reading \"%s\": %s" %
 		    (inputvcc, pformat(e.msg)))
 		print(e.details)
@@ -916,7 +928,7 @@
 		if not i_vcc:
 			i_vcc = "vmod.vcc"
 	else:
-		print("ERROR: No vmod.vcc file supplied or found.",
+		_print("ERROR: No vmod.vcc file supplied or found.",
 		    file=sys.stderr)
 		oparser.print_help()
 		exit(-1)