summaryrefslogtreecommitdiffstats
path: root/recipes-networking/openvswitch/openvswitch-git/0006-Python3-compatibility-math-error-compatibility.patch
blob: 54905cd0a7854fe335595ce8eb739dceeb4bc7d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
From 3a9fcf1c8f60c160c282c9755ee1c7f9f7e113c3 Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Thu, 29 Jun 2017 20:33:23 -0700
Subject: [PATCH 6/8] Python3 compatibility: math error compatibility

Commit 3fa5aa4294377e0f35267936d0c5caea3e61db48 from
https://github.com/openvswitch/ovs.git

The way math is handled with typing is completely different in python3.

% python2<<EOF
x=10
y=8
print((x + (y - 1)) / y * y)
EOF
16

python3<<EOF
x=10
y=8
print((x + (y - 1)) / y * y)
EOF
17.0

So we need to force an integer for the round function as follows and
maintain compatibility with python2.

python3<<EOF
x=10
y=8
print(int((x + (y - 1)) / y) * y)
EOF
16

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
---
 build-aux/extract-ofp-actions | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build-aux/extract-ofp-actions b/build-aux/extract-ofp-actions
index c11297c..bd7131f 100755
--- a/build-aux/extract-ofp-actions
+++ b/build-aux/extract-ofp-actions
@@ -35,7 +35,7 @@ line = ""
 arg_structs = set()
 
 def round_up(x, y):
-    return (x + (y - 1)) / y * y
+    return int((x + (y - 1)) / y) * y
 
 def open_file(fn):
     global file_name
-- 
2.5.0