Compare commits

8 Commits

Author SHA256 Message Date
49e0ead4c4 Accepting request 1288851 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1288851
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-esptool?expand=0&rev=14
2025-06-27 21:02:25 +00:00
8af9c65288 Accepting request 1288557 from home:glaubitz:branches:devel:languages:python
- Update to 4.9.0
  * ESP32-H21: Added full support
  * ESP32-H4: Added full support
  * ESP32-P4: Enabled USB-OTG in flasher stub
  * ESP32-P4: Added support for >16MB flash sizes in flasher stub
  * ESP32-S3: Added support for >16MB encrypted writes in flasher stub
  * chip_type_verification: Enabled in secure download mode,
    stopped using magic numbers
  * watchdog_reset: Added a new watchdog_reset option working even in USB modes
  * erase_region: Enabled erasing in ROM bootloader and secure download mode
  * Added information about the currently used USB mode during chip connection
  * image_info: Extended the app description info with new segments
  * esp_rfc2217: Improved the logger message format
  * Added the option to filter connections based on the serial number
  * hard_reset: Added support for custom hard reset sequence configuration
  * Added support for Python 3.13
  * espefuse: Added support for eFuses for ESP32-C5 ECO2
  * espefuse: Added support for eFuses for ESP32-C61 ECO3
  * espsecure: Improved error messages in encrypt_flash_data() and decrypt_flash_data()
  * espefuse: Added support for different eFuse table versions for ESP32-H2
  * espefuse: Added 3 bit for PSRAM_CAP efuse field
  * espefuse: Added API for getting block and wafer versions
  * espefuse: Added ADC calibration data for ESP32-C61, ESP32-C5, and ESP32-P4
  * stub_flasher: Fixed failing ESP32-C5 ECO2 flash writes
  * stub_flasher: Fixed USB-Serial/JTAG mode on ESP32-C5 ECO2 and ESP32-C61 ECO3
  * write_flash: Detect more cases of unresponsive flash, fixed failing flash_size check
  * write_flash: Skipped flash_size checks if we can't read flash size
  * espefuse: Fixed output messages in set_flash_voltage
  * espefuse: Corrected JTAG_SEL_ENABLE to GPIO34 strapping pin on ESP32-P4
  * ESP32-C5: Fixed bootloader address

OBS-URL: https://build.opensuse.org/request/show/1288557
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-esptool?expand=0&rev=30
2025-06-27 14:20:17 +00:00
5b5cc8df6f Accepting request 1227783 from devel:languages:python
- update to 4.8.1:
  * Add esp32c2 eco4 rom magic value
  * Correctly exclude the unwanted sub/modules
  * Supports wafer efuse versions for esp32c61
  * add new command SFDP read
  * Add option to retry connection in a loop
  * Updates efuse table for esp32c5
  * Updates efuse table for esp32p4
  * Added stub flasher support
  * add autocompletions
  * allow picking UART by VID/PID/Name
  * Add USB-serial/JTAG stub support
  * Add UART stub support
  * Print key_purpose name for get_security_info cmd
  * Adds support extend efuse table by user CSV
    file* separated(default) and united(new)
  * Adds incompatible eFuse settings check for S3
  * Apply reconnections to the whole reset sequence,
    not line transitions
  * Automatically reconnect if port disconnects during reset
  * Add ECO1 magic number
  * Add support for secure boot v2 using
    ECDSA-P384 signatures
  * retry flashing if chip disconnects
  * Allow filtering efuses based on command line arguments
  * Enable context manager for esp instances
  * Added check for correctness of written data
  * Improves help for burn_efuse cmd
  * clear boot control register on hard reset
  * add spi-connection restriction to ROM class

OBS-URL: https://build.opensuse.org/request/show/1227783
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-esptool?expand=0&rev=13
2024-12-02 18:09:46 +00:00
9aad804fd0 - update to 4.8.1:
* Add esp32c2 eco4 rom magic value
  * Correctly exclude the unwanted sub/modules
  * Supports wafer efuse versions for esp32c61
  * add new command SFDP read
  * Add option to retry connection in a loop
  * Updates efuse table for esp32c5
  * Updates efuse table for esp32p4
  * Added stub flasher support
  * add autocompletions
  * allow picking UART by VID/PID/Name
  * Add USB-serial/JTAG stub support
  * Add UART stub support
  * Print key_purpose name for get_security_info cmd
  * Adds support extend efuse table by user CSV
    file* separated(default) and united(new)
  * Adds incompatible eFuse settings check for S3
  * Apply reconnections to the whole reset sequence,
    not line transitions
  * Automatically reconnect if port disconnects during reset
  * Add ECO1 magic number
  * Add support for secure boot v2 using
    ECDSA-P384 signatures
  * retry flashing if chip disconnects
  * Allow filtering efuses based on command line arguments
  * Enable context manager for esp instances
  * Added check for correctness of written data
  * Improves help for burn_efuse cmd
  * clear boot control register on hard reset
  * add spi-connection restriction to ROM class

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-esptool?expand=0&rev=28
2024-11-30 09:43:18 +00:00
31dff4e4e0 - switch to modern python on sle15
* esptool.py write_flash will warn if it looks like a bootloader binary
    is built for ESP32-S2 or another newer chip (support for flashing

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-esptool?expand=0&rev=27
2024-08-14 15:14:50 +00:00
4a2e6bce18 Accepting request 1185698 from devel:languages:python
- Clean up SPEC file.
- update to 4.7.0:
  New Features
    * spi_connection: Support --spi-connection on all chips, allowing connection of an external flash
    * esp32-s3: Support >16MB quad flash chips
    * bin_images: add support for intel hex format images
    * merge_bin: add support for uf2 format
    * esptool: added esp32p4 target
    * esp32p4: Stub flasher support
    * espefuse: Support XTS_AES_256_KEY key_purpose for ESP32P4
    * xip_psram: support xip psram feature on esp32p4
    * elf2image: add ram-only-header argument
    * rfc2217_server: Add hard reset sequence
    * espefuse: Adds efuse ADC calibration data for ESP32H2
    * espefuse: Update the way to complete the operation
    * add support for get_security_info on esp32c3 ECO7
    * loader: Added hints for some serial port issues when rising port error
    * Add support for Python 3.12
    * esp32c3: Support ECO6 and ECO7 magic numbers
    * efuse: Update key purpose table and tests
    * efuse: ESP32P4 adds ecdsa_key support
    * espefuse: Add support for esp32p4 chip
    * espsecure: Allow prompting for HSM PIN in read_hsm_config
    * esptool: Add new packages for ESP32C3 and flash efuses
    * esptool: Add tests for get_chip_features
    * esptool: Add PICO package for ESP32S3 and flash/psram efuses
    * get_security_info: Improved the output format and added more details
   Bug Fixes
    * flasher_stub: fix usb-serial-jtag enabled non-related intr source, improved stability
    * esp32c2: Added get_flash_cap and get_flash_vendor
    * testloadram: Windows assertion error
    * fixed exit() to be used from the correct module
    * esp32c2: Recommend using higher baud rate if connection fails
    * test_esptool: Fixed connection issues on Windows
    * esptool: Rephrase the --ram-only-header command message
    * load_ram: check for overlaps in bss section
    * tests/intelhex: make sure file is closed on Windows
    * spi_connection: Unattach previously attached SPI flash
    * espefuse: Fix ECDSA_FORCE_USE_HARDWARE_K for ECDSA key (esp32h2)
    * loader: Could not open serial port message adjusted
    * bin_image: Check only ELF sections when searching for .flash.appdesc
    * Fix redirection of STDOUT
    * autodetection: Remove the ESP32-S2 ROM class from get_security_info autodetection
    * elf2image: fix text/rodata mapping overlap issue on uni-idrom bus chips
    * expand file args: Correctly print the expanded command
    * esp32-c2: Enable flashing in secure download mode

OBS-URL: https://build.opensuse.org/request/show/1185698
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-esptool?expand=0&rev=12
2024-07-19 13:26:14 +00:00
eb13a80275 - Clean up SPEC file.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-esptool?expand=0&rev=25
2024-07-04 23:25:18 +00:00
825a1bfd39 Accepting request 1185436 from home:adrianSuSE:branches:devel:languages:python
- update to 4.7.0:
  New Features
    * spi_connection: Support --spi-connection on all chips, allowing connection of an external flash
    * esp32-s3: Support >16MB quad flash chips
    * bin_images: add support for intel hex format images
    * merge_bin: add support for uf2 format
    * esptool: added esp32p4 target
    * esp32p4: Stub flasher support
    * espefuse: Support XTS_AES_256_KEY key_purpose for ESP32P4
    * xip_psram: support xip psram feature on esp32p4
    * elf2image: add ram-only-header argument
    * rfc2217_server: Add hard reset sequence
    * espefuse: Adds efuse ADC calibration data for ESP32H2
    * espefuse: Update the way to complete the operation
    * add support for get_security_info on esp32c3 ECO7
    * loader: Added hints for some serial port issues when rising port error
    * Add support for Python 3.12
    * esp32c3: Support ECO6 and ECO7 magic numbers
    * efuse: Update key purpose table and tests
    * efuse: ESP32P4 adds ecdsa_key support
    * espefuse: Add support for esp32p4 chip
    * espsecure: Allow prompting for HSM PIN in read_hsm_config
    * esptool: Add new packages for ESP32C3 and flash efuses
    * esptool: Add tests for get_chip_features
    * esptool: Add PICO package for ESP32S3 and flash/psram efuses
    * get_security_info: Improved the output format and added more details
   Bug Fixes
    * flasher_stub: fix usb-serial-jtag enabled non-related intr source, improved stability
    * esp32c2: Added get_flash_cap and get_flash_vendor
    * testloadram: Windows assertion error

OBS-URL: https://build.opensuse.org/request/show/1185436
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-esptool?expand=0&rev=24
2024-07-04 23:13:40 +00:00
4 changed files with 13 additions and 113 deletions

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

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

View File

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

View File

@@ -1,87 +1,3 @@
-------------------------------------------------------------------
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 and contributors
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,23 +18,24 @@
%{?sle15_python_module_pythons}
Name: python-esptool
Version: 5.1.0
Version: 4.9.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.10}
BuildRequires: %{python_module base >= 3.7}
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.3}
BuildRequires: %{python_module pyserial >= 3.0}
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
@@ -42,12 +43,11 @@ BuildRequires: openssl
BuildRequires: python-rpm-macros
Requires: python-PyYAML >= 5.1
Requires: python-bitstring >= 3.1.6
Requires: python-click
Requires: python-cryptography >= 43
Requires: python-cryptography >= 2.1.4
Requires: python-ecdsa >= 0.16.0
Requires: python-intelhex
Requires: python-pyserial >= 3.3
Requires: python-pyserial >= 3.0
Requires: python-reedsolo >= 1.5.3
Requires: python-rich-click
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
@@ -73,10 +73,6 @@ 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}
@@ -92,20 +88,12 @@ 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
@@ -114,12 +102,8 @@ 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_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}/esptool
%{python_sitelib}/esp_rfc2217_server
%{python_sitelib}/espsecure
%{python_sitelib}/espefuse