conda-forge / curl-feedstock

A conda-smithy repository for curl.
BSD 3-Clause "New" or "Revised" License
3 stars 44 forks source link

Add a finer runtime export #143

Closed jjerphan closed 4 weeks ago

jjerphan commented 2 months ago

Currently there's a runtime requirement on libcurl, but it is unconstrained.

It probably needs to be pinned on a major or a minor version.

See: https://abi-laboratory.pro/?view=timeline&l=curl

xylar commented 2 months ago

It looks to me like major version would be sufficient. Since that hasn't changed in about 20 years, the current situation doesn't seem all that risky.

xylar commented 2 months ago

Ah, sorry. It did change more recently to 8. So ignore what I said. Seems like abilab is about 4 years behind.

isuruf commented 2 months ago

Currently there's a runtime requirement on libcurl, but it is unconstrained.

This is untrue. You can extract the libcurl package and check the contents of run_exports.json to verify that it is not unconstrained.

pin_subpackage("libcurl") is equivalent to pin_subpackage("libcurl", max_pin="x", min_pin="x.x.x.x.x.x")

isuruf commented 2 months ago

If the major is not enough, then we probably need to have max_pin="x.x", but there's not enough evidence that this is needed.

jjerphan commented 2 months ago

This is untrue. You can extract the libcurl package and check the contents of run_exports.json to verify that it is not unconstrained.

This is what I wanted to say. To me, pin_subpackage("libcurl", max_pin="x", min_pin="x.x.x.x.x.x") does not set constraints when Semantic Versioning is used.

jjerphan commented 2 months ago

there's not enough evidence that this is needed.

I opened this issue to keep track of the problem which was observed in https://github.com/conda-forge/mamba-feedstock/pull/246. I will spend more time writing a comprehensive description when I get some.

jjerphan commented 4 weeks ago

The libcurl team takes care in having ABI stability, and we observed the absence of this problem with libcurl 8.10.1 (see https://github.com/mamba-org/mamba/pull/3548). Hence the problem was likely a bug in 8.10.0 which was fixed in 8.10.1: runtime requirements aren't needed for libcurl; sorry for the disturbance.