Files
linuxkit/docs/vendoring.md
Ian Campbell dd799eb230 Bump moby tool to d9d2a91780
656bd87fd2...d9d2a91780

d9d2a91 Merge pull request #193 from ijc/bugfix-191
307f13b Defer dockerRm until we are finished with the contents
ebd7228 Merge pull request #191 from ijc/reduce-memory-via-tempfiles
3045a80 Stream `docker export` directly to consumer
9f44acf Generate intermediate image into a temp file
9558740 Add cpu and mem profiling options

Reduces the memory usage substantially.

While here make some notes about the need to update src/cmd/linuxkit/build.go
where people might see them.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-12-14 10:34:23 +00:00

1.9 KiB

Vendoring

The Go code in this repo depends on a number of Go libraries. These are vendored in to the src/cmd/linuxkit/vendor directory using vndr The vendor.conf file contains a list of the repositories and the git SHA or branch name that should be vendored

Updating dependencies

Update src/cmd/linuxkit/vendor.conf with the dependency that you would like to add. Details of usage of the vndr tool and the format of vendor.conf can be found here

Once done, you must run the vndr tool to add the necessary files to the vendor directory. The easiest way to do this is in a container.

Currently if updating github.com/moby/tool it is also necessary to update src/cmd/linuxkit/build.go manually after updating vendor.conf:

hash=$(awk '/^github.com\/moby\/tool/ { print $2 }' src/cmd/linuxkit/vendor.conf)
curl -fsSL -o src/cmd/linuxkit/build.go https://raw.githubusercontent.com/moby/tool/${hash}/cmd/moby/build.go

Updating in a container

To update all dependencies:

docker run -it --rm \
-v $(pwd):/go/src/github.com/linuxkit/linuxkit \
-w /go/src/github.com/linuxkit/linuxkit/src/cmd/linuxkit \
--entrypoint /go/bin/vndr \
linuxkit/go-compile:bb0c6ae2f12a1b55df24ebce2067784a931285df

To update a single dependency:

docker run -it --rm \
-v $(pwd):/go/src/github.com/linuxkit/linuxkit \
-w /go/src/github.com/linuxkit/linuxkit/src/cmd/linuxkit \
--entrypoint /go/bin/vndr \
linuxkit/go-compile:bb0c6ae2f12a1b55df24ebce2067784a931285df
github.com/docker/docker

Updating locally

First you must install vndr and ensure that $GOPATH/bin is on your $PATH

go get -u github.com/LK4D4/vndr

To update all dependencies:

cd src/cmd/linuxkit
vndr

To update a single dependency:

cd /src/cmd/linuxkit
vndr github.com/docker/docker