-
-
Notifications
You must be signed in to change notification settings - Fork 34
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
Run exports #18
Run exports #18
Conversation
use conda-build 3 to simplify recipe
Update meta.yaml
recipe/meta.yaml
Outdated
number: 2 | ||
run_exports: | ||
# https://abi-laboratory.pro/tracker/timeline/zlib/ | ||
- {{ pin_subpackage('zlib', max_pin='x.x.x') }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The past 4 releases have been fine. Why pin so tightly? With zlib so low in the stack, it'll be very painful to rebuild with the next version - especially if it's actually totally compatible and would otherwise be fine.
Our experience with this has been that it is better to give packages the benefit of the doubt. You can either optimize for users never breaking (pin tightly, like here), or optimize for package builder time (pin as loosely as reasonably achievable). Since you'd have to rebuild if something breaks, anyway, you're primarily just making work for yourself by pinning tightly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As an example of the types of problems seen, please this diff report between 1.2.8 and 1.2.9. Note they changed a struct
and it will affect public API functions. This happened in a relatively late patch release. Admittedly 1.2.10 merely changed the copyright and 1.2.11 was compatible with 1.2.10. However these were released within days of each other. The history before 1.2.8 is more unsettling. Also please see this discussion for more details.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That issue does not account for forward compatibility, which has been the trend. Comparing the history before 1.2.8 isn't really enlightening, because it comes from 2013. Current development has all been fine. Adding symbols is OK. That's the nature of forward compatibility.
@jakirkham, Changing the |
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipe:
|
should we also add the |
If you do that, you should make a different package output for it. Static libs should have their own packages, so that they can be made to not use run_exports, while allowing the shared lib packages to use run_exports. |
thanks @msarahan, so you mean a |
something like that, although the community already has a very well-established custom of the plain package name being mostly for shared. so perhaps zlib-static. Anyway, I'm going to leave that here, because it's a massive invitation for bikeshedding. If you'd like to bring that up for community discussion, we can invite you to the next conda-forge call. |
Sorry @msarahan, I agree a meeting would be great and to bikeshed this a little more we may consider discussing in that meeting that something like |
Ok, a few things worth noting.
We can of course discuss this more in a meeting. Expect whatever solution we come up with will be some form of split packages. Generally would advise giving some thought to issue. ( conda-forge/conda-forge.github.io#544 ) Whatever sugar syntax we use will likely need to know how we chose to split things, which means systematizing splitting. |
@msarahan @jakirkham sorry didn't want to stir up a hornets' nest! My goal was simply to understand which is the best way to contribute and respect/define good and recognized standards. However, being quite a novice in C/C++ build toolchains/compiler/linker stuff (and in conda-stuff too) I don't think I can give too much advice on the matter.
right, sorry, didn't see that! I wonder why the |
@ocefpaf, we need to do this for all the packages in
conda-forge-pinning
yaml file.@mingwandroid, is it okay to add you here?