-
Notifications
You must be signed in to change notification settings - Fork 68
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
Fork dockerfile #125
Fork dockerfile #125
Conversation
@rhatdan @nalind @TomSweeneyRedHat PTAL (Cc @siretart) The project seems to be using glide and godeps for dependency management. Do you think it's possible to move over to |
The PR requires some more work to untangle Docker. I will give |
Signed-off-by: Valentin Rothberg <[email protected]>
Signed-off-by: Valentin Rothberg <[email protected]>
The package has been changed upstream quite a bit. As imagebuilder relies on the old API, it is incompatible with newer versions of Moby. This enforces users of imagebuilder to use an outdated version of Moby. Fork github.com/docker/docker/builder/dockerfile to overcome the incompatibility issue and to allow us to fix potential issues independently. All code has been copied from github.docker/docker, so we need to mention that. As the files don't have license headers, adding a NOTICE files seems like a suitable alternative. Fixes: #116 Signed-off-by: Valentin Rothberg <[email protected]>
Signed-off-by: Valentin Rothberg <[email protected]>
Signed-off-by: Valentin Rothberg <[email protected]>
Things are green now but I opened containers/buildah#1390 to increase confidence. |
Signed-off-by: Valentin Rothberg <[email protected]>
Signed-off-by: Valentin Rothberg <[email protected]>
Signed-off-by: Valentin Rothberg <[email protected]>
Signed-off-by: Valentin Rothberg <[email protected]>
containers/buildah#1390 is green besides a |
LGTM |
vendor.conf
Outdated
@@ -0,0 +1,21 @@ | |||
github.com/Azure/go-ansiterm d6e3b3328b783f23731bc4d058875b0371ff8109 | |||
github.com/containerd/continuity 004b46473808b3e7a4a3049c20e4376c91eb966d | |||
github.com/docker/docker 86f080cff0914e9694068ed78d503701667c4c00 |
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.
OK, this is likely a question that will lead to Go learning for me. How did you pick this commit? It seems to be a couple years old now, is that the one that was in play currently prior to adding vendor.conf?
Probably more GoLang learnings for me, but here goes. So I'm curios as to why you forked /moby/builder/dockerfile into imagebuilder instead of vendoring it too? Would vendoring it give us headaches given we fork all of Docker already? Can/should we add a README.md file to the new dockerfile directory listing the date and commitID that had been forked? I'd like a head nod from @nalind too. |
Signed-off-by: Valentin Rothberg <[email protected]>
The problem we had prior to this PR is that imagebuilder is using the @siretart mentioned this issue again recently as he is looking into the Debian packaging where all vendored dependencies must be put into their own, separate package. Since there is already a Docker package (including sources) in Debian it would be extremely unfortunate to have another Docker package just because some dependency of Podman/Buildah is incompatible. Actually, I am certain that the Debian packaging reviews would claim that upstream is broken and that it should be fixed there. The fix in this PR is to "fork" the Note that Buildah and Podman can use a newer version of docker/docker as we don't need the patch mentioned above (I also updated the Buildah PR to demonstrate that) as we can just update to a newer version of I think such situations should be future blockers from adding any dependency to our tools and libraries as we inherit the problems and pass them on to the users.
That's a good idea but I will add it to dockerfile/NOTICE. |
That's the version used in the dockerfile fork. Also mention in dockerfile/NOTICE that b68221c37ee597950364788204546f9c9d0e46a1 is the commit we used for the fork. Signed-off-by: Valentin Rothberg <[email protected]>
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rhatdan, siretart, vrothberg The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@vrothberg thank you very much for the very thorough reply. Sounds a bit scary to me, we may want to set up a card (epic) in jira to really scrub this out at some point. |
openshift/imagebuilder had a dependency on a deprecated package that is now forked into imagebuilder to allow using more recent versions of docker/docker. Also vendor the latest docker/docker to a) demonstrate that imagebuilder does not force using an old version docker/docker and to b) pull in fixes and updates to our dependencies on docker/docker. See openshift/imagebuilder#125 for more details on the imagebuilder change. Signed-off-by: Valentin Rothberg <[email protected]>
openshift/imagebuilder had a dependency on a deprecated package that is now forked into imagebuilder to allow using more recent versions of docker/docker. Also vendor the latest docker/docker to a) demonstrate that imagebuilder does not force using an old version docker/docker and to b) pull in fixes and updates to our dependencies on docker/docker. See openshift/imagebuilder#125 for more details on the imagebuilder change. Signed-off-by: Valentin Rothberg <[email protected]> Closes: #1390 Approved by: rhatdan
Valentin, I'm still running into issues with compiling this revision:
And many similar instances. I notice that https://github.com/openshift/imagebuilder/blob/master/dockerfile/builder.go still references BTW, I notice that http://github.com/docker/docker is redirecting to https://github.com/moby/moby. Doesn't that also imply that every import of anything underneath |
That was pretty big oversight. Thanks for bringing this up! I'll have another shot.
Docker is redirecting to Moby while all packages in Moby are still using the "old" docker/docker references. Imagebuilder, however, is still trapped on an ancient version of Docker as mentioned in #125 (comment). |
Here's a PR aiming at cleaning up the remaining bits in dockerfile: #127 I deleted all the files that we don't need in imagebuilder. |
commit 7629533 (HEAD -> fork-dockerfile, master)
Author: Valentin Rothberg [email protected]
Date: Thu Mar 7 13:25:53 2019 +0100
commit 81424bf
Author: Valentin Rothberg [email protected]
Date: Thu Mar 7 13:10:38 2019 +0100
commit 279dc3b
Author: Valentin Rothberg [email protected]
Date: Thu Mar 7 12:13:11 2019 +0100