-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Update dependencies for OpenSSL 1.1.0 compatibility #3272
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
Conversation
r? @brson (rust_highfive has picked a reviewer for you, use r? to override) |
I've been passively trying to do this but the git2 behavior changed linking to libcurl enough that it's been difficult to find time to fix all the tests. It looks like the Travis builds may also be failing? |
85ae919
to
8c5e890
Compare
Sorry, simply missing the new What are the git2/libcurl problems you're referring to? Anyway, I've opened the PR to maintainer pushes if you'd like to add anything, however passively. :) |
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.
Hm ok, I'll try poking around.
A major change in libgit2 is that it attempts to use libcurl by default now, which isn't always what we might want. I've been wrangling with the various options there, though.
@@ -25,6 +25,7 @@ matrix: | |||
MACOSX_DEPLOYMENT_TARGET=10.7 | |||
os: osx | |||
before_install: | |||
- export OPENSSL_DIR=`brew --prefix openssl` | |||
- export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include |
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.
I think these env vars can be removed now
@@ -26,12 +26,12 @@ env_logger = "0.3" | |||
filetime = "0.1" | |||
flate2 = "0.2" | |||
fs2 = "0.2" | |||
git2 = "0.4" | |||
git2-curl = "0.5" | |||
git2 = "0.5" |
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.
Ah FWIW I had to end up yanking the 0.5 release that had support for openssl 1.1, so this'll need to be updated to 0.6 now
@@ -251,10 +251,12 @@ target/openssl/$(1).stamp: target/openssl/openssl-$$(OPENSSL_VERS).tar.gz \ | |||
|
|||
# variables read by various build scripts to find openssl | |||
cargo-$(1): export OPENSSL_STATIC := 1 | |||
cargo-$(1): export OPENSSL_DIR := $$(OPENSSL_INSTALL_$(1)) | |||
cargo-$(1): export OPENSSL_ROOT_DIR := $$(OPENSSL_INSTALL_$(1)) | |||
cargo-$(1): export OPENSSL_LIB_DIR := $$(OPENSSL_INSTALL_$(1))/lib | |||
cargo-$(1): export OPENSSL_INCLUDE_DIR := $$(OPENSSL_INSTALL_$(1))/include |
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.
lib/include here I believe can be removed
Ok, pushed a number of updates and fixes, the remaining errors seem easy to deal with, just need to figure them out. |
The AppVeyor failure couldn't remove a build directory -- possibly spurious? The OSX failure got a signal 4, SIGILL? -- don't know what to think about that. |
Ah yeah AppVeyor looks spurious, didn't realize that OSX was signal 4... Odd! I'll poke around locally. |
Looks like a legit segfault in libgit2, going to try to fix |
I've submitted a PR to fix the fault in libgit2 |
Ok, fix merged upstream in libgit2, and libgit2-sys is updated. Pushed and let's see what CI think. |
a35107b
to
803ab53
Compare
@bors: r+ Alright, let's see if it lands! |
📌 Commit 803ab53 has been approved by |
803ab53
to
68fc813
Compare
@bors: r+ |
📌 Commit 68fc813 has been approved by |
⌛ Testing commit 68fc813 with merge ac9adc0... |
FYI, you'll need to upgrade to rust-openssl 0.9.1 to fix a bug that broke EOF detection in OpenSSL 1.1.0c if you're using |
💔 Test failed - cargo-cross-linux |
Not even in the transitive dependencies? The version here is chosen for everyone, after all... |
Yep, as the author of most of them, I can tell you the |
Heh, fair enough. |
⌛ Testing commit 68fc813 with merge c4711c6... |
a04c580
to
0eed456
Compare
@bors: r+ |
📌 Commit 0eed456 has been approved by |
⌛ Testing commit 0eed456 with merge 35bd5f8... |
💔 Test failed - cargo-cross-linux |
0eed456
to
77f5cff
Compare
@bors: r+ |
📌 Commit 77f5cff has been approved by |
⌛ Testing commit 77f5cff with merge 1b19f25... |
💔 Test failed - cargo-cross-linux |
77f5cff
to
5fa52dc
Compare
@bors: r+ |
📌 Commit 5fa52dc has been approved by |
⌛ Testing commit 5fa52dc with merge 5c53c9c... |
💔 Test failed - cargo-cross-linux |
5fa52dc
to
15acaa9
Compare
@bors: r+ |
📌 Commit 15acaa9 has been approved by |
Update dependencies for OpenSSL 1.1.0 compatibility The primary targets here are openssl and openssl-sys crates 0.9, bringing support for OpenSSL 1.1.0. This requires updating the curl and git2 related dependencies as well. A small change is required in cargo itself for the new Hasher API. Results from the hasher are simply unwrapped for now, matching the Windows behavior that already panics on error.
☀️ Test successful - cargo-cross-linux, cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64 |
@alexcrichton Thanks for hammering that through! |
The primary targets here are openssl and openssl-sys crates 0.9,
bringing support for OpenSSL 1.1.0. This requires updating the curl
and git2 related dependencies as well.
A small change is required in cargo itself for the new Hasher API.
Results from the hasher are simply unwrapped for now, matching the
Windows behavior that already panics on error.