espressif / idf-component-manager

Tool for installing ESP-IDF components
https://components.espressif.com/
Apache License 2.0
42 stars 15 forks source link

Manifest File version field broken (PACMAN-663) #38

Closed higaski closed 12 months ago

higaski commented 12 months ago

The Component Manager version

v1.3.1

ESP-IDF Version

ESP-IDF v5.2-dev-1349-gcf7e743a9b

python Version

Python 3.11.3

Operating System

Arch

Browser (for https://components.espressif.com Issues)

No response

Description

It is no longer possible to use the version field when referencing git branches or tags.

To Reproduce

Add the following dependency to any project:

  dcc:
    version: v0.27.1 # branches don't work either
    git: https://github.com/ZIMO-Elektronik/DCC.git

Expected behaviour

The component manager should check out the specified tag. Valid tags may contain prefixes (e.g. v1.0.0).

Additional info

No response

I have checked existing issues and online Documentation

higaski commented 12 months ago

I just realized that ESP-IDF always comes with the latest version of the component manager... this is bad. How can I downgrade to whatever version branches and tags are still working?

hfudev commented 12 months ago

Hi @higaski! I can reproduce this issue locally. We're preparing for a 1.3.2 bugfix version very soon. Sorry for the inconvenience.

How can I downgrade to whatever version branches and tags are still working?

Starting from ESP-IDF 5.0, the install.sh will install the latest versions that match our internal maintained constraint file for all python packages. The install.sh will first download the branch corresponding constraint file (for example, the current master one) from https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.2.txt and place it under ~/.espressif, then pass this constraint file while doing a pip install for each required dependency.

The constraint version spec (2023-07-05) for idf-component-manager is ~=1.2. So you may also install the 1.2.3 version with pip install "idf-component-manager==1.2.3". That will work as a temporary workaround.