Files
linuxkit/docs/vendoring.md
Ian Campbell 4df5d394e8 Bump yml
Done as follows:

    find -name build.yml | xargs dirname | while read d ; do
        t=$(linuxkit pkg show-tag $d)
        ./scripts/update-component-sha.sh --image ${t%:*} ${t#*:}
    done
    git commit -s test pkg tools blueprints examples projects/kubernetes projects/swarmd docs linuxkit.yml Makefile src

This explicitly excludes projects/* which I did not know whether to update.

Then:

    git reset --hard
    for i in init runc containerd ca-certificates sysctl dhcpcd getty rngd ; do
        o=$(git grep -h "\(image:\|-\) *linuxkit/$i:[0-9a-f]\{40\}" origin/master:linuxkit.yml | awk '// { print $2 }')
        n=$(linuxkit pkg show-tag pkg/$i)
        ./scripts/update-component-sha.sh "$o" "$n"
    done
    git commit --amend projects

This updates any projects which were using components with the same hash as the
top-level linuxkit.yml.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 13:23:45 +01:00

1.5 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.

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:20621b2539e546a8c94e625928f8d59f12684398

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:20621b2539e546a8c94e625928f8d59f12684398
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