File bin-python3-conversion.patch of Package xen.17648
Index: xen-4.10.0-testing/tools/misc/xen-bugtool
===================================================================
--- xen-4.10.0-testing.orig/tools/misc/xen-bugtool
+++ xen-4.10.0-testing/tools/misc/xen-bugtool
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- mode: python; -*-
@@ -13,5 +13,5 @@ if __name__ == "__main__":
try:
sys.exit(bugtool.main())
except KeyboardInterrupt:
- print "\nInterrupted."
+ print("\nInterrupted.")
sys.exit(1)
Index: xen-4.10.0-testing/tools/misc/xencons
===================================================================
--- xen-4.10.0-testing.orig/tools/misc/xencons
+++ xen-4.10.0-testing/tools/misc/xencons
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
##############################################
# Console client for Xen guest OSes
@@ -27,13 +27,13 @@ def __recv_from_sock(sock):
while not stop:
try:
data = sock.recv(1024)
- except socket.error, error:
+ except socket.error as error:
if error[0] != errno.EINTR:
raise
else:
try:
os.write(1, data)
- except os.error, error:
+ except os.error as error:
if error[0] != errno.EINTR:
raise
os.wait()
@@ -42,7 +42,7 @@ def __send_to_sock(sock):
while 1:
try:
data = os.read(0,1024)
- except os.error, error:
+ except os.error as error:
if error[0] != errno.EINTR:
raise
else:
@@ -50,7 +50,7 @@ def __send_to_sock(sock):
break
try:
sock.send(data)
- except socket.error, error:
+ except socket.error as error:
if error[0] == errno.EPIPE:
sys.exit(0)
if error[0] != errno.EINTR:
@@ -73,20 +73,20 @@ def connect(host,port):
if os.fork():
signal.signal(signal.SIGCHLD, __child_death)
- print "************ REMOTE CONSOLE: CTRL-] TO QUIT ********"
+ print("************ REMOTE CONSOLE: CTRL-] TO QUIT ********")
tcsetattr(0, TCSAFLUSH, nattrs)
try:
__recv_from_sock(sock)
finally:
tcsetattr(0, TCSAFLUSH, oattrs)
- print
- print "************ REMOTE CONSOLE EXITED *****************"
+ print()
+ print("************ REMOTE CONSOLE EXITED *****************")
else:
signal.signal(signal.SIGPIPE, signal.SIG_IGN)
__send_to_sock(sock)
if __name__ == '__main__':
if len(sys.argv) != 3:
- print sys.argv[0] + " <host> <port>"
+ print(sys.argv[0] + " <host> <port>")
sys.exit(1)
connect(str(sys.argv[1]),int(sys.argv[2]))
Index: xen-4.10.0-testing/tools/misc/xencov_split
===================================================================
--- xen-4.10.0-testing.orig/tools/misc/xencov_split
+++ xen-4.10.0-testing/tools/misc/xencov_split
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
import sys, os, os.path as path, struct, errno
from optparse import OptionParser
@@ -51,7 +51,7 @@ def xencov_split(opts):
dir = opts.output_dir + path.dirname(fn)
try:
os.makedirs(dir)
- except OSError, e:
+ except OSError as e:
if e.errno == errno.EEXIST and os.path.isdir(dir):
pass
else:
@@ -89,8 +89,8 @@ def main():
if __name__ == "__main__":
try:
sys.exit(main())
- except Exception, e:
- print >>sys.stderr, "Error:", e
+ except Exception as e:
+ print("Error:", e, file=sys.stderr)
sys.exit(1)
except KeyboardInterrupt:
sys.exit(1)
Index: xen-4.10.0-testing/tools/misc/xenpvnetboot
===================================================================
--- xen-4.10.0-testing.orig/tools/misc/xenpvnetboot
+++ xen-4.10.0-testing/tools/misc/xenpvnetboot
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
#
# Copyright (C) 2010 Oracle. All rights reserved.
#
@@ -17,9 +17,9 @@ import time
import string
import random
import tempfile
-import commands
import subprocess
-import urlgrabber
+import subprocess
+import urllib.request as request
from optparse import OptionParser
@@ -58,7 +58,7 @@ def mount(dev, path, option=''):
else:
mountcmd = '/bin/mount'
cmd = ' '.join([mountcmd, option, dev, path])
- (status, output) = commands.getstatusoutput(cmd)
+ (status, output) = subprocess.getstatusoutput(cmd)
if status != 0:
raise RuntimeError('Command: (%s) failed: (%s) %s' % (cmd, status, output))
@@ -79,7 +79,7 @@ class Fetcher:
def prepare(self):
if not os.path.exists(self.tmpdir):
- os.makedirs(self.tmpdir, 0750)
+ os.makedirs(self.tmpdir, 0o750)
def cleanup(self):
pass
@@ -89,8 +89,8 @@ class Fetcher:
suffix = ''.join(random.sample(string.ascii_letters, 6))
local_name = os.path.join(self.tmpdir, 'xenpvboot.%s.%s' % (os.path.basename(filename), suffix))
try:
- return urlgrabber.urlgrab(url, local_name, copy_local=1)
- except Exception, err:
+ return request.urlretrieve(url, local_name)
+ except Exception as err:
raise RuntimeError('Cannot get file %s: %s' % (url, err))
@@ -155,7 +155,7 @@ class TFTPFetcher(Fetcher):
suffix = ''.join(random.sample(string.ascii_letters, 6))
local_name = os.path.join(self.tmpdir, 'xenpvboot.%s.%s' % (os.path.basename(filename), suffix))
cmd = '/usr/bin/tftp %s -c get %s %s' % (host, os.path.join(basedir, filename), local_name)
- (status, output) = commands.getstatusoutput(cmd)
+ (status, output) = subprocess.getstatusoutput(cmd)
if status != 0:
raise RuntimeError('Command: (%s) failed: (%s) %s' % (cmd, status, output))
return local_name
@@ -202,7 +202,7 @@ Supported locations:
if not opts.location and not opts.kernel and not opts.ramdisk:
if not opts.quiet:
- print >> sys.stderr, 'You should at least specify a location or kernel/ramdisk.'
+ print('You should at least specify a location or kernel/ramdisk.', file=sys.stderr)
parser.print_help(sys.stderr)
sys.exit(1)
@@ -228,14 +228,14 @@ Supported locations:
fetcher = TFTPFetcher(location, opts.output_directory)
else:
if not opts.quiet:
- print >> sys.stderr, 'Unsupported location: %s' % location
+ print('Unsupported location: %s' % location, file=sys.stderr)
sys.exit(1)
try:
fetcher.prepare()
- except Exception, err:
+ except Exception as err:
if not opts.quiet:
- print >> sys.stderr, str(err)
+ print(str(err), file=sys.stderr)
fetcher.cleanup()
sys.exit(1)
@@ -247,15 +247,15 @@ Supported locations:
for (kernel_path, _) in XEN_PATHS:
try:
kernel = fetcher.get_file(kernel_path)
- except Exception, err:
+ except Exception as err:
if not opts.quiet:
- print >> sys.stderr, str(err)
+ print(str(err), file=sys.stderr)
continue
break
if not kernel:
if not opts.quiet:
- print >> sys.stderr, 'Cannot get kernel from loacation: %s' % location
+ print('Cannot get kernel from loacation: %s' % location, file=sys.stderr)
sys.exit(1)
ramdisk = None
@@ -265,9 +265,9 @@ Supported locations:
for (_, ramdisk_path) in XEN_PATHS:
try:
ramdisk = fetcher.get_file(ramdisk_path)
- except Exception, err:
+ except Exception as err:
if not opts.quiet:
- print >> sys.stderr, str(err)
+ print(str(err), file=sys.stderr)
continue
break
finally:
@@ -280,7 +280,7 @@ Supported locations:
elif opts.output_format == 'simple0':
output = format_simple(kernel, ramdisk, opts.args, '\0')
else:
- print >> sys.stderr, 'Unknown output format: %s' % opts.output_format
+ print('Unknown output format: %s' % opts.output_format, file=sys.stderr)
sys.exit(1)
sys.stdout.flush()
Index: xen-4.10.0-testing/tools/misc/xen-ringwatch
===================================================================
--- xen-4.10.0-testing.orig/tools/misc/xen-ringwatch
+++ xen-4.10.0-testing/tools/misc/xen-ringwatch
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#
# Copyright (C) 2011 Citrix Systems, Inc.
#
@@ -75,8 +75,8 @@ class XenBackend(object):
def from_name(cls, name):
match = cls._name_pattern.search(name)
if not match:
- raise Exception, "Malformed %s name: %s" % \
- (type(self).__name__, name)
+ raise Exception("Malformed %s name: %s" % \
+ (type(self).__name__, name))
rd = match.group(1)
devid = match.group(2)
@@ -214,9 +214,9 @@ class RingState(object):
match = cls._size_pattern.search(_nr_ents)
nr_ents = int(match.group(1))
- except Exception, e:
- raise Exception, "Malformed %s input: %s (%s)" % \
- (cls.__name__, repr(s), str(e))
+ except Exception as e:
+ raise Exception("Malformed %s input: %s (%s)" % \
+ (cls.__name__, repr(s), str(e)))
req = cls.Req.from_sysfs(_req, size=nr_ents)
rsp = cls.Rsp.from_sysfs(_rsp, size=nr_ents)
@@ -235,12 +235,12 @@ class RingState(object):
match = cls._pattern.search(line)
if not match:
- raise Exception, "Malformed %s input: %s" % \
- (cls.__name__, repr(s))
+ raise Exception("Malformed %s input: %s" % \
+ (cls.__name__, repr(s)))
i = iter(match.groups())
for k in i:
- d[k] = i.next()
+ d[k] = next(i)
return cls(**d)
@@ -413,7 +413,7 @@ class WatchList(object):
else:
entry.update()
- except IOError, e:
+ except IOError as e:
pass
# NB. racing unplug, any ring.read() may raise.
# nothing left to memorize then.
@@ -421,7 +421,7 @@ class WatchList(object):
self.list[key] = entry
def __iter__(self):
- return self.list.itervalues()
+ return iter(self.list.values())
def pending(self):
for entry in self:
@@ -450,7 +450,7 @@ if __name__ == '__main__':
verbose = 0
period = DEFAULT_PERIOD
- backends = XenBackend.TYPES.values()
+ backends = list(XenBackend.TYPES.values())
kick = False
iowatch = False
@@ -466,7 +466,7 @@ if __name__ == '__main__':
(('t', 'types'),
"Comma separated list of backend types to watch. (%s)" % \
- ",".join(map(lambda t: t.XEN_BACKEND_NAME, backends))),
+ ",".join([t.XEN_BACKEND_NAME for t in backends])),
(('T', 'period'),
"Watch update period. (%d) [secs]" % \
@@ -483,27 +483,27 @@ if __name__ == '__main__':
def usage(stream):
prog = os.path.basename(argv[0])
- print >>stream
+ print(file=stream)
- print >>stream, "Usage:"
- print >>stream, "\t%s [options] {%s}" % (prog, "|".join(COMMANDS))
+ print("Usage:", file=stream)
+ print("\t%s [options] {%s}" % (prog, "|".join(COMMANDS)), file=stream)
- print >>stream
+ print(file=stream)
- print >>stream, "Commands:"
- for (name, desc) in COMMANDS.iteritems():
- print >>stream, "\t%s: \t%s" % (name, desc)
+ print("Commands:", file=stream)
+ for (name, desc) in COMMANDS.items():
+ print("\t%s: \t%s" % (name, desc), file=stream)
- print >>stream
+ print(file=stream)
- print >>stream, "Options:"
+ print("Options:", file=stream)
for ((short, _long), desc) in OPTIONS:
- print >>stream, "\t-%s, --%s: \t%s" % (short, _long, desc)
+ print("\t-%s, --%s: \t%s" % (short, _long, desc), file=stream)
- print >>stream
+ print(file=stream)
def fail(msg = None):
- if msg: print >>stderr, "Error: %s" % msg
+ if msg: print("Error: %s" % msg, file=stderr)
usage(stderr)
exit(1)
@@ -511,18 +511,18 @@ if __name__ == '__main__':
usage(stdout)
- print __doc__ % (XenBackend.SYSFS_BASEDIR, RingWatch.STCK)
+ print(__doc__ % (XenBackend.SYSFS_BASEDIR, RingWatch.STCK))
- print "Backend Types:"
- for k, v in XenBackend.TYPES.iteritems():
- print "\t%s: \t%s (%s)" % (k, v.__doc__, v._name_glob)
-
- print
- print "Ring States:"
- for k, v in RingWatch.COMMENTS.iteritems():
- print "\t%s: \t%s" % (k, v)
+ print("Backend Types:")
+ for k, v in XenBackend.TYPES.items():
+ print("\t%s: \t%s (%s)" % (k, v.__doc__, v._name_glob))
+
+ print()
+ print("Ring States:")
+ for k, v in RingWatch.COMMENTS.items():
+ print("\t%s: \t%s" % (k, v))
- print
+ print()
try:
opts, args = gnu_getopt(argv[1:],
@@ -533,7 +533,7 @@ if __name__ == '__main__':
"type=",
"verbose",
"period="])
- except GetoptError, e:
+ except GetoptError as e:
fail(str(e))
for (o, arg) in opts:
@@ -553,7 +553,7 @@ if __name__ == '__main__':
elif o in ('-t', '--type'):
backends = ",".split(arg)
- backends = map(lambda t: XenBackend.TYPES[t], backends)
+ backends = [XenBackend.TYPES[t] for t in backends]
elif o in ('-k', '--kick'):
kick = True
@@ -577,7 +577,7 @@ if __name__ == '__main__':
def show(entries):
for watch in entries:
- print watch.display()
+ print(watch.display())
def pause():
import time
Index: xen-4.10.0-testing/tools/python/scripts/convert-legacy-stream
===================================================================
--- xen-4.10.0-testing.orig/tools/python/scripts/convert-legacy-stream
+++ xen-4.10.0-testing/tools/python/scripts/convert-legacy-stream
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
@@ -39,16 +39,16 @@ def info(msg):
for line in msg.split("\n"):
syslog.syslog(syslog.LOG_INFO, line)
else:
- print msg
+ print(msg)
def err(msg):
"""Error message, routed to appropriate destination"""
if log_to_syslog:
for line in msg.split("\n"):
syslog.syslog(syslog.LOG_ERR, line)
- print >> sys.stderr, msg
+ print(msg, file=sys.stderr)
-class StreamError(StandardError):
+class StreamError(Exception):
"""Error with the incoming migration stream"""
pass
@@ -637,7 +637,7 @@ def open_file_or_fd(val, mode):
else:
return open(val, mode, 0)
- except StandardError, e:
+ except Exception as e:
if fd != -1:
err("Unable to open fd %d: %s: %s" %
(fd, e.__class__.__name__, e))
@@ -723,7 +723,7 @@ def main():
if __name__ == "__main__":
try:
sys.exit(main())
- except SystemExit, e:
+ except SystemExit as e:
sys.exit(e.code)
except KeyboardInterrupt:
sys.exit(1)
Index: xen-4.10.0-testing/tools/python/scripts/verify-stream-v2
===================================================================
--- xen-4.10.0-testing.orig/tools/python/scripts/verify-stream-v2
+++ xen-4.10.0-testing/tools/python/scripts/verify-stream-v2
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
""" Verify a v2 format migration stream """
@@ -25,7 +25,7 @@ def info(msg):
for line in msg.split("\n"):
syslog.syslog(syslog.LOG_INFO, line)
else:
- print msg
+ print(msg)
def err(msg):
"""Error message, routed to appropriate destination"""
@@ -33,7 +33,7 @@ def err(msg):
if log_to_syslog:
for line in msg.split("\n"):
syslog.syslog(syslog.LOG_ERR, line)
- print >> sys.stderr, msg
+ print(msg, file=sys.stderr)
def stream_read(_ = None):
"""Read from input"""
@@ -86,7 +86,7 @@ def read_stream(fmt):
err(traceback.format_exc())
return 1
- except StandardError:
+ except Exception:
err("Script Error:")
err(traceback.format_exc())
err("Please fix me")
@@ -114,7 +114,7 @@ def open_file_or_fd(val, mode, buffering
else:
return open(val, mode, buffering)
- except StandardError, e:
+ except Exception as e:
if fd != -1:
err("Unable to open fd %d: %s: %s" %
(fd, e.__class__.__name__, e))
@@ -168,7 +168,7 @@ def main():
if __name__ == "__main__":
try:
sys.exit(main())
- except SystemExit, e:
+ except SystemExit as e:
sys.exit(e.code)
except KeyboardInterrupt:
sys.exit(2)
Index: xen-4.10.0-testing/tools/xenmon/xenmon.py
===================================================================
--- xen-4.10.0-testing.orig/tools/xenmon/xenmon.py
+++ xen-4.10.0-testing/tools/xenmon/xenmon.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
#####################################################################
# xenmon is a front-end for xenbaked.
@@ -248,8 +248,8 @@ def display(scr, row, col, str, attr=0):
scr.keypad(0)
_c.echo()
_c.endwin()
- print "Your terminal screen is not big enough; Please resize it."
- print "row=%d, col=%d, str='%s'" % (row, col, str)
+ print("Your terminal screen is not big enough; Please resize it.")
+ print("row=%d, col=%d, str='%s'" % (row, col, str))
sys.exit(1)
@@ -704,7 +704,7 @@ def main():
try:
writelog()
except:
- print 'Quitting.'
+ print('Quitting.')
stop_xenbaked()
if __name__ == "__main__":
Index: xen-4.10.0-testing/tools/xentrace/xentrace_format
===================================================================
--- xen-4.10.0-testing.orig/tools/xentrace/xentrace_format
+++ xen-4.10.0-testing/tools/xentrace/xentrace_format
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# by Mark Williamson, (C) 2004 Intel Research Cambridge
@@ -7,8 +7,7 @@
import re, sys, string, signal, struct, os, getopt
def usage():
- print >> sys.stderr, \
- "Usage: " + sys.argv[0] + """ defs-file
+ print("Usage: " + sys.argv[0] + """ defs-file
Parses trace data in binary format, as output by Xentrace and
reformats it according to the rules in a file of definitions. The
rules in this file should have the format ({ and } show grouping
@@ -29,7 +28,7 @@ def usage():
this script may not be able to keep up with the output of xentrace
if it is piped directly. In these circumstances you should have
xentrace output to a file for processing off-line.
- """
+ """, file=sys.stderr)
sys.exit(1)
def read_defs(defs_file):
@@ -49,7 +48,7 @@ def read_defs(defs_file):
m = reg.match(line)
- if not m: print >> sys.stderr, "Bad format file" ; sys.exit(1)
+ if not m: print("Bad format file", file=sys.stderr) ; sys.exit(1)
defs[str(eval(m.group(1)))] = m.group(2)
@@ -83,8 +82,8 @@ interrupted = 0
try:
defs = read_defs(arg[0])
-except IOError, exn:
- print exn
+except IOError as exn:
+ print(exn)
sys.exit(1)
# structure of trace record (as output by xentrace):
@@ -211,7 +210,7 @@ while not interrupted:
if cpu >= len(last_tsc):
last_tsc += [0] * (cpu - len(last_tsc) + 1)
elif tsc < last_tsc[cpu] and tsc_in == 1:
- print "TSC stepped backward cpu %d ! %d %d" % (cpu,tsc,last_tsc[cpu])
+ print("TSC stepped backward cpu %d ! %d %d" % (cpu,tsc,last_tsc[cpu]))
# provide relative TSC
if last_tsc[cpu] > 0 and tsc_in == 1:
@@ -239,18 +238,20 @@ while not interrupted:
try:
- if defs.has_key(str(event)):
- print defs[str(event)] % args
+ if str(event) in defs:
+ print(defs[str(event)] % args)
else:
- if defs.has_key(str(0)): print defs[str(0)] % args
+ if str(0) in defs: print(defs[str(0)] % args)
except TypeError:
- if defs.has_key(str(event)):
- print defs[str(event)]
- print args
+ if str(event) in defs:
+ print(defs[str(event)])
+ print(args)
else:
- if defs.has_key(str(0)):
- print defs[str(0)]
- print args
+ if str(0) in defs:
+ print(defs[str(0)])
+ print(args)
- except IOError, struct.error: sys.exit()
+ except IOError as xxx_todo_changeme:
+ struct.error = xxx_todo_changeme
+ sys.exit(1)