Skip to content
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

coordinated openssl version? #175

Closed
ArtemGr opened this issue Dec 4, 2014 · 9 comments
Closed

coordinated openssl version? #175

ArtemGr opened this issue Dec 4, 2014 · 9 comments

Comments

@ArtemGr
Copy link

ArtemGr commented Dec 4, 2014

So, when one project uses a crates version of openssl and another uses a git version, the build using both projects is broken. When one project uses an upstream version and another uses a fixed version (blackbeam/rust-mysql-simple@06edff7), the build using both projects will be broken very soon.

How do we coordinate this?

rust-lang/cargo#1006 will tell us about the issue but it's little help if the issue will resurface every time somebody updates the version in one of the projects.

I'm going to open this bug in multiple projects:
blackbeam/rust-mysql-simple#7
sfackler/rust-postgres#87

@ArtemGr ArtemGr changed the title openssl coordination coordinated openssl version? Dec 4, 2014
@seanmonstar
Copy link
Member

The exact version used in a specific project should be manageable via
setting the revision in the local Cargo.lock file.

On Wed, Dec 3, 2014, 11:01 PM Artem notifications@github.com wrote:

So, when one project uses a crates version of openssl and another uses a
git version, the build using both projects is broken. When one project uses
an upstream version and another uses a fixed version (
blackbeam/rust-mysql-simple@06edff7
blackbeam/rust-mysql-simple@06edff7),
the build using both projects will be broken very soon.

How do we coordinate this?

(I'm going to open this bug in multiple projects).
blackbeam/rust-mysql-simple#7
blackbeam/rust-mysql-simple#7


Reply to this email directly or view it on GitHub
#175.

@ArtemGr
Copy link
Author

ArtemGr commented Dec 4, 2014

That doesn't work. When I change Cargo.lock and hit the build my changes in the Cargo.lock are overwritten!

For example, original: http://pastebin.com/ejcBPnru; change: http://pastebin.com/2F82hpvc; after "cargo test" the Cargo.lock becomes identical to the original one.

@ArtemGr
Copy link
Author

ArtemGr commented Dec 4, 2014

@seanmonstar could hyper change its openssl dependency to use the crates version in order for Cargo to recognize that it's the same version? Steven says the semver should kick in then (sfackler/rust-postgres#87) and everything should work.

@reem
Copy link
Contributor

reem commented Dec 4, 2014

I'm going to try and land crates.io today or tomorrow.

@ArtemGr
Copy link
Author

ArtemGr commented Dec 4, 2014

Great, I'll test then!
BTW, you'd need to only update the openssl dependency for it to be compatible with mysql and postgresql drivers, the rest of them dependencies should be fine as is. Just thought I'd better mention this.

I might have made a pull request myself but I'm not that familiar with hyper's multi-crate structure.

@reem
Copy link
Contributor

reem commented Dec 4, 2014

We'll probably use version * until things start stabilizing.

@reem
Copy link
Contributor

reem commented Dec 6, 2014

You should just use hyper's crates.io version for now, which doesn't include the benchmarks. We are blocked from fully porting over by curl not yet being on crates.io.

@ArtemGr
Copy link
Author

ArtemGr commented Dec 8, 2014

It works, thanks! Hyper is now useable alongside Mysql and Postgresql drivers.

@ArtemGr ArtemGr closed this as completed Dec 8, 2014
@Manishearth
Copy link
Contributor

FWIW the crates.io experience will probably be broken like this until 1.0 since library authors will have to maintain two moving targets (rather than one, post-1.0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants