File bin-python3-conversion.patch of Package xen.34726

Index: xen-4.14.0-testing/tools/misc/xencons
===================================================================
--- xen-4.14.0-testing.orig/tools/misc/xencons
+++ xen-4.14.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.14.0-testing/tools/misc/xencov_split
===================================================================
--- xen-4.14.0-testing.orig/tools/misc/xencov_split
+++ xen-4.14.0-testing/tools/misc/xencov_split
@@ -1,4 +1,4 @@
-#!/usr/bin/env 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.14.0-testing/tools/misc/xenpvnetboot
===================================================================
--- xen-4.14.0-testing.orig/tools/misc/xenpvnetboot
+++ xen-4.14.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.14.0-testing/tools/python/scripts/convert-legacy-stream
===================================================================
--- xen-4.14.0-testing.orig/tools/python/scripts/convert-legacy-stream
+++ xen-4.14.0-testing/tools/python/scripts/convert-legacy-stream
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
 # -*- coding: utf-8 -*-
 
 """
Index: xen-4.14.0-testing/tools/python/scripts/verify-stream-v2
===================================================================
--- xen-4.14.0-testing.orig/tools/python/scripts/verify-stream-v2
+++ xen-4.14.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 """
Index: xen-4.14.0-testing/tools/xenmon/xenmon.py
===================================================================
--- xen-4.14.0-testing.orig/tools/xenmon/xenmon.py
+++ xen-4.14.0-testing/tools/xenmon/xenmon.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
 
 #####################################################################
 # xenmon is a front-end for xenbaked.
Index: xen-4.14.0-testing/tools/xentrace/xentrace_format
===================================================================
--- xen-4.14.0-testing.orig/tools/xentrace/xentrace_format
+++ xen-4.14.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)
openSUSE Build Service is sponsored by