-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
Related area
Components
Is your feature request related to a problem?
Recently in MicroPython we had the situation:
- We include
espressif/esp_tinyusbcomponent in our project viaidf_component.yml. espressif/esp_tinyusbcomponent includes theespressif/tinyusbcomponent as a dependency.- We needed to apply a "hot fix" by overriding the version of the
espressif/tinyusbcomponent (specifically, redirecting it to a branch in a github repo).
Our idf_component.yml looks something like:
dependencies:
espressif/esp_tinyusb:
version: "~1.7.6"I tried explicitly changing it to something like:
dependencies:
espressif/esp_tinyusb:
version: "~1.7.6"
espressif/tinyusb:
git: https://github.com/micropython/tinyusb-espressif.git
version: cherrypick/dwc2_zlp_fixComponent manager sees both components, but ultimately the version added as a dependency of esp_tinyusb replaces the first one (without any error or warning printed):
NOTICE: Processing 5 dependencies:
NOTICE: [1/5] espressif/esp_tinyusb (1.7.6~1)
NOTICE: [2/5] espressif/mdns (1.1.0)
NOTICE: [3/5] espressif/tinyusb (e4c0ec3caab3d9c25374de7047653b9ced8f14ff)
NOTICE: [4/5] espressif/tinyusb (0.18.0~6)
NOTICE: [5/5] idf (5.5.1)
Describe the solution you'd like
It'd be very helpful if the logic of override_path could be generalised to allow any dependency in the project to be overridden by the top level manifest. i.e. something like:
espressif/esp_tinyusb:
version: "~1.7.6"
espressif/tinyusb:
override: true # New flag, means that any `espressif/tinyusb` component in the project will be replaced with this one
git: https://github.com/micropython/tinyusb-espressif.git
version: cherrypick/dwc2_zlp_fixDescribe alternatives you've considered
The only way forward that I can see would be to also make a repo with a fork of esp_tinyusb component, change it's tinyusb dependency, and then have my project manifest point to that.
I didn't try this as it was too fiddly.
Additional context
No response
I have checked existing list of Feature requests and I have provided enough information.
- I confirm I have checked existing list of Feature requests and I have provided enough information.
Metadata
Metadata
Assignees
Labels
No labels