crda: Fix build with python3

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj
2020-01-21 18:09:19 -08:00
parent 9e314f7bcb
commit 9322d09dc4
2 changed files with 103 additions and 1 deletions
@@ -0,0 +1,101 @@
Imported from Gentoo
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c50acec16bc7c33d6dc122c007d713e7fbecf9c
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/utils/key2pub.py
+++ b/utils/key2pub.py
@@ -1,22 +1,22 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import sys
try:
from M2Crypto import RSA
-except ImportError, e:
+except ImportError as e:
sys.stderr.write('ERROR: Failed to import the "M2Crypto" module: %s\n' % e.message)
sys.stderr.write('Please install the "M2Crypto" Python module.\n')
sys.stderr.write('On Debian GNU/Linux the package is called "python-m2crypto".\n')
sys.exit(1)
def print_ssl_64(output, name, val):
- while val[0] == '\0':
+ while val[0:1] == b'\0':
val = val[1:]
while len(val) % 8:
- val = '\0' + val
+ val = b'\0' + val
vnew = []
while len(val):
- vnew.append((val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7]))
+ vnew.append((val[0:1], val[1:2], val[2:3], val[3:4], val[4:5], val[5:6], val[6:7], val[7:8]))
val = val[8:]
vnew.reverse()
output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew)))
@@ -34,13 +34,13 @@ def print_ssl_64(output, name, val):
output.write('};\n\n')
def print_ssl_32(output, name, val):
- while val[0] == '\0':
+ while val[0:1] == b'\0':
val = val[1:]
while len(val) % 4:
- val = '\0' + val
+ val = b'\0' + val
vnew = []
while len(val):
- vnew.append((val[0], val[1], val[2], val[3], ))
+ vnew.append((val[0:1], val[1:2], val[2:3], val[3:4]))
val = val[4:]
vnew.reverse()
output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew)))
@@ -81,21 +81,21 @@ struct pubkey {
static struct pubkey keys[] __attribute__((unused))= {
''')
- for n in xrange(n + 1):
+ for n in range(n + 1):
output.write(' KEYS(e_%d, n_%d),\n' % (n, n))
output.write('};\n')
pass
def print_gcrypt(output, name, val):
output.write('#include <stdint.h>\n')
- while val[0] == '\0':
+ while val[0:1] == b'\0':
val = val[1:]
output.write('static const uint8_t %s[%d] = {\n' % (name, len(val)))
idx = 0
for v in val:
if not idx:
output.write('\t')
- output.write('0x%.2x, ' % ord(v))
+ output.write('0x%.2x, ' % (v if sys.version_info[0] >=3 else ord(v)))
idx += 1
if idx == 8:
idx = 0
@@ -118,7 +118,7 @@ struct key_params {
static const struct key_params keys[] __attribute__((unused))= {
''')
- for n in xrange(n + 1):
+ for n in range(n + 1):
output.write(' KEYS(e_%d, n_%d),\n' % (n, n))
output.write('};\n')
@@ -136,7 +136,7 @@ except IndexError:
mode = None
if not mode in modes:
- print 'Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys()))
+ print('Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys())))
sys.exit(2)
output = open(outfile, 'w')
@@ -154,3 +154,5 @@ for f in files:
idx += 1
modes[mode][1](output, idx - 1)
+
+output.close()
@@ -4,7 +4,7 @@ SECTION = "net"
LICENSE = "copyleft-next-0.3.0"
LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe"
DEPENDS = "python-m2crypto-native python-typing-native python-native libnl libgcrypt"
DEPENDS = "python3-m2crypto-native libnl libgcrypt"
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
file://do-not-run-ldconfig-if-destdir-is-set.patch \
@@ -14,6 +14,7 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
file://make.patch \
file://use-target-word-size-instead-of-host-s.patch \
file://fix-issues-when-USE_OPENSSL-1.patch \
file://crda-4.14-python-3.patch \
"
SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"