Skip to content

Get libnetwork to build on Solaris#1110

Merged
aboch merged 2 commits intomoby:masterfrom
amitkris:build_solaris
Apr 14, 2016
Merged

Get libnetwork to build on Solaris#1110
aboch merged 2 commits intomoby:masterfrom
amitkris:build_solaris

Conversation

@amitkris
Copy link
Contributor

This is a build clean PR for libnetwork on Solaris.
This is a part of a larger effort for a native port of Docker on Solaris.

Signed-off-by: Amit Krishnan krish.amit@gmail.com

@mrjana
Copy link
Contributor

mrjana commented Apr 13, 2016

@amitkris Can you please include solaris target into the cross platform targets here https://github.com/docker/libnetwork/blob/master/Makefile#L9 so that circle ci catches it in solaris build breakages in future PRs

@amitkris
Copy link
Contributor Author

@mrjana : We don't have CI set up for Solaris yet. For now, while we get the CI story sorted we are getting build clean PR's in for the Docker Engine and its dependencies. We have been working with the core team at Docker to get all of our work upstream. CI is a part of that. As soon as it is set up I would be happy to add it wherever we can.

@aboch
Copy link
Contributor

aboch commented Apr 13, 2016

@amitkris Can you please make the change suggested by @mrjana. Please also include the change shown in #1112. So that libnetwork CI will warn us if any PR breaks the cross platform build.

@amitkris
Copy link
Contributor Author

@aboch : just trying to clarify something here. If I make the change suggested (i.e. add Solaris as a cross platform dependency) will CircleCI be able to recover from a failure wherein it is unable to find a Solaris endpoint to test on? Because as I said above we don't yet have CI set up...

@aboch
Copy link
Contributor

aboch commented Apr 14, 2016

@amitkris
The suggested change affects only the cross-ci target. Which just tells ci to go build the libnetwork binary dnet with the passed GOOS and GOARCH params.
No unit or integration test will be run with the solaris os param.

@mrjana
Copy link
Contributor

mrjana commented Apr 14, 2016

@amitkris we don't need a Solaris endpoint to check the build. Go can cross compile to any target from linux circleci instance. All we want to make sure is that the code compiles for solaris target. Is that possible?

@amitkris
Copy link
Contributor Author

@aboch: ok thanks!
@mrjana: I have honestly never tried cross compiling but it should work..
Any cgo calls to system API's would fail obviously, but there isn't any right now so it should be ok

Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
@amitkris
Copy link
Contributor Author

I pushed the changes to test the CI. I forgot to sign one of them. If it works I'll sign the commits and push again

@mrjana
Copy link
Contributor

mrjana commented Apr 14, 2016

LGTM, please do sign one of the commits and then we are good for merge.

@aboch
Copy link
Contributor

aboch commented Apr 14, 2016

Thank you @amitkris for taking care of the comments.
This is what we wanted to see in the ci log:

solaris/amd64...
[skip]
/go/bin/godep go build -o "bin/dnet-$GOOS-$GOARCH" ./cmd/dnet
solaris/386...
[skip]
/go/bin/godep go build -o "bin/dnet-$GOOS-$GOARCH" ./cmd/dnet

This ensures we will not merge new changes which could break the solaris build.

LGTM

@amitkris
Copy link
Contributor Author

My original commit is signed. But let me reorganize the commits such that the changes for #1112 are in a separate commit from mine. Thanks @mrjana and @aboch for the clarification and review.

@aboch
Copy link
Contributor

aboch commented Apr 14, 2016

@amitkris Your changes in Makefile are already in a separate commit pls sign that too. 2 separate commits in this PR. And they both are related to solaris build.
So you don't need any other push, we can merge this as is.

Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
@amitkris
Copy link
Contributor Author

@aboch: ok. Both are signed now.

@aboch aboch merged commit 51ea243 into moby:master Apr 14, 2016
@amitkris
Copy link
Contributor Author

@aboch : I'm looking to file a build clean PR for the Docker Engine for Solaris soon. As libnetwork is a dependency it would have to be uprev'd first. What would be the best recourse for me to uprev the version of libnetwork in Docker such that Docker has these changes?

@aboch
Copy link
Contributor

aboch commented Apr 15, 2016

We will vendor the libnetwork code in docker soon, we are waiting for another bug fix.

@amitkris
Copy link
Contributor Author

ok thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants