summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2019-11-17 23:59:37 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2019-11-22 01:10:32 +0100
commit53d8de0207e8475b09d1538f7917e9bd8110f4bc (patch)
treee9c1f5da5a5275501bcb238cb47cc455bbee1494
parentf2ef9b4feafefc7b997764b757103765fded6ed0 (diff)
downloadopenwrt-53d8de0207e8475b09d1538f7917e9bd8110f4bc.tar.gz
openwrt-53d8de0207e8475b09d1538f7917e9bd8110f4bc.tar.bz2
openwrt-53d8de0207e8475b09d1538f7917e9bd8110f4bc.zip
wireless-regdb: Make it build with python2
This backports a patch to build it work with python2 in addition to python3. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit d3a8a62692b06b3e5fe7077a2ce641fbf09cdc19)
-rw-r--r--package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch b/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch
new file mode 100644
index 0000000000..81f50f5dc0
--- /dev/null
+++ b/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch
@@ -0,0 +1,58 @@
+From 651e39dee8605995b736b6056c6f7dc5c5a9c948 Mon Sep 17 00:00:00 2001
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Thu, 22 Aug 2019 21:46:27 +0200
+Subject: [PATCH] regdb: fix compatibility with python2
+
+Various changes in the commit mentioned below broke
+compatibility with python2. Restore it in a way that
+makes it worth with both versions.
+
+Fixes: f3c4969c2485 ("wireless-regdb: make scripts compatible with Python 3")
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
+---
+ db2bin.py | 2 +-
+ db2fw.py | 2 +-
+ dbparse.py | 3 +--
+ 3 files changed, 3 insertions(+), 4 deletions(-)
+
+--- a/db2bin.py
++++ b/db2bin.py
+@@ -118,7 +118,7 @@ reg_country_ptr.set()
+ for alpha2 in countrynames:
+ coll = countries[alpha2]
+ # struct regdb_file_reg_country
+- output.write(struct.pack('>BBxBI', alpha2[0], alpha2[1], coll.dfs_region, reg_rules_collections[coll.permissions]))
++ output.write(struct.pack('>2sxBI', alpha2, coll.dfs_region, reg_rules_collections[coll.permissions]))
+
+
+ if len(sys.argv) > 3:
+--- a/db2fw.py
++++ b/db2fw.py
+@@ -85,7 +85,7 @@ countrynames = list(countries)
+ countrynames.sort()
+ for alpha2 in countrynames:
+ coll = countries[alpha2]
+- output.write(struct.pack('>BB', alpha2[0], alpha2[1]))
++ output.write(struct.pack('>2s', alpha2))
+ country_ptrs[alpha2] = PTR(output)
+ output.write(b'\x00' * 4)
+
+--- a/dbparse.py
++++ b/dbparse.py
+@@ -1,6 +1,5 @@
+ #!/usr/bin/env python
+
+-from builtins import bytes
+ from functools import total_ordering
+ import sys, math
+ from math import ceil, log
+@@ -359,7 +358,7 @@ class DBParser(object):
+ for cname in cnames:
+ if len(cname) != 2:
+ self._warn("country '%s' not alpha2" % cname)
+- cname = bytes(cname, 'ascii')
++ cname = cname.encode('ascii')
+ if not cname in self._countries:
+ self._countries[cname] = Country(dfs_region, comments=self._comments)
+ self._current_countries[cname] = self._countries[cname]