All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] blktrace: modify two scripts for python3
@ 2020-03-03 22:56 Joe Slater
  0 siblings, 0 replies; only message in thread
From: Joe Slater @ 2020-03-03 22:56 UTC (permalink / raw)
  To: openembedded-core

Backport from git.kernel.dk.  Changed shebangs to use python3.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
 .../blktrace/make-btt-scripts-python3-ready.patch  | 197 +++++++++++++++++++++
 meta/recipes-kernel/blktrace/blktrace_git.bb       |   1 +
 2 files changed, 198 insertions(+)
 create mode 100644 meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch

diff --git a/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch b/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch
new file mode 100644
index 0000000..3b0c1c6
--- /dev/null
+++ b/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch
@@ -0,0 +1,197 @@
+From 70d5ca2d5f3d6b97c11c641b7e0c5836983219a0 Mon Sep 17 00:00:00 2001
+From: Eric Sandeen <sandeen@redhat.com>
+Date: Wed, 28 Mar 2018 15:26:36 -0500
+Subject: [oe-core][PATCH 1/1] make btt scripts python3-ready
+
+Many distributions are moving to python3 by default.  Here's
+an attempt to make the python scripts in blktrace python3-ready.
+
+Most of this was done with automated tools.  I hand fixed some
+space-vs tab issues, and cast an array index to integer.  It
+passes rudimentary testing when run under python2.7 as well
+as python3.
+
+This doesn't do anything with the shebangs, it leaves them both
+invoking whatever "env python" coughs up on the system.
+
+Signed-off-by: Eric Sandeen <sandeen@redhat.com>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+
+Unchanged except to modify shebangs to use python3 since
+oe-core does not support python2 anymore.
+
+Upstream-Status: Backport [git://git.kernel.dk/blktrace.git commit 70d5ca2d5...]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+---
+ btt/bno_plot.py | 28 +++++++++++++++-------------
+ btt/btt_plot.py | 22 +++++++++++++---------
+ 2 files changed, 28 insertions(+), 22 deletions(-)
+
+--- git.orig/btt/bno_plot.py
++++ git/btt/bno_plot.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#! /usr/bin/env python3
+ #
+ # btt blkno plotting interface
+ #
+@@ -38,6 +38,8 @@ automatically push the keys under the gr
+ To exit the plotter, enter 'quit' or ^D at the 'gnuplot> ' prompt.
+ """
+ 
++from __future__ import absolute_import
++from __future__ import print_function
+ import getopt, glob, os, sys, tempfile
+ 
+ verbose	= 0
+@@ -60,14 +62,14 @@ def parse_args(in_args):
+ 
+ 	try:
+ 		(opts, args) = getopt.getopt(in_args, s_opts, l_opts)
+-	except getopt.error, msg:
+-		print >>sys.stderr, msg
+-		print >>sys.stderr, __doc__
++	except getopt.error as msg:
++		print(msg, file=sys.stderr)
++		print(__doc__, file=sys.stderr)
+ 		sys.exit(1)
+ 
+ 	for (o, a) in opts:
+ 		if o in ('-h', '--help'):
+-			print __doc__
++			print(__doc__)
+ 			sys.exit(0)
+ 		elif o in ('-v', '--verbose'):
+ 			verbose += 1
+@@ -84,10 +86,10 @@ if __name__ == '__main__':
+ 	(bnos, keys_below) = parse_args(sys.argv[1:])
+ 
+ 	if verbose:
+-		print 'Using files:',
+-		for bno in bnos: print bno,
+-		if keys_below:	print '\nKeys are to be placed below graph'
+-		else:		print ''
++		print('Using files:', end=' ')
++		for bno in bnos: print(bno, end=' ')
++		if keys_below:	print('\nKeys are to be placed below graph')
++		else:		print('')
+ 
+ 	tmpdir = tempfile.mktemp()
+ 	os.mkdir(tmpdir)
+@@ -99,7 +101,7 @@ if __name__ == '__main__':
+ 		fo = open(t, 'w')
+ 		for line in open(f, 'r'):
+ 			fld = line.split(None)
+-			print >>fo, fld[0], fld[1], int(fld[2])-int(fld[1])
++			print(fld[0], fld[1], int(fld[2])-int(fld[1]), file=fo)
+ 		fo.close()
+ 
+ 		t = t[t.rfind('/')+1:]
+@@ -107,16 +109,16 @@ if __name__ == '__main__':
+ 		else:                plot_cmd = "%s,'%s'" % (plot_cmd, t)
+ 
+ 	fo = open('%s/plot.cmds' % tmpdir, 'w')
+-	print >>fo, cmds
+-	if len(bnos) > 10 or keys_below: print >>fo, 'set key below'
+-	print >>fo, plot_cmd
++	print(cmds, file=fo)
++	if len(bnos) > 10 or keys_below: print('set key below', file=fo)
++	print(plot_cmd, file=fo)
+ 	fo.close()
+ 
+ 	pid = os.fork()
+ 	if pid == 0:
+ 		cmd = 'gnuplot %s/plot.cmds -' % tmpdir
+ 
+-		if verbose: print 'Executing %s' % cmd
++		if verbose: print('Executing %s' % cmd)
+ 
+ 		os.chdir(tmpdir)
+ 		os.system(cmd)
+--- git.orig/btt/btt_plot.py
++++ git/btt/btt_plot.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#! /usr/bin/env python3
+ #
+ # btt_plot.py: Generate matplotlib plots for BTT generate data files
+ #
+@@ -55,6 +55,10 @@ Arguments:
+   but the -o (--output) and -T (--title) options will be ignored.
+ """
+ 
++from __future__ import absolute_import
++from __future__ import print_function
++import six
++from six.moves import range
+ __author__ = 'Alan D. Brunelle <alan.brunelle@hp.com>'
+ 
+ #------------------------------------------------------------------------------
+@@ -82,7 +86,7 @@ get_base 	= lambda file: file[file.find(
+ def fatal(msg):
+ 	"""Generate fatal error message and exit"""
+ 
+-	print >>sys.stderr, 'FATAL: %s' % msg
++	print('FATAL: %s' % msg, file=sys.stderr)
+ 	sys.exit(1)
+ 
+ #------------------------------------------------------------------------------
+@@ -163,7 +167,7 @@ def get_data(files):
+ 		if not os.path.exists(file):
+ 			fatal('%s not found' % file)
+ 		elif verbose:
+-			print 'Processing %s' % file
++			print('Processing %s' % file)
+ 
+ 		xs = []
+ 		ys = []
+@@ -214,8 +218,8 @@ def parse_args(args):
+ 
+ 	try:
+ 		(opts, args) = getopt.getopt(args[1:], s_opts, l_opts)
+-	except getopt.error, msg:
+-		print >>sys.stderr, msg
++	except getopt.error as msg:
++		print(msg, file=sys.stderr)
+ 		fatal(__doc__)
+ 
+ 	for (o, a) in opts:
+@@ -293,15 +297,15 @@ def generate_output(type, db):
+ 	def color(idx, style):
+ 		"""Returns a color/symbol type based upon the index passed."""
+ 
+-                colors = [ 'b', 'g', 'r', 'c', 'm', 'y', 'k' ]
++		colors = [ 'b', 'g', 'r', 'c', 'm', 'y', 'k' ]
+ 		l_styles = [ '-', ':', '--', '-.' ]
+ 		m_styles = [ 'o', '+', '.', ',', 's', 'v', 'x', '<', '>' ]
+ 
+ 		color = colors[idx % len(colors)]
+ 		if style == 'line':
+-			style = l_styles[(idx / len(l_styles)) % len(l_styles)]
++			style = l_styles[int((idx / len(l_styles)) % len(l_styles))]
+ 		elif style == 'marker':
+-			style = m_styles[(idx / len(m_styles)) % len(m_styles)]
++			style = m_styles[int((idx / len(m_styles)) % len(m_styles))]
+ 
+ 		return '%s%s' % (color, style)
+ 
+@@ -314,7 +318,7 @@ def generate_output(type, db):
+ 		ofile = '%s.png' % type
+ 
+ 	if verbose:
+-		print 'Generating plot into %s' % ofile
++		print('Generating plot into %s' % ofile)
+ 
+ 	fig = plt.figure(figsize=plot_size)
+ 	ax = fig.add_subplot(111)
+@@ -329,7 +333,7 @@ def generate_output(type, db):
+ 		legends = None
+ 
+ 	keys = []
+-	for file in db.iterkeys():
++	for file in six.iterkeys(db):
+ 		if not file in ['min_x', 'max_x', 'min_y', 'max_y']:
+ 			keys.append(file)
+ 
diff --git a/meta/recipes-kernel/blktrace/blktrace_git.bb b/meta/recipes-kernel/blktrace/blktrace_git.bb
index 2605ff9..6903053 100644
--- a/meta/recipes-kernel/blktrace/blktrace_git.bb
+++ b/meta/recipes-kernel/blktrace/blktrace_git.bb
@@ -12,6 +12,7 @@ PV = "1.2.0+git${SRCPV}"
 SRC_URI = "git://git.kernel.dk/blktrace.git \
            file://ldflags.patch \
            file://CVE-2018-10689.patch \
+           file://make-btt-scripts-python3-ready.patch \
 "
 
 S = "${WORKDIR}/git"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-03 22:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-03 22:56 [PATCH 1/1] blktrace: modify two scripts for python3 Joe Slater

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.