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

Change import httplex to httpguts. #981

Merged
merged 1 commit into from
May 7, 2018
Merged

Conversation

h8liu
Copy link
Contributor

@h8liu h8liu commented May 7, 2018

This fixes go get.

Breakage caused by: golang/net@cbb82b5

@harshavardhana harshavardhana merged commit 6f8ee66 into minio:master May 7, 2018
@onlyjob
Copy link

onlyjob commented May 31, 2018

That seems to break compilation with Go 1.10... Is this intentional?

@harshavardhana
Copy link
Member

That seems to break compilation with Go 1.10... Is this intentional?

Yes why would it break? . I am using go 1.10.2. you need to fetch the new dependencies Go upstream broke the dependency by moving the package so we have to do it.

@onlyjob
Copy link

onlyjob commented May 31, 2018

I'm getting src/github.com/minio/minio-go/api-put-object.go:31:2: cannot find package "golang.org/x/net/http/httpguts". golang.org/x/net is locked to 1.10, same version as compiler...

@harshavardhana
Copy link
Member

go get golang.org/x/net/http/httpguts/... - should work fine.

@onlyjob
Copy link

onlyjob commented May 31, 2018

That's not that easy... We need to build against reusable package golang-golang-x-net-dev in Debian and x/net (as a standard library) appears to be in sync with compiler version. Blatantly updating x/net may break many packages...

Never mind though, for now I've uploaded minio-go 6.0.1. Thanks.

@harshavardhana
Copy link
Member

That's not that easy... We need to build against reusable package golang-golang-x-net-dev in Debian and x/net (as a standard library) appears to be in sync with compiler version. Blatantly updating x/net may break many packages...

Never mind though, for now I've uploaded minio-go 6.0.1. Thanks.

Well I think that style of packaging never really works in Go world, we have to update anyways since our users who use go get will be broken. Since most of our users simply use go get this is not a problem. Sticking to an older release is correct in your situation.

@onlyjob
Copy link

onlyjob commented Jun 1, 2018

Fair enough. However IMHO golang vendoring mess is an abomination of 20+ years of best practice in software engineering. :) For example, no tests are run for any of (vendored) dependency libraries on build. In Debian we are trying to do it right by building reproducibly in offline build environment, running tests for all libraries on all supported architectures, etc. Use "stable", semantically versioned libraries whenever possible (versus random commits, as often vendored by many Goland developers), etc.

@harshavardhana
Copy link
Member

Fair enough. However IMHO golang vendoring mess is an abomination of 20+ years of best practice in software engineering. :) For example, no tests are run for any of (vendored) dependency libraries on build. In Debian we are trying to do it right by building reproducibly in offline build environment, running tests for all libraries on all supported architectures, etc. Use "stable", semantically versioned libraries whenever possible (versus random commits, as often vendored by many Goland developers), etc.

Perhaps, but from our end we can't do much. Perhaps Debian can work with Go developers to fix this problem. Perhaps the new vgo initiative is a good progress in that direction?

@onlyjob
Copy link

onlyjob commented Jun 1, 2018

Of course, of course. :)
I hope that vgo will improve situation...

@kannappanr kannappanr mentioned this pull request Jun 18, 2018
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

Successfully merging this pull request may close these issues.

3 participants