diff --git a/SOURCES/0001-bump-github.com-containers-buildah-to-v1.11.5.patch b/SOURCES/0001-bump-github.com-containers-buildah-to-v1.11.5.patch new file mode 100644 index 0000000..e24f224 --- /dev/null +++ b/SOURCES/0001-bump-github.com-containers-buildah-to-v1.11.5.patch @@ -0,0 +1,2346 @@ +From 4f7d01ec556a450f17eca43b39d3ee34cd362bb8 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Wed, 29 Jul 2020 15:16:26 +0200 +Subject: [PATCH] bump github.com/containers/buildah to v1.11.5 + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1853326 +Signed-off-by: Valentin Rothber +--- + go.mod | 4 +- + go.sum | 7 ++ + .../github.com/containers/buildah/.travis.yml | 34 ++++--- + .../github.com/containers/buildah/buildah.go | 11 ++- + .../containers/buildah/changelog.txt | 27 ++++++ + .../github.com/containers/buildah/config.go | 5 +- + vendor/github.com/containers/buildah/go.mod | 4 +- + vendor/github.com/containers/buildah/go.sum | 58 ++++++++++++ + .../containers/buildah/imagebuildah/build.go | 3 +- + .../buildah/imagebuildah/executor.go | 9 ++ + .../buildah/imagebuildah/stage_executor.go | 4 +- + .../containers/buildah/imagebuildah/util.go | 5 +- + .../github.com/containers/buildah/import.go | 44 ++++++--- + vendor/github.com/containers/buildah/info.go | 3 + + vendor/github.com/containers/buildah/new.go | 91 ++++++++++++++----- + .../containers/buildah/pkg/cli/common.go | 20 ++-- + .../containers/buildah/pkg/secrets/secrets.go | 48 ++-------- + .../containers/buildah/run_linux.go | 2 +- + vendor/github.com/docker/docker/AUTHORS | 57 +++++++++++- + .../github.com/docker/docker/api/swagger.yaml | 32 ++++++- + .../docker/docker/api/types/client.go | 4 + + .../docker/docker/api/types/filters/parse.go | 9 ++ + .../docker/docker/api/types/swarm/service.go | 21 +++++ + .../docker/docker/client/container_list.go | 2 +- + .../github.com/docker/docker/client/events.go | 2 +- + .../github.com/docker/docker/client/hijack.go | 6 +- + .../docker/docker/client/image_list.go | 2 +- + .../docker/docker/client/network_list.go | 2 +- + .../github.com/docker/docker/client/ping.go | 4 +- + .../docker/docker/client/plugin_list.go | 2 +- + .../docker/docker/client/request.go | 14 +-- + .../docker/docker/client/service_list.go | 4 + + .../docker/docker/client/volume_list.go | 2 +- + .../docker/docker/pkg/homedir/homedir_unix.go | 7 +- + .../docker/pkg/jsonmessage/jsonmessage.go | 8 +- + .../docker/pkg/mount/mountinfo_linux.go | 1 - + .../pkg/namesgenerator/names-generator.go | 2 +- + .../docker/docker/pkg/pools/pools.go | 11 +-- + .../docker/docker/pkg/system/init_windows.go | 3 +- + .../docker/pkg/system/syscall_windows.go | 21 +---- + .../fsouza/go-dockerclient/Makefile | 5 - + .../fsouza/go-dockerclient/README.md | 22 +++-- + .../fsouza/go-dockerclient/appveyor.yml | 4 +- + .../fsouza/go-dockerclient/container.go | 30 ++++-- + .../github.com/fsouza/go-dockerclient/go.mod | 10 +- + .../github.com/fsouza/go-dockerclient/go.sum | 79 +++++++++++++--- + vendor/github.com/mtrmac/gpgme/gpgme.go | 2 +- + vendor/k8s.io/client-go/pkg/version/base.go | 4 +- + vendor/modules.txt | 6 +- + 49 files changed, 539 insertions(+), 218 deletions(-) + +diff --git a/go.mod b/go.mod +index 086d25cc902f..c8a2c298b8aa 100644 +--- a/go.mod ++++ b/go.mod +@@ -10,7 +10,7 @@ require ( + github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect + github.com/containernetworking/cni v0.7.1 + github.com/containernetworking/plugins v0.8.2 +- github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 ++ github.com/containers/buildah v1.11.5 + github.com/containers/image/v5 v5.2.1 + github.com/containers/psgo v1.3.2 + github.com/containers/storage v1.15.8 +@@ -20,7 +20,7 @@ require ( + github.com/cyphar/filepath-securejoin v0.2.2 + github.com/davecgh/go-spew v1.1.1 + github.com/docker/distribution v2.7.1+incompatible +- github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce ++ github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 + github.com/docker/docker-credential-helpers v0.6.3 + github.com/docker/go-connections v0.4.0 + github.com/docker/go-units v0.4.0 +diff --git a/go.sum b/go.sum +index 9456b2bfba1a..8e3505c1bb5d 100644 +--- a/go.sum ++++ b/go.sum +@@ -19,6 +19,7 @@ github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6tr + github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= + github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA= + github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= ++github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c/go.mod h1:7xhjOwRV2+0HXGmM0jxaEu+ZiXJFoVZOTfL/dmqbrD8= + github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg= + github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= + github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +@@ -75,6 +76,8 @@ github.com/containers/buildah v1.11.4-0.20191028173731-21b4778b359e h1:iDavHEx5Y + github.com/containers/buildah v1.11.4-0.20191028173731-21b4778b359e/go.mod h1:Igrk75FAxLnzDaHUbtpWB8pwL+Bv+cnakWMvqAXW2v8= + github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 h1:5WUe09k2sJSbmxwLHZLHc41TrIPrP0GlbhX+WDJBqvs= + github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982/go.mod h1:eGWB4tLoo0hIBuytQpvgUC0hk2mvl2ofaYBeDsU/qoc= ++github.com/containers/buildah v1.11.5 h1:bVpkaVlvA7G+1mBDAcX6yf7jNZJ/ZrrAHDt4WCx2i8E= ++github.com/containers/buildah v1.11.5/go.mod h1:bfNPqLO8GnI0qMPmI6MHSpQNK+a3TH9syYsRg+iqhRw= + github.com/containers/image/v5 v5.0.0 h1:arnXgbt1ucsC/ndtSpiQY87rA0UjhF+/xQnPzqdBDn4= + github.com/containers/image/v5 v5.0.0/go.mod h1:MgiLzCfIeo8lrHi+4Lb8HP+rh513sm0Mlk6RrhjFOLY= + github.com/containers/image/v5 v5.0.1-0.20200205124631-82291c45f2b0 h1:iV4aHKRoPcHp5BISsuiPMyaCjGJfLKp/FUMAG1NeqvE= +@@ -130,6 +133,8 @@ github.com/docker/docker v0.0.0-20171019062838-86f080cff091/go.mod h1:eEKB0N0r5N + github.com/docker/docker v0.0.0-20180522102801-da99009bbb11/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= + github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce h1:H3csZuxZESJeeEiOxq4YXPNmLFbjl7u2qVBrAAGX/sA= + github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= ++github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 h1:oqgGT9O61YAYvI41EBsLePOr+LE6roB0xY4gpkZuFSE= ++github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= + github.com/docker/docker-credential-helpers v0.6.0/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= + github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= + github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +@@ -165,6 +170,8 @@ github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV + github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= + github.com/fsouza/go-dockerclient v1.5.0 h1:7OtayOe5HnoG+KWMHgyyPymwaodnB2IDYuVfseKyxbA= + github.com/fsouza/go-dockerclient v1.5.0/go.mod h1:AqZZK/zFO3phxYxlTsAaeAMSdQ9mgHuhy+bjN034Qds= ++github.com/fsouza/go-dockerclient v1.6.0 h1:f7j+AX94143JL1H3TiqSMkM4EcLDI0De1qD4GGn3Hig= ++github.com/fsouza/go-dockerclient v1.6.0/go.mod h1:YWwtNPuL4XTX1SKJQk86cWPmmqwx+4np9qfPbb+znGc= + github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= + github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= + github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +diff --git a/vendor/github.com/containers/buildah/.travis.yml b/vendor/github.com/containers/buildah/.travis.yml +index a7410823043f..8bf3756f517d 100644 +--- a/vendor/github.com/containers/buildah/.travis.yml ++++ b/vendor/github.com/containers/buildah/.travis.yml +@@ -68,21 +68,25 @@ script: + # Fail fast + - set -e + # Let's do some docker stuff just for verification purposes +- - docker ps --all +- - docker images +- - ls -alF /home/travis/auth +- - docker pull docker.io/alpine +- - echo testpassword | docker login localhost:5000 --username testuser --password-stdin +- - docker tag alpine localhost:5000/my-alpine +- - docker push localhost:5000/my-alpine +- - docker ps --all +- - docker images +- - docker rmi docker.io/alpine +- - docker rmi localhost:5000/my-alpine +- - docker pull localhost:5000/my-alpine +- - docker ps --all +- - docker images +- - docker rmi localhost:5000/my-alpine ++# Commented out the following in order to get travis runs ++# under the 50 minute requirement. Do not remove as we may ++# want to use this in cirrius testing when we move there. ++# - docker ps --all ++# - docker images ++# - ls -alF /home/travis/auth ++# - docker pull docker.io/alpine ++# - echo testpassword | docker login localhost:5000 --username testuser --password-stdin ++# - docker tag alpine localhost:5000/my-alpine ++# - docker push localhost:5000/my-alpine ++# - docker ps --all ++# - docker images ++# - docker rmi docker.io/alpine ++# - docker rmi localhost:5000/my-alpine ++# - docker pull localhost:5000/my-alpine ++# - docker ps --all ++# - docker images ++# - docker rmi localhost:5000/my-alpine ++# End Speed up comment + # Setting up Docker Registry is complete, let's do Buildah testing! + - make install.tools -j4 + - make install.libseccomp.sudo all runc validate lint SECURITYTAGS="apparmor seccomp" +diff --git a/vendor/github.com/containers/buildah/buildah.go b/vendor/github.com/containers/buildah/buildah.go +index d57eea818e37..7042590d1432 100644 +--- a/vendor/github.com/containers/buildah/buildah.go ++++ b/vendor/github.com/containers/buildah/buildah.go +@@ -27,7 +27,7 @@ const ( + Package = "buildah" + // Version for the Package. Bump version in contrib/rpm/buildah.spec + // too. +- Version = "1.12.0-dev" ++ Version = "1.11.5" + // The value we use to identify what type of information, currently a + // serialized Builder structure, we are using as per-container state. + // This should only be changed when we make incompatible changes to +@@ -40,7 +40,7 @@ const ( + stateFile = Package + ".json" + ) + +-// PullPolicy takes the value PullIfMissing, PullAlways, or PullNever. ++// PullPolicy takes the value PullIfMissing, PullAlways, PullIfNewer, or PullNever. + type PullPolicy int + + const ( +@@ -52,6 +52,11 @@ const ( + // take, signalling that a fresh, possibly updated, copy of the image + // should be pulled from a registry before the build proceeds. + PullAlways ++ // PullIfNewer is one of the values that BuilderOptions.PullPolicy ++ // can take, signalling that the source image should only be pulled ++ // from a registry if a local copy is not already present or if a ++ // newer version the image is present on the repository. ++ PullIfNewer + // PullNever is one of the values that BuilderOptions.PullPolicy can + // take, signalling that the source image should not be pulled from a + // registry if a local copy of it is not already present. +@@ -65,6 +70,8 @@ func (p PullPolicy) String() string { + return "PullIfMissing" + case PullAlways: + return "PullAlways" ++ case PullIfNewer: ++ return "PullIfNewer" + case PullNever: + return "PullNever" + } +diff --git a/vendor/github.com/containers/buildah/changelog.txt b/vendor/github.com/containers/buildah/changelog.txt +index 6e98e54050dc..098e6d6d4f75 100644 +--- a/vendor/github.com/containers/buildah/changelog.txt ++++ b/vendor/github.com/containers/buildah/changelog.txt +@@ -1,3 +1,30 @@ ++- Changelog for v1.11.5 (2019-11-11) ++ * Enhance error on unsafe symbolic link targets ++ * Add OCIRuntime to info ++ * Check nonexsit authfile ++ * Only output image id if running buildah bud --quiet ++ * Fix --pull=true||false and add --pull-never to bud and from (retry) ++ * cgroups v2: tweak or skip tests ++ * Prepwork: new 'skip' helpers for tests ++ * Handle configuration blobs for manifest lists ++ * unmarshalConvertedConfig: avoid using the updated image's ref ++ * Add completions for Manifest commands ++ * Add disableFips option to secrets pkg ++ * Update bud.bats test archive test ++ * Add test for caching based on content digest ++ * Builder.untarPath(): always evaluate b.ContentDigester.Hash() ++ * Bump github.com/onsi/ginkgo from 1.10.1 to 1.10.2 ++ * Fix another broken test: copy-url-mtime ++ * yet more fixes ++ * Actual bug fix for 'add' test: fix the expected mode ++ * BATS tests - lots of mostly minor cleanup ++ * build: drop support for ostree ++ * Add support for make vendor-in-container ++ * imgtype: exit with error if storage fails ++ * remove XDG_RUNTIME_DIR from default authfile path ++ * fix troubleshooting redirect instructions ++ * Bump back to v1.12.0-dev ++ + - Changelog for v1.11.4 (2019-10-28) + * buildah: add a "manifest" command + * manifests: add the module +diff --git a/vendor/github.com/containers/buildah/config.go b/vendor/github.com/containers/buildah/config.go +index 617619e45c14..32f2171eb036 100644 +--- a/vendor/github.com/containers/buildah/config.go ++++ b/vendor/github.com/containers/buildah/config.go +@@ -26,7 +26,7 @@ func unmarshalConvertedConfig(ctx context.Context, dest interface{}, img types.I + return errors.Wrapf(err, "error getting manifest MIME type for %q", transports.ImageName(img.Reference())) + } + if wantedManifestMIMEType != actualManifestMIMEType { +- img, err = img.UpdatedImage(ctx, types.ManifestUpdateOptions{ ++ updatedImg, err := img.UpdatedImage(ctx, types.ManifestUpdateOptions{ + ManifestMIMEType: wantedManifestMIMEType, + InformationOnly: types.ManifestUpdateInformation{ // Strictly speaking, every value in here is invalid. But… + Destination: nil, // Destination is technically required, but actually necessary only for conversion _to_ v2s1. Leave it nil, we will crash if that ever changes. +@@ -35,8 +35,9 @@ func unmarshalConvertedConfig(ctx context.Context, dest interface{}, img types.I + }, + }) + if err != nil { +- return errors.Wrapf(err, "error converting image %q to %s", transports.ImageName(img.Reference()), wantedManifestMIMEType) ++ return errors.Wrapf(err, "error converting image %q from %q to %q", transports.ImageName(img.Reference()), actualManifestMIMEType, wantedManifestMIMEType) + } ++ img = updatedImg + } + config, err := img.ConfigBlob(ctx) + if err != nil { +diff --git a/vendor/github.com/containers/buildah/go.mod b/vendor/github.com/containers/buildah/go.mod +index c8741b7812d9..2c76c46bffeb 100644 +--- a/vendor/github.com/containers/buildah/go.mod ++++ b/vendor/github.com/containers/buildah/go.mod +@@ -14,7 +14,7 @@ require ( + github.com/docker/go-units v0.4.0 + github.com/docker/libnetwork v0.8.0-dev.2.0.20190625141545-5a177b73e316 + github.com/etcd-io/bbolt v1.3.3 +- github.com/fsouza/go-dockerclient v1.5.0 ++ github.com/fsouza/go-dockerclient v1.6.0 + github.com/ghodss/yaml v1.0.0 + github.com/hashicorp/go-multierror v1.0.0 + github.com/imdario/mergo v0.3.6 // indirect +@@ -43,7 +43,7 @@ require ( + github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f // indirect + github.com/xeipuuv/gojsonschema v1.1.0 // indirect + golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad +- golang.org/x/sys v0.0.0-20190902133755-9109b7679e13 ++ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 + golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0 // indirect + google.golang.org/grpc v1.24.0 // indirect + k8s.io/api v0.0.0-20190813020757-36bff7324fb7 // indirect +diff --git a/vendor/github.com/containers/buildah/go.sum b/vendor/github.com/containers/buildah/go.sum +index 4a6673b04808..15dab479487e 100644 +--- a/vendor/github.com/containers/buildah/go.sum ++++ b/vendor/github.com/containers/buildah/go.sum +@@ -11,8 +11,12 @@ github.com/Microsoft/go-winio v0.4.12 h1:xAfWHN1IrQ0NJ9TBC0KBZoqLjzDTr1ML+4MywiU + github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= + github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU= + github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= ++github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA= ++github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= + github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA= + github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= ++github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c h1:YMP6olTU903X3gxQJckdmiP8/zkSMq4kN3uipsU9XjU= ++github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c/go.mod h1:7xhjOwRV2+0HXGmM0jxaEu+ZiXJFoVZOTfL/dmqbrD8= + github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= + github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= + github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +@@ -25,14 +29,25 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 + github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= + github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= + github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= ++github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= + github.com/blang/semver v3.5.0+incompatible h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs= + github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= + github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= ++github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s= ++github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= ++github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= ++github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= + github.com/containerd/containerd v1.3.0 h1:xjvXQWABwS2uiv3TWgQt5Uth60Gu86LTGZXMJkjc7rY= + github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= + github.com/containerd/continuity v0.0.0-20180216233310-d8fb8589b0e8/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= + github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882bXEDKfWIf0wa8HRvpnBoPszJJXL+TVbBw4M= + github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= ++github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8= ++github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= ++github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= ++github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= ++github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= ++github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= + github.com/containernetworking/cni v0.7.1 h1:fE3r16wpSEyaqY4Z4oFrLMmIGfBYIKpPrHK31EJ9FzE= + github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= + github.com/containers/image/v4 v4.0.1 h1:idNGHChj0Pyv3vLrxul2oSVMZLeFqpoq3CjLeVgapSQ= +@@ -48,6 +63,7 @@ github.com/containers/storage v1.13.5/go.mod h1:HELz8Sn+UVbPaUZMI8RvIG9doD4y4z6G + github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= + github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= + github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= ++github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= + github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= + github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= + github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +@@ -64,6 +80,8 @@ github.com/docker/docker v1.4.2-0.20190710153559-aa8249ae1b8b h1:+Ga+YpCDpcY1fln + github.com/docker/docker v1.4.2-0.20190710153559-aa8249ae1b8b/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= + github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce h1:H3csZuxZESJeeEiOxq4YXPNmLFbjl7u2qVBrAAGX/sA= + github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= ++github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 h1:oqgGT9O61YAYvI41EBsLePOr+LE6roB0xY4gpkZuFSE= ++github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= + github.com/docker/docker-credential-helpers v0.6.0/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= + github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= + github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +@@ -90,6 +108,8 @@ github.com/fsouza/go-dockerclient v1.4.4 h1:Sd5nD4wdAgiPxvrbYUzT2ZZNmPk3z+GGnZ+f + github.com/fsouza/go-dockerclient v1.4.4/go.mod h1:PrwszSL5fbmsESocROrOGq/NULMXRw+bajY0ltzD6MA= + github.com/fsouza/go-dockerclient v1.5.0 h1:7OtayOe5HnoG+KWMHgyyPymwaodnB2IDYuVfseKyxbA= + github.com/fsouza/go-dockerclient v1.5.0/go.mod h1:AqZZK/zFO3phxYxlTsAaeAMSdQ9mgHuhy+bjN034Qds= ++github.com/fsouza/go-dockerclient v1.6.0 h1:f7j+AX94143JL1H3TiqSMkM4EcLDI0De1qD4GGn3Hig= ++github.com/fsouza/go-dockerclient v1.6.0/go.mod h1:YWwtNPuL4XTX1SKJQk86cWPmmqwx+4np9qfPbb+znGc= + github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= + github.com/ghodss/yaml v0.0.0-20161207003320-04f313413ffd/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= + github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +@@ -102,6 +122,7 @@ github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1 + github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= + github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= + github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= ++github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= + github.com/gogo/protobuf v0.0.0-20170815085658-fcdc5011193f/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= + github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= + github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +@@ -133,11 +154,15 @@ github.com/gorilla/mux v0.0.0-20170217192616-94e7d24fd285/go.mod h1:1lud6UwP+6or + github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= + github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= + github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= ++github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= + github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= + github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= ++github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= + github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= + github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= + github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= ++github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= ++github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= + github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= + github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= + github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +@@ -219,19 +244,23 @@ github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= + github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= + github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME= + github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= ++github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= + github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= + github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= + github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= + github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= + github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6 h1:yN8BPXVwMBAm3Cuvh1L5XE8XpvYRMdsVLd82ILprhUU= + github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= ++github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= + github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= + github.com/opencontainers/runc v1.0.0-rc8 h1:dDCFes8Hj1r/i5qnypONo5jdOme/8HWZC/aNDyhECt0= + github.com/opencontainers/runc v1.0.0-rc8/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= + github.com/opencontainers/runc v1.0.0-rc8.0.20190827142921-dd075602f158 h1:/A6bAdnSZoTQmKml3MdHAnSEPnBAQeigNBl4sxnfaaQ= + github.com/opencontainers/runc v1.0.0-rc8.0.20190827142921-dd075602f158/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= ++github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= + github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7 h1:Dliu5QO+4JYWu/yMshaMU7G3JN2POGpwjJN7gjy10Go= + github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= ++github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= + github.com/opencontainers/runtime-tools v0.9.0 h1:FYgwVsKRI/H9hU32MJ/4MLOzXWodKK5zsQavY8NPMkU= + github.com/opencontainers/runtime-tools v0.9.0/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= + github.com/opencontainers/selinux v1.2.2 h1:Kx9J6eDG5/24A6DtUquGSpJQ+m2MUTahn4FtGEe8bFg= +@@ -271,6 +300,8 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R + github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= + github.com/prometheus/procfs v0.0.3 h1:CTwfnzjQ+8dS6MhHHu4YswVAD99sL2wjPqP+VkURmKE= + github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= ++github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8= ++github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= + github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= + github.com/seccomp/containers-golang v0.0.0-20180629143253-cdfdaa7543f4 h1:rOG9oHVIndNR14f3HRyBy9UPQYmIPniWqTU1TDdHhq4= + github.com/seccomp/containers-golang v0.0.0-20180629143253-cdfdaa7543f4/go.mod h1:f/98/SnvAzhAEFQJ3u836FePXvcbE8BS0YGMQNn4mhA= +@@ -300,6 +331,7 @@ github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0 + github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= + github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= + github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= ++github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= + github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 h1:b6uOv7YOFK0TYG7HtkIgExQo+2RdLuwRft63jn2HWj8= + github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= + github.com/tchap/go-patricia v2.3.0+incompatible h1:GkY4dP3cEfEASBPPkWd+AmjYxhmDkqO9/zg7R0lSQRs= +@@ -307,6 +339,7 @@ github.com/tchap/go-patricia v2.3.0+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ + github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= + github.com/ulikunitz/xz v0.5.6 h1:jGHAfXawEGZQ3blwU5wnWKQJvAraT7Ftq9EXjnXYgt8= + github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= ++github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= + github.com/vbatts/tar-split v0.11.1 h1:0Odu65rhcZ3JZaPHxl7tCI3V/C/Q9Zf82UFravl02dE= + github.com/vbatts/tar-split v0.11.1/go.mod h1:LEuURwDEiWjRjwu46yU3KVGuUdVv/dcnpcEPSzR8z6g= + github.com/vbauerster/mpb v3.4.0+incompatible h1:mfiiYw87ARaeRW6x5gWwYRUawxaW1tLAD8IceomUCNw= +@@ -321,12 +354,15 @@ github.com/xeipuuv/gojsonpointer v0.0.0-20190809123943-df4f5c81cb3b h1:6cLsL+2FW + github.com/xeipuuv/gojsonpointer v0.0.0-20190809123943-df4f5c81cb3b/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= ++github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= + github.com/xeipuuv/gojsonschema v0.0.0-20190816131739-be0936907f66/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= + github.com/xeipuuv/gojsonschema v1.1.0 h1:ngVtJC9TY/lg0AA/1k48FYhBrhRoFlEmWzsehpNAaZg= + github.com/xeipuuv/gojsonschema v1.1.0/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= + github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= + go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= + go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= ++go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= ++go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= + golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= + golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= + golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= +@@ -335,12 +371,19 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49N + golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= + golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad h1:5E5raQxcv+6CZ11RrBYQe5WRbUIWpScjh0kvHZkZIrQ= + golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= ++golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= ++golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= ++golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= + golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= + golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= ++golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= ++golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= + golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= + golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= ++golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= + golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= + golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= ++golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= + golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= + golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= + golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +@@ -349,9 +392,11 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ + golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= + golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= + golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= ++golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= + golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= + golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= + golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= ++golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= + golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= + golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= + golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +@@ -360,7 +405,9 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h + golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc= + golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= ++golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= ++golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= + golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +@@ -370,6 +417,8 @@ golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3 h1:4y9KwBHBgBNwDbtu44R5o1fdO + golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20190902133755-9109b7679e13 h1:tdsQdquKbTNMsSZLqnLELJGzCANp9oXhu6zFBW6ODx4= + golang.org/x/sys v0.0.0-20190902133755-9109b7679e13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= ++golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo= ++golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= + golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= + golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +@@ -382,12 +431,19 @@ golang.org/x/tools v0.0.0-20180810170437-e96c4e24768d/go.mod h1:n7NCudcB/nEzxVGm + golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= + golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= + golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= ++golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= ++golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= + golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= + golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= + google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= ++google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= + google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= + google.golang.org/genproto v0.0.0-20180831171423-11092d34479b h1:lohp5blsw53GBXtLyLNaTXPXS9pJ1tiTw61ZHUoE9Qw= + google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= ++google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY= ++google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= ++google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= ++google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= + google.golang.org/grpc v1.22.0 h1:J0UbZOIrCAl+fpTOf8YLs4dJo8L/owV4LYVtAXQoPkw= + google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= + google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s= +@@ -410,6 +466,7 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= + gotest.tools v0.0.0-20190624233834-05ebafbffc79/go.mod h1:R//lfYlUuTOTfblYI3lGoAAAebUdzjvbmQsuB7Ykd90= + gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= + gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= ++honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= + honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= + k8s.io/api v0.0.0-20190813020757-36bff7324fb7 h1:4uJOjRn9kWq4AqJRE8+qzmAy+lJd9rh8TY455dNef4U= + k8s.io/api v0.0.0-20190813020757-36bff7324fb7/go.mod h1:3Iy+myeAORNCLgjd/Xu9ebwN7Vh59Bw0vh9jhoX+V58= +@@ -423,6 +480,7 @@ k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUc + k8s.io/klog v0.3.1 h1:RVgyDHY/kFKtLqh67NvEWIgkMneNoIrdkN0CxDSQc68= + k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= + k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4= ++k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= + sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= + sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= + sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +diff --git a/vendor/github.com/containers/buildah/imagebuildah/build.go b/vendor/github.com/containers/buildah/imagebuildah/build.go +index 6b2c9c84c2ce..fb9600b1a369 100644 +--- a/vendor/github.com/containers/buildah/imagebuildah/build.go ++++ b/vendor/github.com/containers/buildah/imagebuildah/build.go +@@ -27,6 +27,7 @@ import ( + const ( + PullIfMissing = buildah.PullIfMissing + PullAlways = buildah.PullAlways ++ PullIfNewer = buildah.PullIfNewer + PullNever = buildah.PullNever + + Gzip = archive.Gzip +@@ -45,7 +46,7 @@ type BuildOptions struct { + // commands. + ContextDirectory string + // PullPolicy controls whether or not we pull images. It should be one +- // of PullIfMissing, PullAlways, or PullNever. ++ // of PullIfMissing, PullAlways, PullIfNewer, or PullNever. + PullPolicy buildah.PullPolicy + // Registry is a value which is prepended to the image's name, if it + // needs to be pulled and the image name alone can not be resolved to a +diff --git a/vendor/github.com/containers/buildah/imagebuildah/executor.go b/vendor/github.com/containers/buildah/imagebuildah/executor.go +index 27ec1bb23bbb..35fc3d63d4fc 100644 +--- a/vendor/github.com/containers/buildah/imagebuildah/executor.go ++++ b/vendor/github.com/containers/buildah/imagebuildah/executor.go +@@ -339,6 +339,11 @@ func (b *Executor) Build(ctx context.Context, stages imagebuilder.Stages) (image + var cleanupImages []string + cleanupStages := make(map[int]*StageExecutor) + ++ stdout := b.out ++ if b.quiet { ++ b.out = ioutil.Discard ++ } ++ + cleanup := func() error { + var lastErr error + // Clean up any containers associated with the final container +@@ -527,6 +532,10 @@ func (b *Executor) Build(ctx context.Context, stages imagebuilder.Stages) (image + if err = ioutil.WriteFile(b.iidfile, []byte(imageID), 0644); err != nil { + return imageID, ref, errors.Wrapf(err, "failed to write image ID to file %q", b.iidfile) + } ++ } else { ++ if _, err := stdout.Write([]byte(imageID + "\n")); err != nil { ++ return imageID, ref, errors.Wrapf(err, "failed to write image ID to stdout") ++ } + } + + return imageID, ref, nil +diff --git a/vendor/github.com/containers/buildah/imagebuildah/stage_executor.go b/vendor/github.com/containers/buildah/imagebuildah/stage_executor.go +index fad2bfe9558d..67c0a0eb9454 100644 +--- a/vendor/github.com/containers/buildah/imagebuildah/stage_executor.go ++++ b/vendor/github.com/containers/buildah/imagebuildah/stage_executor.go +@@ -318,7 +318,7 @@ func (s *StageExecutor) digestSpecifiedContent(node *parser.Node, argValues []st + // directory. + contextSrc, err := securejoin.SecureJoin(contextDir, src) + if err != nil { +- return "", errors.Wrapf(err, "error joining %q and %q", contextDir, src) ++ return "", errors.Wrapf(err, "forbidden path for %q, it is outside of the build context %q", src, contextDir) + } + sources = append(sources, contextSrc) + } +@@ -432,7 +432,7 @@ func (s *StageExecutor) Copy(excludes []string, copies ...imagebuilder.Copy) err + // directory. + srcSecure, err := securejoin.SecureJoin(contextDir, src) + if err != nil { +- return err ++ return errors.Wrapf(err, "forbidden path for %q, it is outside of the build context %q", src, contextDir) + } + if hadFinalPathSeparator { + // If destination is a folder, we need to take extra care to +diff --git a/vendor/github.com/containers/buildah/import.go b/vendor/github.com/containers/buildah/import.go +index 751ce6ae1c8d..329633b442a4 100644 +--- a/vendor/github.com/containers/buildah/import.go ++++ b/vendor/github.com/containers/buildah/import.go +@@ -5,8 +5,10 @@ import ( + + "github.com/containers/buildah/docker" + "github.com/containers/buildah/util" ++ "github.com/containers/image/v5/image" + "github.com/containers/image/v5/manifest" + is "github.com/containers/image/v5/storage" ++ "github.com/containers/image/v5/transports" + "github.com/containers/image/v5/types" + "github.com/containers/storage" + digest "github.com/opencontainers/go-digest" +@@ -28,12 +30,39 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system + if err != nil { + return nil, errors.Wrapf(err, "no such image %q", imageID) + } +- src, err2 := ref.NewImage(ctx, systemContext) +- if err2 != nil { +- return nil, errors.Wrapf(err2, "error instantiating image") ++ src, err := ref.NewImageSource(ctx, systemContext) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error instantiating image source") + } + defer src.Close() + ++ imageDigest := "" ++ manifestBytes, manifestType, err := src.GetManifest(ctx, nil) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error loading image manifest for %q", transports.ImageName(ref)) ++ } ++ if manifestDigest, err := manifest.Digest(manifestBytes); err == nil { ++ imageDigest = manifestDigest.String() ++ } ++ ++ var instanceDigest *digest.Digest ++ if manifest.MIMETypeIsMultiImage(manifestType) { ++ list, err := manifest.ListFromBlob(manifestBytes, manifestType) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error parsing image manifest for %q as list", transports.ImageName(ref)) ++ } ++ instance, err := list.ChooseInstance(systemContext) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error finding an appropriate image in manifest list %q", transports.ImageName(ref)) ++ } ++ instanceDigest = &instance ++ } ++ ++ image, err := image.FromUnparsedImage(ctx, systemContext, image.UnparsedInstance(src, instanceDigest)) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error instantiating image for %q instance %q", transports.ImageName(ref), instanceDigest) ++ } ++ + imageName := "" + if img, err3 := store.Image(imageID); err3 == nil { + if len(img.Names) > 0 { +@@ -48,13 +77,6 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system + } + } + +- imageDigest := "" +- if manifestBytes, _, err := src.Manifest(ctx); err == nil { +- if manifestDigest, err := manifest.Digest(manifestBytes); err == nil { +- imageDigest = manifestDigest.String() +- } +- } +- + defaultNamespaceOptions, err := DefaultNamespaceOptions() + if err != nil { + return nil, err +@@ -79,7 +101,7 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system + }, + } + +- if err := builder.initConfig(ctx, src); err != nil { ++ if err := builder.initConfig(ctx, image); err != nil { + return nil, errors.Wrapf(err, "error preparing image configuration") + } + +diff --git a/vendor/github.com/containers/buildah/info.go b/vendor/github.com/containers/buildah/info.go +index c741bb449e11..322bd8834dff 100644 +--- a/vendor/github.com/containers/buildah/info.go ++++ b/vendor/github.com/containers/buildah/info.go +@@ -52,10 +52,13 @@ func hostInfo() map[string]interface{} { + logrus.Error(err, "err reading cgroups mode") + } + cgroupVersion := "v1" ++ ociruntime := "runc" + if unified { + cgroupVersion = "v2" ++ ociruntime = "crun" + } + info["CgroupVersion"] = cgroupVersion ++ info["OCIRuntime"] = ociruntime + + mi, err := system.ReadMemInfo() + if err != nil { +diff --git a/vendor/github.com/containers/buildah/new.go b/vendor/github.com/containers/buildah/new.go +index 87cfd5d0da6c..68c6ebd544ea 100644 +--- a/vendor/github.com/containers/buildah/new.go ++++ b/vendor/github.com/containers/buildah/new.go +@@ -5,8 +5,10 @@ import ( + "fmt" + "math/rand" + "strings" ++ "time" + + "github.com/containers/buildah/util" ++ "github.com/containers/image/v5/image" + "github.com/containers/image/v5/manifest" + "github.com/containers/image/v5/pkg/sysregistriesv2" + is "github.com/containers/image/v5/storage" +@@ -14,6 +16,7 @@ import ( + "github.com/containers/image/v5/transports/alltransports" + "github.com/containers/image/v5/types" + "github.com/containers/storage" ++ digest "github.com/opencontainers/go-digest" + "github.com/openshift/imagebuilder" + "github.com/pkg/errors" + "github.com/sirupsen/logrus" +@@ -154,23 +157,47 @@ func resolveImage(ctx context.Context, systemContext *types.SystemContext, store + if destImage == "" { + return nil, "", nil, errors.Errorf("error computing local image name for %q", transports.ImageName(srcRef)) + } +- + ref, err := is.Transport.ParseStoreReference(store, destImage) + if err != nil { + return nil, "", nil, errors.Wrapf(err, "error parsing reference to image %q", destImage) + } +- img, err := is.Transport.GetStoreImage(store, ref) +- if err == nil { +- return ref, transport, img, nil +- } + +- if errors.Cause(err) == storage.ErrImageUnknown && options.PullPolicy != PullIfMissing { +- logrus.Debugf("no such image %q: %v", transports.ImageName(ref), err) +- failures = append(failures, failure{ +- resolvedImageName: image, +- err: fmt.Errorf("no such image %q", transports.ImageName(ref)), +- }) +- continue ++ if options.PullPolicy == PullIfNewer { ++ img, err := is.Transport.GetStoreImage(store, ref) ++ if err == nil { ++ // Let's see if this image is on the repository and if it's there ++ // then note it's Created date. ++ var repoImageCreated time.Time ++ repoImageFound := false ++ repoImage, err := srcRef.NewImage(ctx, systemContext) ++ if err == nil { ++ inspect, err := repoImage.Inspect(ctx) ++ if err == nil { ++ repoImageFound = true ++ repoImageCreated = *inspect.Created ++ } ++ repoImage.Close() ++ } ++ if !repoImageFound || repoImageCreated == img.Created { ++ // The image is only local or the same date is on the ++ // local and repo versions of the image, no need to pull. ++ return ref, transport, img, nil ++ } ++ } ++ } else { ++ // Get the image from the store if present for PullNever and PullIfMissing ++ img, err := is.Transport.GetStoreImage(store, ref) ++ if err == nil { ++ return ref, transport, img, nil ++ } ++ if errors.Cause(err) == storage.ErrImageUnknown && options.PullPolicy == PullNever { ++ logrus.Debugf("no such image %q: %v", transports.ImageName(ref), err) ++ failures = append(failures, failure{ ++ resolvedImageName: image, ++ err: fmt.Errorf("no such image %q", transports.ImageName(ref)), ++ }) ++ continue ++ } + } + + pulledImg, pulledReference, err := pullAndFindImage(ctx, store, srcRef, options, systemContext) +@@ -253,35 +280,53 @@ func newBuilder(ctx context.Context, store storage.Store, options BuilderOptions + return nil, err + } + } +- image := options.FromImage ++ imageSpec := options.FromImage + imageID := "" + imageDigest := "" + topLayer := "" + if img != nil { +- image = getImageName(imageNamePrefix(image), img) ++ imageSpec = getImageName(imageNamePrefix(imageSpec), img) + imageID = img.ID + topLayer = img.TopLayer + } +- var src types.ImageCloser ++ var src types.Image + if ref != nil { +- src, err = ref.NewImage(ctx, systemContext) ++ srcSrc, err := ref.NewImageSource(ctx, systemContext) + if err != nil { + return nil, errors.Wrapf(err, "error instantiating image for %q", transports.ImageName(ref)) + } +- if manifestBytes, _, err := src.Manifest(ctx); err == nil { +- if manifestDigest, err := manifest.Digest(manifestBytes); err == nil { +- imageDigest = manifestDigest.String() ++ defer srcSrc.Close() ++ manifestBytes, manifestType, err := srcSrc.GetManifest(ctx, nil) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error loading image manifest for %q", transports.ImageName(ref)) ++ } ++ if manifestDigest, err := manifest.Digest(manifestBytes); err == nil { ++ imageDigest = manifestDigest.String() ++ } ++ var instanceDigest *digest.Digest ++ if manifest.MIMETypeIsMultiImage(manifestType) { ++ list, err := manifest.ListFromBlob(manifestBytes, manifestType) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error parsing image manifest for %q as list", transports.ImageName(ref)) ++ } ++ instance, err := list.ChooseInstance(systemContext) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error finding an appropriate image in manifest list %q", transports.ImageName(ref)) + } ++ instanceDigest = &instance ++ } ++ src, err = image.FromUnparsedImage(ctx, systemContext, image.UnparsedInstance(srcSrc, instanceDigest)) ++ if err != nil { ++ return nil, errors.Wrapf(err, "error instantiating image for %q instance %q", transports.ImageName(ref), instanceDigest) + } +- defer src.Close() + } + + name := "working-container" + if options.Container != "" { + name = options.Container + } else { +- if image != "" { +- name = imageNamePrefix(image) + "-" + name ++ if imageSpec != "" { ++ name = imageNamePrefix(imageSpec) + "-" + name + } + } + var container *storage.Container +@@ -332,7 +377,7 @@ func newBuilder(ctx context.Context, store storage.Store, options BuilderOptions + builder := &Builder{ + store: store, + Type: containerType, +- FromImage: image, ++ FromImage: imageSpec, + FromImageID: imageID, + FromImageDigest: imageDigest, + Container: name, +diff --git a/vendor/github.com/containers/buildah/pkg/cli/common.go b/vendor/github.com/containers/buildah/pkg/cli/common.go +index e8979cd7f86f..6f49cc2406a7 100644 +--- a/vendor/github.com/containers/buildah/pkg/cli/common.go ++++ b/vendor/github.com/containers/buildah/pkg/cli/common.go +@@ -63,6 +63,7 @@ type BudResults struct { + Platform string + Pull bool + PullAlways bool ++ PullNever bool + Quiet bool + Rm bool + Runtime string +@@ -159,8 +160,9 @@ func GetBudFlags(flags *BudResults) pflag.FlagSet { + fs.StringVar(&flags.Logfile, "logfile", "", "log to `file` instead of stdout/stderr") + fs.IntVar(&flags.Loglevel, "loglevel", 0, "adjust logging level (range from -2 to 3)") + fs.StringVar(&flags.Platform, "platform", "", "CLI compatibility: no action or effect") +- fs.BoolVar(&flags.Pull, "pull", true, "pull the image if not present") +- fs.BoolVar(&flags.PullAlways, "pull-always", false, "pull the image, even if a version is present") ++ fs.BoolVar(&flags.Pull, "pull", true, "pull the image from the registry if newer or not present in store, if false, only pull the image if not present") ++ fs.BoolVar(&flags.PullAlways, "pull-always", false, "pull the image even if the named image is present in store") ++ fs.BoolVar(&flags.PullNever, "pull-never", false, "do not pull the image, use the image present in store if available") + fs.BoolVarP(&flags.Quiet, "quiet", "q", false, "refrain from announcing build instructions and image read/write progress") + fs.BoolVar(&flags.Rm, "rm", true, "Remove intermediate containers after a successful build") + // "runtime" definition moved to avoid name collision in podman build. Defined in cmd/buildah/bud.go. +@@ -265,9 +267,15 @@ func VerifyFlagsArgsOrder(args []string) error { + } + + func GetDefaultAuthFile() string { +- authfile := os.Getenv("REGISTRY_AUTH_FILE") +- if authfile != "" { +- return authfile ++ return os.Getenv("REGISTRY_AUTH_FILE") ++} ++ ++func CheckAuthFile(authfile string) error { ++ if authfile == "" { ++ return nil + } +- return "" ++ if _, err := os.Stat(authfile); err != nil { ++ return errors.Wrapf(err, "error checking authfile path %s", authfile) ++ } ++ return nil + } +diff --git a/vendor/github.com/containers/buildah/pkg/secrets/secrets.go b/vendor/github.com/containers/buildah/pkg/secrets/secrets.go +index ee2e9a7c84fe..80ca050165bd 100644 +--- a/vendor/github.com/containers/buildah/pkg/secrets/secrets.go ++++ b/vendor/github.com/containers/buildah/pkg/secrets/secrets.go +@@ -148,21 +148,12 @@ func getMountsMap(path string) (string, string, error) { + } + + // SecretMounts copies, adds, and mounts the secrets to the container root filesystem +-// Deprecated, Please use SecretMountWithUIDGID + func SecretMounts(mountLabel, containerWorkingDir, mountFile string, rootless, disableFips bool) []rspec.Mount { + return SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, containerWorkingDir, 0, 0, rootless, disableFips) + } + +-// SecretMountsWithUIDGID copies, adds, and mounts the secrets to the container root filesystem +-// mountLabel: MAC/SELinux label for container content +-// containerWorkingDir: Private data for storing secrets on the host mounted in container. +-// mountFile: Additional mount points required for the container. +-// mountPoint: Container image mountpoint +-// uid: to assign to content created for secrets +-// gid: to assign to content created for secrets +-// rootless: indicates whether container is running in rootless mode +-// disableFips: indicates whether system should ignore fips mode +-func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPoint string, uid, gid int, rootless, disableFips bool) []rspec.Mount { ++// SecretMountsWithUIDGID specifies the uid/gid of the owner ++func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPrefix string, uid, gid int, rootless, disableFips bool) []rspec.Mount { + var ( + secretMounts []rspec.Mount + mountFiles []string +@@ -180,7 +171,7 @@ func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPoi + } + for _, file := range mountFiles { + if _, err := os.Stat(file); err == nil { +- mounts, err := addSecretsFromMountsFile(file, mountLabel, containerWorkingDir, uid, gid) ++ mounts, err := addSecretsFromMountsFile(file, mountLabel, containerWorkingDir, mountPrefix, uid, gid) + if err != nil { + logrus.Warnf("error mounting secrets, skipping entry in %s: %v", file, err) + } +@@ -196,7 +187,7 @@ func SecretMountsWithUIDGID(mountLabel, containerWorkingDir, mountFile, mountPoi + // Add FIPS mode secret if /etc/system-fips exists on the host + _, err := os.Stat("/etc/system-fips") + if err == nil { +- if err := addFIPSModeSecret(&secretMounts, containerWorkingDir, mountPoint, mountLabel, uid, gid); err != nil { ++ if err := addFIPSModeSecret(&secretMounts, containerWorkingDir, mountPrefix, mountLabel, uid, gid); err != nil { + logrus.Errorf("error adding FIPS mode secret to container: %v", err) + } + } else if os.IsNotExist(err) { +@@ -215,7 +206,7 @@ func rchown(chowndir string, uid, gid int) error { + + // addSecretsFromMountsFile copies the contents of host directory to container directory + // and returns a list of mounts +-func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir string, uid, gid int) ([]rspec.Mount, error) { ++func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir, mountPrefix string, uid, gid int) ([]rspec.Mount, error) { + var mounts []rspec.Mount + defaultMountsPaths := getMounts(filePath) + for _, path := range defaultMountsPaths { +@@ -294,7 +285,7 @@ func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir string, + } + + m := rspec.Mount{ +- Source: ctrDirOrFileOnHost, ++ Source: filepath.Join(mountPrefix, ctrDirOrFile), + Destination: ctrDirOrFile, + Type: "bind", + Options: []string{"bind", "rprivate"}, +@@ -309,15 +300,15 @@ func addSecretsFromMountsFile(filePath, mountLabel, containerWorkingDir string, + // root filesystem if /etc/system-fips exists on hosts. + // This enables the container to be FIPS compliant and run openssl in + // FIPS mode as the host is also in FIPS mode. +-func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPoint, mountLabel string, uid, gid int) error { ++func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPrefix, mountLabel string, uid, gid int) error { + secretsDir := "/run/secrets" + ctrDirOnHost := filepath.Join(containerWorkingDir, secretsDir) + if _, err := os.Stat(ctrDirOnHost); os.IsNotExist(err) { + if err = idtools.MkdirAllAs(ctrDirOnHost, 0755, uid, gid); err != nil { +- return errors.Wrapf(err, "making container directory %q on host failed", ctrDirOnHost) ++ return errors.Wrapf(err, "making container directory on host failed") + } + if err = label.Relabel(ctrDirOnHost, mountLabel, false); err != nil { +- return errors.Wrapf(err, "error applying correct labels on %q", ctrDirOnHost) ++ return errors.Wrap(err, "error applying correct labels") + } + } + fipsFile := filepath.Join(ctrDirOnHost, "system-fips") +@@ -332,7 +323,7 @@ func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPoint, m + + if !mountExists(*mounts, secretsDir) { + m := rspec.Mount{ +- Source: ctrDirOnHost, ++ Source: filepath.Join(mountPrefix, secretsDir), + Destination: secretsDir, + Type: "bind", + Options: []string{"bind", "rprivate"}, +@@ -340,25 +331,6 @@ func addFIPSModeSecret(mounts *[]rspec.Mount, containerWorkingDir, mountPoint, m + *mounts = append(*mounts, m) + } + +- srcBackendDir := "/usr/share/crypto-policies/back-ends/FIPS" +- destDir := "/etc/crypto-policies/back-ends" +- srcOnHost := filepath.Join(mountPoint, srcBackendDir) +- if _, err := os.Stat(srcOnHost); err != nil { +- if os.IsNotExist(err) { +- return nil +- } +- return errors.Wrapf(err, "failed to stat FIPS Backend directory %q", ctrDirOnHost) +- } +- +- if !mountExists(*mounts, destDir) { +- m := rspec.Mount{ +- Source: srcOnHost, +- Destination: destDir, +- Type: "bind", +- Options: []string{"bind", "rprivate"}, +- } +- *mounts = append(*mounts, m) +- } + return nil + } + +diff --git a/vendor/github.com/docker/docker/AUTHORS b/vendor/github.com/docker/docker/AUTHORS +index d5b6cbbead48..ad166ba8df6c 100644 +--- a/vendor/github.com/docker/docker/AUTHORS ++++ b/vendor/github.com/docker/docker/AUTHORS +@@ -18,6 +18,7 @@ Abhishek Chanda + Abhishek Sharma + Abin Shahab + Adam Avilla ++Adam Dobrawy + Adam Eijdenberg + Adam Kunk + Adam Miller +@@ -113,6 +114,7 @@ Anda Xu + Anders Janmyr + Andre Dublin <81dublin@gmail.com> + Andre Granovsky ++Andrea Denisse Gómez + Andrea Luzzardi + Andrea Turli + Andreas Elvers +@@ -177,8 +179,10 @@ Anusha Ragunathan + apocas + Arash Deshmeh + ArikaChen ++Arko Dasgupta + Arnaud Lefebvre + Arnaud Porterie ++Arnaud Rebillout + Arthur Barr + Arthur Gautier + Artur Meyster +@@ -280,6 +284,7 @@ Carl Loa Odin + Carl X. Su + Carlo Mion + Carlos Alexandro Becker ++Carlos de Paula + Carlos Sanchez + Carol Fager-Higgins + Cary +@@ -329,6 +334,7 @@ Chris Gibson + Chris Khoo + Chris McKinnel + Chris McKinnel ++Chris Price + Chris Seto + Chris Snow + Chris St. Pierre +@@ -418,12 +424,14 @@ Daniel Norberg + Daniel Nordberg + Daniel Robinson + Daniel S ++Daniel Sweet + Daniel Von Fange + Daniel Watkins + Daniel X Moore + Daniel YC Lin + Daniel Zhang + Danny Berger ++Danny Milosavljevic + Danny Yates + Danyal Khaliq + Darren Coxall +@@ -517,6 +525,8 @@ Dmitry Smirnov + Dmitry V. Krivenok + Dmitry Vorobev + Dolph Mathews ++Dominic Tubach ++Dominic Yin + Dominik Dingel + Dominik Finkbeiner + Dominik Honnef +@@ -585,6 +595,7 @@ Erik Weathers + Erno Hopearuoho + Erwin van der Koogh + Ethan Bell ++Ethan Mosbaugh + Euan Kemp + Eugen Krizo + Eugene Yakubovich +@@ -621,6 +632,7 @@ Fareed Dudhia + Fathi Boudra + Federico Gimenez + Felipe Oliveira ++Felipe Ruhland + Felix Abecassis + Felix Geisendörfer + Felix Hupfeld +@@ -655,6 +667,7 @@ Frank Groeneveld + Frank Herrmann + Frank Macreery + Frank Rosquin ++frankyang + Fred Lifton + Frederick F. Kautz IV + Frederik Loeffert +@@ -702,6 +715,7 @@ Gleb M Borisov + Glyn Normington + GoBella + Goffert van Gool ++Goldwyn Rodrigues + Gopikannan Venugopalsamy + Gosuke Miyashita + Gou Rao +@@ -725,6 +739,7 @@ Guruprasad + Gustav Sinder + gwx296173 + Günter Zöchbauer ++Haichao Yang + haikuoliu + Hakan Özler + Hamish Hutchings +@@ -733,6 +748,7 @@ Hans Rødtang + Hao Shu Wei + Hao Zhang <21521210@zju.edu.cn> + Harald Albers ++Harald Niesche + Harley Laue + Harold Cooper + Harrison Turton +@@ -752,9 +768,11 @@ Hobofan + Hollie Teal + Hong Xu + Hongbin Lu ++Hongxu Jia + hsinko <21551195@zju.edu.cn> + Hu Keping + Hu Tao ++HuanHuan Ye + Huanzhong Zhang + Huayi Zhang + Hugo Duncan +@@ -898,6 +916,7 @@ Jie Luo + Jihyun Hwang + Jilles Oldenbeuving + Jim Alateras ++Jim Ehrismann + Jim Galasyn + Jim Minter + Jim Perrin +@@ -935,7 +954,7 @@ John Feminella + John Gardiner Myers + John Gossman + John Harris +-John Howard (VM) ++John Howard + John Laswell + John Maguire + John Mulhausen +@@ -949,6 +968,7 @@ John Willis + Jon Johnson + Jon Surrell + Jon Wedaman ++Jonas Dohse + Jonas Pfenniger + Jonathan A. Schweder + Jonathan A. Sternberg +@@ -1002,6 +1022,7 @@ Julio Montes + Jun-Ru Chang + Jussi Nummelin + Justas Brazauskas ++Justen Martin + Justin Cormack + Justin Force + Justin Menga +@@ -1010,6 +1031,7 @@ Justin Simonelis + Justin Terry + Justyn Temme + Jyrki Puttonen ++Jérémy Leherpeur + Jérôme Petazzoni + Jörg Thalheim + K. Heller +@@ -1047,6 +1069,7 @@ Ken Reese + Kenfe-Mickaël Laventure + Kenjiro Nakayama + Kent Johnson ++Kenta Tada + Kevin "qwazerty" Houdebert + Kevin Burke + Kevin Clark +@@ -1057,6 +1080,7 @@ Kevin Kern + Kevin Menard + Kevin Meredith + Kevin P. Kucharczyk ++Kevin Parsons + Kevin Richardson + Kevin Shi + Kevin Wallace +@@ -1147,6 +1171,7 @@ longliqiang88 <394564827@qq.com> + Lorenz Leutgeb + Lorenzo Fontana + Lotus Fenn ++Louis Delossantos + Louis Opter + Luca Favatella + Luca Marturana +@@ -1159,12 +1184,14 @@ Lucas Silvestre + Luciano Mores + Luis Martínez de Bartolomé Izquierdo + Luiz Svoboda ++Lukas Heeren + Lukas Waslowski + lukaspustina + Lukasz Zajaczkowski + Luke Marsden + Lyn + Lynda O'Leary ++lzhfromutsc + Lénaïc Huard + Ma Müller + Ma Shimiao +@@ -1298,6 +1325,7 @@ Michael Stapelberg + Michael Steinert + Michael Thies + Michael West ++Michael Zhao + Michal Fojtik + Michal Gebauer + Michal Jemala +@@ -1382,6 +1410,7 @@ Neyazul Haque + Nghia Tran + Niall O'Higgins + Nicholas E. Rabenau ++Nick Adcock + Nick DeCoursin + Nick Irvine + Nick Neisen +@@ -1420,6 +1449,7 @@ Nuutti Kotivuori + nzwsch + O.S. Tezer + objectified ++Odin Ugedal + Oguz Bilgic + Oh Jinkyun + Ohad Schneider +@@ -1430,6 +1460,7 @@ Oliver Reason + Olivier Gambier + Olle Jonsson + Olli Janatuinen ++Olly Pomeroy + Omri Shiv + Oriol Francès + Oskar Niburski +@@ -1439,6 +1470,7 @@ Ovidio Mallo + Panagiotis Moustafellos + Paolo G. Giarrusso + Pascal ++Pascal Bach + Pascal Borreli + Pascal Hartig + Patrick Böänziger +@@ -1463,6 +1495,7 @@ Paul Nasrat + Paul Weaver + Paulo Ribeiro + Pavel Lobashov ++Pavel Matěja + Pavel Pletenev + Pavel Pospisil + Pavel Sutyrin +@@ -1574,6 +1607,7 @@ Riku Voipio + Riley Guerin + Ritesh H Shukla + Riyaz Faizullabhoy ++Rob Gulewich + Rob Vesse + Robert Bachmann + Robert Bittle +@@ -1582,11 +1616,13 @@ Robert Schneider + Robert Stern + Robert Terhaar + Robert Wallis ++Robert Wang + Roberto G. Hashioka + Roberto Muñoz Fernández + Robin Naundorf + Robin Schneider + Robin Speekenbrink ++Robin Thoni + robpc + Rodolfo Carvalho + Rodrigo Vaz +@@ -1620,6 +1656,7 @@ Rozhnov Alexandr + Rudolph Gottesheim + Rui Cao + Rui Lopes ++Ruilin Li + Runshen Zhu + Russ Magee + Ryan Abrams +@@ -1658,6 +1695,7 @@ Sam J Sharpe + Sam Neirinck + Sam Reis + Sam Rijs ++Sam Whited + Sambuddha Basu + Sami Wagiaalla + Samuel Andaya +@@ -1672,6 +1710,7 @@ sapphiredev + Sargun Dhillon + Sascha Andres + Sascha Grunert ++SataQiu + Satnam Singh + Satoshi Amemiya + Satoshi Tagomori +@@ -1720,6 +1759,7 @@ Shijun Qin + Shishir Mahajan + Shoubhik Bose + Shourya Sarcar ++Shu-Wai Chow + shuai-z + Shukui Yang + Shuwei Hao +@@ -1730,6 +1770,7 @@ Silas Sewell + Silvan Jegen + Simão Reis + Simei He ++Simon Barendse + Simon Eskildsen + Simon Ferquel + Simon Leinen +@@ -1738,6 +1779,7 @@ Simon Taranto + Simon Vikstrom + Sindhu S + Sjoerd Langkemper ++skanehira + Solganik Alexander + Solomon Hykes + Song Gao +@@ -1749,6 +1791,7 @@ Sridatta Thatipamala + Sridhar Ratnakumar + Srini Brahmaroutu + Srinivasan Srivatsan ++Staf Wagemakers + Stanislav Bondarenko + Steeve Morin + Stefan Berger +@@ -1759,6 +1802,7 @@ Stefan Scherer + Stefan Staudenmeyer + Stefan Weil + Stephan Spindler ++Stephen Benjamin + Stephen Crosby + Stephen Day + Stephen Drake +@@ -1775,10 +1819,12 @@ Steven Iveson + Steven Merrill + Steven Richards + Steven Taylor ++Stig Larsson + Subhajit Ghosh + Sujith Haridasan + Sun Gengze <690388648@qq.com> + Sun Jianbo ++Sune Keller + Sunny Gogoi + Suryakumar Sudar + Sven Dowideit +@@ -1829,6 +1875,7 @@ Tianyi Wang + Tibor Vass + Tiffany Jernigan + Tiffany Low ++Tim + Tim Bart + Tim Bosse + Tim Dettrick +@@ -1914,6 +1961,7 @@ Victor Palma + Victor Vieux + Victoria Bialas + Vijaya Kumar K ++Vikram bir Singh + Viktor Stanchev + Viktor Vojnovski + VinayRaghavanKS +@@ -1971,6 +2019,7 @@ Wenyu You <21551128@zju.edu.cn> + Wenzhi Liang + Wes Morgan + Wewang Xiaorenfine ++Wiktor Kwapisiewicz + Will Dietz + Will Rouesnel + Will Weaver +@@ -1998,6 +2047,7 @@ xichengliudui <1693291525@qq.com> + xiekeyang + Ximo Guanter Gonzálbez + Xinbo Weng ++Xinfeng Liu + Xinzi Zhou + Xiuming Chen + Xuecong Liao +@@ -2012,6 +2062,7 @@ Yang Pengfei + yangchenliang + Yanqiang Miao + Yao Zaiyong ++Yash Murty + Yassine Tijani + Yasunori Mahata + Yazhong Liu +@@ -2026,6 +2077,7 @@ Yongxin Li + Yongzhi Pan + Yosef Fertel + You-Sheng Yang (楊有勝) ++youcai + Youcef YEKHLEF + Yu Changchun + Yu Chengxia +@@ -2062,6 +2114,7 @@ Zhoulin Xie + Zhu Guihua + Zhu Kunjia + Zhuoyun Wei ++Ziheng Liu + Zilin Du + zimbatm + Ziming Dong +@@ -2070,7 +2123,7 @@ zmarouf + Zoltan Tombol + Zou Yu + zqh +-Zuhayr Elahi ++Zuhayr Elahi + Zunayed Ali + Álex González + Álvaro Lázaro +diff --git a/vendor/github.com/docker/docker/api/swagger.yaml b/vendor/github.com/docker/docker/api/swagger.yaml +index cc2451f033a4..0698bba526d6 100644 +--- a/vendor/github.com/docker/docker/api/swagger.yaml ++++ b/vendor/github.com/docker/docker/api/swagger.yaml +@@ -3369,6 +3369,27 @@ definitions: + format: "dateTime" + Message: + type: "string" ++ ServiceStatus: ++ description: | ++ The status of the service's tasks. Provided only when requested as ++ part of a ServiceList operation. ++ type: "object" ++ properties: ++ RunningTasks: ++ description: "The number of tasks for the service currently in the Running state" ++ type: "integer" ++ format: "uint64" ++ example: 7 ++ DesiredTasks: ++ description: | ++ The number of tasks for the service desired to be running. ++ For replicated services, this is the replica count from the ++ service spec. For global services, this is computed by taking ++ count of all tasks for the service with a Desired State other ++ than Shutdown. ++ type: "integer" ++ format: "uint64" ++ example: 10 + example: + ID: "9mnpnzenvg8p8tdbtq4wvbkcz" + Version: +@@ -4924,6 +4945,8 @@ paths: + type: "integer" + Driver: + type: "string" ++ Platform: ++ type: "string" + MountLabel: + type: "string" + ProcessLabel: +@@ -9316,6 +9339,10 @@ paths: + - `label=` + - `mode=["replicated"|"global"]` + - `name=` ++ - name: "status" ++ in: "query" ++ type: "boolean" ++ description: "Include service status, with count of running and desired tasks" + tags: ["Service"] + /services/create: + post: +@@ -10414,9 +10441,6 @@ paths: + description: | + Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities. + +- > **Note**: This endpoint is *experimental* and only available if the daemon is started with experimental +- > features enabled. The specifications for this endpoint may still change in a future version of the API. +- + ### Hijacking + + This endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection. +@@ -10450,4 +10474,4 @@ paths: + description: "server error" + schema: + $ref: "#/definitions/ErrorResponse" +- tags: ["Session (experimental)"] ++ tags: ["Session"] +diff --git a/vendor/github.com/docker/docker/api/types/client.go b/vendor/github.com/docker/docker/api/types/client.go +index 4b9f50282b1f..8363ed736e3a 100644 +--- a/vendor/github.com/docker/docker/api/types/client.go ++++ b/vendor/github.com/docker/docker/api/types/client.go +@@ -363,6 +363,10 @@ type ServiceUpdateOptions struct { + // ServiceListOptions holds parameters to list services with. + type ServiceListOptions struct { + Filters filters.Args ++ ++ // Status indicates whether the server should include the service task ++ // count of running and desired tasks. ++ Status bool + } + + // ServiceInspectOptions holds parameters related to the "service inspect" +diff --git a/vendor/github.com/docker/docker/api/types/filters/parse.go b/vendor/github.com/docker/docker/api/types/filters/parse.go +index 2e24e769c10e..cd7ad92e79af 100644 +--- a/vendor/github.com/docker/docker/api/types/filters/parse.go ++++ b/vendor/github.com/docker/docker/api/types/filters/parse.go +@@ -36,6 +36,15 @@ func NewArgs(initialArgs ...KeyValuePair) Args { + return args + } + ++// Keys returns all the keys in list of Args ++func (args Args) Keys() []string { ++ keys := make([]string, 0, len(args.fields)) ++ for k := range args.fields { ++ keys = append(keys, k) ++ } ++ return keys ++} ++ + // MarshalJSON returns a JSON byte representation of the Args + func (args Args) MarshalJSON() ([]byte, error) { + if len(args.fields) == 0 { +diff --git a/vendor/github.com/docker/docker/api/types/swarm/service.go b/vendor/github.com/docker/docker/api/types/swarm/service.go +index abf192e75941..6b59711ab25a 100644 +--- a/vendor/github.com/docker/docker/api/types/swarm/service.go ++++ b/vendor/github.com/docker/docker/api/types/swarm/service.go +@@ -10,6 +10,13 @@ type Service struct { + PreviousSpec *ServiceSpec `json:",omitempty"` + Endpoint Endpoint `json:",omitempty"` + UpdateStatus *UpdateStatus `json:",omitempty"` ++ ++ // ServiceStatus is an optional, extra field indicating the number of ++ // desired and running tasks. It is provided primarily as a shortcut to ++ // calculating these values client-side, which otherwise would require ++ // listing all tasks for a service, an operation that could be ++ // computation and network expensive. ++ ServiceStatus *ServiceStatus `json:",omitempty"` + } + + // ServiceSpec represents the spec of a service. +@@ -122,3 +129,17 @@ type UpdateConfig struct { + // started, or the new task is started before the old task is shut down. + Order string + } ++ ++// ServiceStatus represents the number of running tasks in a service and the ++// number of tasks desired to be running. ++type ServiceStatus struct { ++ // RunningTasks is the number of tasks for the service actually in the ++ // Running state ++ RunningTasks uint64 ++ ++ // DesiredTasks is the number of tasks desired to be running by the ++ // service. For replicated services, this is the replica count. For global ++ // services, this is computed by taking the number of tasks with desired ++ // state of not-Shutdown. ++ DesiredTasks uint64 ++} +diff --git a/vendor/github.com/docker/docker/client/container_list.go b/vendor/github.com/docker/docker/client/container_list.go +index c099d80e2a24..a973de597fdf 100644 +--- a/vendor/github.com/docker/docker/client/container_list.go ++++ b/vendor/github.com/docker/docker/client/container_list.go +@@ -35,7 +35,7 @@ func (cli *Client) ContainerList(ctx context.Context, options types.ContainerLis + } + + if options.Filters.Len() > 0 { +- //lint:ignore SA1019 for old code ++ //nolint:staticcheck // ignore SA1019 for old code + filterJSON, err := filters.ToParamWithVersion(cli.version, options.Filters) + + if err != nil { +diff --git a/vendor/github.com/docker/docker/client/events.go b/vendor/github.com/docker/docker/client/events.go +index f347cadf1450..f0dc9d9e12f3 100644 +--- a/vendor/github.com/docker/docker/client/events.go ++++ b/vendor/github.com/docker/docker/client/events.go +@@ -90,7 +90,7 @@ func buildEventsQueryParams(cliVersion string, options types.EventsOptions) (url + } + + if options.Filters.Len() > 0 { +- //lint:ignore SA1019 for old code ++ //nolint:staticcheck // ignore SA1019 for old code + filterJSON, err := filters.ToParamWithVersion(cliVersion, options.Filters) + if err != nil { + return nil, err +diff --git a/vendor/github.com/docker/docker/client/hijack.go b/vendor/github.com/docker/docker/client/hijack.go +index e77084af64d7..e1dc49ef0f66 100644 +--- a/vendor/github.com/docker/docker/client/hijack.go ++++ b/vendor/github.com/docker/docker/client/hijack.go +@@ -24,7 +24,7 @@ func (cli *Client) postHijacked(ctx context.Context, path string, query url.Valu + } + + apiPath := cli.getAPIPath(ctx, path, query) +- req, err := http.NewRequest("POST", apiPath, bodyEncoded) ++ req, err := http.NewRequest(http.MethodPost, apiPath, bodyEncoded) + if err != nil { + return types.HijackedResponse{}, err + } +@@ -40,7 +40,7 @@ func (cli *Client) postHijacked(ctx context.Context, path string, query url.Valu + + // DialHijack returns a hijacked connection with negotiated protocol proto. + func (cli *Client) DialHijack(ctx context.Context, url, proto string, meta map[string][]string) (net.Conn, error) { +- req, err := http.NewRequest("POST", url, nil) ++ req, err := http.NewRequest(http.MethodPost, url, nil) + if err != nil { + return nil, err + } +@@ -88,7 +88,7 @@ func (cli *Client) setupHijackConn(ctx context.Context, req *http.Request, proto + // Server hijacks the connection, error 'connection closed' expected + resp, err := clientconn.Do(req) + +- //lint:ignore SA1019 for connecting to old (pre go1.8) daemons ++ //nolint:staticcheck // ignore SA1019 for connecting to old (pre go1.8) daemons + if err != httputil.ErrPersistEOF { + if err != nil { + return nil, err +diff --git a/vendor/github.com/docker/docker/client/image_list.go b/vendor/github.com/docker/docker/client/image_list.go +index a5bc4b095f7b..a4d7505094cd 100644 +--- a/vendor/github.com/docker/docker/client/image_list.go ++++ b/vendor/github.com/docker/docker/client/image_list.go +@@ -24,7 +24,7 @@ func (cli *Client) ImageList(ctx context.Context, options types.ImageListOptions + } + } + if optionFilters.Len() > 0 { +- //lint:ignore SA1019 for old code ++ //nolint:staticcheck // ignore SA1019 for old code + filterJSON, err := filters.ToParamWithVersion(cli.version, optionFilters) + if err != nil { + return images, err +diff --git a/vendor/github.com/docker/docker/client/network_list.go b/vendor/github.com/docker/docker/client/network_list.go +index 8ca7eb6128e6..ed2acb55711d 100644 +--- a/vendor/github.com/docker/docker/client/network_list.go ++++ b/vendor/github.com/docker/docker/client/network_list.go +@@ -13,7 +13,7 @@ import ( + func (cli *Client) NetworkList(ctx context.Context, options types.NetworkListOptions) ([]types.NetworkResource, error) { + query := url.Values{} + if options.Filters.Len() > 0 { +- //lint:ignore SA1019 for old code ++ //nolint:staticcheck // ignore SA1019 for old code + filterJSON, err := filters.ToParamWithVersion(cli.version, options.Filters) + if err != nil { + return nil, err +diff --git a/vendor/github.com/docker/docker/client/ping.go b/vendor/github.com/docker/docker/client/ping.go +index 90f39ec14f92..1cfc48a25d27 100644 +--- a/vendor/github.com/docker/docker/client/ping.go ++++ b/vendor/github.com/docker/docker/client/ping.go +@@ -19,7 +19,7 @@ func (cli *Client) Ping(ctx context.Context) (types.Ping, error) { + // Using cli.buildRequest() + cli.doRequest() instead of cli.sendRequest() + // because ping requests are used during API version negotiation, so we want + // to hit the non-versioned /_ping endpoint, not /v1.xx/_ping +- req, err := cli.buildRequest("HEAD", path.Join(cli.basePath, "/_ping"), nil, nil) ++ req, err := cli.buildRequest(http.MethodHead, path.Join(cli.basePath, "/_ping"), nil, nil) + if err != nil { + return ping, err + } +@@ -35,7 +35,7 @@ func (cli *Client) Ping(ctx context.Context) (types.Ping, error) { + return ping, err + } + +- req, err = cli.buildRequest("GET", path.Join(cli.basePath, "/_ping"), nil, nil) ++ req, err = cli.buildRequest(http.MethodGet, path.Join(cli.basePath, "/_ping"), nil, nil) + if err != nil { + return ping, err + } +diff --git a/vendor/github.com/docker/docker/client/plugin_list.go b/vendor/github.com/docker/docker/client/plugin_list.go +index a51c930e6d53..cf1935e2f5ee 100644 +--- a/vendor/github.com/docker/docker/client/plugin_list.go ++++ b/vendor/github.com/docker/docker/client/plugin_list.go +@@ -15,7 +15,7 @@ func (cli *Client) PluginList(ctx context.Context, filter filters.Args) (types.P + query := url.Values{} + + if filter.Len() > 0 { +- //lint:ignore SA1019 for old code ++ //nolint:staticcheck // ignore SA1019 for old code + filterJSON, err := filters.ToParamWithVersion(cli.version, filter) + if err != nil { + return plugins, err +diff --git a/vendor/github.com/docker/docker/client/request.go b/vendor/github.com/docker/docker/client/request.go +index 144c4163695d..ee15a46ed09b 100644 +--- a/vendor/github.com/docker/docker/client/request.go ++++ b/vendor/github.com/docker/docker/client/request.go +@@ -29,12 +29,12 @@ type serverResponse struct { + + // head sends an http request to the docker API using the method HEAD. + func (cli *Client) head(ctx context.Context, path string, query url.Values, headers map[string][]string) (serverResponse, error) { +- return cli.sendRequest(ctx, "HEAD", path, query, nil, headers) ++ return cli.sendRequest(ctx, http.MethodHead, path, query, nil, headers) + } + + // get sends an http request to the docker API using the method GET with a specific Go context. + func (cli *Client) get(ctx context.Context, path string, query url.Values, headers map[string][]string) (serverResponse, error) { +- return cli.sendRequest(ctx, "GET", path, query, nil, headers) ++ return cli.sendRequest(ctx, http.MethodGet, path, query, nil, headers) + } + + // post sends an http request to the docker API using the method POST with a specific Go context. +@@ -43,21 +43,21 @@ func (cli *Client) post(ctx context.Context, path string, query url.Values, obj + if err != nil { + return serverResponse{}, err + } +- return cli.sendRequest(ctx, "POST", path, query, body, headers) ++ return cli.sendRequest(ctx, http.MethodPost, path, query, body, headers) + } + + func (cli *Client) postRaw(ctx context.Context, path string, query url.Values, body io.Reader, headers map[string][]string) (serverResponse, error) { +- return cli.sendRequest(ctx, "POST", path, query, body, headers) ++ return cli.sendRequest(ctx, http.MethodPost, path, query, body, headers) + } + + // putRaw sends an http request to the docker API using the method PUT. + func (cli *Client) putRaw(ctx context.Context, path string, query url.Values, body io.Reader, headers map[string][]string) (serverResponse, error) { +- return cli.sendRequest(ctx, "PUT", path, query, body, headers) ++ return cli.sendRequest(ctx, http.MethodPut, path, query, body, headers) + } + + // delete sends an http request to the docker API using the method DELETE. + func (cli *Client) delete(ctx context.Context, path string, query url.Values, headers map[string][]string) (serverResponse, error) { +- return cli.sendRequest(ctx, "DELETE", path, query, nil, headers) ++ return cli.sendRequest(ctx, http.MethodDelete, path, query, nil, headers) + } + + type headers map[string][]string +@@ -79,7 +79,7 @@ func encodeBody(obj interface{}, headers headers) (io.Reader, headers, error) { + } + + func (cli *Client) buildRequest(method, path string, body io.Reader, headers headers) (*http.Request, error) { +- expectedPayload := (method == "POST" || method == "PUT") ++ expectedPayload := (method == http.MethodPost || method == http.MethodPut) + if expectedPayload && body == nil { + body = bytes.NewReader([]byte{}) + } +diff --git a/vendor/github.com/docker/docker/client/service_list.go b/vendor/github.com/docker/docker/client/service_list.go +index 64d35e715982..f97ec75a5cb7 100644 +--- a/vendor/github.com/docker/docker/client/service_list.go ++++ b/vendor/github.com/docker/docker/client/service_list.go +@@ -23,6 +23,10 @@ func (cli *Client) ServiceList(ctx context.Context, options types.ServiceListOpt + query.Set("filters", filterJSON) + } + ++ if options.Status { ++ query.Set("status", "true") ++ } ++ + resp, err := cli.get(ctx, "/services", query, nil) + defer ensureReaderClosed(resp) + if err != nil { +diff --git a/vendor/github.com/docker/docker/client/volume_list.go b/vendor/github.com/docker/docker/client/volume_list.go +index d68fc2b9860d..942498dde2c7 100644 +--- a/vendor/github.com/docker/docker/client/volume_list.go ++++ b/vendor/github.com/docker/docker/client/volume_list.go +@@ -15,7 +15,7 @@ func (cli *Client) VolumeList(ctx context.Context, filter filters.Args) (volumet + query := url.Values{} + + if filter.Len() > 0 { +- //lint:ignore SA1019 for old code ++ //nolint:staticcheck // ignore SA1019 for old code + filterJSON, err := filters.ToParamWithVersion(cli.version, filter) + if err != nil { + return volumes, err +diff --git a/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go b/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go +index 284e8be7ca83..441bd727b602 100644 +--- a/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go ++++ b/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go +@@ -16,8 +16,11 @@ func Key() string { + // Get returns the home directory of the current user with the help of + // environment variables depending on the target operating system. + // Returned path should be used with "path/filepath" to form new paths. +-// If compiling statically, ensure the osusergo build tag is used. +-// If needing to do nss lookups, do not compile statically. ++// ++// If linking statically with cgo enabled against glibc, ensure the ++// osusergo build tag is used. ++// ++// If needing to do nss lookups, do not disable cgo or set osusergo. + func Get() string { + home := os.Getenv(Key()) + if home == "" { +diff --git a/vendor/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go b/vendor/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go +index 6d66408984ff..814993ec36df 100644 +--- a/vendor/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go ++++ b/vendor/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go +@@ -139,13 +139,13 @@ type JSONMessage struct { + Stream string `json:"stream,omitempty"` + Status string `json:"status,omitempty"` + Progress *JSONProgress `json:"progressDetail,omitempty"` +- ProgressMessage string `json:"progress,omitempty"` //deprecated ++ ProgressMessage string `json:"progress,omitempty"` // deprecated + ID string `json:"id,omitempty"` + From string `json:"from,omitempty"` + Time int64 `json:"time,omitempty"` + TimeNano int64 `json:"timeNano,omitempty"` + Error *JSONError `json:"errorDetail,omitempty"` +- ErrorMessage string `json:"error,omitempty"` //deprecated ++ ErrorMessage string `json:"error,omitempty"` // deprecated + // Aux contains out-of-band data, such as digests for push signing and image id after building. + Aux *json.RawMessage `json:"aux,omitempty"` + } +@@ -177,7 +177,7 @@ func (jm *JSONMessage) Display(out io.Writer, isTerminal bool) error { + if isTerminal && jm.Stream == "" && jm.Progress != nil { + clearLine(out) + endl = "\r" +- fmt.Fprintf(out, endl) ++ fmt.Fprint(out, endl) + } else if jm.Progress != nil && jm.Progress.String() != "" { //disable progressbar in non-terminal + return nil + } +@@ -194,7 +194,7 @@ func (jm *JSONMessage) Display(out io.Writer, isTerminal bool) error { + } + if jm.Progress != nil && isTerminal { + fmt.Fprintf(out, "%s %s%s", jm.Status, jm.Progress.String(), endl) +- } else if jm.ProgressMessage != "" { //deprecated ++ } else if jm.ProgressMessage != "" { // deprecated + fmt.Fprintf(out, "%s %s%s", jm.Status, jm.ProgressMessage, endl) + } else if jm.Stream != "" { + fmt.Fprintf(out, "%s%s", jm.Stream, endl) +diff --git a/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go b/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go +index fe6e3ddba132..58ca61f3f7c4 100644 +--- a/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go ++++ b/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go +@@ -90,7 +90,6 @@ func parseInfoFile(r io.Reader, filter FilterFunc) ([]*Info, error) { + mount propagation flags in fields[6]. The correct + behavior is to ignore any unknown optional fields. + */ +- break + } + } + if i == numFields { +diff --git a/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator.go b/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator.go +index f3f46055ef3e..3c42cff5e335 100644 +--- a/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator.go ++++ b/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator.go +@@ -153,7 +153,7 @@ var ( + // Stefan Banach - Polish mathematician, was one of the founders of modern functional analysis. https://en.wikipedia.org/wiki/Stefan_Banach + "banach", + +- // Buckaroo Banzai and his mentor Dr. Hikita perfectd the "oscillation overthruster", a device that allows one to pass through solid matter. - https://en.wikipedia.org/wiki/The_Adventures_of_Buckaroo_Banzai_Across_the_8th_Dimension ++ // Buckaroo Banzai and his mentor Dr. Hikita perfected the "oscillation overthruster", a device that allows one to pass through solid matter. - https://en.wikipedia.org/wiki/The_Adventures_of_Buckaroo_Banzai_Across_the_8th_Dimension + "banzai", + + // John Bardeen co-invented the transistor - https://en.wikipedia.org/wiki/John_Bardeen +diff --git a/vendor/github.com/docker/docker/pkg/pools/pools.go b/vendor/github.com/docker/docker/pkg/pools/pools.go +index 3b978fd3b583..3792c67a9e45 100644 +--- a/vendor/github.com/docker/docker/pkg/pools/pools.go ++++ b/vendor/github.com/docker/docker/pkg/pools/pools.go +@@ -62,24 +62,23 @@ type bufferPool struct { + func newBufferPoolWithSize(size int) *bufferPool { + return &bufferPool{ + pool: sync.Pool{ +- New: func() interface{} { return make([]byte, size) }, ++ New: func() interface{} { s := make([]byte, size); return &s }, + }, + } + } + +-func (bp *bufferPool) Get() []byte { +- return bp.pool.Get().([]byte) ++func (bp *bufferPool) Get() *[]byte { ++ return bp.pool.Get().(*[]byte) + } + +-func (bp *bufferPool) Put(b []byte) { +- //nolint:staticcheck // TODO changing this to a pointer makes tests fail. Investigate if we should change or not (otherwise remove this TODO) ++func (bp *bufferPool) Put(b *[]byte) { + bp.pool.Put(b) + } + + // Copy is a convenience wrapper which uses a buffer to avoid allocation in io.Copy. + func Copy(dst io.Writer, src io.Reader) (written int64, err error) { + buf := buffer32KPool.Get() +- written, err = io.CopyBuffer(dst, src, buf) ++ written, err = io.CopyBuffer(dst, src, *buf) + buffer32KPool.Put(buf) + return + } +diff --git a/vendor/github.com/docker/docker/pkg/system/init_windows.go b/vendor/github.com/docker/docker/pkg/system/init_windows.go +index f303aa906392..7e4ac55d76da 100644 +--- a/vendor/github.com/docker/docker/pkg/system/init_windows.go ++++ b/vendor/github.com/docker/docker/pkg/system/init_windows.go +@@ -18,8 +18,7 @@ var ( + + // InitLCOW sets whether LCOW is supported or not. Requires RS5+ + func InitLCOW(experimental bool) { +- v := GetOSVersion() +- if experimental && v.Build >= osversion.RS5 { ++ if experimental && osversion.Build() >= osversion.RS5 { + lcowSupported = true + } + } +diff --git a/vendor/github.com/docker/docker/pkg/system/syscall_windows.go b/vendor/github.com/docker/docker/pkg/system/syscall_windows.go +index eb19f9c850cd..67bec7e30b1b 100644 +--- a/vendor/github.com/docker/docker/pkg/system/syscall_windows.go ++++ b/vendor/github.com/docker/docker/pkg/system/syscall_windows.go +@@ -5,6 +5,7 @@ import ( + "syscall" + "unsafe" + ++ "github.com/Microsoft/hcsshim/osversion" + "github.com/sirupsen/logrus" + "golang.org/x/sys/windows" + ) +@@ -61,12 +62,7 @@ var ( + + // OSVersion is a wrapper for Windows version information + // https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx +-type OSVersion struct { +- Version uint32 +- MajorVersion uint8 +- MinorVersion uint8 +- Build uint16 +-} ++type OSVersion osversion.OSVersion + + // https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx + type osVersionInfoEx struct { +@@ -85,18 +81,9 @@ type osVersionInfoEx struct { + + // GetOSVersion gets the operating system version on Windows. Note that + // dockerd.exe must be manifested to get the correct version information. ++// Deprecated: use github.com/Microsoft/hcsshim/osversion.Get() instead + func GetOSVersion() OSVersion { +- var err error +- osv := OSVersion{} +- osv.Version, err = windows.GetVersion() +- if err != nil { +- // GetVersion never fails. +- panic(err) +- } +- osv.MajorVersion = uint8(osv.Version & 0xFF) +- osv.MinorVersion = uint8(osv.Version >> 8 & 0xFF) +- osv.Build = uint16(osv.Version >> 16) +- return osv ++ return OSVersion(osversion.Get()) + } + + func (osv OSVersion) ToString() string { +diff --git a/vendor/github.com/fsouza/go-dockerclient/Makefile b/vendor/github.com/fsouza/go-dockerclient/Makefile +index e0880ff67b9e..84e1bfaba0ac 100644 +--- a/vendor/github.com/fsouza/go-dockerclient/Makefile ++++ b/vendor/github.com/fsouza/go-dockerclient/Makefile +@@ -1,7 +1,6 @@ + .PHONY: \ + all \ + lint \ +- fmt \ + pretest \ + test \ + integration +@@ -12,10 +11,6 @@ lint: + cd /tmp && GO111MODULE=on go get github.com/golangci/golangci-lint/cmd/golangci-lint@latest + golangci-lint run + +-fmt: +- GO111MODULE=off go get mvdan.cc/gofumpt +- gofumpt -s -w . +- + pretest: lint + + gotest: +diff --git a/vendor/github.com/fsouza/go-dockerclient/README.md b/vendor/github.com/fsouza/go-dockerclient/README.md +index b7af7d0b9f2d..f4ad8ca622f8 100644 +--- a/vendor/github.com/fsouza/go-dockerclient/README.md ++++ b/vendor/github.com/fsouza/go-dockerclient/README.md +@@ -18,10 +18,10 @@ documentation](https://docs.docker.com/engine/api/latest/). + Link for the official SDK: https://docs.docker.com/develop/sdk/ + + go-dockerclient was created before Docker had an official Go SDK and is +-still maintained and relatively active because it's still used out there. New +-features in the Docker API do not get automatically implemented here: it's +-based on demand, if someone wants it, they can file an issue or a PR and the +-feature may get implemented/merged. ++still maintained and active because it's still used out there. New features in ++the Docker API do not get automatically implemented here: it's based on demand, ++if someone wants it, they can file an issue or a PR and the feature may get ++implemented/merged. + + For new projects, using the official SDK is probably more appropriate as + go-dockerclient lags behind the official SDK. +@@ -105,7 +105,10 @@ import ( + ) + + func main() { +- client, _ := docker.NewClientFromEnv() ++ client, err := docker.NewClientFromEnv() ++ if err != nil { ++ // handle err ++ } + // use client + } + ``` +@@ -118,12 +121,11 @@ All development commands can be seen in the [Makefile](Makefile). + + Commited code must pass: + +-* [golangci-lint](integration_unix_test.go) +-* [gofumpt](https://github.com/mvdan/gofumpt) ++* [golangci-lint](https://github.com/golangci/golangci-lint) + * [go test](https://golang.org/cmd/go/#hdr-Test_packages) + +-Running ``make test`` will check all of these. You can reformat the code with +-``make fmt``. ++Running ``make test`` will run all checks, as well as install any required ++dependencies. + + ## Modules + +@@ -133,7 +135,7 @@ If you're using dep, you can check the [releases + page](https://github.com/fsouza/go-dockerclient/releases) for the latest + release fully compatible with dep. + +-With other vendoring tools, users might need to specify go-dockerclient's ++With other vendoring tools, users need to specify go-dockerclient's + dependencies manually. + + ## Using with Docker 1.9 and Go 1.4 +diff --git a/vendor/github.com/fsouza/go-dockerclient/appveyor.yml b/vendor/github.com/fsouza/go-dockerclient/appveyor.yml +index d9f374f50aa2..e1574cfc23f7 100644 +--- a/vendor/github.com/fsouza/go-dockerclient/appveyor.yml ++++ b/vendor/github.com/fsouza/go-dockerclient/appveyor.yml +@@ -7,8 +7,8 @@ environment: + GOPROXY: https://proxy.golang.org + GO111MODULE: on + matrix: +- - GOVERSION: "1.12.10" +- - GOVERSION: "1.13.1" ++ - GOVERSION: "1.12.13" ++ - GOVERSION: "1.13.4" + install: + - choco install make + - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% +diff --git a/vendor/github.com/fsouza/go-dockerclient/container.go b/vendor/github.com/fsouza/go-dockerclient/container.go +index 0a8ab361cb97..f6bfb59dc99e 100644 +--- a/vendor/github.com/fsouza/go-dockerclient/container.go ++++ b/vendor/github.com/fsouza/go-dockerclient/container.go +@@ -546,26 +546,31 @@ func (c *Client) RenameContainer(opts RenameContainerOptions) error { + + // InspectContainer returns information about a container by its ID. + // +-// See https://goo.gl/FaI5JT for more details. ++// Deprecated: Use InspectContainerWithOptions instead. + func (c *Client) InspectContainer(id string) (*Container, error) { +- return c.inspectContainer(id, doOptions{}) ++ return c.InspectContainerWithOptions(InspectContainerOptions{ID: id}) + } + + // InspectContainerWithContext returns information about a container by its ID. + // The context object can be used to cancel the inspect request. + // +-// See https://goo.gl/FaI5JT for more details. ++// Deprecated: Use InspectContainerWithOptions instead. + //nolint:golint + func (c *Client) InspectContainerWithContext(id string, ctx context.Context) (*Container, error) { +- return c.inspectContainer(id, doOptions{context: ctx}) ++ return c.InspectContainerWithOptions(InspectContainerOptions{ID: id, Context: ctx}) + } + +-func (c *Client) inspectContainer(id string, opts doOptions) (*Container, error) { +- path := "/containers/" + id + "/json" +- resp, err := c.do(http.MethodGet, path, opts) ++// InspectContainerWithOptions returns information about a container by its ID. ++// ++// See https://goo.gl/FaI5JT for more details. ++func (c *Client) InspectContainerWithOptions(opts InspectContainerOptions) (*Container, error) { ++ path := "/containers/" + opts.ID + "/json?" + queryString(opts) ++ resp, err := c.do(http.MethodGet, path, doOptions{ ++ context: opts.Context, ++ }) + if err != nil { + if e, ok := err.(*Error); ok && e.Status == http.StatusNotFound { +- return nil, &NoSuchContainer{ID: id} ++ return nil, &NoSuchContainer{ID: opts.ID} + } + return nil, err + } +@@ -577,6 +582,15 @@ func (c *Client) inspectContainer(id string, opts doOptions) (*Container, error) + return &container, nil + } + ++// InspectContainerOptions specifies parameters for InspectContainerWithOptions. ++// ++// See https://goo.gl/FaI5JT for more details. ++type InspectContainerOptions struct { ++ Context context.Context ++ ID string `qs:"-"` ++ Size bool ++} ++ + // ContainerChanges returns changes in the filesystem of the given container. + // + // See https://goo.gl/15KKzh for more details. +diff --git a/vendor/github.com/fsouza/go-dockerclient/go.mod b/vendor/github.com/fsouza/go-dockerclient/go.mod +index cb0ef690c43f..7bb88972ca82 100644 +--- a/vendor/github.com/fsouza/go-dockerclient/go.mod ++++ b/vendor/github.com/fsouza/go-dockerclient/go.mod +@@ -4,16 +4,13 @@ go 1.12 + + require ( + github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect +- github.com/Microsoft/go-winio v0.4.14 +- github.com/Microsoft/hcsshim v0.8.6 // indirect ++ github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 ++ github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c // indirect + github.com/containerd/containerd v1.3.0 // indirect +- github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 // indirect + github.com/docker/distribution v2.7.1+incompatible // indirect +- github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce ++ github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 + github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-units v0.4.0 +- github.com/gogo/protobuf v1.2.1 // indirect +- github.com/golang/protobuf v1.3.0 // indirect + github.com/google/go-cmp v0.3.1 + github.com/gorilla/mux v1.7.3 + github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect +@@ -22,5 +19,4 @@ require ( + github.com/opencontainers/runc v0.1.1 // indirect + golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad + google.golang.org/grpc v1.22.0 // indirect +- gotest.tools v2.2.0+incompatible // indirect + ) +diff --git a/vendor/github.com/fsouza/go-dockerclient/go.sum b/vendor/github.com/fsouza/go-dockerclient/go.sum +index c4df2e9569e5..ce78fee7a941 100644 +--- a/vendor/github.com/fsouza/go-dockerclient/go.sum ++++ b/vendor/github.com/fsouza/go-dockerclient/go.sum +@@ -2,85 +2,134 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT + github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= + github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= + github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +-github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU= +-github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +-github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA= +-github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= ++github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA= ++github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= ++github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c h1:YMP6olTU903X3gxQJckdmiP8/zkSMq4kN3uipsU9XjU= ++github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c/go.mod h1:7xhjOwRV2+0HXGmM0jxaEu+ZiXJFoVZOTfL/dmqbrD8= ++github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= + github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= ++github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s= ++github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= ++github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= ++github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= + github.com/containerd/containerd v1.3.0 h1:xjvXQWABwS2uiv3TWgQt5Uth60Gu86LTGZXMJkjc7rY= + github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +-github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882bXEDKfWIf0wa8HRvpnBoPszJJXL+TVbBw4M= +-github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= ++github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8= ++github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= ++github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= ++github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= ++github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= ++github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= ++github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= + github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= + github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= + github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug= + github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +-github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce h1:H3csZuxZESJeeEiOxq4YXPNmLFbjl7u2qVBrAAGX/sA= +-github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= ++github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 h1:oqgGT9O61YAYvI41EBsLePOr+LE6roB0xY4gpkZuFSE= ++github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= + github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= + github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= + github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= + github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= ++github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= + github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= + github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= + github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= + github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= + github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +-github.com/golang/protobuf v1.3.0 h1:kbxbvI4Un1LUWKxufD+BiE6AEExYYgkQLQmLFqA1LFk= +-github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= ++github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= ++github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= + github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= ++github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= + github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= + github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= + github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= + github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= ++github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= ++github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= ++github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= ++github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= + github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= + github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= + github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= + github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= + github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= + github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= ++github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= + github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= + github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= + github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= + github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= ++github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= + github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y= + github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= ++github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= ++github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= + github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= + github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= + github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= + github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= ++github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= + github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= + github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= + github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= + github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= + github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= ++github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= ++github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= ++github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= ++github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= ++github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= ++go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= ++go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= + golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= + golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= + golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad h1:5E5raQxcv+6CZ11RrBYQe5WRbUIWpScjh0kvHZkZIrQ= + golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= ++golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= ++golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= ++golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= + golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +-golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= ++golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= ++golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= ++golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= + golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= + golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= ++golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= + golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= + golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= ++golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= ++golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= ++golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= + golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= + golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= ++golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= + golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= + golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= + golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +-golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b h1:ag/x1USPSsqHud38I9BAC88qdNLDHHtQ4mlgQIZPPNA= +-golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= ++golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= ++golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= ++golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo= ++golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= ++golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= + golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= ++golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= ++golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= ++golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= + golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= + golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= + google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= ++google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= + google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +-google.golang.org/genproto v0.0.0-20180831171423-11092d34479b h1:lohp5blsw53GBXtLyLNaTXPXS9pJ1tiTw61ZHUoE9Qw= +-google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= ++google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY= ++google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= ++google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= ++google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= + google.golang.org/grpc v1.22.0 h1:J0UbZOIrCAl+fpTOf8YLs4dJo8L/owV4LYVtAXQoPkw= + google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= + gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= + gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= ++honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= + honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= ++k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +diff --git a/vendor/k8s.io/client-go/pkg/version/base.go b/vendor/k8s.io/client-go/pkg/version/base.go +index e95b17bb4670..9b4c79f89519 100644 +--- a/vendor/k8s.io/client-go/pkg/version/base.go ++++ b/vendor/k8s.io/client-go/pkg/version/base.go +@@ -55,8 +55,8 @@ var ( + // NOTE: The $Format strings are replaced during 'git archive' thanks to the + // companion .gitattributes file containing 'export-subst' in this same + // directory. See also https://git-scm.com/docs/gitattributes +- gitVersion string = "v0.0.0-master+5cc92849f7" +- gitCommit string = "5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26" // sha1 from git, output of $(git rev-parse HEAD) ++ gitVersion string = "v0.0.0-master+$Format:%h$" ++ gitCommit string = "$Format:%H$" // sha1 from git, output of $(git rev-parse HEAD) + gitTreeState string = "" // state of git tree, either "clean" or "dirty" + + buildDate string = "1970-01-01T00:00:00Z" // build date in ISO8601 format, output of $(date -u +'%Y-%m-%dT%H:%M:%SZ') +diff --git a/vendor/modules.txt b/vendor/modules.txt +index 96aab0a0fb8e..43a9627fe01b 100644 +--- a/vendor/modules.txt ++++ b/vendor/modules.txt +@@ -61,7 +61,7 @@ github.com/containernetworking/plugins/pkg/ns + github.com/containernetworking/plugins/pkg/utils/hwaddr + github.com/containernetworking/plugins/plugins/ipam/host-local/backend + github.com/containernetworking/plugins/plugins/ipam/host-local/backend/allocator +-# github.com/containers/buildah v1.11.5-0.20191031204705-20e92ffe0982 ++# github.com/containers/buildah v1.11.5 + github.com/containers/buildah + github.com/containers/buildah/bind + github.com/containers/buildah/chroot +@@ -204,7 +204,7 @@ github.com/docker/distribution/registry/client/auth/challenge + github.com/docker/distribution/registry/client/transport + github.com/docker/distribution/registry/storage/cache + github.com/docker/distribution/registry/storage/cache/memory +-# github.com/docker/docker v1.4.2-0.20190927142053-ada3c14355ce ++# github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23 + github.com/docker/docker/api + github.com/docker/docker/api/types + github.com/docker/docker/api/types/blkiodev +@@ -264,7 +264,7 @@ github.com/etcd-io/bbolt + github.com/fatih/camelcase + # github.com/fsnotify/fsnotify v1.4.7 + github.com/fsnotify/fsnotify +-# github.com/fsouza/go-dockerclient v1.5.0 ++# github.com/fsouza/go-dockerclient v1.6.0 + github.com/fsouza/go-dockerclient + # github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa + github.com/fullsailor/pkcs7 +-- +2.26.2 + diff --git a/SOURCES/podman-1860506.patch b/SOURCES/podman-1860506.patch new file mode 100644 index 0000000..627b196 --- /dev/null +++ b/SOURCES/podman-1860506.patch @@ -0,0 +1,27 @@ +From 7b3cf0c085361546f45cf86391eb9809229d0ca1 Mon Sep 17 00:00:00 2001 +From: Matthew Heon +Date: Wed, 12 Aug 2020 09:15:02 -0400 +Subject: [PATCH] Change /sys/fs/cgroup/systemd mount to rprivate + +I used the wrong propagation first time around because I forgot +that rprivate is the default propagation. Oops. Switch to +rprivate so we're using the default. + +Signed-off-by: Matthew Heon +--- + libpod/container_internal_linux.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go +index e2bc4e50ff..fdee3877cb 100644 +--- a/libpod/container_internal_linux.go ++++ b/libpod/container_internal_linux.go +@@ -626,7 +626,7 @@ func (c *Container) setupSystemd(mounts []spec.Mount, g generate.Generator) erro + Destination: "/sys/fs/cgroup/systemd", + Type: "bind", + Source: "/sys/fs/cgroup/systemd", +- Options: []string{"bind", "nodev", "noexec", "nosuid"}, ++ Options: []string{"bind", "nodev", "noexec", "nosuid", "rprivate"}, + } + g.AddMount(systemdMnt) + g.AddLinuxMaskedPaths("/sys/fs/cgroup/systemd/release_agent") diff --git a/SPECS/podman.spec b/SPECS/podman.spec index 6dc3273..dba96a6 100644 --- a/SPECS/podman.spec +++ b/SPECS/podman.spec @@ -30,9 +30,9 @@ Name: podman Version: 1.6.4 -Release: 18%{?dist} +Release: 22%{?dist} Summary: Manage Pods, Containers and Container Images -ExcludeArch: s390 ppc ppc64 +ExcludeArch: %{ix86} s390 ppc ppc64 License: ASL 2.0 URL: https://%{name}.io/ Source0: %{git0}/archive/%{commit0}/%{repo}-%{shortcommit0}.tar.gz @@ -63,6 +63,11 @@ Patch9: podman-CVE-2020-10696.patch # tracker bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-8945 # backported: https://github.com/containers/skopeo/pull/825.patch Patch10: podman-CVE-2020-8945.patch +# related bug: https://bugzilla.redhat.com/show_bug.cgi?id=1853326 +Patch11: 0001-bump-github.com-containers-buildah-to-v1.11.5.patch +# related bug: https://bugzilla.redhat.com/show_bug.cgi?id=1860506 +# backported: https://github.com/containers/podman/pull/7306.patch +Patch12: podman-1860506.patch Provides: %{name}-manpages = %{version}-%{release} Obsoletes: %{name}-manpages < %{version}-%{release} %if 0%{?rhel} <= 7 && ! 0%{?fedora} @@ -366,6 +371,22 @@ exit 0 %{_datadir}/%{name}/test %changelog +* Sun Aug 30 2020 Jindrich Novy - 1.6.4-22 +- revert regressions introduced by 0001-bump-github.com-containers-buildah-to-v1.11.5.patch + regressed bugzilla list follows: +- Related: #1817743, #1792243, #1784950 + +* Mon Aug 17 2020 Jindrich Novy - 1.6.4-21 +- fix "podman launches a container with systemd instance inside - bind mounts of systemd cgroup entries are being leaked in host mount namespace" +- Resolves: #1860506 + +* Thu Jul 30 2020 Jindrich Novy - 1.6.4-20 +- rebuilt + +* Wed Jul 29 2020 Jindrich Novy - 1.6.4-19 +- fix "podman segfault upon doing buildah operations due to error handling message" +- Resolves: #1853326 + * Fri Apr 03 2020 Jindrich Novy - 1.6.4-18 - fix "CVE-2020-8945 proglottis/gpgme: Use-after-free in GPGME bindings during container image pull" - Resolves: #1806940