-
Notifications
You must be signed in to change notification settings - Fork 95
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
Add libmilter-dev for milter-sys #62
Conversation
@glts it looks like that crate built successfully - is there a reason you're adding the new package? https://docs.rs/milter-sys/0.2.0/milter_sys/ |
Thanks for looking. libmilter-dev is strictly required for building milter-sys under any circumstances. Why it did build on docs.rs I do not know, it is possible that libmilter was installed as a transitive dependency of something else. |
I think we had this discussion a while ago 😆 You ended up special casing docs.rs WRT the pkg-config file. rust-lang/docs.rs#191 (comment) Is the idea here to let you get rid of the hack in the build.rs? I'm ok with adding it in that case, there should just be some reason. |
@jyn514 hm … I have trouble understanding how this library is different from other -sys libraries to you. milter-sys is simply the low-level FFI bindings crate for libmilter. It cannot be built or doc’ed without libmilter-dev. My motive for opening this pull request is to make it explicit that libmilter-dev must be installed in the docs.rs build env. It’s true that milter-sys docs can be built on docs.rs today, but it is unclear why. I would guess that there is some other library in the docs.rs build env that installs libmilter as a dependency. But such a hidden dependency may disappear and break in the future. I think it is better to be explicit about the libmilter-dev requirement, that’s all – please tell me if you think otherwise. I do hope to also get rid of the build hack you mentioned, soon, but that is an independent change that is not affected by this pull request. |
Ok, this is the bit I was missing, thanks :) but I'm still confused what's going on, because it's not installed in the build environment:
The difference is that your crate is building successfully without this library installed, and the build image is already very large, so I'd like to avoid adding new libraries unless they're necessary. |
Thanks, that really is curious. On any Ubuntu 20.04 or Debian Testing I’ve tried |
Sorry to bother you again, do you know if for building the docs, Cargo checks if a library links properly? I think it doesn’t (nor does it run any tests, of course). So in that case the C library is indeed not needed at all for the milter-sys docs, I misunderstood the purpose of packages.txt and should close this pull request! |
Right, |
@jyn514 Hang on, we still need this. I do apologise for all the confusion, today is not my best day. Yes, I would prefer if we could add libmilter-dev here, and I can remove the build hack to have a clean build in milter-sys. Let me know if you could agree to this. |
Ok, makes sense - then crater will be able to build milter-sys too. |
Great, thank you. I’ve removed the |
Could someone from the team please schedule a build for crate milter-sys, please? Thank you. |
Scheduled a rebuild! |
This adds package libmilter-dev for the milter-sys crate.
Thank you!