Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for build_number in MatchSpec #446

Open
2 tasks done
traversaro opened this issue Mar 4, 2024 · 6 comments
Open
2 tasks done

Support for build_number in MatchSpec #446

traversaro opened this issue Mar 4, 2024 · 6 comments
Labels
type::feature request for a new feature or capability

Comments

@traversaro
Copy link

Checklist

  • I added a descriptive title
  • I searched open requests and couldn't find a duplicate

What is the idea?

I am experiencing an error:

InvalidMatchSpec: Invalid spec 'ogre[version='>=1.10.12,>=1.10.12,<1.11.0a0',build_number=3]': Libmamba only supports a subset of the MatchSpec interface for now. You can only use ('name', 'version', 'build', 'channel', 'subdir'), but you tried to use ('build_number',).

when trying to use conda build with conda-libmamba-solver. The error did not occurred when using conda mambabuild or conda build with the classic solver. The error is quite clear, but it am opening this issue to have to which to refer when I add workarounds for this issue.

Why is this needed?

I am experiencing this problem in conda-forge/gazebo-feedstock#203 .

What should happen?

Ideally conda build with conda-libmamba-solver should work like conda mambabuild or conda build with classic solver.

Additional Context

I am not sure the title of the issue make sense, feel free to suggest a better one, thanks!

@traversaro traversaro added the type::feature request for a new feature or capability label Mar 4, 2024
@traversaro
Copy link
Author

Possibly related to #198 .

@jaimergp
Copy link
Contributor

jaimergp commented Mar 5, 2024

I'm not sure how we can do this with libmamba 1.x. Their MatchSpec parser will drop unrecognised fields silently, such as build_number:

>>> import libmambapy as lmp
>>> ms = lmp.MatchSpec("python[build_number=0]")
>>> ms.conda_build_form()
'python'

We could assume build_number always goes at the end and use a glob str like *_{number} but that's not always true so it could cause hard-to-diagnose trouble.

@traversaro
Copy link
Author

Thanks @jaimergp ! I am not too much into conda-libmamba-solver, but just to understand, this was working with conda mambabuild as conda mambabuild is not using the libmambapy API?

@traversaro
Copy link
Author

For references, we found a workaround for this issue in conda-forge/gazebo-feedstock#203, so we are not blocked anymore by it, thanks!

@jaimergp
Copy link
Contributor

Thanks @jaimergp ! I am not too much into conda-libmamba-solver, but just to understand, this was working with conda mambabuild as conda mambabuild is not using the libmambapy API?

It's more like the mambabuild integrations were silently ignoring the build_number field instead of complaining loudly.

@traversaro
Copy link
Author

Thanks @jaimergp ! I am not too much into conda-libmamba-solver, but just to understand, this was working with conda mambabuild as conda mambabuild is not using the libmambapy API?

It's more like the mambabuild integrations were silently ignoring the build_number field instead of complaining loudly.

Looking at old builds of gazebo (https://conda-metadata-app.streamlit.app/?q=conda-forge%2Flinux-64%2Fgazebo-11.14.0-h4154485_3.conda) indeed that seems the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type::feature request for a new feature or capability
Projects
Status: 🆕 New
Development

No branches or pull requests

2 participants