conda-forge / google-api-core-feedstock

A conda-smithy repository for google-api-core.
BSD 3-Clause "New" or "Revised" License
0 stars 19 forks source link

googleapis-common-protos>=1.6.0 is a run dependency #30

Closed birnbaum closed 5 years ago

birnbaum commented 5 years ago

Another PR as googleapis-common-protos>=1.6.0 is actually a runtime dependency.

Maybe I don't know enough about conda's meta.yaml files but is there a reason for not pinning the run dependencies here? The way it is now, I can install conda install google-api-core=1.14.0 googleapis-common-protos=1.5.2 which is no working combination.

Checklist

conda-forge-linter commented 5 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

tswast commented 5 years ago

Maybe I don't know enough about conda's meta.yaml files but is there a reason for not pinning the run dependencies here?

You probably know more than me. I thought the host pin would cover it.

birnbaum commented 5 years ago

Thanks for the fast replies @tswast!

So if I run the installation with pinning build 2 I now get the expected error:

$ conda install google-api-core=1.14.0=py36_2 googleapis-common-protos=1.5.2
[...]
Package googleapis-common-protos conflicts for:
google-api-core==1.14.0=py36_2 -> googleapis-common-protos[version='>=1.6.0,<2.0dev']
googleapis-common-protos=1.5.2

Unfortunately, if the build does not get pinned, conda's (frustrating) resolver just falls back to build 1:

$ conda install google-api-core=1.14.0 googleapis-common-protos=1.5.2
[...]
The following NEW packages will be INSTALLED:
  google-api-core    conda-forge/osx-64::google-api-core-1.14.0-py36_1
  googleapis-common~ conda-forge/osx-64::googleapis-common-protos-1.5.2-py36_0

So for actually fixing this, you would need to remove all "broken" builds with build number 0 or 1 from conda-forge. If you have the necessary rights, you can do this here: https://anaconda.org/conda-forge/google-api-core/files

Also for future releases, I think it would actually be the right way to also pin all run dependencies to avoid issues like this :)