15
0

Accepting request 1321875 from devel:languages:python

- Update to 5.1.0:
  ## Breaking changes
  * Public Python API redesign: Reworked the public API to work as a Python
    module. Command functions accept explicit parameters (no args object)
  * CLI overhaul: esptool, espefuse, espsecure now use click for CLI argument
    parsing and rich-click for nice CLI rendering
  * All commands / options names have replaced underscores (_) with dashes
    (-) (e.g., flash_id -> flash-id).
  * Removed .py suffix from scripts (e.g., esptool.py flash-id -> esptool
    flash-id).
  * Centralised logging: All tools' output now goes through the EsptoolLogger
    class, allowing easy redirection
  * image-info: Deprecated the --version 1 output format
  * errors: Errors are now printed to STDERR, added KeyboardInterrupt
    handling
  * make-image: Removed the ESP8266 make-image command in favor of other
    workflows
  * espefuse: Removed execute-scripts in favor of the new public API
  * Removed support for beta chip targets: ESP32-C5(beta3), ESP32-C6(beta),
    ESP32-H2(beta1/2), ESP32-S3(beta2) are no longer supported
  * Deprecated support for Python 3.7, 3.8, and 3.9
  * write-flash: Removed the superfluous --verify option
  ## New Features
  * ESP32-P4: Add ECO5 support
  * ESP32-C5: Add support for >16 MB flash sizes
  * espefuse: Add custom key purposes for ESP32-C6/C5/P4
  * espefuse: Support burning ECDSA_384 keys
  * espefuse: Clean up limitation for BLOCK9 usage
  * espefuse: Add support for burning 512-bit keys on ESP32-C5
  * logging: Added collapsible output stages and ASCII progress bars

OBS-URL: https://build.opensuse.org/request/show/1321875
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-esptool?expand=0&rev=15
This commit is contained in:
2025-12-10 14:33:31 +00:00
committed by Git OBS Bridge
4 changed files with 113 additions and 13 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:89587769bea01111dae512873b464dbf9d6796ce5d19e5acd015160b58da3316
size 5944315

3
esptool-5.1.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fcc44a90c19d3619653b61221c6971373bb107e87c5e15bf0c48572e419c43a3
size 5904981

View File

@@ -1,3 +1,87 @@
-------------------------------------------------------------------
Wed Dec 10 03:12:25 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 5.1.0:
## Breaking changes
* Public Python API redesign: Reworked the public API to work as a Python
module. Command functions accept explicit parameters (no args object)
* CLI overhaul: esptool, espefuse, espsecure now use click for CLI argument
parsing and rich-click for nice CLI rendering
* All commands/options names have replaced underscores (_) with dashes
(-) (e.g., flash_id -> flash-id).
* Removed .py suffix from scripts (e.g., esptool.py flash-id -> esptool
flash-id).
* Centralised logging: All tools' output now goes through the EsptoolLogger
class, allowing easy redirection
* image-info: Deprecated the --version 1 output format
* errors: Errors are now printed to STDERR, added KeyboardInterrupt
handling
* make-image: Removed the ESP8266 make-image command in favor of other
workflows
* espefuse: Removed execute-scripts in favor of the new public API
* Removed support for beta chip targets: ESP32-C5(beta3), ESP32-C6(beta),
ESP32-H2(beta1/2), ESP32-S3(beta2) are no longer supported
* Deprecated support for Python 3.7, 3.8, and 3.9
* write-flash: Removed the superfluous --verify option
## New Features
* ESP32-P4: Add ECO5 support
* ESP32-C5: Add support for >16 MB flash sizes
* espefuse: Add custom key purposes for ESP32-C6/C5/P4
* espefuse: Support burning ECDSA_384 keys
* espefuse: Clean up limitation for BLOCK9 usage
* espefuse: Add support for burning 512-bit keys on ESP32-C5
* logging: Added collapsible output stages and ASCII progress bars
* trace: Updated --trace with more info and more readable formatting
* verbosity: Allowed setting silent or verbose output levels
* cmds: Allowed commands to output bytes, as well as write to a file
* cmds: Allowed inputs of commands to be file paths, bytes, or file-like
objects
* flash_attach: Encapsulated logic for flash attaching and configuration
* espefuse: Added eFuse calculation fields for ESP32-C5
* espefuse: Added 3-bit field for wafer major version in ESP32-P4
* espsecure: Dropped ecdsa module, using cryptography instead
* targets: Updated chip features lists with more info
* Added support for Adesto flash chips
* Added support for k, M suffix for flash sizes
## Bug Fixes
* Use correct error codes for ROM errors
* ESP32-C5: Erase during flashing above 16MB
* write_flash: Make write flash memory-layout-independent
* elf2image: Handle ELF files with zero program header counts
* elf2image: Fix --pad-to-size argument parsing
* CLI: Handle deprecated options with "=" before value
* Prevent exiting immediately when being called programmatically
* espefuse: Update CLI to support rich-click 1.9.0
* espefuse: Fix re-connection issue in check-error via USB-Serial/JTAG
* espefuse: Disable programming and usage of XTS-AES-256 eFuse key for
ESP32-C5
* espsecure: Fix printing key digest in signature info
* espsecure: Extract public key version 1 in RAW format
* espsecure: Allow signing multiple files in one go
* espsecure: Add support for python-pkcs11 9.0+
* Fix compatibility with Click 8.2.0+
* Fix --port-filter argument parsing
* Fix buffering issues with CP2102 converter causing connection failures
* ESP32-S3: Fix stub flasher execution with active Secure Boot
* ESP32-C3: Disable flasher stub when Secure Boot is active
* espefuse: Handle error in burn-efuse command when no arguments are
provided
* elf2image: Validate ELF section types and addresses before processing
* elf2image: Handle PREINIT_ARRAY section type in ESP32-P4 ELF files
properly
* elf2image: Fix incorrect logger call
* write-flash: Detect more cases of unresponsive flash, fixed failing
flash_size check
* autodetection: Removed the Unsupported detection protocol stage
* elf2image: Fixed RAM app generation when SHA256 offset is not specified
* image-info: Sanitized app and bootloader info of null bytes
* logging: Avoid crashes when flushing if sys.stdout is not available
* ESP32-S2: Enabled auto-detection in secure download mode
* ESP32-P4: Enabled ECO5 chip detection
* elf2image: Multiple fixes from 3rd party frameworks
* read-flash: Added timeout to to avoid infinite loops
* espefuse: Close data files after reading the data
-------------------------------------------------------------------
Wed Jun 25 13:24:02 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-esptool
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,24 +18,23 @@
%{?sle15_python_module_pythons}
Name: python-esptool
Version: 4.9.0
Version: 5.1.0
Release: 0
Summary: A serial utility to communicate & flash code to Espressif ESP8266 & ESP32 chips
License: GPL-2.0-or-later
Group: Development/Languages/Python
URL: https://github.com/espressif/esptool
Source: https://github.com/espressif/esptool/archive/v%{version}.tar.gz#/esptool-%{version}.tar.gz
BuildRequires: %{python_module PyYAML}
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module base >= 3.10}
BuildRequires: %{python_module bitstring >= 3.1.6}
BuildRequires: %{python_module ecdsa >= 0.16.0}
BuildRequires: %{python_module intelhex}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pyelftools}
BuildRequires: %{python_module pyserial >= 3.0}
BuildRequires: %{python_module pyserial >= 3.3}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module reedsolo >= 1.5.3}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module rich-click}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
@@ -43,11 +42,12 @@ BuildRequires: openssl
BuildRequires: python-rpm-macros
Requires: python-PyYAML >= 5.1
Requires: python-bitstring >= 3.1.6
Requires: python-cryptography >= 2.1.4
Requires: python-ecdsa >= 0.16.0
Requires: python-click
Requires: python-cryptography >= 43
Requires: python-intelhex
Requires: python-pyserial >= 3.0
Requires: python-pyserial >= 3.3
Requires: python-reedsolo >= 1.5.3
Requires: python-rich-click
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
@@ -73,6 +73,10 @@ Allows flashing firmware, reading back firmware, querying chip parameters, etc.
%python_clone -a %{buildroot}%{_bindir}/espsecure.py
%python_clone -a %{buildroot}%{_bindir}/esptool.py
%python_clone -a %{buildroot}%{_bindir}/esp_rfc2217_server.py
%python_clone -a %{buildroot}%{_bindir}/espefuse
%python_clone -a %{buildroot}%{_bindir}/espsecure
%python_clone -a %{buildroot}%{_bindir}/esptool
%python_clone -a %{buildroot}%{_bindir}/esp_rfc2217_server
%python_expand rm -rf %{buildroot}%{$python_sitelib}/__pycache__/*.pyc
%python_expand %fdupes %{buildroot}%{$python_sitelib}
@@ -88,12 +92,20 @@ rm -v test/test_espsecure.py test/test_espsecure_hsm.py
%python_install_alternative espsecure.py
%python_install_alternative esptool.py
%python_install_alternative esp_rfc2217_server.py
%python_install_alternative espefuse
%python_install_alternative espsecure
%python_install_alternative esptool
%python_install_alternative esp_rfc2217_server
%postun
%python_uninstall_alternative espefuse.py
%python_uninstall_alternative espsecure.py
%python_uninstall_alternative esptool.py
%python_uninstall_alternative esp_rfc2217_server.py
%python_uninstall_alternative espefuse
%python_uninstall_alternative espsecure
%python_uninstall_alternative esptool
%python_uninstall_alternative esp_rfc2217_server
%files %{python_files}
%license LICENSE
@@ -102,8 +114,12 @@ rm -v test/test_espsecure.py test/test_espsecure_hsm.py
%python_alternative %{_bindir}/espsecure.py
%python_alternative %{_bindir}/espefuse.py
%python_alternative %{_bindir}/esp_rfc2217_server.py
%{python_sitelib}/esptool-%{version}.dist-info
%python_alternative %{_bindir}/esptool
%python_alternative %{_bindir}/espsecure
%python_alternative %{_bindir}/espefuse
%python_alternative %{_bindir}/esp_rfc2217_server
%{python_sitelib}/esptool
%{python_sitelib}/esptool-%{version}.dist-info
%{python_sitelib}/esp_rfc2217_server
%{python_sitelib}/espsecure
%{python_sitelib}/espefuse