esptool Python module is a collection of libs and scripts to interact
with the bootloader on Espressif SoCs. The Python module happens to
provide three useful scripts: esptool, espefuse and espsecure. esptool
is the backbone of communication with the Espressif SoC's bootloader.
espefuse is useful when one needs to burn fuses or read the current fuse
state. Finally, espsecure is a tool for setting up Espressif
implementation of secure boot on their SoC.

espsecure depends on python3-cryptography which is a Rust-based Python
module, making it a heavy tool dependency-wise which is the reason why
the scripts have been split in their own package so that people only
interested in esptool script have the smallest possible dependency
chain.

Cc: Quentin Schulz <[email protected]>
Signed-off-by: Quentin Schulz <[email protected]>
---
 .../python3-esptool/python3-esptool_4.4.bb         | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git 
a/meta-python/recipes-devtools/python3-esptool/python3-esptool_4.4.bb 
b/meta-python/recipes-devtools/python3-esptool/python3-esptool_4.4.bb
new file mode 100644
index 0000000000..573e5fbdd1
--- /dev/null
+++ b/meta-python/recipes-devtools/python3-esptool/python3-esptool_4.4.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A Python-based, open-source, platform-independent utility to 
communicate with the ROM bootloader in Espressif chips."
+HOMEPAGE = "https://github.com/espressif/esptool";
+BUGTRACKER = "https://github.com/espressif/esptool/issues";
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI[sha256sum] = 
"8acd4dfe70819b1302861ae92894380fb4700b377f5a4739479a4ec276e0b256"
+
+inherit pypi setuptools3
+
+# Split the Python package into multiple Yocto packages to avoid bringing in
+# heavy dependencies like python3-cryptography when only esptool.py might be
+# needed.
+PACKAGE_BEFORE_PN += "${PN}-espefuse ${PN}-espsecure"
+
+RDEPENDS:${PN} += "python3-core python3-pyserial"
+
+RDEPENDS:${PN}-espsecure += "${PN} python3-cryptography python3-ecdsa"
+FILES:${PN}-espsecure = "${bindir}/espsecure.py 
${PYTHON_SITEPACKAGES_DIR}/espsecure/*"
+
+RDEPENDS:${PN}-espefuse += "${PN} python3-bitstring ${PN}-espsecure 
python3-reedsolo"
+FILES:${PN}-espefuse = "${bindir}/espefuse.py 
${PYTHON_SITEPACKAGES_DIR}/espefuse/*"

-- 
2.39.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#100488): 
https://lists.openembedded.org/g/openembedded-devel/message/100488
Mute This Topic: https://lists.openembedded.org/mt/96160246/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to