add support for --try-update-deps, to upgrade dependencies based on available easyconfigs#2599
Conversation
|
@boegel This is ready for a look and initial comments. I already see a case where it won't work as intended, |
|
This works but is quite aggressive |
Not needed since this will be created if required
|
@boegel Ok, this can now also update software versions as well as dependencies even in the case where the software version appears in returns |
|
@Micket made a valid comment that highlights the naivity of the software version upgrading in this approach. The problem is that the To do this properly I would need to know the places where |
|
@ocaisa What about all the other fields, like |
|
@Micket I just tested that with and the For "other fields", I don't know, I think we just have to try it out. I also checked what happens when the templates like So, as far as I can tell, there are still no issues to fix in this PR. |
This goes way beyond the The only way around that is to work on the raw easyconfig. I'm not considering that a blocker for this PR though, since that problem already exists with the The main difference with We can probably learn a great deal from the current support we have for With that being said, I'll take another detailed look at this, and go ahead on merge it unless I run into any blockers (hopefully not). |
|
@boegel I should say that it doesn't actually seem to be the case that the templating is lost, there is a little bit of voodoo in here that I don't fully understand (see #2599 (comment)) and I think that might be why things are more robust than one might expect. |
|
@boegel I tested this with and indeed the list comprehensions are being expanded, as well as the subtoolchains for dependencies being explicitly inserted. Functionally this is no different but of course we can perhaps do better in the |
|
#3261 solves the problem of the dumped easyconfig not being "toolchain hierarchy aware", for list comprehensions this is not really relevant to this PR, it is more an issue with the |
…er_extra_paths option
…target_tc_hierarchy in docstring
…te docstring for get_matching_easyconfig_candidates
|
@ocaisa I've done a thorough last review of this PR this morning, and just pushed in a couple of minor changes, mostly:
With this, I consider this PR good to go, I'll merge it as soon as the tests go green... Thanks a lot for all your efforts on this, this clearly took a lot of effort, and was dragged along for way too long, I'm happy we can finally get this merged... |
An example of how this can be used:
It currently does the less invasive update of the dependencies, i.e., if we upgrade software with version
1.2.3, it would chose1.2.4over1.3.0(if both existed in the target toolchain).