aboutsummaryrefslogtreecommitdiff
path: root/utils/checkpackagelib
diff options
context:
space:
mode:
authorGravatar Ricardo Martincoski <ricardo.martincoski@gmail.com>2018-08-11 00:48:27 -0300
committerGravatar Peter Korsgaard <peter@korsgaard.com>2019-01-16 23:14:25 +0100
commit02b165dc71fa1aafe04ba0c69281d3ae4c0c974b (patch)
treea1b06072a9211dc922a94d4ac1bf68fefbc1c6e5 /utils/checkpackagelib
parente7386442c97b8ca521618656d1899018a09ecf1d (diff)
downloadbuildroot-02b165dc71fa1aafe04ba0c69281d3ae4c0c974b.tar.gz
buildroot-02b165dc71fa1aafe04ba0c69281d3ae4c0c974b.tar.bz2
check-package: fix Python3 support
This script currently uses "/usr/bin/env python" as shebang but it does not really support Python3. Instead of limiting the script to Python2, fix it to support both versions. So change all imports to absolute imports because Python3 follows PEP328 and dropped implicit relative imports. In order to avoid errors when decoding files with the default 'utf-8' codec, use errors="surrogateescape" when opening files, the docs for open() states: "This is useful for processing files in an unknown encoding.". This argument is not compatible with Python2 open() so import 'six' to use it only when running in Python3. As a consequence the file handler becomes explicit, so use it to close() the file after it got processed. This "surrogateescape" is a simple alternative to the complete solution of opening files with "rb" and changing all functions in the lib*.py files to use bytes objects instead of strings. The only case we can have non-ascii/non-utf-8 files being checked by the script are for patch files when the upstream file to be patched is not ascii or utf-8. There is currently one case in the tree: package/urg/0002-urg-gcc6-fix-narrowing-conversion.patch. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Tested-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'utils/checkpackagelib')
-rw-r--r--utils/checkpackagelib/lib.py2
-rw-r--r--utils/checkpackagelib/lib_config.py10
-rw-r--r--utils/checkpackagelib/lib_hash.py10
-rw-r--r--utils/checkpackagelib/lib_mk.py10
-rw-r--r--utils/checkpackagelib/lib_patch.py4
5 files changed, 18 insertions, 18 deletions
diff --git a/utils/checkpackagelib/lib.py b/utils/checkpackagelib/lib.py
index 91f4ad49b7..6afe1aabce 100644
--- a/utils/checkpackagelib/lib.py
+++ b/utils/checkpackagelib/lib.py
@@ -1,6 +1,6 @@
# See utils/checkpackagelib/readme.txt before editing this file.
-from base import _CheckFunction
+from checkpackagelib.base import _CheckFunction
class ConsecutiveEmptyLines(_CheckFunction):
diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py
index 1d273f1c5f..89d44da57e 100644
--- a/utils/checkpackagelib/lib_config.py
+++ b/utils/checkpackagelib/lib_config.py
@@ -5,11 +5,11 @@
import re
-from base import _CheckFunction
-from lib import ConsecutiveEmptyLines # noqa: F401
-from lib import EmptyLastLine # noqa: F401
-from lib import NewlineAtEof # noqa: F401
-from lib import TrailingSpace # noqa: F401
+from checkpackagelib.base import _CheckFunction
+from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401
+from checkpackagelib.lib import EmptyLastLine # noqa: F401
+from checkpackagelib.lib import NewlineAtEof # noqa: F401
+from checkpackagelib.lib import TrailingSpace # noqa: F401
def _empty_or_comment(text):
diff --git a/utils/checkpackagelib/lib_hash.py b/utils/checkpackagelib/lib_hash.py
index 6d4cc9fd62..3e381119a5 100644
--- a/utils/checkpackagelib/lib_hash.py
+++ b/utils/checkpackagelib/lib_hash.py
@@ -5,11 +5,11 @@
import re
-from base import _CheckFunction
-from lib import ConsecutiveEmptyLines # noqa: F401
-from lib import EmptyLastLine # noqa: F401
-from lib import NewlineAtEof # noqa: F401
-from lib import TrailingSpace # noqa: F401
+from checkpackagelib.base import _CheckFunction
+from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401
+from checkpackagelib.lib import EmptyLastLine # noqa: F401
+from checkpackagelib.lib import NewlineAtEof # noqa: F401
+from checkpackagelib.lib import TrailingSpace # noqa: F401
def _empty_line_or_comment(text):
diff --git a/utils/checkpackagelib/lib_mk.py b/utils/checkpackagelib/lib_mk.py
index 0e430a2f12..4387cf7167 100644
--- a/utils/checkpackagelib/lib_mk.py
+++ b/utils/checkpackagelib/lib_mk.py
@@ -6,11 +6,11 @@
import re
-from base import _CheckFunction
-from lib import ConsecutiveEmptyLines # noqa: F401
-from lib import EmptyLastLine # noqa: F401
-from lib import NewlineAtEof # noqa: F401
-from lib import TrailingSpace # noqa: F401
+from checkpackagelib.base import _CheckFunction
+from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401
+from checkpackagelib.lib import EmptyLastLine # noqa: F401
+from checkpackagelib.lib import NewlineAtEof # noqa: F401
+from checkpackagelib.lib import TrailingSpace # noqa: F401
class Indent(_CheckFunction):
diff --git a/utils/checkpackagelib/lib_patch.py b/utils/checkpackagelib/lib_patch.py
index 555621afa1..453b782e6c 100644
--- a/utils/checkpackagelib/lib_patch.py
+++ b/utils/checkpackagelib/lib_patch.py
@@ -5,8 +5,8 @@
import re
-from base import _CheckFunction
-from lib import NewlineAtEof # noqa: F401
+from checkpackagelib.base import _CheckFunction
+from checkpackagelib.lib import NewlineAtEof # noqa: F401
class ApplyOrder(_CheckFunction):