-
-
Notifications
You must be signed in to change notification settings - Fork 770
Support builds of OpenSSL from vendored source #684
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
310439d
to
157e8d3
Compare
@@ -33,6 +34,8 @@ case "${TARGET}" in | |||
;; | |||
esac | |||
|
|||
apt-get install -y --no-install-recommends curl |
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.
Shouldn't this logic (and most of the logic in this script) end up getting removed in favor of the src crate?
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 src crate can only build 1.1.0.
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.
Bah :(
Some things I'd personally do before merging:
|
One other thing we should figure out is the upgrade story. 1.1.0 EOLs in just over a year: https://www.openssl.org/policies/releasestrat.html. We could simply say that we track the newest release? |
Yes I'd imagine that the crate provides no guarantee really about what version it provides, other than:
That is, I'd imagine 1.0.2 and 1.1.0 would both be fine to use today in openssl-src. |
It is a bit nontrivial due to version-specific features. For example, if we went with 1.0.2, people would presumably want to use We could disable those features when vendored is enabled? Or just not worry about it since it'll only happen once every couple of years. |
Hm that's a good point. I wouldn't be too too worried about this yeah but it seems like enabling vendoring probably shouldn't opt you in to a specific version, you'd have to still select it manually? We could then, if necessary, give a nicer error when you require vendoring and features but there's a version mismatch. |
Yeah, you'd still have to manually opt-in. It seems fine to just note our upgrade policy in the documentation. If people want to opt into version specific features they'll just need to be careful around upgrade times. |
1121463
to
1e577a9
Compare
One other thing to decide here is how the vendored build is activated. It's currently done via a Cargo feature, but it's not a super great use of that. Only the root crate is going to be the thing that cares, and it normally isn't going to be directly depending on openssl-sys. The other option is to control via an environment variable, but we then have to unconditionally depend on the source package. Seems like not the worst thing though? |
Perhaps we could take a leaf out of rayon's book and require |
This is a revival of sfackler#684 to see if I can help push it across the finish line! Closes sfackler#580
This is a revival of sfackler#684 to see if I can help push it across the finish line! Closes sfackler#580
Closes #580.