mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-10-12 21:50:47 +00:00
656bd87fd2...d9d2a91780
d9d2a91
Merge pull request #193 from ijc/bugfix-191307f13b
Defer dockerRm until we are finished with the contentsebd7228
Merge pull request #191 from ijc/reduce-memory-via-tempfiles3045a80
Stream `docker export` directly to consumer9f44acf
Generate intermediate image into a temp file9558740
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>
66 lines
1.9 KiB
Markdown
66 lines
1.9 KiB
Markdown
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`](https://github.com/lk4d4/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](https://github.com/LK4D4/vndr/blob/master/README.md)
|
|
|
|
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
|
|
```
|