diff options
author | Ross Burton <ross@burtonini.com> | 2021-11-02 12:32:34 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2021-11-02 08:06:11 -0700 |
commit | 94fc0589b50f43afd1a19303a40389652929bf38 (patch) | |
tree | 11fc9d6ebb67e56420d9cf3249ade4c68d7ebac3 | |
parent | 32d397a06d4cd4b6c05dbacc473d06e84283c1c4 (diff) | |
download | meta-openembedded-contrib-94fc0589b50f43afd1a19303a40389652929bf38.tar.gz |
python3-imgtool: add recipe
imgtool is part of MCUboot, used to sign images and manage keys.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
-rw-r--r-- | meta-python/recipes-devtools/python/python3-imgtool/cbor2.patch | 67 | ||||
-rw-r--r-- | meta-python/recipes-devtools/python/python3-imgtool_1.8.0.bb | 14 |
2 files changed, 81 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-imgtool/cbor2.patch b/meta-python/recipes-devtools/python/python3-imgtool/cbor2.patch new file mode 100644 index 0000000000..3e8c202bce --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-imgtool/cbor2.patch @@ -0,0 +1,67 @@ +Upstream-Status: Submitted [https://github.com/mcu-tools/mcuboot/pull/1190] +Signed-off-by: Ross Burton <ross.burton@arm.com> + +From f9c6f31b936d34df9a6551609cb16ed9c348be88 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Tue, 2 Nov 2021 11:12:04 +0000 +Subject: [PATCH] imgtool: prefer cbor2 over cbor + +The cbor module is unmaintained, with the last release in 2016[1]. The +cbor2 module however is under active development and was last released +just last month[2]. + +As the APIs are identical, we can import cbor2 and if that fails fall +back to cbor. + +[1] https://pypi.org/project/cbor/#history +[2] https://pypi.org/project/cbor2/#history + +Closes #1189 + +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + scripts/imgtool.nix | 2 +- + scripts/imgtool/boot_record.py | 7 +++++-- + scripts/requirements.txt | 2 +- + scripts/setup.py | 2 +- + 4 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/scripts/imgtool/boot_record.py b/scripts/imgtool/boot_record.py +index ac433aa..6f0045e 100644 +--- a/scripts/imgtool/boot_record.py ++++ b/scripts/imgtool/boot_record.py +@@ -16,8 +16,11 @@ + # limitations under the License. + + from enum import Enum +-import cbor + ++try: ++ from cbor2 import dumps ++except ImportError: ++ from cbor import dumps + + class SwComponent(int, Enum): + """ +@@ -46,4 +49,4 @@ def create_sw_component_data(sw_type, sw_version, sw_measurement_description, + # list because later it will be modified by the bootloader. + properties[SwComponent.MEASUREMENT_VALUE] = sw_measurement_value + +- return cbor.dumps(properties) ++ return dumps(properties) +diff --git a/scripts/setup.py b/scripts/setup.py +index a228ea3..692cfb7 100644 +--- a/scripts/setup.py ++++ b/scripts/setup.py +@@ -17,7 +17,7 @@ setuptools.setup( + 'cryptography>=2.4.2', + 'intelhex>=2.2.1', + 'click', +- 'cbor>=1.0.0', ++ 'cbor2', + ], + entry_points={ + "console_scripts": ["imgtool=imgtool.main:imgtool"] +-- +2.25.1 + diff --git a/meta-python/recipes-devtools/python/python3-imgtool_1.8.0.bb b/meta-python/recipes-devtools/python/python3-imgtool_1.8.0.bb new file mode 100644 index 0000000000..c957fce3ac --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-imgtool_1.8.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "MCUboot's image signing and key management tool" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://imgtool/main.py;beginline=3;endline=18;md5=9965f09ae52c04886a1f04e13ccdce57" + +SRC_URI += "file://cbor2.patch;striplevel=2" + +SRC_URI[sha256sum] = "4858f5c5f48cfa4a0bb99e60d00aa291172a7ecc2afe4fb77ed96121f59b6e2f" + +inherit pypi setuptools3 + +RDEPENDS:${PN} = "python3-cbor2 python3-click python3-cryptography python3-intelhex" + +BBCLASSEXTEND = "native nativesdk" |